@covalent/flavored-markdown 4.16.0-beta.2 → 4.16.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/esm2020/lib/cfm-list/cfm-list.component.mjs +7 -6
- package/esm2020/lib/flavored-markdown-loader/flavored-markdown-loader.component.mjs +3 -3
- package/esm2020/lib/flavored-markdown.component.mjs +27 -9
- package/esm2020/lib/flavored-markdown.module.mjs +12 -10
- package/fesm2015/covalent-flavored-markdown.mjs +48 -27
- package/fesm2015/covalent-flavored-markdown.mjs.map +1 -1
- package/fesm2020/covalent-flavored-markdown.mjs +48 -27
- package/fesm2020/covalent-flavored-markdown.mjs.map +1 -1
- package/lib/cfm-list/cfm-list.component.d.ts +1 -1
- package/lib/flavored-markdown-loader/flavored-markdown-loader.component.d.ts +1 -1
- package/lib/flavored-markdown.component.d.ts +17 -5
- package/package.json +19 -11
- /package/{index.d.ts → covalent-flavored-markdown.d.ts} +0 -0
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, Input, ViewChild, EventEmitter, HostBinding, Output, Directive, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
3
|
import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
|
|
4
|
-
import * as
|
|
4
|
+
import * as i2$1 from '@angular/material/sort';
|
|
5
5
|
import { MatSort, MatSortModule } from '@angular/material/sort';
|
|
6
|
-
import * as
|
|
6
|
+
import * as i1$1 from '@angular/material/table';
|
|
7
7
|
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|
8
8
|
import { Subject } from 'rxjs';
|
|
9
9
|
import { takeUntil } from 'rxjs/operators';
|
|
10
|
-
import * as i1 from '@angular/
|
|
11
|
-
import { CommonModule } from '@angular/common';
|
|
12
|
-
import * as i2 from '@angular/material/list';
|
|
10
|
+
import * as i1 from '@angular/material/list';
|
|
13
11
|
import { MatListModule } from '@angular/material/list';
|
|
12
|
+
import * as i2 from '@angular/common';
|
|
13
|
+
import { CommonModule } from '@angular/common';
|
|
14
14
|
import * as i3 from '@angular/material/core';
|
|
15
15
|
import * as i4 from '@angular/material/divider';
|
|
16
16
|
import { TdHighlightComponent, CovalentHighlightModule } from '@covalent/highlight';
|
|
17
|
-
import * as i1$
|
|
17
|
+
import * as i1$2 from '@covalent/markdown';
|
|
18
18
|
import { scrollToAnchor, TdMarkdownComponent, CovalentMarkdownModule } from '@covalent/markdown';
|
|
19
19
|
import * as i4$1 from '@angular/material/button';
|
|
20
20
|
import { MatButtonModule } from '@angular/material/button';
|
|
21
|
-
import * as i3$
|
|
21
|
+
import * as i3$1 from '@angular/material/progress-bar';
|
|
22
22
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
23
23
|
|
|
24
24
|
function TdFlavoredListComponent_ng_template_1_p_3_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -34,7 +34,8 @@ function TdFlavoredListComponent_ng_template_1_mat_divider_4_Template(rf, ctx) {
|
|
|
34
34
|
i0.ɵɵelement(0, "mat-divider");
|
|
35
35
|
} }
|
|
36
36
|
function TdFlavoredListComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
-
i0.ɵɵelementStart(0, "mat-list-item")
|
|
37
|
+
i0.ɵɵelementStart(0, "mat-list-item");
|
|
38
|
+
i0.ɵɵelementStart(1, "h4", 1);
|
|
38
39
|
i0.ɵɵtext(2);
|
|
39
40
|
i0.ɵɵelementEnd();
|
|
40
41
|
i0.ɵɵtemplate(3, TdFlavoredListComponent_ng_template_1_p_3_Template, 2, 1, "p", 2);
|
|
@@ -64,10 +65,10 @@ TdFlavoredListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdF
|
|
|
64
65
|
i0.ɵɵattribute("dense", ctx.dense ? true : null);
|
|
65
66
|
i0.ɵɵadvance(1);
|
|
66
67
|
i0.ɵɵproperty("ngForOf", ctx.lines);
|
|
67
|
-
} },
|
|
68
|
+
} }, directives: [i1.MatList, i2.NgForOf, i1.MatListItem, i3.MatLine, i2.NgIf, i4.MatDivider], styles: [""] });
|
|
68
69
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredListComponent, [{
|
|
69
70
|
type: Component,
|
|
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" }]
|
|
71
|
+
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", styles: [""] }]
|
|
71
72
|
}], null, { lines: [{
|
|
72
73
|
type: Input
|
|
73
74
|
}], dense: [{
|
|
@@ -141,7 +142,7 @@ TdFlavoredMarkdownTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
141
142
|
i0.ɵɵproperty("matHeaderRowDef", ctx.displayedColumns);
|
|
142
143
|
i0.ɵɵadvance(1);
|
|
143
144
|
i0.ɵɵproperty("matRowDefColumns", ctx.displayedColumns);
|
|
144
|
-
} },
|
|
145
|
+
} }, directives: [i1$1.MatTable, i2$1.MatSort, i2.NgForOf, i1$1.MatColumnDef, i1$1.MatHeaderCellDef, i1$1.MatHeaderCell, i2$1.MatSortHeader, i1$1.MatCellDef, i1$1.MatCell, i1$1.MatHeaderRowDef, i1$1.MatHeaderRow, i1$1.MatRowDef, i1$1.MatRow], encapsulation: 2 });
|
|
145
146
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownTableComponent, [{
|
|
146
147
|
type: Component,
|
|
147
148
|
args: [{
|
|
@@ -192,7 +193,7 @@ TdFlavoredMarkdownButtonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
192
193
|
} if (rf & 2) {
|
|
193
194
|
i0.ɵɵadvance(1);
|
|
194
195
|
i0.ɵɵtextInterpolate1(" ", ctx.text, " ");
|
|
195
|
-
} },
|
|
196
|
+
} }, directives: [i4$1.MatButton], encapsulation: 2 });
|
|
196
197
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownButtonComponent, [{
|
|
197
198
|
type: Component,
|
|
198
199
|
args: [{
|
|
@@ -253,6 +254,18 @@ class TdFlavoredMarkdownComponent {
|
|
|
253
254
|
* Tooltips for copy button to copy and upon copying.
|
|
254
255
|
*/
|
|
255
256
|
this.copyCodeTooltips = {};
|
|
257
|
+
/**
|
|
258
|
+
* toggleRawCode?: boolean
|
|
259
|
+
*
|
|
260
|
+
* Display button to toggle raw code view
|
|
261
|
+
*/
|
|
262
|
+
this.toggleRawCode = false;
|
|
263
|
+
/**
|
|
264
|
+
* rawToggleLabels?: IRawToggleLabels
|
|
265
|
+
*
|
|
266
|
+
* Labels for raw code toggle button
|
|
267
|
+
*/
|
|
268
|
+
this.rawToggleLabels = {};
|
|
256
269
|
/**
|
|
257
270
|
* useCfmList?: boolean = false;
|
|
258
271
|
* Use CFM list component instead of vanilla markdown list. Used in covalent documentation app.
|
|
@@ -457,6 +470,8 @@ class TdFlavoredMarkdownComponent {
|
|
|
457
470
|
}
|
|
458
471
|
componentRef.instance.copyCodeToClipboard = this.copyCodeToClipboard;
|
|
459
472
|
componentRef.instance.copyCodeTooltips = this.copyCodeTooltips;
|
|
473
|
+
componentRef.instance.toggleRawButton = this.toggleRawCode;
|
|
474
|
+
componentRef.instance.rawToggleLabels = this.rawToggleLabels;
|
|
460
475
|
componentRef.instance.content = codeblock;
|
|
461
476
|
});
|
|
462
477
|
}
|
|
@@ -548,12 +563,12 @@ TdFlavoredMarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
548
563
|
} if (rf & 2) {
|
|
549
564
|
let _t;
|
|
550
565
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.container = _t.first);
|
|
551
|
-
} }, 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) {
|
|
566
|
+
} }, 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) {
|
|
552
567
|
i0.ɵɵprojectionDef();
|
|
553
568
|
i0.ɵɵelementStart(0, "div", 0);
|
|
554
569
|
i0.ɵɵprojection(1);
|
|
555
570
|
i0.ɵɵelementEnd();
|
|
556
|
-
} },
|
|
571
|
+
} }, directives: [TdFlavoredMarkdownContainerDirective], styles: ["[_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h1:first-of-type, [_nghost-%COMP%] td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}[_nghost-%COMP%] mat-checkbox{display:block}[_nghost-%COMP%] td-highlight, [_nghost-%COMP%] mat-table, [_nghost-%COMP%] mat-checkbox:last-of-type{margin-bottom:16px}[_nghost-%COMP%] :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}[_nghost-%COMP%] td-highlight{display:flex;flex-direction:row;justify-content:space-between}"], changeDetection: 0 });
|
|
557
572
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownComponent, [{
|
|
558
573
|
type: Component,
|
|
559
574
|
args: [{ selector: 'td-flavored-markdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div tdFlavoredMarkdownContainer>\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep td-markdown:first-of-type>div:first-of-type>h1:first-of-type,:host ::ng-deep td-markdown:first-of-type>div:first-of-type>h2:first-of-type{margin-top:0}:host ::ng-deep mat-checkbox{display:block}:host ::ng-deep td-highlight,:host ::ng-deep mat-table,:host ::ng-deep mat-checkbox:last-of-type{margin-bottom:16px}:host ::ng-deep :not(pre)>code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;padding-left:2px;padding-right:2px}:host ::ng-deep td-highlight{display:flex;flex-direction:row;justify-content:space-between}\n"] }]
|
|
@@ -569,6 +584,10 @@ TdFlavoredMarkdownComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
|
569
584
|
type: Input
|
|
570
585
|
}], copyCodeTooltips: [{
|
|
571
586
|
type: Input
|
|
587
|
+
}], toggleRawCode: [{
|
|
588
|
+
type: Input
|
|
589
|
+
}], rawToggleLabels: [{
|
|
590
|
+
type: Input
|
|
572
591
|
}], useCfmList: [{
|
|
573
592
|
type: Input
|
|
574
593
|
}], contentReady: [{
|
|
@@ -588,7 +607,7 @@ function TdFlavoredMarkdownLoaderComponent_mat_progress_bar_0_Template(rf, ctx)
|
|
|
588
607
|
function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template(rf, ctx) { if (rf & 1) {
|
|
589
608
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
590
609
|
i0.ɵɵelementStart(0, "td-flavored-markdown", 3);
|
|
591
|
-
i0.ɵɵlistener("contentReady", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_contentReady_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return
|
|
610
|
+
i0.ɵɵlistener("contentReady", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_contentReady_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return ctx_r2.contentReady.emit(); })("buttonClicked", function TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r4 = i0.ɵɵnextContext(); return ctx_r4.buttonClicked.emit($event); });
|
|
592
611
|
i0.ɵɵelementEnd();
|
|
593
612
|
} if (rf & 2) {
|
|
594
613
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -652,7 +671,7 @@ class TdFlavoredMarkdownLoaderComponent {
|
|
|
652
671
|
}
|
|
653
672
|
}
|
|
654
673
|
}
|
|
655
|
-
TdFlavoredMarkdownLoaderComponent.ɵfac = function TdFlavoredMarkdownLoaderComponent_Factory(t) { return new (t || TdFlavoredMarkdownLoaderComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1$
|
|
674
|
+
TdFlavoredMarkdownLoaderComponent.ɵfac = function TdFlavoredMarkdownLoaderComponent_Factory(t) { return new (t || TdFlavoredMarkdownLoaderComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1$2.TdMarkdownLoaderService)); };
|
|
656
675
|
TdFlavoredMarkdownLoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdFlavoredMarkdownLoaderComponent, selectors: [["td-flavored-markdown-loader"]], inputs: { url: "url", httpOptions: "httpOptions", anchor: "anchor", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", useCfmList: "useCfmList" }, outputs: { contentReady: "contentReady", loadFailed: "loadFailed", buttonClicked: "buttonClicked" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [["mode", "indeterminate", "color", "accent", "class", "sticky", 3, "ngClass", 4, "ngIf"], [3, "content", "hostedUrl", "anchor", "copyCodeToClipboard", "copyCodeTooltips", "useCfmList", "contentReady", "buttonClicked", 4, "ngIf"], ["mode", "indeterminate", "color", "accent", 1, "sticky", 3, "ngClass"], [3, "content", "hostedUrl", "anchor", "copyCodeToClipboard", "copyCodeTooltips", "useCfmList", "contentReady", "buttonClicked"]], template: function TdFlavoredMarkdownLoaderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
657
676
|
i0.ɵɵtemplate(0, TdFlavoredMarkdownLoaderComponent_mat_progress_bar_0_Template, 1, 1, "mat-progress-bar", 0);
|
|
658
677
|
i0.ɵɵtemplate(1, TdFlavoredMarkdownLoaderComponent_td_flavored_markdown_1_Template, 1, 6, "td-flavored-markdown", 1);
|
|
@@ -660,11 +679,11 @@ TdFlavoredMarkdownLoaderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({
|
|
|
660
679
|
i0.ɵɵproperty("ngIf", ctx.loading);
|
|
661
680
|
i0.ɵɵadvance(1);
|
|
662
681
|
i0.ɵɵproperty("ngIf", !ctx.loading);
|
|
663
|
-
} },
|
|
682
|
+
} }, directives: [i2.NgIf, i3$1.MatProgressBar, i2.NgClass, 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 });
|
|
664
683
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdFlavoredMarkdownLoaderComponent, [{
|
|
665
684
|
type: Component,
|
|
666
685
|
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"] }]
|
|
667
|
-
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$
|
|
686
|
+
}], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$2.TdMarkdownLoaderService }]; }, { url: [{
|
|
668
687
|
type: Input
|
|
669
688
|
}], httpOptions: [{
|
|
670
689
|
type: Input
|
|
@@ -688,15 +707,17 @@ class CovalentFlavoredMarkdownModule {
|
|
|
688
707
|
}
|
|
689
708
|
CovalentFlavoredMarkdownModule.ɵfac = function CovalentFlavoredMarkdownModule_Factory(t) { return new (t || CovalentFlavoredMarkdownModule)(); };
|
|
690
709
|
CovalentFlavoredMarkdownModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentFlavoredMarkdownModule });
|
|
691
|
-
CovalentFlavoredMarkdownModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
710
|
+
CovalentFlavoredMarkdownModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
|
|
711
|
+
CommonModule,
|
|
712
|
+
MatCheckboxModule,
|
|
713
|
+
MatListModule,
|
|
714
|
+
MatProgressBarModule,
|
|
715
|
+
CovalentHighlightModule,
|
|
716
|
+
CovalentMarkdownModule,
|
|
717
|
+
MatButtonModule,
|
|
718
|
+
MatTableModule,
|
|
719
|
+
MatSortModule,
|
|
720
|
+
]] });
|
|
700
721
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CovalentFlavoredMarkdownModule, [{
|
|
701
722
|
type: NgModule,
|
|
702
723
|
args: [{
|
|
@@ -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 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 { 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> = 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> = 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.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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"}
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;IAMM,EAAiD,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAC/C,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAI,CAAA,YAAA,EAAA,CAAA;;;IADF,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,UAAA,EAAA,GAAA,CAAA,CAAA;;;IACA,EAAyC,CAAA,SAAA,CAAA,CAAA,EAAA,aAAA,CAAA,CAAA;;;IAP3C,EAAe,CAAA,cAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;IACb,EAAY,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;IACV,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAK,CAAA,YAAA,EAAA,CAAA;IACL,EAEI,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IACJ,EAAyC,CAAA,UAAA,CAAA,CAAA,EAAA,4DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;IAC3C,EAAgB,CAAA,YAAA,EAAA,CAAA;;;;IANZ,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,OAAA,CAAA,IAAA,EAAA,GAAA,CAAA,CAAA;IACuB,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAhB,EAAgB,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,QAAA,CAAA,CAAA;IAGzB,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAX,EAAW,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,CAAA;;MCGlB,uBAAuB,CAAA;AALpC,IAAA,WAAA,GAAA;QAOW,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AACxB,KAAA;;8FAHY,uBAAuB,GAAA,CAAA,EAAA,CAAA;0EAAvB,uBAAuB,EAAA,SAAA,EAAA,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QDZpC,EAA6C,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;QAC3C,EAUc,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;QAChB,EAAW,CAAA,YAAA,EAAA,CAAA;;QAZD,EAAkC,CAAA,WAAA,CAAA,OAAA,EAAA,GAAA,CAAA,KAAA,GAAA,IAAA,GAAA,IAAA,CAAA,CAAA;QACE,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjB,EAAiB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;;uFCWlD,uBAAuB,EAAA,CAAA;cALnC,SAAS;2BACE,aAAa,EAAA,QAAA,EAAA,8YAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;gBAKd,KAAK,EAAA,CAAA;kBAAb,KAAK;YACG,KAAK,EAAA,CAAA;kBAAb,KAAK;;;;IC8CE,EAAmD,CAAA,cAAA,CAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,CAAA;IAAA,EAEjD,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAkB,CAAA,YAAA,EAAA,CAAA;;;IAF+B,EAEjD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAFiD,EAEjD,CAAA,iBAAA,CAAA,SAAA,CAAA,KAAA,CAAA,CAAA;;;IACF,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;IAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;IAAjC,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAtB,EAAsB,CAAA,iBAAA,CAAA,MAAA,CAAA,SAAA,CAAA,IAAA,CAAA,CAAA,CAAA;;;IAJxD,EAA2C,CAAA,uBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;IACzC,EAEoB,CAAA,UAAA,CAAA,CAAA,EAAA,yEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,CAAA;IACpB,EAAiE,CAAA,UAAA,CAAA,CAAA,EAAA,kEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;IACnE,EAAe,CAAA,qBAAA,EAAA,CAAA;;;IALD,EAA4B,CAAA,UAAA,CAAA,cAAA,EAAA,SAAA,CAAA,IAAA,CAAA,CAAA;;;IAQ5C,EAAqE,CAAA,SAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,CAAA;;;IACrE,EAAmE,CAAA,SAAA,CAAA,CAAA,EAAA,SAAA,CAAA,CAAA;;;MAI5D,gCAAgC,CAAA;AAlB7C,IAAA,WAAA,GAAA;QAmBW,IAAU,CAAA,UAAA,GAAqC,EAAE,CAAC;AAiB5D,KAAA;IAVC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CACzC,CAAC,CAAiC,KAAK,CAAC,CAAC,IAAI,CAC9C,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACrD;IAED,eAAe,GAAA;QACb,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KAClC;;gHAjBU,gCAAgC,GAAA,CAAA,EAAA,CAAA;mFAAhC,gCAAgC,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,sCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;uBAGhC,OAAO,EAAA,CAAA,CAAA,CAAA;;;;;QAnBhB,EAA6C,CAAA,cAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,CAAA,CAAA;QAE3C,EAOc,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;QAEd,EAAqE,CAAA,UAAA,CAAA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;QACrE,EAAmE,CAAA,UAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;QACrE,EAAY,CAAA,YAAA,EAAA,CAAA;;QAbD,EAAyB,CAAA,UAAA,CAAA,YAAA,EAAA,GAAA,CAAA,UAAA,CAAA,CAAA;QAEJ,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,UAAA,CAAA,CAAA;QASnC,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjC,EAAiC,CAAA,UAAA,CAAA,iBAAA,EAAA,GAAA,CAAA,gBAAA,CAAA,CAAA;QACpB,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzB,EAAyB,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,gBAAA,CAAA,CAAA;;uFAIhD,gCAAgC,EAAA,CAAA;cAlB5C,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;AAeT,EAAA,CAAA;AACF,aAAA,CAAA;gBAEU,UAAU,EAAA,CAAA;kBAAlB,KAAK;YACG,IAAI,EAAA,CAAA;kBAAZ,KAAK;YACc,IAAI,EAAA,CAAA;kBAAvB,SAAS;mBAAC,OAAO,CAAA;;MAwBP,iCAAiC,CAAA;AAP9C,IAAA,WAAA,GAAA;QAQgC,IAAO,CAAA,OAAA,GAAG,cAAc,CAAC;QAC9C,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;QACV,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AAEnB,QAAA,IAAA,CAAA,OAAO,GAAsD,IAAI,YAAY,EAAuC,CAAC;AAItH,KAAA;IAHC,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;KACzD;;kHARU,iCAAiC,GAAA,CAAA,EAAA,CAAA;oFAAjC,iCAAiC,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,8CAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;QAL1C,EAAgD,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAAtB,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,OAAS,eAAW,CAAC,EAAA,CAAA,CAAA;QAC7C,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;QADP,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,GAAA,CAAA,IAAA,EAAA,GAAA,CAAA,CAAA;;uFAGS,iCAAiC,EAAA,CAAA;cAP7C,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;AACF,aAAA,CAAA;gBAE+B,OAAO,EAAA,CAAA;kBAApC,WAAW;mBAAC,eAAe,CAAA;YACnB,IAAI,EAAA,CAAA;kBAAZ,KAAK;YACG,IAAI,EAAA,CAAA;kBAAZ,KAAK;YAEN,OAAO,EAAA,CAAA;kBADN,MAAM;;MAUI,oCAAoC,CAAA;IAC/C,WACS,CAAA,gBAAkC,EACjC,SAAoB,EAAA;QADrB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QACjC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAC1B;IAEJ,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CACxB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,EAC3C,WAAW,EACX,EAAE,CACH,CAAC;AACF,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KAC/B;;wHAbU,oCAAoC,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA,CAAA,EAAA,CAAA;uFAApC,oCAAoC,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,6BAAA,EAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA;uFAApC,oCAAoC,EAAA,CAAA;cAHhD,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,+BAA+B;AAC1C,aAAA,CAAA;;MA4BY,2BAA2B,CAAA;IA8GtC,WACU,CAAA,yBAAmD,EACnD,SAAoB,EACpB,kBAAqC,EACrC,SAAmB,EACnB,WAAuB,EAAA;QAJvB,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAA0B;QACnD,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACpB,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QACrC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;QACnB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QA/GzB,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAI1B,IAAW,CAAA,WAAA,GAA6C,EAAE,CAAC;QAC3D,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AA8C1B;;;;;AAKG;QACM,IAAmB,CAAA,mBAAA,GAAI,KAAK,CAAC;AAEtC;;;;AAIG;QACM,IAAgB,CAAA,gBAAA,GAAuB,EAAE,CAAC;AAEnD;;;;AAIG;QACM,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAE/B;;;;AAIG;QACM,IAAe,CAAA,eAAA,GAAsB,EAAE,CAAC;AAEjD;;;AAGG;QACM,IAAU,CAAA,UAAA,GAAI,KAAK,CAAC;AAE7B;;;AAGG;AACO,QAAA,IAAA,CAAA,YAAY,GACpB,IAAI,YAAY,EAAa,CAAC;AAEhC;;;;AAIG;AAEH,QAAA,IAAA,CAAA,aAAa,GAAsD,IAAI,YAAY,EAAuC,CAAC;AAKnH,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;KAQpC;AA1GJ;;;;;;AAMG;IACH,IACI,OAAO,CAAC,OAAe,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KACzB;AAED;;;;;AAKG;IACH,IACI,gBAAgB,CAAC,gBAAyB,EAAA;AAC5C,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;KAC3C;AAED;;;;;AAKG;IACH,IACI,SAAS,CAAC,SAAiB,EAAA;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;KAC7B;AAED;;;;;AAKG;IACH,IACI,MAAM,CAAC,MAAc,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;KACvB;AAiED,IAAA,WAAW,CAAC,OAAsB,EAAA;;QAEhC,IACE,OAAO,CAAC,QAAQ,CAAC;YACjB,CAAC,OAAO,CAAC,SAAS,CAAC;YACnB,CAAC,OAAO,CAAC,kBAAkB,CAAC;AAC5B,YAAA,CAAC,OAAO,CAAC,WAAW,CAAC,EACrB;AACA,YAAA,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACrE,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,YAAY,CACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAc;iBACjE,WAAW,IAAI,EAAE,CACrB,CAAC;AACF,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,gBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACzC,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB;IAED,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,SAAA;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YACzB,IAAI,CAAC,YAAY,CACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAc;iBACjE,WAAW,IAAI,EAAE,CACrB,CAAC;AACH,SAAA;AACD,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;AAEO,IAAA,YAAY,CAAC,QAAgB,EAAA;QACnC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACvB,YAAA,QAAQ,GAAG,QAAQ;AAChB,iBAAA,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;AAC5B,iBAAA,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;;YAExC,IAAI,KAAK,GAAa,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;YAG3C,MAAM,wBAAwB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC7D,MAAM,mBAAmB,GAAG,wBAAwB;AAClD,kBAAE,wBAAwB,CAAC,CAAC,CAAC;kBAC3B,IAAI,CAAC;;;YAIT,MAAM,uBAAuB,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,mBAAmB,CAAC,CAAC;AACtE,YAAA,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,IAAY,EAAA;AACtC,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACrE,aAAC,CAAC,CAAC;;AAGH,YAAA,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,YAAA,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC7C,YAAA,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC3C,YAAA,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACzC,YAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAE1C,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACzC,aAAA;YAED,MAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;YAErD,IAAI,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,KAAa,KAAI;gBACzC,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;;YAEtC,UAAU,CACR,MACE,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EACrE,GAAG,CACJ,CAAC;AACF,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACzB,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AAC1B,gBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACzC,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;AAEO,IAAA,OAAO,CAAC,QAAgB,EAAE,GAAW,EAAE,IAAc,EAAA;QAC3D,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;AACR,SAAA;QACD,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YACrC,MAAM,aAAa,GAAa,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAC9B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CACvC,CAAC;AACF,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/C,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,UAAU,GACd,IAAI,CAAC,yBAAyB;iBAC3B,uBAAuB,CAAC,mBAAmB,CAAC;AAC5C,iBAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5B,YAAA,UAAU,CAAC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;YACvC,UAAU,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAChD,UAAU,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAC9D,YAAA,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CACpC,UAAU,CAAC,QAAQ,EACnB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CACvC,CAAC;AACH,SAAA;KACF;AAEO,IAAA,iBAAiB,CACvB,QAAgB,EAChB,IAAa,EACb,MAAc,EACd,YAA8B,EAAA;QAE9B,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAW,KAAI;YACjD,MAAM,gBAAgB,GACpB,IAAI,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAoB,gBAAgB,CAAC,MAAM,CAC3D,IAAI,CAAC,SAAS,CACf,CAAC;AACF,YAAA,YAAY,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;YACpC,MAAM,GAAG,GACP,GAAG;AACH,gBAAA,gBAAgB,CAAC,QAAQ;gBACzB,eAAe;AACf,gBAAA,cAAc,EAAE;AAChB,gBAAA,GAAG,CAAC;AACN,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;AACrC,YAAA,OAAO,GAAG,CAAC;AACb,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,gBAAgB,CAAC,QAAgB,EAAA;QACvC,MAAM,cAAc,GAAG,2BAA2B,CAAC;AACnD,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,WAAW,EACX,cAAc,EACd,CACE,YAAuC,EACvC,KAAa,EACb,OAAe,EACf,KAAa,KACX;YACF,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjD,YAAA,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtC,YAAA,YAAY,CAAC,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,WAAW,CACV,CACZ,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAC9C,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAClD,WAAW,EACX,KAAK,CACN,CAAC;AACJ,SAAC,CACF,CAAC;KACH;AAEO,IAAA,eAAe,CAAC,QAAgB,EAAA;QACtC,MAAM,YAAY,GAAG,+BAA+B,CAAC;AACrD,QAAA,MAAM,kBAAkB,GAAG,IAAI,MAAM,CACnC,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,KAAK,GAAG,GAAG,CACzB,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,iCAAiC,EACjC,kBAAkB,EAClB,CACE,YAA6D,EAC7D,KAAa,KACX;YACF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO;AACR,aAAA;AACD,YAAA,MAAM,IAAI,GAAW,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,IAAI,GAAW,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,YAAA,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AAClC,YAAA,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;YAClC,YAAY,CAAC,QAAQ,CAAC,OAAO;AAC1B,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,iBAAA,SAAS,CAAC,CAAC,UAA+C,KACzD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CACpC,CAAC;AACN,SAAC,CACF,CAAC;KACH;AAEO,IAAA,kBAAkB,CAAC,QAAgB,EAAA;QACzC,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAC5D,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,oBAAoB,EACpB,eAAe,EACf,CACE,YAAgD,EAChD,KAAa,EACb,QAAgB,EAChB,SAAiB,KACf;AACF,YAAA,IAAI,QAAQ,EAAE;AACZ,gBAAA,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3C,aAAA;YACD,YAAY,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACrE,YAAY,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC/D,YAAY,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC;YAC3D,YAAY,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;AAC7D,YAAA,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;AAC5C,SAAC,CACF,CAAC;KACH;AAEO,IAAA,cAAc,CAAC,QAAgB,EAAA;QACrC,MAAM,QAAQ,GACZ,wHAAwH,CAAC;AAC3H,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,gCAAgC,EAChC,QAAQ,EACR,CACE,YAA4D,EAC5D,KAAa,KACX;YACF,MAAM,cAAc,GAAa,KAAK;AACnC,iBAAA,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;iBACpC,KAAK,CAAC,IAAI,CAAC,CAAC;AACf,YAAA,MAAM,OAAO,GAAa,cAAc,CAAC,CAAC,CAAC;iBACxC,KAAK,CAAC,GAAG,CAAC;AACV,iBAAA,MAAM,CAAC,CAAC,GAAW,KAAI;AACtB,gBAAA,OAAO,GAAG,CAAC;AACb,aAAC,CAAC;AACD,iBAAA,GAAG,CAAC,CAAC,CAAS,KAAI;AACjB,gBAAA,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClB,aAAC,CAAC,CAAC;AACL,YAAA,MAAM,SAAS,GAAa,cAAc,CAAC,CAAC,CAAC;iBAC1C,KAAK,CAAC,GAAG,CAAC;AACV,iBAAA,MAAM,CAAC,CAAC,CAAS,KAAI;AACpB,gBAAA,OAAO,CAAC,CAAC;AACX,aAAC,CAAC;AACD,iBAAA,GAAG,CAAC,CAAC,CAAS,KAAI;AACjB,gBAAA,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClB,aAAC,CAAC,CAAC;YAEL,MAAM,IAAI,GAAU,EAAE,CAAC;AACvB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,gBAAA,MAAM,QAAQ,GAAa,cAAc,CAAC,CAAC,CAAC;qBACzC,KAAK,CAAC,GAAG,CAAC;AACV,qBAAA,MAAM,CAAC,CAAC,IAAY,KAAI;AACvB,oBAAA,OAAO,IAAI,CAAC;AACd,iBAAC,CAAC;AACD,qBAAA,GAAG,CAAC,CAAC,CAAS,KAAI;AACjB,oBAAA,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAClB,iBAAC,CAAC,CAAC;gBACL,MAAM,GAAG,GAAQ,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,KAAa,KAAI;AAC7C,oBAAA,MAAM,YAAY,GAAW,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7C,oBAAA,IAAI,YAAY,EAAE;wBAChB,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,OAAO,CAClD,QAAQ,EACR,CAAC,CAAS,EAAE,KAAa,KAAI;AAC3B,4BAAA,OAAO,KAAK,CAAC;AACf,yBAAC,CACF,CAAC;AACH,qBAAA;AACH,iBAAC,CAAC,CAAC;AACH,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,aAAA;AACD,YAAA,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAC5C,CAAC,GAAW,EAAE,KAAa,KAAI;gBAC7B,OAAO;AACL,oBAAA,KAAK,EAAE,GAAG;AACV,oBAAA,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,CAAA,OAAA,EAAU,KAAK,CAAE,CAAA;oBACxD,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBACrD,CAAC;AACJ,aAAC,CACF,CAAC;AACF,YAAA,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;AACpC,SAAC,CACF,CAAC;KACH;AAEO,IAAA,aAAa,CAAC,QAAgB,EAAA;QACpC,MAAM,UAAU,GAAG,uCAAuC,CAAC;AAC3D,QAAA,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;AAChD,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,QAAQ,EACR,uBAAuB,EACvB,UAAU,EACV,CAAC,YAAmD,EAAE,KAAa,KAAI;YACrE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,YAAA,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YAEpD,MAAM,SAAS,GAAa,KAAK,CAAC,KAAK,CACrC,IAAI,MAAM,CACR,OAAO,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,uBAAuB,CAChE,CACF,CAAC;YACF,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,KAAK,GAAwB,EAAE,CAAC;AACtC,YAAA,SAAS,CAAC,OAAO,CAAC,CAAC,IAAY,KAAI;gBACjC,MAAM,YAAY,GAAa,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAC5D,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;AAE5C,gBAAA,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACjC,OAAO;AACR,iBAAA;gBAED,KAAK,CAAC,IAAI,CAAC;AACT,oBAAA,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,OAAe,KAAI;AAC7C,wBAAA,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAChC,4BAAA,OAAO,EAAE,CAAC;AACX,yBAAA;AACD,wBAAA,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACxB,qBAAC,CAAC;AACH,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACH,YAAA,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AACtC,SAAC,CACF,CAAC;KACH;;sGAzcU,2BAA2B,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA;8EAA3B,2BAA2B,EAAA,SAAA,EAAA,CAAA,CAAA,sBAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,iCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;uBAyG3B,oCAAoC,EAAA,CAAA,CAAA,CAAA;;;;;;QCrPjD,EAAiC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QAC/B,EAAyB,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA;QAC3B,EAAM,CAAA,YAAA,EAAA,CAAA;sBD+GO,oCAAoC,CAAA,EAAA,MAAA,EAAA,CAAA,0lBAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,CAAA,CAAA;uFA2BpC,2BAA2B,EAAA,CAAA;cANvC,SAAS;2BACE,sBAAsB,EAAA,eAAA,EAGf,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0EAAA,EAAA,MAAA,EAAA,CAAA,ijBAAA,CAAA,EAAA,CAAA;mLAoB3C,OAAO,EAAA,CAAA;kBADV,KAAK;YAYF,gBAAgB,EAAA,CAAA;kBADnB,KAAK;YAYF,SAAS,EAAA,CAAA;kBADZ,KAAK;YAYF,MAAM,EAAA,CAAA;kBADT,KAAK;YAWG,mBAAmB,EAAA,CAAA;kBAA3B,KAAK;YAOG,gBAAgB,EAAA,CAAA;kBAAxB,KAAK;YAOG,aAAa,EAAA,CAAA;kBAArB,KAAK;YAOG,eAAe,EAAA,CAAA;kBAAvB,KAAK;YAMG,UAAU,EAAA,CAAA;kBAAlB,KAAK;YAMI,YAAY,EAAA,CAAA;kBAArB,MAAM;YASP,aAAa,EAAA,CAAA;kBADZ,MAAM;YAIP,SAAS,EAAA,CAAA;kBADR,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA,oCAAoC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;;IErPnE,EAMoB,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;;IALlB,EAAmB,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,CAAA;;;;IAMrB,EAUC,CAAA,cAAA,CAAA,CAAA,EAAA,sBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,IAAA,EAAA,CAAA,UAAA,CAAA,cAAA,EAAA,SAAA,8GAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAgB,MAAmB,CAAA,YAAA,CAAA,IAAA,EAAA,CAAA,EAAA,CAAC,CACnB,eAAA,EAAA,SAAA,+GAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,MAAA,CAAA,aAAA,CAAA,IAAA,CAAA,MAAA,CAA0B,CADP,EAAA,CAAA,CAAA;IAErC,EAAuB,CAAA,YAAA,EAAA,CAAA;;;;;AARtB,IAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAmB,CAAA,WAAA,EAAA,CAAA,OAAA,GAAA,MAAA,CAAA,GAAA,MAAA,IAAA,IAAA,OAAA,KAAA,SAAA,GAAA,OAAA,GAAA,EAAA,CAAA,CAAA,QAAA,EAAA,CAAA,OAAA,GAAA,MAAA,CAAA,MAAA,MAAA,IAAA,IAAA,OAAA,KAAA,SAAA,GAAA,OAAA,GAAA,EAAA,CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,CAAA,YAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;;ACKrB;MAQa,iCAAiC,CAAA;IA0D5C,WACU,CAAA,kBAAqC,EACrC,yBAAkD,EAAA;QADlD,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QACrC,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAAyB;AAzC5D;;;;;AAKG;QACM,IAAmB,CAAA,mBAAA,GAAI,KAAK,CAAC;AAEtC;;;;AAIG;QACM,IAAgB,CAAA,gBAAA,GAAuB,EAAE,CAAC;AAEnD;;;AAGG;QACM,IAAU,CAAA,UAAA,GAAI,KAAK,CAAC;AAE7B;;;AAGG;AACO,QAAA,IAAA,CAAA,YAAY,GAAuB,IAAI,YAAY,EAAE,CAAC;AAEhE;;;AAGG;AACO,QAAA,IAAA,CAAA,UAAU,GAAwB,IAAI,YAAY,EAAE,CAAC;AAErD,QAAA,IAAA,CAAA,aAAa,GACrB,IAAI,YAAY,EAAE,CAAC;QAGrB,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;KAKX;AAEJ,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;YAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,SAAA;KACF;AAED,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QACvC,IAAI;YACF,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CACtD,IAAI,CAAC,GAAG,IAAI,EAAE,EACd,IAAI,CAAC,WAAW,CACjB,CAAC;AACH,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAc,CAAC,CAAC;AACtC,SAAA;AAAS,gBAAA;AACR,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACxC,SAAA;KACF;;kHAnFU,iCAAiC,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,IAAA,CAAA,uBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;oFAAjC,iCAAiC,EAAA,SAAA,EAAA,CAAA,CAAA,6BAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,eAAA,EAAA,OAAA,EAAA,QAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,0CAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QDtB9C,EAMoB,CAAA,UAAA,CAAA,CAAA,EAAA,6DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;QACpB,EAUwB,CAAA,UAAA,CAAA,CAAA,EAAA,iEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,sBAAA,EAAA,CAAA,CAAA,CAAA;;QAfrB,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;QAMb,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAd,EAAc,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;uFCcJ,iCAAiC,EAAA,CAAA;cAN7C,SAAS;2BACE,6BAA6B,EAAA,eAAA,EAGtB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4gBAAA,EAAA,MAAA,EAAA,CAAA,oLAAA,CAAA,EAAA,CAAA;4GAOtC,GAAG,EAAA,CAAA;kBAAX,KAAK;YAMG,WAAW,EAAA,CAAA;kBAAnB,KAAK;YAMG,MAAM,EAAA,CAAA;kBAAd,KAAK;YAQG,mBAAmB,EAAA,CAAA;kBAA3B,KAAK;YAOG,gBAAgB,EAAA,CAAA;kBAAxB,KAAK;YAMG,UAAU,EAAA,CAAA;kBAAlB,KAAK;YAMI,YAAY,EAAA,CAAA;kBAArB,MAAM;YAMG,UAAU,EAAA,CAAA;kBAAnB,MAAM;YAEG,aAAa,EAAA,CAAA;kBAAtB,MAAM;;;MChCI,8BAA8B,CAAA;;4GAA9B,8BAA8B,GAAA,CAAA,EAAA,CAAA;gFAA9B,8BAA8B,EAAA,CAAA,CAAA;AArBhC,8BAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,iBAAiB;YACjB,aAAa;YACb,oBAAoB;YACpB,uBAAuB;YACvB,sBAAsB;YACtB,eAAe;YACf,cAAc;YACd,aAAa;AACd,SAAA,CAAA,EAAA,CAAA,CAAA;uFAWU,8BAA8B,EAAA,CAAA;cAtB1C,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACR,gBAAA,OAAO,EAAE;oBACP,YAAY;oBACZ,iBAAiB;oBACjB,aAAa;oBACb,oBAAoB;oBACpB,uBAAuB;oBACvB,sBAAsB;oBACtB,eAAe;oBACf,cAAc;oBACd,aAAa;AACd,iBAAA;AACD,gBAAA,YAAY,EAAE;oBACZ,uBAAuB;oBACvB,2BAA2B;oBAC3B,oCAAoC;oBACpC,iCAAiC;oBACjC,iCAAiC;oBACjC,gCAAgC;AACjC,iBAAA;AACD,gBAAA,OAAO,EAAE,CAAC,2BAA2B,EAAE,iCAAiC,CAAC;AAC1E,aAAA,CAAA;;AACY,CAAA,YAAA,EAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,8BAA8B,mBATvC,uBAAuB;QACvB,2BAA2B;QAC3B,oCAAoC;QACpC,iCAAiC;QACjC,iCAAiC;AACjC,QAAA,gCAAgC,aAhBhC,YAAY;QACZ,iBAAiB;QACjB,aAAa;QACb,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,eAAe;QACf,cAAc;QACd,aAAa,CAAA,EAAA,OAAA,EAAA,CAUL,2BAA2B,EAAE,iCAAiC,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;ACxC1E;;AAEG;;;;"}
|
|
@@ -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
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredListComponent, "td-cfm-list", never, { "lines": "lines"; "dense": "dense"; }, {}, never, never>;
|
|
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
|
|
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>;
|
|
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
|
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredMarkdownTableComponent, "ng-component", never, { "columnDefs": "columnDefs"; "data": "data"; }, {}, never, never>;
|
|
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
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TdFlavoredMarkdownButtonComponent, "ng-component", never, { "text": "text"; "data": "data"; }, { "clicked": "clicked"; }, never, never>;
|
|
34
34
|
}
|
|
35
35
|
export declare class TdFlavoredMarkdownContainerDirective {
|
|
36
36
|
viewContainerRef: ViewContainerRef;
|
|
@@ -38,7 +38,7 @@ 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
|
|
41
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TdFlavoredMarkdownContainerDirective, "[tdFlavoredMarkdownContainer]", never, {}, {}, never>;
|
|
42
42
|
}
|
|
43
43
|
export declare type IReplacerFunc<T> = (componentRef: ComponentRef<T>, ...args: any[]) => void;
|
|
44
44
|
export declare class TdFlavoredMarkdownComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
@@ -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, ["*"]
|
|
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, ["*"]>;
|
|
131
143
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@covalent/flavored-markdown",
|
|
3
|
-
"version": "4.16.0
|
|
3
|
+
"version": "4.16.0",
|
|
4
4
|
"description": "Teradata UI Platform Flavored Markdown Module",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -21,13 +21,21 @@
|
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"author": "Teradata UX",
|
|
23
23
|
"peerDependencies": {
|
|
24
|
-
"@angular/common": "^
|
|
25
|
-
"@angular/core": "^
|
|
26
|
-
"@angular/cdk": "^
|
|
27
|
-
"@angular/material": "^
|
|
28
|
-
"@covalent/core": "4.16.0
|
|
29
|
-
"@covalent/highlight": "4.16.0
|
|
30
|
-
"@covalent/markdown": "4.16.0
|
|
24
|
+
"@angular/common": "^13.2.0",
|
|
25
|
+
"@angular/core": "^13.2.0",
|
|
26
|
+
"@angular/cdk": "^13.2.1",
|
|
27
|
+
"@angular/material": "^13.2.1",
|
|
28
|
+
"@covalent/core": "4.16.0",
|
|
29
|
+
"@covalent/highlight": "4.16.0",
|
|
30
|
+
"@covalent/markdown": "4.16.0",
|
|
31
|
+
"@angular/router": "^13.2.0",
|
|
32
|
+
"@angular/platform-browser": "^13.2.0",
|
|
33
|
+
"rxjs": "^7.4.0",
|
|
34
|
+
"@angular/animations": "^13.2.0",
|
|
35
|
+
"@angular/forms": "^13.2.0",
|
|
36
|
+
"@angular/platform-browser-dynamic": "^13.2.0",
|
|
37
|
+
"highlight.js": "^11.4.0",
|
|
38
|
+
"showdown": "^2.0.3"
|
|
31
39
|
},
|
|
32
40
|
"dependencies": {
|
|
33
41
|
"tslib": "^2.0.0"
|
|
@@ -37,13 +45,13 @@
|
|
|
37
45
|
"esm2020": "esm2020/covalent-flavored-markdown.mjs",
|
|
38
46
|
"fesm2020": "fesm2020/covalent-flavored-markdown.mjs",
|
|
39
47
|
"fesm2015": "fesm2015/covalent-flavored-markdown.mjs",
|
|
40
|
-
"typings": "
|
|
48
|
+
"typings": "covalent-flavored-markdown.d.ts",
|
|
41
49
|
"exports": {
|
|
42
50
|
"./package.json": {
|
|
43
51
|
"default": "./package.json"
|
|
44
52
|
},
|
|
45
53
|
".": {
|
|
46
|
-
"types": "./
|
|
54
|
+
"types": "./covalent-flavored-markdown.d.ts",
|
|
47
55
|
"esm2020": "./esm2020/covalent-flavored-markdown.mjs",
|
|
48
56
|
"es2020": "./fesm2020/covalent-flavored-markdown.mjs",
|
|
49
57
|
"es2015": "./fesm2015/covalent-flavored-markdown.mjs",
|
|
@@ -55,4 +63,4 @@
|
|
|
55
63
|
"scripts": {
|
|
56
64
|
"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"
|
|
57
65
|
}
|
|
58
|
-
}
|
|
66
|
+
}
|
|
File without changes
|