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

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.
package/README.md CHANGED
@@ -62,6 +62,65 @@ import { CovalentMarkdownNavigatorModule } from '@covalent/markdown-navigator';
62
62
  export class MyModule {}
63
63
  ```
64
64
 
65
+ ## Covalent Icons Support (Optional)
66
+
67
+ The Markdown Navigator automatically detects Covalent Icons and applies the correct font styling. Covalent Icons are **completely optional** - the component works perfectly with Material Icons only.
68
+
69
+ ### Icon Detection (Built-in)
70
+
71
+ The component includes icon detection out-of-the-box. **No additional setup or installation required.**
72
+
73
+ Icon detection is bundled within the component and works with any version of `@covalent/icons` installed in your project.
74
+
75
+ ### Rendering Covalent Icons (Optional)
76
+
77
+ If you want to **render** Covalent Icons (not just Material Icons), you need to install the icon fonts:
78
+
79
+ **Option 1: Using with Covalent Design System**
80
+
81
+ If your project already uses other Covalent components with the following in your global styles:
82
+
83
+ ```scss
84
+ @use '@covalent/icons';
85
+ ```
86
+
87
+ Covalent Icons will work automatically.
88
+
89
+ **Option 2: Standalone Installation**
90
+
91
+ 1. **Install the icons package:**
92
+
93
+ ```bash
94
+ npm install @covalent/icons
95
+ ```
96
+
97
+ 2. **Import in your global styles** (`src/styles.scss`):
98
+ ```scss
99
+ @import '@covalent/markdown-navigator/styles/markdown-navigator-icons.scss';
100
+ ```
101
+
102
+ ### Icon Usage
103
+
104
+ Both icon types work the same way in your data:
105
+
106
+ ```typescript
107
+ // Material Icons (always available via Google Fonts)
108
+ {
109
+ title: 'Notebooks',
110
+ icon: 'book',
111
+ }
112
+
113
+ // Covalent Icons (requires @covalent/icons for rendering)
114
+ {
115
+ title: 'Vector Store',
116
+ icon: 'variable_outlined', // Auto-detected as Covalent icon
117
+ }
118
+ ```
119
+
120
+ **Note:** If a Covalent icon is used but `@covalent/icons` is not installed, the icon will display as an empty box. Material Icons always work without additional setup.
121
+
122
+ The component automatically detects which font to use based on the icon name. No additional configuration needed in your TypeScript code.
123
+
65
124
  ## Usage
66
125
 
67
126
  ```html
@@ -176,27 +235,20 @@ export class MyModule {}
176
235
  ## Usage
177
236
 
178
237
  ```typescript
179
- import {
180
- TdMarkdownNavigatorWindowComponent,
181
- TdMarkdownNavigatorWindowService,
182
- IMarkdownNavigatorItem,
183
- } from '@covalent/markdown-navigator';
238
+ import { TdMarkdownNavigatorWindowComponent, TdMarkdownNavigatorWindowService, IMarkdownNavigatorItem } from '@covalent/markdown-navigator';
184
239
  import { MatDialogRef } from '@angular/material/dialog';
185
240
 
186
241
  export class SampleComponent {
187
- constructor(
188
- private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService
189
- ) {}
242
+ constructor(private _markdownNavigatorWindowService: TdMarkdownNavigatorWindowService) {}
190
243
 
191
244
  ngOnInit(): void {
192
- const ref: MatDialogRef<TdMarkdownNavigatorWindowComponent> =
193
- this._markdownNavigatorWindowService.open({
194
- items: [
195
- {
196
- url: 'https://github.com/Teradata/covalent/blob/main/README.md',
197
- },
198
- ],
199
- });
245
+ const ref: MatDialogRef<TdMarkdownNavigatorWindowComponent> = this._markdownNavigatorWindowService.open({
246
+ items: [
247
+ {
248
+ url: 'https://github.com/Teradata/covalent/blob/main/README.md',
249
+ },
250
+ ],
251
+ });
200
252
  ref.afterOpened().subscribe(() => {});
201
253
  ref.afterClosed().subscribe(() => {});
202
254
  }
@@ -231,11 +283,5 @@ export class MyModule {}
231
283
  Example:
232
284
 
233
285
  ```html
234
- <button
235
- mat-button
236
- [tdMarkdownNavigatorWindow]="{ items: [] }"
237
- [disabled]="false"
238
- >
239
- Open window
240
- </button>
286
+ <button mat-button [tdMarkdownNavigatorWindow]="{ items: [] }" [disabled]="false">Open window</button>
241
287
  ```
@@ -1,6 +1,6 @@
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';
3
- import * as i4 from '@angular/common';
2
+ import { EventEmitter, SecurityContext, ChangeDetectionStrategy, Component, HostListener, ViewChild, Output, Input, Injectable, Inject, Directive, NgModule } from '@angular/core';
3
+ import * as i5 from '@angular/common';
4
4
  import { CommonModule, DOCUMENT } from '@angular/common';
5
5
  import * as i1 from '@covalent/markdown';
6
6
  import { removeLeadingHash, TdMarkdownLoaderService, isAnchorLink } from '@covalent/markdown';
@@ -9,65 +9,50 @@ import * as i2 from '@angular/platform-browser';
9
9
  import * as i3 from '@angular/common/http';
10
10
  import { firstValueFrom } from 'rxjs';
11
11
  import { MatButtonModule } from '@angular/material/button';
12
- import * as i5 from '@angular/material/tooltip';
12
+ import * as i6 from '@angular/material/tooltip';
13
13
  import { MatTooltipModule } from '@angular/material/tooltip';
14
- import * as i6 from '@angular/material/list';
14
+ import * as i7 from '@angular/material/list';
15
15
  import { MatListModule } from '@angular/material/list';
16
- import * as i8 from '@angular/material/icon';
16
+ import * as i4 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
- import { TdBreadcrumbsComponent } from '@covalent/core/breadcrumbs';
22
- import * as i7 from '@angular/material/divider';
21
+ import { TdBreadcrumbsComponent, TdBreadcrumbComponent } from '@covalent/core/breadcrumbs';
23
22
  import * as i1$1 from '@covalent/core/dialogs';
24
23
  import { TdWindowDialogComponent, ResizableDraggableDialog, TdDialogService } from '@covalent/core/dialogs';
25
24
 
26
25
  const _c0 = ["markdownWrapper"];
27
26
  const _c1 = () => ({});
28
27
  function TdMarkdownNavigatorComponent_ng_container_0_mat_progress_bar_1_Template(rf, ctx) { if (rf & 1) {
29
- i0.ɵɵelement(0, "mat-progress-bar", 10);
28
+ i0.ɵɵelement(0, "mat-progress-bar", 9);
30
29
  } }
31
- function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
30
+ function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template(rf, ctx) { if (rf & 1) {
32
31
  const _r3 = i0.ɵɵgetCurrentView();
33
32
  i0.ɵɵelementContainerStart(0);
34
- i0.ɵɵelementStart(1, "a", 15);
35
- 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)); });
33
+ i0.ɵɵelementStart(1, "a", 13);
34
+ i0.ɵɵlistener("click", function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template_a_click_1_listener() { const index_r4 = i0.ɵɵrestoreView(_r3).index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.goBack(ctx_r1.historyStack.length - index_r4)); });
36
35
  i0.ɵɵtext(2);
37
36
  i0.ɵɵelementEnd();
38
37
  i0.ɵɵelementContainerEnd();
39
38
  } if (rf & 2) {
40
- const stack_r5 = i0.ɵɵnextContext().$implicit;
41
- i0.ɵɵadvance();
42
- i0.ɵɵattribute("data-test", "back-button");
39
+ const item_r5 = ctx.$implicit;
40
+ const index_r4 = ctx.index;
43
41
  i0.ɵɵadvance();
44
- i0.ɵɵtextInterpolate(stack_r5.title);
45
- } }
46
- function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_ng_template_2_Template(rf, ctx) { if (rf & 1) {
47
- i0.ɵɵelementStart(0, "mat-icon", 16);
48
- i0.ɵɵtext(1, "chevron_right");
49
- i0.ɵɵelementEnd();
50
- } }
51
- function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template(rf, ctx) { if (rf & 1) {
52
- i0.ɵɵelementContainerStart(0);
53
- 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);
54
- i0.ɵɵelementContainerEnd();
55
- } if (rf & 2) {
56
- const isLast_r6 = ctx.last;
57
- const lastBreadCrumb_r7 = i0.ɵɵreference(3);
42
+ i0.ɵɵattribute("data-test", "back-button-" + index_r4);
58
43
  i0.ɵɵadvance();
59
- i0.ɵɵproperty("ngIf", !isLast_r6)("ngIfElse", lastBreadCrumb_r7);
44
+ i0.ɵɵtextInterpolate(item_r5.title);
60
45
  } }
61
46
  function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template(rf, ctx) { if (rf & 1) {
62
47
  const _r1 = i0.ɵɵgetCurrentView();
63
48
  i0.ɵɵelementContainerStart(0);
64
- i0.ɵɵelementStart(1, "td-breadcrumbs")(2, "a", 11);
49
+ i0.ɵɵelementStart(1, "td-breadcrumbs")(2, "a", 10);
65
50
  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()); });
66
51
  i0.ɵɵtext(3, "Home");
67
52
  i0.ɵɵelementEnd();
68
- i0.ɵɵtemplate(4, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template, 4, 2, "ng-container", 12);
53
+ i0.ɵɵtemplate(4, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_ng_container_4_Template, 3, 2, "ng-container", 11);
69
54
  i0.ɵɵelementEnd();
70
- i0.ɵɵelementStart(5, "div", 13);
55
+ i0.ɵɵelementStart(5, "div", 12);
71
56
  i0.ɵɵtext(6);
72
57
  i0.ɵɵelementEnd();
73
58
  i0.ɵɵelement(7, "mat-divider");
@@ -79,7 +64,7 @@ function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template(rf,
79
64
  i0.ɵɵproperty("matTooltip", (tmp_2_0 = ctx_r1.goHomeLabel) !== null && tmp_2_0 !== undefined ? tmp_2_0 : "");
80
65
  i0.ɵɵattribute("data-test", "home-button");
81
66
  i0.ɵɵadvance(2);
82
- i0.ɵɵproperty("ngForOf", ctx_r1.historyStack);
67
+ i0.ɵɵproperty("ngForOf", ctx_r1.navigationBreadcrumbs);
83
68
  i0.ɵɵadvance();
84
69
  i0.ɵɵattribute("data-test", "title");
85
70
  i0.ɵɵadvance();
@@ -88,16 +73,16 @@ function TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template(rf,
88
73
  i0.ɵɵstyleProp("position", "relative");
89
74
  } }
90
75
  function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_message_2_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵelement(0, "td-message", 20);
76
+ i0.ɵɵelement(0, "td-message", 17);
92
77
  } if (rf & 2) {
93
78
  const ctx_r1 = i0.ɵɵnextContext(3);
94
79
  i0.ɵɵproperty("sublabel", ctx_r1.markdownLoaderError);
95
80
  i0.ɵɵattribute("data-test", "markdown-loader-error");
96
81
  } }
97
82
  function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template(rf, ctx) { if (rf & 1) {
98
- const _r8 = i0.ɵɵgetCurrentView();
99
- i0.ɵɵelementStart(0, "td-flavored-markdown-loader", 21);
100
- 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)); });
83
+ const _r6 = i0.ɵɵgetCurrentView();
84
+ i0.ɵɵelementStart(0, "td-flavored-markdown-loader", 18);
85
+ 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(_r6); 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(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });
101
86
  i0.ɵɵelementEnd();
102
87
  } if (rf & 2) {
103
88
  let tmp_4_0;
@@ -107,9 +92,9 @@ function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_
107
92
  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);
108
93
  } }
109
94
  function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template(rf, ctx) { if (rf & 1) {
110
- const _r9 = i0.ɵɵgetCurrentView();
111
- i0.ɵɵelementStart(0, "td-flavored-markdown", 22);
112
- 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)); });
95
+ const _r7 = i0.ɵɵgetCurrentView();
96
+ i0.ɵɵelementStart(0, "td-flavored-markdown", 19);
97
+ i0.ɵɵlistener("buttonClicked", function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });
113
98
  i0.ɵɵelementEnd();
114
99
  } if (rf & 2) {
115
100
  let tmp_4_0;
@@ -119,8 +104,8 @@ function TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_
119
104
  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);
120
105
  } }
121
106
  function TdMarkdownNavigatorComponent_ng_container_0_div_4_Template(rf, ctx) { if (rf & 1) {
122
- i0.ɵɵelementStart(0, "div", 17, 1);
123
- 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);
107
+ i0.ɵɵelementStart(0, "div", 14, 0);
108
+ i0.ɵɵtemplate(2, TdMarkdownNavigatorComponent_ng_container_0_div_4_td_message_2_Template, 1, 2, "td-message", 6)(3, TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_loader_3_Template, 1, 6, "td-flavored-markdown-loader", 15)(4, TdMarkdownNavigatorComponent_ng_container_0_div_4_td_flavored_markdown_4_Template, 1, 5, "td-flavored-markdown", 16);
124
109
  i0.ɵɵelementEnd();
125
110
  } if (rf & 2) {
126
111
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -132,42 +117,44 @@ function TdMarkdownNavigatorComponent_ng_container_0_div_4_Template(rf, ctx) { i
132
117
  i0.ɵɵproperty("ngIf", ctx_r1.showTdMarkdown);
133
118
  } }
134
119
  function TdMarkdownNavigatorComponent_ng_container_0_td_message_5_Template(rf, ctx) { if (rf & 1) {
135
- i0.ɵɵelement(0, "td-message", 20);
120
+ i0.ɵɵelement(0, "td-message", 17);
136
121
  } if (rf & 2) {
137
122
  const ctx_r1 = i0.ɵɵnextContext(2);
138
123
  i0.ɵɵproperty("sublabel", ctx_r1.childrenUrlError);
139
124
  i0.ɵɵattribute("data-test", "children-url-error");
140
125
  } }
141
126
  function TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template(rf, ctx) { if (rf & 1) {
142
- const _r10 = i0.ɵɵgetCurrentView();
143
- i0.ɵɵelementStart(0, "button", 25);
144
- 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)); });
145
- i0.ɵɵelementStart(1, "mat-icon", 26);
127
+ const _r8 = i0.ɵɵgetCurrentView();
128
+ i0.ɵɵelementStart(0, "button", 22);
129
+ i0.ɵɵlistener("click", function TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template_button_click_0_listener() { const item_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleItemSelected(item_r9)); });
130
+ i0.ɵɵelementStart(1, "mat-icon", 23);
146
131
  i0.ɵɵtext(2);
147
132
  i0.ɵɵelementEnd();
148
- i0.ɵɵelementStart(3, "span", 27);
133
+ i0.ɵɵelementStart(3, "span", 24);
149
134
  i0.ɵɵtext(4);
150
135
  i0.ɵɵelementEnd();
151
- i0.ɵɵelementStart(5, "span", 28);
136
+ i0.ɵɵelementStart(5, "span", 25);
152
137
  i0.ɵɵtext(6);
153
138
  i0.ɵɵelementEnd();
154
139
  i0.ɵɵelement(7, "mat-divider");
155
140
  i0.ɵɵelementEnd();
156
141
  } if (rf & 2) {
157
- const item_r11 = ctx.$implicit;
158
- const index_r12 = ctx.index;
142
+ const item_r9 = ctx.$implicit;
143
+ const index_r10 = ctx.index;
159
144
  const ctx_r1 = i0.ɵɵnextContext(3);
160
- i0.ɵɵproperty("id", "td-markdown-navigator-list-item-" + (item_r11.id ? item_r11.id : index_r12))("matTooltip", ctx_r1.getTitle(item_r11));
161
- i0.ɵɵadvance(2);
162
- i0.ɵɵtextInterpolate1(" ", ctx_r1.getIcon(item_r11), " ");
145
+ i0.ɵɵproperty("id", "td-markdown-navigator-list-item-" + (item_r9.id ? item_r9.id : index_r10))("matTooltip", ctx_r1.getTitle(item_r9));
146
+ i0.ɵɵadvance();
147
+ i0.ɵɵproperty("fontSet", ctx_r1.isCovalentIcon(item_r9) ? "covalent-icons" : "");
148
+ i0.ɵɵadvance();
149
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.getIcon(item_r9), " ");
163
150
  i0.ɵɵadvance(2);
164
- i0.ɵɵtextInterpolate1(" ", ctx_r1.getTitle(item_r11), " ");
151
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.getTitle(item_r9), " ");
165
152
  i0.ɵɵadvance(2);
166
- i0.ɵɵtextInterpolate(item_r11.description);
153
+ i0.ɵɵtextInterpolate(item_r9.description);
167
154
  } }
168
155
  function TdMarkdownNavigatorComponent_ng_container_0_div_6_Template(rf, ctx) { if (rf & 1) {
169
- i0.ɵɵelementStart(0, "div", 23)(1, "mat-action-list");
170
- i0.ɵɵtemplate(2, TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template, 8, 5, "button", 24);
156
+ i0.ɵɵelementStart(0, "div", 20)(1, "mat-action-list");
157
+ i0.ɵɵtemplate(2, TdMarkdownNavigatorComponent_ng_container_0_div_6_button_2_Template, 8, 6, "button", 21);
171
158
  i0.ɵɵelementEnd()();
172
159
  } if (rf & 2) {
173
160
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -179,9 +166,9 @@ function TdMarkdownNavigatorComponent_ng_container_0_ng_container_7_Template(rf,
179
166
  } }
180
167
  function TdMarkdownNavigatorComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
181
168
  i0.ɵɵelementContainerStart(0);
182
- 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);
183
- i0.ɵɵelementStart(3, "div", 5);
184
- 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);
169
+ i0.ɵɵtemplate(1, TdMarkdownNavigatorComponent_ng_container_0_mat_progress_bar_1_Template, 1, 0, "mat-progress-bar", 3)(2, TdMarkdownNavigatorComponent_ng_container_0_ng_container_2_Template, 8, 7, "ng-container", 1);
170
+ i0.ɵɵelementStart(3, "div", 4);
171
+ i0.ɵɵtemplate(4, TdMarkdownNavigatorComponent_ng_container_0_div_4_Template, 5, 3, "div", 5)(5, TdMarkdownNavigatorComponent_ng_container_0_td_message_5_Template, 1, 2, "td-message", 6)(6, TdMarkdownNavigatorComponent_ng_container_0_div_6_Template, 3, 1, "div", 7)(7, TdMarkdownNavigatorComponent_ng_container_0_ng_container_7_Template, 1, 0, "ng-container", 8);
185
172
  i0.ɵɵelementEnd();
186
173
  i0.ɵɵelementContainerEnd();
187
174
  } if (rf & 2) {
@@ -200,7 +187,7 @@ function TdMarkdownNavigatorComponent_ng_container_0_Template(rf, ctx) { if (rf
200
187
  i0.ɵɵproperty("ngComponentOutlet", ctx_r1.footerComponent);
201
188
  } }
202
189
  function TdMarkdownNavigatorComponent_div_1_Template(rf, ctx) { if (rf & 1) {
203
- i0.ɵɵelementStart(0, "div", 29)(1, "mat-icon", 30);
190
+ i0.ɵɵelementStart(0, "div", 26)(1, "mat-icon", 27);
204
191
  i0.ɵɵtext(2, "subject");
205
192
  i0.ɵɵelementEnd();
206
193
  i0.ɵɵelementStart(3, "h2");
@@ -221,6 +208,15 @@ class TdMarkdownNavigatorComponent {
221
208
  _changeDetectorRef;
222
209
  _sanitizer;
223
210
  _http;
211
+ _matIconRegistry;
212
+ constructor(_markdownUrlLoaderService, _changeDetectorRef, _sanitizer, _http, _matIconRegistry) {
213
+ this._markdownUrlLoaderService = _markdownUrlLoaderService;
214
+ this._changeDetectorRef = _changeDetectorRef;
215
+ this._sanitizer = _sanitizer;
216
+ this._http = _http;
217
+ this._matIconRegistry = _matIconRegistry;
218
+ this._matIconRegistry.registerFontClassAlias('covalent-icons', 'covalent-icons mat-ligature-font');
219
+ }
224
220
  /**
225
221
  * items: IMarkdownNavigatorItem[]
226
222
  *
@@ -274,12 +270,6 @@ class TdMarkdownNavigatorComponent {
274
270
  loading = false;
275
271
  markdownLoaderError;
276
272
  childrenUrlError;
277
- constructor(_markdownUrlLoaderService, _changeDetectorRef, _sanitizer, _http) {
278
- this._markdownUrlLoaderService = _markdownUrlLoaderService;
279
- this._changeDetectorRef = _changeDetectorRef;
280
- this._sanitizer = _sanitizer;
281
- this._http = _http;
282
- }
283
273
  clickListener(event) {
284
274
  const element = event.srcElement;
285
275
  if (element.matches('a[href]') &&
@@ -359,6 +349,9 @@ class TdMarkdownNavigatorComponent {
359
349
  }
360
350
  return '';
361
351
  }
352
+ get navigationBreadcrumbs() {
353
+ return this.historyStack.slice(0, -1);
354
+ }
362
355
  async ngOnChanges(changes) {
363
356
  if (changes['items']) {
364
357
  this.reset();
@@ -468,7 +461,13 @@ class TdMarkdownNavigatorComponent {
468
461
  '').trim();
469
462
  }
470
463
  getIcon(item) {
471
- return item?.icon || 'subject';
464
+ const icon = item?.icon || 'subject';
465
+ return icon.split(';')[0];
466
+ }
467
+ isCovalentIcon(item) {
468
+ if (!item?.icon)
469
+ return false;
470
+ return item?.icon?.includes(';covalent');
472
471
  }
473
472
  handleChildrenUrlError(error) {
474
473
  this.childrenUrlError = error.message;
@@ -567,7 +566,7 @@ class TdMarkdownNavigatorComponent {
567
566
  }
568
567
  this._changeDetectorRef.markForCheck();
569
568
  }
570
- 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)); };
569
+ 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), i0.ɵɵdirectiveInject(i4.MatIconRegistry)); };
571
570
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdMarkdownNavigatorComponent, selectors: [["td-markdown-navigator"]], viewQuery: function TdMarkdownNavigatorComponent_Query(rf, ctx) { if (rf & 1) {
572
571
  i0.ɵɵviewQuery(_c0, 5);
573
572
  } if (rf & 2) {
@@ -575,17 +574,18 @@ class TdMarkdownNavigatorComponent {
575
574
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.markdownWrapper = _t.first);
576
575
  } }, hostBindings: function TdMarkdownNavigatorComponent_HostBindings(rf, ctx) { if (rf & 1) {
577
576
  i0.ɵɵlistener("click", function TdMarkdownNavigatorComponent_click_HostBindingHandler($event) { return ctx.clickListener($event); });
578
- } }, 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) {
579
- i0.ɵɵtemplate(0, TdMarkdownNavigatorComponent_ng_container_0_Template, 8, 6, "ng-container", 2)(1, TdMarkdownNavigatorComponent_div_1_Template, 5, 1, "div", 3);
577
+ } }, 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: [["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"], ["td-breadcrumb", "", 3, "click"], [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", "", 3, "fontSet"], ["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) {
578
+ i0.ɵɵtemplate(0, TdMarkdownNavigatorComponent_ng_container_0_Template, 8, 6, "ng-container", 1)(1, TdMarkdownNavigatorComponent_div_1_Template, 5, 1, "div", 2);
580
579
  } if (rf & 2) {
581
580
  i0.ɵɵproperty("ngIf", !ctx.showEmptyState);
582
581
  i0.ɵɵadvance();
583
582
  i0.ɵɵproperty("ngIf", ctx.showEmptyState);
584
- } }, 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,
583
+ } }, dependencies: [CommonModule, i5.NgComponentOutlet, i5.NgForOf, i5.NgIf, MatButtonModule,
584
+ MatTooltipModule, i6.MatTooltip, MatListModule, i7.MatActionList, i7.MatListItem, i7.MatListItemAvatar, i7.MatListItemIcon, i7.MatDivider, i7.MatListItemLine, i7.MatListItemTitle, MatIconModule, i4.MatIcon, MatProgressBarModule, i8.MatProgressBar, TdFlavoredMarkdownComponent,
586
585
  TdFlavoredMarkdownLoaderComponent,
587
586
  TdMessageComponent,
588
- 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 });
587
+ TdBreadcrumbsComponent,
588
+ TdBreadcrumbComponent], 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}[_nghost-%COMP%] .td-markdown-list[_ngcontent-%COMP%] .mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines[_ngcontent-%COMP%] .mdc-list-item__primary-text[_ngcontent-%COMP%]:before{display:block;height:16px;vertical-align:baseline}.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 });
589
589
  }
590
590
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorComponent, [{
591
591
  type: Component,
@@ -600,8 +600,9 @@ class TdMarkdownNavigatorComponent {
600
600
  TdFlavoredMarkdownLoaderComponent,
601
601
  TdMessageComponent,
602
602
  TdBreadcrumbsComponent,
603
- ], 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"] }]
604
- }], () => [{ type: i1.TdMarkdownLoaderService }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i3.HttpClient }], { items: [{
603
+ TdBreadcrumbComponent,
604
+ ], 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=\"\n let item of navigationBreadcrumbs;\n last as isLast;\n index as index\n \"\n >\n <a\n td-breadcrumb\n (click)=\"goBack(historyStack.length - index)\"\n [attr.data-test]=\"'back-button-' + index\"\n >{{ item.title }}</a\n >\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\n matListItemIcon\n [fontSet]=\"isCovalentIcon(item) ? 'covalent-icons' : ''\"\n >\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}:host .td-markdown-list .mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines .mdc-list-item__primary-text:before{display:block;height:16px;vertical-align:baseline}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{padding:32px}.empty-state mat-icon{font-size:4em}\n"] }]
605
+ }], () => [{ type: i1.TdMarkdownLoaderService }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }, { type: i3.HttpClient }, { type: i4.MatIconRegistry }], { items: [{
605
606
  type: Input
606
607
  }], labels: [{
607
608
  type: Input
@@ -626,7 +627,7 @@ class TdMarkdownNavigatorComponent {
626
627
  type: HostListener,
627
628
  args: ['click', ['$event']]
628
629
  }] }); })();
629
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TdMarkdownNavigatorComponent, { className: "TdMarkdownNavigatorComponent", filePath: "markdown-navigator.component.ts", lineNumber: 87 }); })();
630
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TdMarkdownNavigatorComponent, { className: "TdMarkdownNavigatorComponent", filePath: "markdown-navigator.component.ts", lineNumber: 95 }); })();
630
631
  function getTitleFromUrl(url) {
631
632
  if (url) {
632
633
  const temp = new URL(url);
@@ -889,7 +890,10 @@ class TdMarkdownNavigatorWindowDirective {
889
890
  * Please migrate to using standalone components as soon as possible.
890
891
  */
891
892
  class CovalentMarkdownNavigatorModule {
892
- static ɵfac = function CovalentMarkdownNavigatorModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentMarkdownNavigatorModule)(); };
893
+ constructor(iconRegistry, sanitizer) {
894
+ iconRegistry.registerFontClassAlias('covalent-icons', 'covalent-icons');
895
+ }
896
+ static ɵfac = function CovalentMarkdownNavigatorModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentMarkdownNavigatorModule)(i0.ɵɵinject(i4.MatIconRegistry), i0.ɵɵinject(i2.DomSanitizer)); };
893
897
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentMarkdownNavigatorModule });
894
898
  static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [TdMarkdownNavigatorWindowService, TdDialogService], imports: [CommonModule,
895
899
  TdMarkdownNavigatorComponent,
@@ -911,7 +915,7 @@ class CovalentMarkdownNavigatorModule {
911
915
  ],
912
916
  providers: [TdMarkdownNavigatorWindowService, TdDialogService],
913
917
  }]
914
- }], null, null); })();
918
+ }], () => [{ type: i4.MatIconRegistry }, { type: i2.DomSanitizer }], null); })();
915
919
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentMarkdownNavigatorModule, { imports: [CommonModule,
916
920
  TdMarkdownNavigatorComponent,
917
921
  TdMarkdownNavigatorWindowComponent,
@@ -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":["../../../../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=\"\n let item of navigationBreadcrumbs;\n last as isLast;\n index as index\n \"\n >\n <a\n td-breadcrumb\n (click)=\"goBack(historyStack.length - index)\"\n [attr.data-test]=\"'back-button-' + index\"\n >{{ item.title }}</a\n >\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\n matListItemIcon\n [fontSet]=\"isCovalentIcon(item) ? 'covalent-icons' : ''\"\n >\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 {\n ITdFlavoredMarkdownButtonClickEvent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n} 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, MatIconRegistry } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { TdDialogComponent } from '@covalent/core/dialogs';\nimport { TdMessageComponent } from '@covalent/core/message';\nimport {\n TdBreadcrumbsComponent,\n TdBreadcrumbComponent,\n} 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 TdBreadcrumbComponent,\n ],\n providers: [TdMarkdownLoaderService],\n})\nexport class TdMarkdownNavigatorComponent implements OnChanges {\n constructor(\n private _markdownUrlLoaderService: TdMarkdownLoaderService,\n private _changeDetectorRef: ChangeDetectorRef,\n private _sanitizer: DomSanitizer,\n private _http: HttpClient,\n private _matIconRegistry: MatIconRegistry,\n ) {\n this._matIconRegistry.registerFontClassAlias(\n 'covalent-icons',\n 'covalent-icons mat-ligature-font',\n );\n }\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 @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 get navigationBreadcrumbs(): IMarkdownNavigatorItem[] {\n return this.historyStack.slice(0, -1);\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 const icon = item?.icon || 'subject';\n return icon.split(';')[0];\n }\n\n isCovalentIcon(item: IMarkdownNavigatorItem): boolean {\n if (!item?.icon) return false;\n return item?.icon?.includes(';covalent');\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';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\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 constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {\n iconRegistry.registerFontClassAlias('covalent-icons', 'covalent-icons');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.TdMarkdownNavigatorWindowService","i1"],"mappings":"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"}
@@ -4,6 +4,7 @@ import { ITdFlavoredMarkdownButtonClickEvent } from '@covalent/flavored-markdown
4
4
  import { DomSanitizer } from '@angular/platform-browser';
5
5
  import { HttpClient } from '@angular/common/http';
6
6
  import { ICopyCodeTooltips } from '@covalent/highlight';
7
+ import { MatIconRegistry } from '@angular/material/icon';
7
8
  import * as i0 from "@angular/core";
8
9
  export interface IMarkdownNavigatorItem {
9
10
  id?: string;
@@ -31,6 +32,8 @@ export declare class TdMarkdownNavigatorComponent implements OnChanges {
31
32
  private _changeDetectorRef;
32
33
  private _sanitizer;
33
34
  private _http;
35
+ private _matIconRegistry;
36
+ constructor(_markdownUrlLoaderService: TdMarkdownLoaderService, _changeDetectorRef: ChangeDetectorRef, _sanitizer: DomSanitizer, _http: HttpClient, _matIconRegistry: MatIconRegistry);
34
37
  /**
35
38
  * items: IMarkdownNavigatorItem[]
36
39
  *
@@ -84,7 +87,6 @@ export declare class TdMarkdownNavigatorComponent implements OnChanges {
84
87
  loading: boolean;
85
88
  markdownLoaderError?: string;
86
89
  childrenUrlError?: string;
87
- constructor(_markdownUrlLoaderService: TdMarkdownLoaderService, _changeDetectorRef: ChangeDetectorRef, _sanitizer: DomSanitizer, _http: HttpClient);
88
90
  clickListener(event: Event): void;
89
91
  get showGoBackButton(): boolean;
90
92
  get showHeader(): boolean;
@@ -101,6 +103,7 @@ export declare class TdMarkdownNavigatorComponent implements OnChanges {
101
103
  get goBackLabel(): string | undefined;
102
104
  get emptyStateLabel(): string | undefined;
103
105
  get currentItemTitle(): string;
106
+ get navigationBreadcrumbs(): IMarkdownNavigatorItem[];
104
107
  ngOnChanges(changes: SimpleChanges): Promise<void>;
105
108
  hasChildrenOrChildrenUrl(item: IMarkdownNavigatorItem): boolean;
106
109
  clearErrors(): void;
@@ -111,6 +114,7 @@ export declare class TdMarkdownNavigatorComponent implements OnChanges {
111
114
  loadChildrenUrl(item: IMarkdownNavigatorItem): Promise<IMarkdownNavigatorItem[]>;
112
115
  getTitle(item: IMarkdownNavigatorItem): string;
113
116
  getIcon(item: IMarkdownNavigatorItem): string;
117
+ isCovalentIcon(item: IMarkdownNavigatorItem): boolean;
114
118
  handleChildrenUrlError(error: Error): void;
115
119
  handleMarkdownLoaderError(error: Error): void;
116
120
  private _jumpTo;
@@ -1,3 +1,5 @@
1
+ import { MatIconRegistry } from '@angular/material/icon';
2
+ import { DomSanitizer } from '@angular/platform-browser';
1
3
  import * as i0 from "@angular/core";
2
4
  import * as i1 from "@angular/common";
3
5
  import * as i2 from "./markdown-navigator.component";
@@ -8,6 +10,7 @@ import * as i4 from "./markdown-navigator-window-directive/markdown-navigator-wi
8
10
  * Please migrate to using standalone components as soon as possible.
9
11
  */
10
12
  export declare class CovalentMarkdownNavigatorModule {
13
+ constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer);
11
14
  static ɵfac: i0.ɵɵFactoryDeclaration<CovalentMarkdownNavigatorModule, never>;
12
15
  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
16
  static ɵinj: i0.ɵɵInjectorDeclaration<CovalentMarkdownNavigatorModule>;
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": "10.4.0",
4
4
  "description": "Teradata UI Platform Markdown Navigator Module",
5
5
  "keywords": [
6
6
  "angular",
@@ -28,9 +28,9 @@
28
28
  "@angular/core": "19.x.x",
29
29
  "@angular/material": "19.x.x",
30
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"
31
+ "@covalent/core": "10.4.0",
32
+ "@covalent/flavored-markdown": "10.4.0",
33
+ "@covalent/highlight": "10.4.0"
34
34
  },
35
35
  "dependencies": {
36
36
  "tslib": "^2.8.1"
@@ -0,0 +1,8 @@
1
+ // Covalent Icons for Markdown Navigator
2
+ // Import this file once in your global styles to enable Covalent icons support
3
+
4
+ // Override font path for npm consumers
5
+ $icomoon-font-path: '~@covalent/icons' !default;
6
+
7
+ // Import Covalent icons
8
+ @import '@covalent/icons/covalent-icons.scss';