@covalent/flavored-markdown 5.1.0-beta.1 → 5.1.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.
@@ -11,17 +11,18 @@ import * as i1 from '@angular/common';
11
11
  import { CommonModule } from '@angular/common';
12
12
  import * as i2 from '@angular/material/list';
13
13
  import { MatListModule } from '@angular/material/list';
14
- import * as i3 from '@angular/material/divider';
14
+ import * as i3 from '@angular/material/core';
15
+ import * as i4 from '@angular/material/divider';
15
16
  import { TdHighlightComponent, CovalentHighlightModule } from '@covalent/highlight';
16
17
  import * as i1$1 from '@covalent/markdown';
17
18
  import { scrollToAnchor, TdMarkdownComponent, CovalentMarkdownModule } from '@covalent/markdown';
18
- import * as i4 from '@angular/material/button';
19
+ import * as i4$1 from '@angular/material/button';
19
20
  import { MatButtonModule } from '@angular/material/button';
20
21
  import * as i3$2 from '@angular/material/progress-bar';
21
22
  import { MatProgressBarModule } from '@angular/material/progress-bar';
22
23
 
23
24
  function TdFlavoredListComponent_ng_template_1_p_3_Template(rf, ctx) { if (rf & 1) {
24
- i0.ɵɵelementStart(0, "p", 4);
25
+ i0.ɵɵelementStart(0, "p", 1);
25
26
  i0.ɵɵtext(1);
26
27
  i0.ɵɵelementEnd();
27
28
  } if (rf & 2) {
@@ -30,7 +31,7 @@ function TdFlavoredListComponent_ng_template_1_p_3_Template(rf, ctx) { if (rf &
30
31
  i0.ɵɵtextInterpolate1(" ", subline_r5, " ");
31
32
  } }
32
33
  function TdFlavoredListComponent_ng_template_1_mat_divider_4_Template(rf, ctx) { if (rf & 1) {
33
- i0.ɵɵelement(0, "mat-divider", 4);
34
+ i0.ɵɵelement(0, "mat-divider");
34
35
  } }
35
36
  function TdFlavoredListComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
36
37
  i0.ɵɵelementStart(0, "mat-list-item")(1, "h4", 1);
@@ -55,7 +56,7 @@ class TdFlavoredListComponent {
55
56
  }
56
57
  }
57
58
  TdFlavoredListComponent.ɵfac = function TdFlavoredListComponent_Factory(t) { return new (t || TdFlavoredListComponent)(); };
58
- TdFlavoredListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredListComponent, selectors: [["td-cfm-list"]], inputs: { lines: "lines", dense: "dense" }, decls: 2, vars: 2, consts: [["ngFor", "", 3, "ngForOf"], ["matListItemTitle", ""], ["matListItemLine", "", 4, "ngFor", "ngForOf"], ["matListItemLine", "", 4, "ngIf"], ["matListItemLine", ""]], template: function TdFlavoredListComponent_Template(rf, ctx) { if (rf & 1) {
59
+ TdFlavoredListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredListComponent, selectors: [["td-cfm-list"]], inputs: { lines: "lines", dense: "dense" }, decls: 2, vars: 2, consts: [["ngFor", "", 3, "ngForOf"], ["matLine", ""], ["matLine", "", 4, "ngFor", "ngForOf"], [4, "ngIf"]], template: function TdFlavoredListComponent_Template(rf, ctx) { if (rf & 1) {
59
60
  i0.ɵɵelementStart(0, "mat-list");
60
61
  i0.ɵɵtemplate(1, TdFlavoredListComponent_ng_template_1_Template, 5, 3, "ng-template", 0);
61
62
  i0.ɵɵelementEnd();
@@ -63,10 +64,10 @@ TdFlavoredListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdF
63
64
  i0.ɵɵattribute("dense", ctx.dense ? true : null);
64
65
  i0.ɵɵadvance(1);
65
66
  i0.ɵɵproperty("ngForOf", ctx.lines);
66
- } }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatList, i2.MatListItem, i3.MatDivider, i2.MatListItemLine, i2.MatListItemTitle] });
67
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatList, i2.MatListItem, i3.MatLine, i4.MatDivider] });
67
68
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredListComponent, [{
68
69
  type: Component,
69
- args: [{ selector: 'td-cfm-list', template: "<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matListItemTitle>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matListItemLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\" matListItemLine></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n" }]
70
+ args: [{ selector: 'td-cfm-list', template: "<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matLine>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n" }]
70
71
  }], null, { lines: [{
71
72
  type: Input
72
73
  }], dense: [{
@@ -191,7 +192,7 @@ TdFlavoredMarkdownButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
191
192
  } if (rf & 2) {
192
193
  i0.ɵɵadvance(1);
193
194
  i0.ɵɵtextInterpolate1(" ", ctx.text, " ");
194
- } }, dependencies: [i4.MatButton], encapsulation: 2 });
195
+ } }, dependencies: [i4$1.MatButton], encapsulation: 2 });
195
196
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownButtonComponent, [{
196
197
  type: Component,
197
198
  args: [{
@@ -230,43 +231,6 @@ TdFlavoredMarkdownContainerDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirectiv
230
231
  }]
231
232
  }], function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }]; }, null); })();
232
233
  class TdFlavoredMarkdownComponent {
233
- /**
234
- * content?: string
235
- *
236
- * Markdown format content to be parsed as material/covalent markup.
237
- *
238
- * e.g. README.md content.
239
- */
240
- set content(content) {
241
- this._content = content;
242
- }
243
- /**
244
- * simpleLineBreaks?: string
245
- *
246
- * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.
247
- * Defaults to false.
248
- */
249
- set simpleLineBreaks(simpleLineBreaks) {
250
- this._simpleLineBreaks = simpleLineBreaks;
251
- }
252
- /**
253
- * hostedUrl?: string
254
- *
255
- * If markdown contains relative paths, this is required to generate correct urls
256
- *
257
- */
258
- set hostedUrl(hostedUrl) {
259
- this._hostedUrl = hostedUrl;
260
- }
261
- /**
262
- * anchor?: string
263
- *
264
- * Anchor to jump to
265
- *
266
- */
267
- set anchor(anchor) {
268
- this._anchor = anchor;
269
- }
270
234
  constructor(_componentFactoryResolver, _renderer, _changeDetectorRef, _injector, _elementRef) {
271
235
  this._componentFactoryResolver = _componentFactoryResolver;
272
236
  this._renderer = _renderer;
@@ -289,6 +253,18 @@ class TdFlavoredMarkdownComponent {
289
253
  * Tooltips for copy button to copy and upon copying.
290
254
  */
291
255
  this.copyCodeTooltips = {};
256
+ /**
257
+ * toggleRawCode?: boolean
258
+ *
259
+ * Display button to toggle raw code view
260
+ */
261
+ this.toggleRawCode = false;
262
+ /**
263
+ * rawToggleLabels?: IRawToggleLabels
264
+ *
265
+ * Labels for raw code toggle button
266
+ */
267
+ this.rawToggleLabels = {};
292
268
  /**
293
269
  * useCfmList?: boolean = false;
294
270
  * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.
@@ -307,6 +283,43 @@ class TdFlavoredMarkdownComponent {
307
283
  this.buttonClicked = new EventEmitter();
308
284
  this._destroy$ = new Subject();
309
285
  }
286
+ /**
287
+ * content?: string
288
+ *
289
+ * Markdown format content to be parsed as material/covalent markup.
290
+ *
291
+ * e.g. README.md content.
292
+ */
293
+ set content(content) {
294
+ this._content = content;
295
+ }
296
+ /**
297
+ * simpleLineBreaks?: string
298
+ *
299
+ * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.
300
+ * Defaults to false.
301
+ */
302
+ set simpleLineBreaks(simpleLineBreaks) {
303
+ this._simpleLineBreaks = simpleLineBreaks;
304
+ }
305
+ /**
306
+ * hostedUrl?: string
307
+ *
308
+ * If markdown contains relative paths, this is required to generate correct urls
309
+ *
310
+ */
311
+ set hostedUrl(hostedUrl) {
312
+ this._hostedUrl = hostedUrl;
313
+ }
314
+ /**
315
+ * anchor?: string
316
+ *
317
+ * Anchor to jump to
318
+ *
319
+ */
320
+ set anchor(anchor) {
321
+ this._anchor = anchor;
322
+ }
310
323
  ngOnChanges(changes) {
311
324
  // only anchor changed
312
325
  if (changes['anchor'] &&
@@ -456,6 +469,8 @@ class TdFlavoredMarkdownComponent {
456
469
  }
457
470
  componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;
458
471
  componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;
472
+ componentRef.instance.toggleRawButton = this.toggleRawCode;
473
+ componentRef.instance.rawToggleLabels = this.rawToggleLabels;
459
474
  componentRef.instance.content = codeblock;
460
475
  });
461
476
  }
@@ -529,14 +544,12 @@ class TdFlavoredMarkdownComponent {
529
544
  }
530
545
  lines.push({
531
546
  line: lineText,
532
- sublines: sublineTexts
533
- .map((subline) => {
547
+ sublines: sublineTexts.map((subline) => {
534
548
  if (listCharRegExp.test(subline)) {
535
549
  return '';
536
550
  }
537
551
  return subline.trim();
538
- })
539
- .filter((line) => !!line),
552
+ }),
540
553
  });
541
554
  });
542
555
  componentRef.instance.lines = lines;
@@ -549,7 +562,7 @@ TdFlavoredMarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
549
562
  } if (rf & 2) {
550
563
  let _t;
551
564
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
552
- } }, inputs: { content: "content", simpleLineBreaks: "simpleLineBreaks", hostedUrl: "hostedUrl", anchor: "anchor", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", useCfmList: "useCfmList" }, outputs: { contentReady: "contentReady", buttonClicked: "buttonClicked" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 2, vars: 0, consts: [["tdFlavoredMarkdownContainer", ""]], template: function TdFlavoredMarkdownComponent_Template(rf, ctx) { if (rf & 1) {
565
+ } }, inputs: { content: "content", simpleLineBreaks: "simpleLineBreaks", hostedUrl: "hostedUrl", anchor: "anchor", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", toggleRawCode: "toggleRawCode", rawToggleLabels: "rawToggleLabels", useCfmList: "useCfmList" }, outputs: { contentReady: "contentReady", buttonClicked: "buttonClicked" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 2, vars: 0, consts: [["tdFlavoredMarkdownContainer", ""]], template: function TdFlavoredMarkdownComponent_Template(rf, ctx) { if (rf & 1) {
553
566
  i0.ɵɵprojectionDef();
554
567
  i0.ɵɵelementStart(0, "div", 0);
555
568
  i0.ɵɵprojection(1);
@@ -570,6 +583,10 @@ TdFlavoredMarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
570
583
  type: Input
571
584
  }], copyCodeTooltips: [{
572
585
  type: Input
586
+ }], toggleRawCode: [{
587
+ type: Input
588
+ }], rawToggleLabels: [{
589
+ type: Input
573
590
  }], useCfmList: [{
574
591
  type: Input
575
592
  }], contentReady: [{
@@ -661,7 +678,7 @@ TdFlavoredMarkdownLoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
661
678
  i0.ɵɵproperty("ngIf", ctx.loading);
662
679
  i0.ɵɵadvance(1);
663
680
  i0.ɵɵproperty("ngIf", !ctx.loading);
664
- } }, dependencies: [i1.NgClass, i1.NgIf, i3$2.MatProgressBar, TdFlavoredMarkdownComponent], styles: ["[_nghost-%COMP%]{display:block}.sticky[_ngcontent-%COMP%]{position:absolute;top:0}.delay[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_delay-animation;animation-duration:.6s}@keyframes _ngcontent-%COMP%_delay-animation{0%{opacity:0}99%{opacity:0}to{opacity:1}}"], changeDetection: 0 });
681
+ } }, dependencies: [i1.NgClass, i1.NgIf, i3$2.MatProgressBar, TdFlavoredMarkdownComponent], styles: ["[_nghost-%COMP%]{display:block}.sticky[_ngcontent-%COMP%]{position:absolute;top:0}.delay[_ngcontent-%COMP%]{animation:delay-animation;animation-duration:.6s}@keyframes delay-animation{0%{opacity:0}99%{opacity:0}to{opacity:1}}"], changeDetection: 0 });
665
682
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownLoaderComponent, [{
666
683
  type: Component,
667
684
  args: [{ selector: 'td-flavored-markdown-loader', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-progress-bar\n [ngClass]=\"'delay'\"\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n class=\"sticky\"\n></mat-progress-bar>\n<td-flavored-markdown\n *ngIf=\"!loading\"\n [content]=\"content\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n [useCfmList]=\"useCfmList\"\n (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n", styles: [":host{display:block}.sticky{position:absolute;top:0}.delay{animation:delay-animation;animation-duration:.6s}@keyframes delay-animation{0%{opacity:0}99%{opacity:0}to{opacity:1}}\n"] }]
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-flavored-markdown.mjs","sources":["../../../../libs/markdown-flavored/src/lib/cfm-list/cfm-list.component.html","../../../../libs/markdown-flavored/src/lib/cfm-list/cfm-list.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.component.html","../../../../libs/markdown-flavored/src/lib/flavored-markdown-loader/flavored-markdown-loader.component.html","../../../../libs/markdown-flavored/src/lib/flavored-markdown-loader/flavored-markdown-loader.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.module.ts","../../../../libs/markdown-flavored/src/covalent-flavored-markdown.ts"],"sourcesContent":["<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matListItemTitle>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matListItemLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\" matListItemLine></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n","import { Component, Input } from '@angular/core';\n\nexport interface IFlavoredListItem {\n line: string;\n sublines?: string[];\n}\n\n@Component({\n selector: 'td-cfm-list',\n styleUrls: ['./cfm-list.component.scss'],\n templateUrl: './cfm-list.component.html',\n})\nexport class TdFlavoredListComponent {\n @Input() lines!: IFlavoredListItem[];\n @Input() dense = false;\n}\n","import {\n Component,\n Directive,\n AfterViewInit,\n Input,\n Renderer2,\n Type,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n Output,\n ViewContainerRef,\n ComponentFactoryResolver,\n Injector,\n ComponentRef,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n ElementRef,\n HostBinding,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n TdFlavoredListComponent,\n IFlavoredListItem,\n} from './cfm-list/cfm-list.component';\nimport { TdHighlightComponent, ICopyCodeTooltips } from '@covalent/highlight';\n\nimport { TdMarkdownComponent, scrollToAnchor } from '@covalent/markdown';\n\nexport interface ITdFlavoredMarkdownButtonClickEvent {\n text: string;\n data: string;\n}\n\nexport interface ITdFlavoredMarkDownTableColumn {\n label: string;\n name: string;\n numeric: boolean;\n}\n\n@Component({\n template: `\n <mat-table [dataSource]=\"dataSource\" matSort>\n <!-- Column Definition -->\n <ng-template ngFor let-column [ngForOf]=\"columnDefs\">\n <ng-container [matColumnDef]=\"column.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{\n column.label\n }}</mat-header-cell>\n <mat-cell *matCellDef=\"let row\">{{ row[column.name] }}</mat-cell>\n </ng-container>\n </ng-template>\n <!-- Header and Row Declarations -->\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n `,\n})\nexport class TdFlavoredMarkdownTableComponent implements OnInit, AfterViewInit {\n @Input() columnDefs: ITdFlavoredMarkDownTableColumn[] = [];\n @Input() data!: unknown[];\n @ViewChild(MatSort) sort!: MatSort;\n\n displayedColumns!: string[];\n dataSource!: MatTableDataSource<unknown>;\n\n ngOnInit(): void {\n this.displayedColumns = this.columnDefs.map(\n (c: ITdFlavoredMarkDownTableColumn) => c.name\n );\n this.dataSource = new MatTableDataSource(this.data);\n }\n\n ngAfterViewInit(): void {\n this.dataSource.sort = this.sort;\n }\n}\n\n@Component({\n template: `\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n `,\n})\nexport class TdFlavoredMarkdownButtonComponent {\n @HostBinding('style.display') display = 'inline-block';\n @Input() text = '';\n @Input() data = '';\n @Output()\n clicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n emitClick(): void {\n this.clicked.emit({ text: this.text, data: this.data });\n }\n}\n\n@Directive({\n selector: '[tdFlavoredMarkdownContainer]',\n})\nexport class TdFlavoredMarkdownContainerDirective {\n constructor(\n public viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2\n ) {}\n\n clear(): void {\n this._renderer.setProperty(\n this.viewContainerRef.element.nativeElement,\n 'innerHTML',\n ''\n );\n this.viewContainerRef.clear();\n }\n}\n\nexport type IReplacerFunc<T> = (\n componentRef: ComponentRef<T>,\n ...args: any[]\n) => void;\n\n@Component({\n selector: 'td-flavored-markdown',\n styleUrls: ['./flavored-markdown.component.scss'],\n templateUrl: './flavored-markdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownComponent\n implements AfterViewInit, OnChanges, OnDestroy\n{\n private _content!: string;\n private _simpleLineBreaks = false;\n private _hostedUrl!: string;\n private _anchor!: string;\n\n private _components: { [key: string]: ComponentRef<unknown> } = {};\n private _viewInit = false;\n /**\n * content?: string\n *\n * Markdown format content to be parsed as material/covalent markup.\n *\n * e.g. README.md content.\n */\n @Input()\n set content(content: string) {\n this._content = content;\n }\n\n /**\n * simpleLineBreaks?: string\n *\n * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.\n * Defaults to false.\n */\n @Input()\n set simpleLineBreaks(simpleLineBreaks: boolean) {\n this._simpleLineBreaks = simpleLineBreaks;\n }\n\n /**\n * hostedUrl?: string\n *\n * If markdown contains relative paths, this is required to generate correct urls\n *\n */\n @Input()\n set hostedUrl(hostedUrl: string) {\n this._hostedUrl = hostedUrl;\n }\n\n /**\n * anchor?: string\n *\n * Anchor to jump to\n *\n */\n @Input()\n set anchor(anchor: string) {\n this._anchor = anchor;\n }\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 * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n @Input() useCfmList? = false;\n\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n @Output() contentReady: EventEmitter<undefined> =\n new EventEmitter<undefined>();\n\n /**\n * buttonClicked?: ITdFlavoredMarkdownButtonClickEvent\n * Event emitted when a button is clicked\n * Is an object containing text and data of button\n */\n @Output()\n buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n\n @ViewChild(TdFlavoredMarkdownContainerDirective, { static: true })\n container!: TdFlavoredMarkdownContainerDirective;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\n private _injector: Injector,\n private _elementRef: ElementRef\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // only anchor changed\n if (\n changes['anchor'] &&\n !changes['content'] &&\n !changes['simpleLineBreaks'] &&\n !changes['hostedUrl']\n ) {\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false);\n } else {\n this.refresh();\n }\n }\n\n ngAfterViewInit(): void {\n if (!this._content) {\n this._loadContent(\n (<HTMLElement>this.container.viewContainerRef.element.nativeElement)\n .textContent ?? ''\n );\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n refresh(): void {\n if (this._content) {\n this._loadContent(this._content);\n } else if (this._viewInit) {\n this._loadContent(\n (<HTMLElement>this.container.viewContainerRef.element.nativeElement)\n .textContent ?? ''\n );\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private _loadContent(markdown: string): void {\n if (markdown && markdown.trim().length > 0) {\n this.container.clear();\n markdown = markdown\n .replace(/^(\\s|\\t)*\\n+/g, '')\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markdown by line characters\n let lines: string[] = markdown.split('\\n');\n\n // check how much indentation is used by the first actual markdown line\n const firstLineWhitespaceMatch = lines[0].match(/^(\\s|\\t)*/);\n const firstLineWhitespace = firstLineWhitespaceMatch\n ? firstLineWhitespaceMatch[0]\n : null;\n\n // Remove all indentation spaces so markdown can be parsed correctly\n // Remove all \\r characters\n const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line.replace(startingWhitespaceRegex, '').replace('\\r', '');\n });\n\n // Join lines again with line characters\n markdown = [...lines, '', ''].join('\\n');\n markdown = this._replaceCodeBlocks(markdown);\n markdown = this._replaceCheckbox(markdown);\n markdown = this._replaceTables(markdown);\n markdown = this._replaceButtons(markdown);\n\n if (this.useCfmList) {\n markdown = this._replaceLists(markdown);\n }\n\n const keys: string[] = Object.keys(this._components);\n // need to sort the placeholders in order of encounter in markdown content\n keys.sort((compA: string, compB: string) => {\n return markdown.indexOf(compA) > markdown.indexOf(compB) ? 1 : -1;\n });\n this._render(markdown, keys[0], keys);\n // TODO: timeout required since resizing of html elements occurs which causes a change in the scroll position\n setTimeout(\n () =>\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false),\n 250\n );\n this.contentReady.emit();\n Promise.resolve().then(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n private _render(markdown: string, key: string, keys: string[]): void {\n if (!markdown) {\n return;\n }\n if (key && markdown.indexOf(key) > -1) {\n const markdownParts: string[] = markdown.split(key);\n keys.shift();\n this._render(markdownParts[0], '', []);\n this.container.viewContainerRef.insert(\n this._components[key].hostView,\n this.container.viewContainerRef.length\n );\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n } else {\n const contentRef: ComponentRef<TdMarkdownComponent> =\n this._componentFactoryResolver\n .resolveComponentFactory(TdMarkdownComponent)\n .create(this._injector);\n contentRef.instance.content = markdown;\n contentRef.instance.hostedUrl = this._hostedUrl;\n contentRef.instance.simpleLineBreaks = this._simpleLineBreaks;\n contentRef.instance.refresh();\n this.container.viewContainerRef.insert(\n contentRef.hostView,\n this.container.viewContainerRef.length\n );\n }\n }\n\n private _replaceComponent<T>(\n markdown: string,\n type: Type<T>,\n regExp: RegExp,\n replacerFunc: IReplacerFunc<T>\n ): string {\n let componentIndex = 0;\n return markdown.replace(regExp, (...args: any[]) => {\n const componentFactory: ComponentFactory<T> =\n this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef: ComponentRef<T> = componentFactory.create(\n this._injector\n );\n replacerFunc(componentRef, ...args);\n const key: string =\n '[' +\n componentFactory.selector +\n '-placeholder-' +\n componentIndex++ +\n ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n\n private _replaceCheckbox(markdown: string): string {\n const checkboxRegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(\n markdown,\n MatCheckbox,\n checkboxRegExp,\n (\n componentRef: ComponentRef<MatCheckbox>,\n match: string,\n checked: string,\n label: string\n ) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.disabled = true;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty(\n (<HTMLElement>(\n componentRef.instance._elementRef.nativeElement\n )).getElementsByClassName('mat-checkbox-label')[0],\n 'innerHTML',\n label\n );\n }\n );\n }\n\n private _replaceButtons(markdown: string): string {\n const buttonRegExp = /\\[([^[]+)\\](\\(#data=(.*?)\\))/i;\n const globalButtonRegExp = new RegExp(\n buttonRegExp.source,\n buttonRegExp.flags + 'g'\n );\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownButtonComponent,\n globalButtonRegExp,\n (\n componentRef: ComponentRef<TdFlavoredMarkdownButtonComponent>,\n match: string\n ) => {\n const matches = buttonRegExp.exec(match);\n if (!matches) {\n return;\n }\n const text: string = matches[1];\n const data: string = matches[3];\n componentRef.instance.text = text;\n componentRef.instance.data = data;\n componentRef.instance.clicked\n .pipe(takeUntil(this._destroy$))\n .subscribe((clickEvent: ITdFlavoredMarkdownButtonClickEvent) =>\n this.buttonClicked.emit(clickEvent)\n );\n }\n );\n }\n\n private _replaceCodeBlocks(markdown: string): string {\n const codeBlockRegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(\n markdown,\n TdHighlightComponent,\n codeBlockRegExp,\n (\n componentRef: ComponentRef<TdHighlightComponent>,\n match: string,\n language: string,\n codeblock: string\n ) => {\n if (language) {\n componentRef.instance.codeLang = language;\n }\n componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;\n componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;\n componentRef.instance.content = codeblock;\n }\n );\n }\n\n private _replaceTables(markdown: string): string {\n const tableRgx =\n /^ {0,3}\\|?.+\\|.+\\n[ \\t]{0,3}\\|?[ \\t]*:?[ \\t]*(?:-|=){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:-|=){2,}[\\s\\S]+?(?:\\n\\n|~0)/gm;\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownTableComponent,\n tableRgx,\n (\n componentRef: ComponentRef<TdFlavoredMarkdownTableComponent>,\n match: string\n ) => {\n const dataTableLines: string[] = match\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '')\n .split('\\n');\n const columns: string[] = dataTableLines[0]\n .split('|')\n .filter((col: string) => {\n return col;\n })\n .map((s: string) => {\n return s.trim();\n });\n const alignment: string[] = dataTableLines[1]\n .split('|')\n .filter((v: string) => {\n return v;\n })\n .map((s: string) => {\n return s.trim();\n });\n\n const data: any[] = [];\n for (let i = 2; i < dataTableLines.length; i++) {\n const rowSplit: string[] = dataTableLines[i]\n .split('|')\n .filter((cell: string) => {\n return cell;\n })\n .map((s: string) => {\n return s.trim();\n });\n const row: any = {};\n columns.forEach((col: string, index: number) => {\n const rowSplitCell: string = rowSplit[index];\n if (rowSplitCell) {\n row[col.toLowerCase().trim()] = rowSplitCell.replace(\n /`(.*)`/,\n (m: string, value: string) => {\n return value;\n }\n );\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map(\n (col: string, index: number) => {\n return {\n label: col,\n name: col ? col.toLowerCase().trim() : `column ${index}`,\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n }\n );\n componentRef.instance.data = data;\n }\n );\n }\n\n private _replaceLists(markdown: string): string {\n const listRegExp = /(?:^|\\n)(( *(\\+|\\*|-))[ |\\t](.*)\\n)+/g;\n const listCharRegExp = new RegExp(/^(\\+|\\*|-)/);\n return this._replaceComponent(\n markdown,\n TdFlavoredListComponent,\n listRegExp,\n (componentRef: ComponentRef<TdFlavoredListComponent>, match: string) => {\n const start = /(\\+|\\*|-)/.exec(match);\n const matchIndex = start !== null ? start.index : 1;\n\n const lineTexts: string[] = match.split(\n new RegExp(\n '\\\\n {' + (matchIndex - 1).toString() + '}(\\\\+|\\\\*|\\\\-)[ |\\\\t]'\n )\n );\n lineTexts.shift();\n const lines: IFlavoredListItem[] = [];\n lineTexts.forEach((text: string) => {\n const sublineTexts: string[] = text.split(/\\n *(\\+|\\*|-) /);\n const lineText = sublineTexts.shift() ?? '';\n\n if (listCharRegExp.test(lineText)) {\n return;\n }\n\n lines.push({\n line: lineText,\n sublines: sublineTexts\n .map((subline: string) => {\n if (listCharRegExp.test(subline)) {\n return '';\n }\n return subline.trim();\n })\n .filter((line) => !!line),\n });\n });\n componentRef.instance.lines = lines;\n }\n );\n }\n}\n","<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n","<mat-progress-bar\n [ngClass]=\"'delay'\"\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n class=\"sticky\"\n></mat-progress-bar>\n<td-flavored-markdown\n *ngIf=\"!loading\"\n [content]=\"content\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n [useCfmList]=\"useCfmList\"\n (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n","import {\n Component,\n Input,\n ChangeDetectorRef,\n SimpleChanges,\n OnChanges,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { TdMarkdownLoaderService } from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '../flavored-markdown.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\n// TODO: make a td-markdown-loader component\n\n@Component({\n selector: 'td-flavored-markdown-loader',\n styleUrls: ['./flavored-markdown-loader.component.scss'],\n templateUrl: './flavored-markdown-loader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownLoaderComponent implements OnChanges {\n /**\n * url: string\n * The url of the markdown file.\n */\n @Input() url?: string;\n\n /**\n * httpOptions: object\n * HTTP options that can be part of the request.\n */\n @Input() httpOptions?: object;\n\n /**\n * anchor: string\n * Anchor to jump to.\n */\n @Input() anchor?: string;\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 * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n @Input() useCfmList? = false;\n\n /**\n * contentReady: void\n * Emitted when markdown rendering is finished.\n */\n @Output() contentReady: EventEmitter<void> = new EventEmitter();\n\n /**\n * loadFailed: Error\n * Emitted when loading of markdown file fails.\n */\n @Output() loadFailed: EventEmitter<Error> = new EventEmitter();\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter();\n\n content!: string;\n loading = true;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _markdownUrlLoaderService: TdMarkdownLoaderService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['url'] || changes['httpOptions']) {\n this.loadMarkdown();\n }\n }\n\n async loadMarkdown(): Promise<void> {\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n this.content = await this._markdownUrlLoaderService.load(\n this.url ?? '',\n this.httpOptions\n );\n } catch (error) {\n this.loadFailed.emit(error as Error);\n } finally {\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\nimport { CovalentHighlightModule } from '@covalent/highlight';\n\nimport { CovalentMarkdownModule } from '@covalent/markdown';\nimport { TdFlavoredListComponent } from './cfm-list/cfm-list.component';\nimport {\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n} from './flavored-markdown.component';\nimport { TdFlavoredMarkdownLoaderComponent } from './flavored-markdown-loader/flavored-markdown-loader.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatListModule,\n MatProgressBarModule,\n CovalentHighlightModule,\n CovalentMarkdownModule,\n MatButtonModule,\n MatTableModule,\n MatSortModule,\n ],\n declarations: [\n TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n ],\n exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],\n})\nexport class CovalentFlavoredMarkdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"covalent-flavored-markdown.mjs","sources":["../../../../libs/markdown-flavored/src/lib/cfm-list/cfm-list.component.html","../../../../libs/markdown-flavored/src/lib/cfm-list/cfm-list.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.component.html","../../../../libs/markdown-flavored/src/lib/flavored-markdown-loader/flavored-markdown-loader.component.html","../../../../libs/markdown-flavored/src/lib/flavored-markdown-loader/flavored-markdown-loader.component.ts","../../../../libs/markdown-flavored/src/lib/flavored-markdown.module.ts","../../../../libs/markdown-flavored/src/covalent-flavored-markdown.ts"],"sourcesContent":["<mat-list [attr.dense]=\"dense ? true : null\">\n <ng-template let-line let-last=\"last\" ngFor [ngForOf]=\"lines\">\n <mat-list-item>\n <h4 matLine>\n {{ line.line }}\n </h4>\n <p *ngFor=\"let subline of line.sublines\" matLine>\n {{ subline }}\n </p>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </mat-list-item>\n </ng-template>\n</mat-list>\n","import { Component, Input } from '@angular/core';\n\nexport interface IFlavoredListItem {\n line: string;\n sublines?: string[];\n}\n\n@Component({\n selector: 'td-cfm-list',\n styleUrls: ['./cfm-list.component.scss'],\n templateUrl: './cfm-list.component.html',\n})\nexport class TdFlavoredListComponent {\n @Input() lines!: IFlavoredListItem[];\n @Input() dense = false;\n}\n","import {\n Component,\n Directive,\n AfterViewInit,\n Input,\n Renderer2,\n Type,\n ComponentFactory,\n ChangeDetectorRef,\n EventEmitter,\n Output,\n ViewContainerRef,\n ComponentFactoryResolver,\n Injector,\n ComponentRef,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n ElementRef,\n HostBinding,\n OnInit,\n OnDestroy,\n} from '@angular/core';\n\nimport { MatCheckbox } from '@angular/material/checkbox';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport {\n TdFlavoredListComponent,\n IFlavoredListItem,\n} from './cfm-list/cfm-list.component';\nimport {\n TdHighlightComponent,\n ICopyCodeTooltips,\n IRawToggleLabels,\n} from '@covalent/highlight';\n\nimport { TdMarkdownComponent, scrollToAnchor } from '@covalent/markdown';\n\nexport interface ITdFlavoredMarkdownButtonClickEvent {\n text: string;\n data: string;\n}\n\nexport interface ITdFlavoredMarkDownTableColumn {\n label: string;\n name: string;\n numeric: boolean;\n}\n\n@Component({\n template: `\n <mat-table [dataSource]=\"dataSource\" matSort>\n <!-- Column Definition -->\n <ng-template ngFor let-column [ngForOf]=\"columnDefs\">\n <ng-container [matColumnDef]=\"column.name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{\n column.label\n }}</mat-header-cell>\n <mat-cell *matCellDef=\"let row\">{{ row[column.name] }}</mat-cell>\n </ng-container>\n </ng-template>\n <!-- Header and Row Declarations -->\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns\"></mat-row>\n </mat-table>\n `,\n})\nexport class TdFlavoredMarkdownTableComponent implements OnInit, AfterViewInit {\n @Input() columnDefs: ITdFlavoredMarkDownTableColumn[] = [];\n @Input() data!: unknown[];\n @ViewChild(MatSort) sort!: MatSort;\n\n displayedColumns!: string[];\n dataSource!: MatTableDataSource<unknown>;\n\n ngOnInit(): void {\n this.displayedColumns = this.columnDefs.map(\n (c: ITdFlavoredMarkDownTableColumn) => c.name\n );\n this.dataSource = new MatTableDataSource(this.data);\n }\n\n ngAfterViewInit(): void {\n this.dataSource.sort = this.sort;\n }\n}\n\n@Component({\n template: `\n <button mat-raised-button (click)=\"emitClick()\">\n {{ text }}\n </button>\n `,\n})\nexport class TdFlavoredMarkdownButtonComponent {\n @HostBinding('style.display') display = 'inline-block';\n @Input() text = '';\n @Input() data = '';\n @Output()\n clicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n emitClick(): void {\n this.clicked.emit({ text: this.text, data: this.data });\n }\n}\n\n@Directive({\n selector: '[tdFlavoredMarkdownContainer]',\n})\nexport class TdFlavoredMarkdownContainerDirective {\n constructor(\n public viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2\n ) {}\n\n clear(): void {\n this._renderer.setProperty(\n this.viewContainerRef.element.nativeElement,\n 'innerHTML',\n ''\n );\n this.viewContainerRef.clear();\n }\n}\n\nexport type IReplacerFunc<T> = (\n componentRef: ComponentRef<T>,\n ...args: any[]\n) => void;\n\n@Component({\n selector: 'td-flavored-markdown',\n styleUrls: ['./flavored-markdown.component.scss'],\n templateUrl: './flavored-markdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownComponent\n implements AfterViewInit, OnChanges, OnDestroy\n{\n private _content!: string;\n private _simpleLineBreaks = false;\n private _hostedUrl!: string;\n private _anchor!: string;\n\n private _components: { [key: string]: ComponentRef<unknown> } = {};\n private _viewInit = false;\n /**\n * content?: string\n *\n * Markdown format content to be parsed as material/covalent markup.\n *\n * e.g. README.md content.\n */\n @Input()\n set content(content: string) {\n this._content = content;\n }\n\n /**\n * simpleLineBreaks?: string\n *\n * Sets whether newline characters inside paragraphs and spans are parsed as <br/>.\n * Defaults to false.\n */\n @Input()\n set simpleLineBreaks(simpleLineBreaks: boolean) {\n this._simpleLineBreaks = simpleLineBreaks;\n }\n\n /**\n * hostedUrl?: string\n *\n * If markdown contains relative paths, this is required to generate correct urls\n *\n */\n @Input()\n set hostedUrl(hostedUrl: string) {\n this._hostedUrl = hostedUrl;\n }\n\n /**\n * anchor?: string\n *\n * Anchor to jump to\n *\n */\n @Input()\n set anchor(anchor: string) {\n this._anchor = anchor;\n }\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 * toggleRawCode?: boolean\n *\n * Display button to toggle raw code view\n */\n @Input() toggleRawCode = false;\n\n /**\n * rawToggleLabels?: IRawToggleLabels\n *\n * Labels for raw code toggle button\n */\n @Input() rawToggleLabels?: IRawToggleLabels = {};\n\n /**\n * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n @Input() useCfmList? = false;\n\n /**\n * contentReady?: function\n * Event emitted after the markdown content rendering is finished.\n */\n @Output() contentReady: EventEmitter<undefined> =\n new EventEmitter<undefined>();\n\n /**\n * buttonClicked?: ITdFlavoredMarkdownButtonClickEvent\n * Event emitted when a button is clicked\n * Is an object containing text and data of button\n */\n @Output()\n buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> = new EventEmitter<ITdFlavoredMarkdownButtonClickEvent>();\n\n @ViewChild(TdFlavoredMarkdownContainerDirective, { static: true })\n container!: TdFlavoredMarkdownContainerDirective;\n\n private _destroy$ = new Subject<void>();\n\n constructor(\n private _componentFactoryResolver: ComponentFactoryResolver,\n private _renderer: Renderer2,\n private _changeDetectorRef: ChangeDetectorRef,\n private _injector: Injector,\n private _elementRef: ElementRef\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n // only anchor changed\n if (\n changes['anchor'] &&\n !changes['content'] &&\n !changes['simpleLineBreaks'] &&\n !changes['hostedUrl']\n ) {\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false);\n } else {\n this.refresh();\n }\n }\n\n ngAfterViewInit(): void {\n if (!this._content) {\n this._loadContent(\n (<HTMLElement>this.container.viewContainerRef.element.nativeElement)\n .textContent ?? ''\n );\n Promise.resolve().then(() => {\n this._viewInit = true;\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n }\n\n refresh(): void {\n if (this._content) {\n this._loadContent(this._content);\n } else if (this._viewInit) {\n this._loadContent(\n (<HTMLElement>this.container.viewContainerRef.element.nativeElement)\n .textContent ?? ''\n );\n }\n this._changeDetectorRef.markForCheck();\n }\n\n private _loadContent(markdown: string): void {\n if (markdown && markdown.trim().length > 0) {\n this.container.clear();\n markdown = markdown\n .replace(/^(\\s|\\t)*\\n+/g, '')\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markdown by line characters\n let lines: string[] = markdown.split('\\n');\n\n // check how much indentation is used by the first actual markdown line\n const firstLineWhitespaceMatch = lines[0].match(/^(\\s|\\t)*/);\n const firstLineWhitespace = firstLineWhitespaceMatch\n ? firstLineWhitespaceMatch[0]\n : null;\n\n // Remove all indentation spaces so markdown can be parsed correctly\n // Remove all \\r characters\n const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line.replace(startingWhitespaceRegex, '').replace('\\r', '');\n });\n\n // Join lines again with line characters\n markdown = [...lines, '', ''].join('\\n');\n markdown = this._replaceCodeBlocks(markdown);\n markdown = this._replaceCheckbox(markdown);\n markdown = this._replaceTables(markdown);\n markdown = this._replaceButtons(markdown);\n\n if (this.useCfmList) {\n markdown = this._replaceLists(markdown);\n }\n\n const keys: string[] = Object.keys(this._components);\n // need to sort the placeholders in order of encounter in markdown content\n keys.sort((compA: string, compB: string) => {\n return markdown.indexOf(compA) > markdown.indexOf(compB) ? 1 : -1;\n });\n this._render(markdown, keys[0], keys);\n // TODO: timeout required since resizing of html elements occurs which causes a change in the scroll position\n setTimeout(\n () =>\n scrollToAnchor(this._elementRef.nativeElement, this._anchor, false),\n 250\n );\n this.contentReady.emit();\n Promise.resolve().then(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n\n private _render(markdown: string, key: string, keys: string[]): void {\n if (!markdown) {\n return;\n }\n if (key && markdown.indexOf(key) > -1) {\n const markdownParts: string[] = markdown.split(key);\n keys.shift();\n this._render(markdownParts[0], '', []);\n this.container.viewContainerRef.insert(\n this._components[key].hostView,\n this.container.viewContainerRef.length\n );\n delete this._components[key];\n this._render(markdownParts[1], keys[0], keys);\n } else {\n const contentRef: ComponentRef<TdMarkdownComponent> =\n this._componentFactoryResolver\n .resolveComponentFactory(TdMarkdownComponent)\n .create(this._injector);\n contentRef.instance.content = markdown;\n contentRef.instance.hostedUrl = this._hostedUrl;\n contentRef.instance.simpleLineBreaks = this._simpleLineBreaks;\n contentRef.instance.refresh();\n this.container.viewContainerRef.insert(\n contentRef.hostView,\n this.container.viewContainerRef.length\n );\n }\n }\n\n private _replaceComponent<T>(\n markdown: string,\n type: Type<T>,\n regExp: RegExp,\n replacerFunc: IReplacerFunc<T>\n ): string {\n let componentIndex = 0;\n return markdown.replace(regExp, (...args: any[]) => {\n const componentFactory: ComponentFactory<T> =\n this._componentFactoryResolver.resolveComponentFactory(type);\n const componentRef: ComponentRef<T> = componentFactory.create(\n this._injector\n );\n replacerFunc(componentRef, ...args);\n const key: string =\n '[' +\n componentFactory.selector +\n '-placeholder-' +\n componentIndex++ +\n ']';\n this._components[key] = componentRef;\n return key;\n });\n }\n\n private _replaceCheckbox(markdown: string): string {\n const checkboxRegExp = /(?:^|\\n)- \\[(x| )\\](.*)/gi;\n return this._replaceComponent(\n markdown,\n MatCheckbox,\n checkboxRegExp,\n (\n componentRef: ComponentRef<MatCheckbox>,\n match: string,\n checked: string,\n label: string\n ) => {\n componentRef.instance.checked = !!checked.trim();\n componentRef.instance.disabled = true;\n componentRef.instance.labelPosition = 'after';\n this._renderer.setProperty(\n (<HTMLElement>(\n componentRef.instance._elementRef.nativeElement\n )).getElementsByClassName('mat-checkbox-label')[0],\n 'innerHTML',\n label\n );\n }\n );\n }\n\n private _replaceButtons(markdown: string): string {\n const buttonRegExp = /\\[([^[]+)\\](\\(#data=(.*?)\\))/i;\n const globalButtonRegExp = new RegExp(\n buttonRegExp.source,\n buttonRegExp.flags + 'g'\n );\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownButtonComponent,\n globalButtonRegExp,\n (\n componentRef: ComponentRef<TdFlavoredMarkdownButtonComponent>,\n match: string\n ) => {\n const matches = buttonRegExp.exec(match);\n if (!matches) {\n return;\n }\n const text: string = matches[1];\n const data: string = matches[3];\n componentRef.instance.text = text;\n componentRef.instance.data = data;\n componentRef.instance.clicked\n .pipe(takeUntil(this._destroy$))\n .subscribe((clickEvent: ITdFlavoredMarkdownButtonClickEvent) =>\n this.buttonClicked.emit(clickEvent)\n );\n }\n );\n }\n\n private _replaceCodeBlocks(markdown: string): string {\n const codeBlockRegExp = /(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g;\n return this._replaceComponent(\n markdown,\n TdHighlightComponent,\n codeBlockRegExp,\n (\n componentRef: ComponentRef<TdHighlightComponent>,\n match: string,\n language: string,\n codeblock: string\n ) => {\n if (language) {\n componentRef.instance.codeLang = language;\n }\n componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;\n componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;\n componentRef.instance.toggleRawButton = this.toggleRawCode;\n componentRef.instance.rawToggleLabels = this.rawToggleLabels;\n componentRef.instance.content = codeblock;\n }\n );\n }\n\n private _replaceTables(markdown: string): string {\n const tableRgx =\n /^ {0,3}\\|?.+\\|.+\\n[ \\t]{0,3}\\|?[ \\t]*:?[ \\t]*(?:-|=){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:-|=){2,}[\\s\\S]+?(?:\\n\\n|~0)/gm;\n return this._replaceComponent(\n markdown,\n TdFlavoredMarkdownTableComponent,\n tableRgx,\n (\n componentRef: ComponentRef<TdFlavoredMarkdownTableComponent>,\n match: string\n ) => {\n const dataTableLines: string[] = match\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '')\n .split('\\n');\n const columns: string[] = dataTableLines[0]\n .split('|')\n .filter((col: string) => {\n return col;\n })\n .map((s: string) => {\n return s.trim();\n });\n const alignment: string[] = dataTableLines[1]\n .split('|')\n .filter((v: string) => {\n return v;\n })\n .map((s: string) => {\n return s.trim();\n });\n\n const data: any[] = [];\n for (let i = 2; i < dataTableLines.length; i++) {\n const rowSplit: string[] = dataTableLines[i]\n .split('|')\n .filter((cell: string) => {\n return cell;\n })\n .map((s: string) => {\n return s.trim();\n });\n const row: any = {};\n columns.forEach((col: string, index: number) => {\n const rowSplitCell: string = rowSplit[index];\n if (rowSplitCell) {\n row[col.toLowerCase().trim()] = rowSplitCell.replace(\n /`(.*)`/,\n (m: string, value: string) => {\n return value;\n }\n );\n }\n });\n data.push(row);\n }\n componentRef.instance.columnDefs = columns.map(\n (col: string, index: number) => {\n return {\n label: col,\n name: col ? col.toLowerCase().trim() : `column ${index}`,\n numeric: /^--*[ \\t]*:[ \\t]*$/.test(alignment[index]),\n };\n }\n );\n componentRef.instance.data = data;\n }\n );\n }\n\n private _replaceLists(markdown: string): string {\n const listRegExp = /(?:^|\\n)(( *(\\+|\\*|-))[ |\\t](.*)\\n)+/g;\n const listCharRegExp = new RegExp(/^(\\+|\\*|-)/);\n return this._replaceComponent(\n markdown,\n TdFlavoredListComponent,\n listRegExp,\n (componentRef: ComponentRef<TdFlavoredListComponent>, match: string) => {\n const start = /(\\+|\\*|-)/.exec(match);\n const matchIndex = start !== null ? start.index : 1;\n\n const lineTexts: string[] = match.split(\n new RegExp(\n '\\\\n {' + (matchIndex - 1).toString() + '}(\\\\+|\\\\*|\\\\-)[ |\\\\t]'\n )\n );\n lineTexts.shift();\n const lines: IFlavoredListItem[] = [];\n lineTexts.forEach((text: string) => {\n const sublineTexts: string[] = text.split(/\\n *(\\+|\\*|-) /);\n const lineText = sublineTexts.shift() ?? '';\n\n if (listCharRegExp.test(lineText)) {\n return;\n }\n\n lines.push({\n line: lineText,\n sublines: sublineTexts.map((subline: string) => {\n if (listCharRegExp.test(subline)) {\n return '';\n }\n return subline.trim();\n }),\n });\n });\n componentRef.instance.lines = lines;\n }\n );\n }\n}\n","<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n","<mat-progress-bar\n [ngClass]=\"'delay'\"\n *ngIf=\"loading\"\n mode=\"indeterminate\"\n color=\"accent\"\n class=\"sticky\"\n></mat-progress-bar>\n<td-flavored-markdown\n *ngIf=\"!loading\"\n [content]=\"content\"\n [hostedUrl]=\"url ?? ''\"\n [anchor]=\"anchor ?? ''\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n [useCfmList]=\"useCfmList\"\n (contentReady)=\"contentReady.emit()\"\n (buttonClicked)=\"buttonClicked.emit($event)\"\n></td-flavored-markdown>\n","import {\n Component,\n Input,\n ChangeDetectorRef,\n SimpleChanges,\n OnChanges,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport { TdMarkdownLoaderService } from '@covalent/markdown';\nimport { ITdFlavoredMarkdownButtonClickEvent } from '../flavored-markdown.component';\nimport { ICopyCodeTooltips } from '@covalent/highlight';\n\n// TODO: make a td-markdown-loader component\n\n@Component({\n selector: 'td-flavored-markdown-loader',\n styleUrls: ['./flavored-markdown-loader.component.scss'],\n templateUrl: './flavored-markdown-loader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdFlavoredMarkdownLoaderComponent implements OnChanges {\n /**\n * url: string\n * The url of the markdown file.\n */\n @Input() url?: string;\n\n /**\n * httpOptions: object\n * HTTP options that can be part of the request.\n */\n @Input() httpOptions?: object;\n\n /**\n * anchor: string\n * Anchor to jump to.\n */\n @Input() anchor?: string;\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 * useCfmList?: boolean = false;\n * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.\n */\n @Input() useCfmList? = false;\n\n /**\n * contentReady: void\n * Emitted when markdown rendering is finished.\n */\n @Output() contentReady: EventEmitter<void> = new EventEmitter();\n\n /**\n * loadFailed: Error\n * Emitted when loading of markdown file fails.\n */\n @Output() loadFailed: EventEmitter<Error> = new EventEmitter();\n\n @Output() buttonClicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent> =\n new EventEmitter();\n\n content!: string;\n loading = true;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _markdownUrlLoaderService: TdMarkdownLoaderService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['url'] || changes['httpOptions']) {\n this.loadMarkdown();\n }\n }\n\n async loadMarkdown(): Promise<void> {\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n try {\n this.content = await this._markdownUrlLoaderService.load(\n this.url ?? '',\n this.httpOptions\n );\n } catch (error) {\n this.loadFailed.emit(error as Error);\n } finally {\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatListModule } from '@angular/material/list';\nimport { CovalentHighlightModule } from '@covalent/highlight';\n\nimport { CovalentMarkdownModule } from '@covalent/markdown';\nimport { TdFlavoredListComponent } from './cfm-list/cfm-list.component';\nimport {\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n} from './flavored-markdown.component';\nimport { TdFlavoredMarkdownLoaderComponent } from './flavored-markdown-loader/flavored-markdown-loader.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatCheckboxModule,\n MatListModule,\n MatProgressBarModule,\n CovalentHighlightModule,\n CovalentMarkdownModule,\n MatButtonModule,\n MatTableModule,\n MatSortModule,\n ],\n declarations: [\n TdFlavoredListComponent,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownContainerDirective,\n TdFlavoredMarkdownLoaderComponent,\n TdFlavoredMarkdownButtonComponent,\n TdFlavoredMarkdownTableComponent,\n ],\n exports: [TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent],\n})\nexport class CovalentFlavoredMarkdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
@@ -7,5 +7,5 @@ export declare class TdFlavoredListComponent {
7
7
  lines: IFlavoredListItem[];
8
8
  dense: boolean;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<TdFlavoredListComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredListComponent, "td-cfm-list", never, { "lines": "lines"; "dense": "dense"; }, {}, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredListComponent, "td-cfm-list", never, { "lines": "lines"; "dense": "dense"; }, {}, never, never, false>;
11
11
  }
@@ -56,5 +56,5 @@ export declare class TdFlavoredMarkdownLoaderComponent implements OnChanges {
56
56
  ngOnChanges(changes: SimpleChanges): void;
57
57
  loadMarkdown(): Promise<void>;
58
58
  static ɵfac: i0.ɵɵFactoryDeclaration<TdFlavoredMarkdownLoaderComponent, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredMarkdownLoaderComponent, "td-flavored-markdown-loader", never, { "url": "url"; "httpOptions": "httpOptions"; "anchor": "anchor"; "copyCodeToClipboard": "copyCodeToClipboard"; "copyCodeTooltips": "copyCodeTooltips"; "useCfmList": "useCfmList"; }, { "contentReady": "contentReady"; "loadFailed": "loadFailed"; "buttonClicked": "buttonClicked"; }, never, never, false, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredMarkdownLoaderComponent, "td-flavored-markdown-loader", never, { "url": "url"; "httpOptions": "httpOptions"; "anchor": "anchor"; "copyCodeToClipboard": "copyCodeToClipboard"; "copyCodeTooltips": "copyCodeTooltips"; "useCfmList": "useCfmList"; }, { "contentReady": "contentReady"; "loadFailed": "loadFailed"; "buttonClicked": "buttonClicked"; }, never, never, false>;
60
60
  }
@@ -1,7 +1,7 @@
1
1
  import { AfterViewInit, Renderer2, ChangeDetectorRef, EventEmitter, ViewContainerRef, ComponentFactoryResolver, Injector, ComponentRef, OnChanges, SimpleChanges, ElementRef, OnInit, OnDestroy } from '@angular/core';
2
2
  import { MatSort } from '@angular/material/sort';
3
3
  import { MatTableDataSource } from '@angular/material/table';
4
- import { ICopyCodeTooltips } from '@covalent/highlight';
4
+ import { ICopyCodeTooltips, IRawToggleLabels } from '@covalent/highlight';
5
5
  import * as i0 from "@angular/core";
6
6
  export interface ITdFlavoredMarkdownButtonClickEvent {
7
7
  text: string;
@@ -21,7 +21,7 @@ export declare class TdFlavoredMarkdownTableComponent implements OnInit, AfterVi
21
21
  ngOnInit(): void;
22
22
  ngAfterViewInit(): void;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<TdFlavoredMarkdownTableComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredMarkdownTableComponent, "ng-component", never, { "columnDefs": "columnDefs"; "data": "data"; }, {}, never, never, false, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredMarkdownTableComponent, "ng-component", never, { "columnDefs": "columnDefs"; "data": "data"; }, {}, never, never, false>;
25
25
  }
26
26
  export declare class TdFlavoredMarkdownButtonComponent {
27
27
  display: string;
@@ -30,7 +30,7 @@ export declare class TdFlavoredMarkdownButtonComponent {
30
30
  clicked: EventEmitter<ITdFlavoredMarkdownButtonClickEvent>;
31
31
  emitClick(): void;
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<TdFlavoredMarkdownButtonComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredMarkdownButtonComponent, "ng-component", never, { "text": "text"; "data": "data"; }, { "clicked": "clicked"; }, never, never, false, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredMarkdownButtonComponent, "ng-component", never, { "text": "text"; "data": "data"; }, { "clicked": "clicked"; }, never, never, false>;
34
34
  }
35
35
  export declare class TdFlavoredMarkdownContainerDirective {
36
36
  viewContainerRef: ViewContainerRef;
@@ -38,9 +38,9 @@ export declare class TdFlavoredMarkdownContainerDirective {
38
38
  constructor(viewContainerRef: ViewContainerRef, _renderer: Renderer2);
39
39
  clear(): void;
40
40
  static ɵfac: i0.ɵɵFactoryDeclaration<TdFlavoredMarkdownContainerDirective, never>;
41
- static ɵdir: i0.ɵɵDirectiveDeclaration<TdFlavoredMarkdownContainerDirective, "[tdFlavoredMarkdownContainer]", never, {}, {}, never, never, false, never>;
41
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TdFlavoredMarkdownContainerDirective, "[tdFlavoredMarkdownContainer]", never, {}, {}, never, never, false>;
42
42
  }
43
- export type IReplacerFunc<T> = (componentRef: ComponentRef<T>, ...args: any[]) => void;
43
+ export declare type IReplacerFunc<T> = (componentRef: ComponentRef<T>, ...args: any[]) => void;
44
44
  export declare class TdFlavoredMarkdownComponent implements AfterViewInit, OnChanges, OnDestroy {
45
45
  private _componentFactoryResolver;
46
46
  private _renderer;
@@ -95,6 +95,18 @@ export declare class TdFlavoredMarkdownComponent implements AfterViewInit, OnCha
95
95
  * Tooltips for copy button to copy and upon copying.
96
96
  */
97
97
  copyCodeTooltips?: ICopyCodeTooltips;
98
+ /**
99
+ * toggleRawCode?: boolean
100
+ *
101
+ * Display button to toggle raw code view
102
+ */
103
+ toggleRawCode: boolean;
104
+ /**
105
+ * rawToggleLabels?: IRawToggleLabels
106
+ *
107
+ * Labels for raw code toggle button
108
+ */
109
+ rawToggleLabels?: IRawToggleLabels;
98
110
  /**
99
111
  * useCfmList?: boolean = false;
100
112
  * Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.
@@ -127,5 +139,5 @@ export declare class TdFlavoredMarkdownComponent implements AfterViewInit, OnCha
127
139
  private _replaceTables;
128
140
  private _replaceLists;
129
141
  static ɵfac: i0.ɵɵFactoryDeclaration<TdFlavoredMarkdownComponent, never>;
130
- static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredMarkdownComponent, "td-flavored-markdown", never, { "content": "content"; "simpleLineBreaks": "simpleLineBreaks"; "hostedUrl": "hostedUrl"; "anchor": "anchor"; "copyCodeToClipboard": "copyCodeToClipboard"; "copyCodeTooltips": "copyCodeTooltips"; "useCfmList": "useCfmList"; }, { "contentReady": "contentReady"; "buttonClicked": "buttonClicked"; }, never, ["*"], false, never>;
142
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredMarkdownComponent, "td-flavored-markdown", never, { "content": "content"; "simpleLineBreaks": "simpleLineBreaks"; "hostedUrl": "hostedUrl"; "anchor": "anchor"; "copyCodeToClipboard": "copyCodeToClipboard"; "copyCodeTooltips": "copyCodeTooltips"; "toggleRawCode": "toggleRawCode"; "rawToggleLabels": "rawToggleLabels"; "useCfmList": "useCfmList"; }, { "contentReady": "contentReady"; "buttonClicked": "buttonClicked"; }, never, ["*"], false>;
131
143
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@covalent/flavored-markdown",
3
- "version": "5.1.0-beta.1",
3
+ "version": "5.1.0",
4
4
  "description": "Teradata UI Platform Flavored Markdown Module",
5
5
  "keywords": [
6
6
  "angular",
@@ -21,14 +21,13 @@
21
21
  "license": "MIT",
22
22
  "author": "Teradata UX",
23
23
  "peerDependencies": {
24
- "@angular/common": "^15.2.5",
25
- "@angular/core": "^15.2.5",
26
- "@angular/cdk": "^15.2.5",
27
- "@angular/material": "^15.2.5",
28
- "@covalent/core": "5.1.0-beta.1",
29
- "@covalent/highlight": "5.1.0-beta.1",
30
- "@covalent/markdown": "5.1.0-beta.1",
31
- "rxjs": "7.8.0"
24
+ "@angular/common": "^14.2.12",
25
+ "@angular/core": "^14.2.12",
26
+ "@angular/cdk": "^14.2.7",
27
+ "@angular/material": "^14.2.7",
28
+ "@covalent/core": "5.1.0",
29
+ "@covalent/highlight": "5.1.0",
30
+ "@covalent/markdown": "5.1.0"
32
31
  },
33
32
  "dependencies": {
34
33
  "tslib": "^2.0.0"
@@ -56,4 +55,4 @@
56
55
  "scripts": {
57
56
  "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1"
58
57
  }
59
- }
58
+ }