@covalent/highlight 9.1.3 → 10.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/covalent-highlight.mjs +163 -101
- package/fesm2022/covalent-highlight.mjs.map +1 -1
- package/lib/copy-code-button/copy-code-button.component.d.ts +1 -1
- package/lib/highlight.component.d.ts +1 -1
- package/lib/highlight.module.d.ts +5 -7
- package/package.json +11 -10
- package/esm2022/covalent-highlight.mjs +0 -5
- package/esm2022/lib/copy-code-button/copy-code-button.component.mjs +0 -93
- package/esm2022/lib/highlight.component.mjs +0 -224
- package/esm2022/lib/highlight.module.mjs +0 -44
- package/esm2022/public_api.mjs +0 -4
|
@@ -1,20 +1,47 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, Component, Input, Output, ViewChild, HostListener, SecurityContext, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/platform-browser';
|
|
4
|
-
import
|
|
5
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
|
-
import hljs from 'highlight.js';
|
|
4
|
+
import { MatTooltip } from '@angular/material/tooltip';
|
|
7
5
|
import * as i1 from '@angular/common';
|
|
8
6
|
import { CommonModule } from '@angular/common';
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
7
|
+
import { MatButtonToggle, MatButtonToggleGroup } from '@angular/material/button-toggle';
|
|
8
|
+
import { MatIcon } from '@angular/material/icon';
|
|
11
9
|
import * as i2 from '@angular/cdk/clipboard';
|
|
12
10
|
import { ClipboardModule } from '@angular/cdk/clipboard';
|
|
13
|
-
import
|
|
14
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
15
|
-
import * as i5 from '@angular/material/button';
|
|
16
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
11
|
+
import hljs from 'highlight.js';
|
|
17
12
|
|
|
13
|
+
const _c0$1 = ["copyButton"];
|
|
14
|
+
const _c1$1 = ["rawButton"];
|
|
15
|
+
const _c2$1 = ["tooltip"];
|
|
16
|
+
function TdCopyCodeButtonComponent_mat_button_toggle_group_0_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
18
|
+
i0.ɵɵelementStart(0, "mat-button-toggle-group", 5)(1, "mat-button-toggle", 6, 1);
|
|
19
|
+
i0.ɵɵlistener("click", function TdCopyCodeButtonComponent_mat_button_toggle_group_0_Template_mat_button_toggle_click_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleRawClicked()); });
|
|
20
|
+
i0.ɵɵtext(3);
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
i0.ɵɵelementStart(4, "mat-button-toggle", 7, 2);
|
|
23
|
+
i0.ɵɵlistener("click", function TdCopyCodeButtonComponent_mat_button_toggle_group_0_Template_mat_button_toggle_click_4_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.copyClicked()); })("cdkCopyToClipboardCopied", function TdCopyCodeButtonComponent_mat_button_toggle_group_0_Template_mat_button_toggle_cdkCopyToClipboardCopied_4_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.textCopied($event)); });
|
|
24
|
+
i0.ɵɵelementStart(7, "mat-icon", 8);
|
|
25
|
+
i0.ɵɵtext(8, "content_copy");
|
|
26
|
+
i0.ɵɵelementEnd()()();
|
|
27
|
+
} if (rf & 2) {
|
|
28
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
29
|
+
i0.ɵɵadvance(3);
|
|
30
|
+
i0.ɵɵtextInterpolate(ctx_r1.rawToggleText);
|
|
31
|
+
i0.ɵɵadvance();
|
|
32
|
+
i0.ɵɵproperty("cdkCopyToClipboard", ctx_r1.copiedContent)("matTooltip", ctx_r1.copyTooltip);
|
|
33
|
+
} }
|
|
34
|
+
function TdCopyCodeButtonComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
36
|
+
i0.ɵɵelementStart(0, "button", 9, 3);
|
|
37
|
+
i0.ɵɵlistener("cdkCopyToClipboardCopied", function TdCopyCodeButtonComponent_ng_template_1_Template_button_cdkCopyToClipboardCopied_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.textCopied($event)); });
|
|
38
|
+
i0.ɵɵelementStart(2, "mat-icon", 10);
|
|
39
|
+
i0.ɵɵtext(3, "content_copy");
|
|
40
|
+
i0.ɵɵelementEnd()();
|
|
41
|
+
} if (rf & 2) {
|
|
42
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
43
|
+
i0.ɵɵproperty("cdkCopyToClipboard", ctx_r1.copiedContent)("matTooltip", ctx_r1.copyTooltip);
|
|
44
|
+
} }
|
|
18
45
|
class TdCopyCodeButtonComponent {
|
|
19
46
|
// private _copyCodeTooltips: ICopyCodeTooltips = {};
|
|
20
47
|
copiedContent;
|
|
@@ -66,38 +93,69 @@ class TdCopyCodeButtonComponent {
|
|
|
66
93
|
copyClicked() {
|
|
67
94
|
this.copyButton.checked = false;
|
|
68
95
|
}
|
|
69
|
-
static ɵfac =
|
|
70
|
-
static ɵcmp = i0.ɵɵ
|
|
96
|
+
static ɵfac = function TdCopyCodeButtonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdCopyCodeButtonComponent)(); };
|
|
97
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdCopyCodeButtonComponent, selectors: [["td-copy-code-button"]], viewQuery: function TdCopyCodeButtonComponent_Query(rf, ctx) { if (rf & 1) {
|
|
98
|
+
i0.ɵɵviewQuery(_c0$1, 5);
|
|
99
|
+
i0.ɵɵviewQuery(_c1$1, 5);
|
|
100
|
+
i0.ɵɵviewQuery(_c2$1, 5);
|
|
101
|
+
} if (rf & 2) {
|
|
102
|
+
let _t;
|
|
103
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.copyButton = _t.first);
|
|
104
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rawButton = _t.first);
|
|
105
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltip = _t.first);
|
|
106
|
+
} }, hostBindings: function TdCopyCodeButtonComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
107
|
+
i0.ɵɵlistener("mouseleave", function TdCopyCodeButtonComponent_mouseleave_HostBindingHandler() { return ctx.initializeTooltip(); });
|
|
108
|
+
} }, inputs: { copiedContent: "copiedContent", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", toggleRawButton: "toggleRawButton", rawToggleLabels: "rawToggleLabels" }, outputs: { toggleRaw: "toggleRaw" }, decls: 3, vars: 2, consts: [["button", ""], ["rawButton", ""], ["tooltip", "matTooltip", "copyButton", ""], ["tooltip", "matTooltip"], ["multiple", "", "class", "raw-and-copy-buttons", 4, "ngIf", "ngIfElse"], ["multiple", "", 1, "raw-and-copy-buttons"], [3, "click"], [3, "click", "cdkCopyToClipboardCopied", "cdkCopyToClipboard", "matTooltip"], ["width", ""], ["mat-icon-button", "", 1, "copy-button", 3, "cdkCopyToClipboardCopied", "cdkCopyToClipboard", "matTooltip"], ["role", "img"]], template: function TdCopyCodeButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
+
i0.ɵɵtemplate(0, TdCopyCodeButtonComponent_mat_button_toggle_group_0_Template, 9, 3, "mat-button-toggle-group", 4)(1, TdCopyCodeButtonComponent_ng_template_1_Template, 4, 2, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
110
|
+
} if (rf & 2) {
|
|
111
|
+
const button_r4 = i0.ɵɵreference(2);
|
|
112
|
+
i0.ɵɵproperty("ngIf", ctx.toggleRawButton)("ngIfElse", button_r4);
|
|
113
|
+
} }, dependencies: [CommonModule, i1.NgIf, MatButtonToggle, MatButtonToggleGroup, MatIcon, MatTooltip, ClipboardModule, i2.CdkCopyToClipboard], styles: ["mat-button-toggle-group.raw-and-copy-buttons[_ngcontent-%COMP%]{margin-top:-8px;margin-right:-8px;margin-left:8px}mat-button-toggle-group.raw-and-copy-buttons[_ngcontent-%COMP%] .mat-button-toggle-label-content{font-size:12px;line-height:28px}mat-button-toggle-group.raw-and-copy-buttons[_ngcontent-%COMP%] .mat-button-toggle-label-content mat-icon{width:16px;height:16px;font-size:16px}"] });
|
|
71
114
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
115
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdCopyCodeButtonComponent, [{
|
|
116
|
+
type: Component,
|
|
117
|
+
args: [{ selector: 'td-copy-code-button', imports: [CommonModule, MatButtonToggle, MatButtonToggleGroup, MatIcon, MatTooltip, ClipboardModule], template: "<mat-button-toggle-group\n multiple\n class=\"raw-and-copy-buttons\"\n *ngIf=\"toggleRawButton; else button\"\n>\n <mat-button-toggle (click)=\"toggleRawClicked()\" #rawButton>{{\n rawToggleText\n }}</mat-button-toggle>\n <mat-button-toggle\n [cdkCopyToClipboard]=\"copiedContent\"\n [matTooltip]=\"copyTooltip\"\n #tooltip=\"matTooltip\"\n #copyButton\n (click)=\"copyClicked()\"\n (cdkCopyToClipboardCopied)=\"textCopied($event)\"\n >\n <mat-icon width>content_copy</mat-icon>\n </mat-button-toggle>\n</mat-button-toggle-group>\n\n<ng-template #button>\n <button\n mat-icon-button\n [cdkCopyToClipboard]=\"copiedContent\"\n class=\"copy-button\"\n [matTooltip]=\"copyTooltip\"\n #tooltip=\"matTooltip\"\n (cdkCopyToClipboardCopied)=\"textCopied($event)\"\n >\n <mat-icon role=\"img\">content_copy</mat-icon>\n </button>\n</ng-template>\n", styles: ["mat-button-toggle-group.raw-and-copy-buttons{margin-top:-8px;margin-right:-8px;margin-left:8px}mat-button-toggle-group.raw-and-copy-buttons ::ng-deep .mat-button-toggle-label-content{font-size:12px;line-height:28px}mat-button-toggle-group.raw-and-copy-buttons ::ng-deep .mat-button-toggle-label-content mat-icon{width:16px;height:16px;font-size:16px}\n"] }]
|
|
118
|
+
}], null, { copiedContent: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], copyCodeToClipboard: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], copyCodeTooltips: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], toggleRawButton: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], rawToggleLabels: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], toggleRaw: [{
|
|
129
|
+
type: Output
|
|
130
|
+
}], copyButton: [{
|
|
131
|
+
type: ViewChild,
|
|
132
|
+
args: ['copyButton']
|
|
133
|
+
}], rawButton: [{
|
|
134
|
+
type: ViewChild,
|
|
135
|
+
args: ['rawButton']
|
|
136
|
+
}], tooltip: [{
|
|
137
|
+
type: ViewChild,
|
|
138
|
+
args: ['tooltip']
|
|
139
|
+
}], initializeTooltip: [{
|
|
140
|
+
type: HostListener,
|
|
141
|
+
args: ['mouseleave']
|
|
142
|
+
}] }); })();
|
|
143
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TdCopyCodeButtonComponent, { className: "TdCopyCodeButtonComponent", filePath: "lib/copy-code-button/copy-code-button.component.ts", lineNumber: 31 }); })();
|
|
100
144
|
|
|
145
|
+
const _c0 = ["highlightComponent"];
|
|
146
|
+
const _c1 = ["copyComponent"];
|
|
147
|
+
const _c2 = ["tooltip"];
|
|
148
|
+
const _c3 = ["*"];
|
|
149
|
+
function TdHighlightComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
150
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
151
|
+
i0.ɵɵelementStart(0, "div", null, 1)(2, "td-copy-code-button", 3);
|
|
152
|
+
i0.ɵɵlistener("toggleRaw", function TdHighlightComponent_div_4_Template_td_copy_code_button_toggleRaw_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleRawClicked()); });
|
|
153
|
+
i0.ɵɵelementEnd()();
|
|
154
|
+
} if (rf & 2) {
|
|
155
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
156
|
+
i0.ɵɵadvance(2);
|
|
157
|
+
i0.ɵɵproperty("toggleRawButton", ctx_r1.toggleRawButton)("rawToggleLabels", ctx_r1.rawToggleLabels)("copiedContent", ctx_r1.copyContent)("copyCodeToClipboard", ctx_r1.copyCodeToClipboard)("copyCodeTooltips", ctx_r1.copyCodeTooltips);
|
|
158
|
+
} }
|
|
101
159
|
class TdHighlightComponent {
|
|
102
160
|
_renderer;
|
|
103
161
|
_elementRef;
|
|
@@ -281,72 +339,76 @@ class TdHighlightComponent {
|
|
|
281
339
|
.replace('<head/>', '');
|
|
282
340
|
return highlightedCode.value;
|
|
283
341
|
}
|
|
284
|
-
static ɵfac =
|
|
285
|
-
static ɵcmp = i0.ɵɵ
|
|
342
|
+
static ɵfac = function TdHighlightComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdHighlightComponent)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1$1.DomSanitizer), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
343
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdHighlightComponent, selectors: [["td-highlight"]], viewQuery: function TdHighlightComponent_Query(rf, ctx) { if (rf & 1) {
|
|
344
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
345
|
+
i0.ɵɵviewQuery(_c1, 5);
|
|
346
|
+
i0.ɵɵviewQuery(_c2, 5);
|
|
347
|
+
} if (rf & 2) {
|
|
348
|
+
let _t;
|
|
349
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.highlightComp = _t.first);
|
|
350
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.copyComp = _t.first);
|
|
351
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltip = _t.first);
|
|
352
|
+
} }, inputs: { content: "content", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", toggleRawButton: "toggleRawButton", rawToggleLabels: "rawToggleLabels", codeLang: "codeLang", lang: "lang" }, outputs: { contentReady: "contentReady" }, ngContentSelectors: _c3, decls: 5, vars: 1, consts: [["highlightComponent", ""], ["copyComponent", ""], [4, "ngIf"], [3, "toggleRaw", "toggleRawButton", "rawToggleLabels", "copiedContent", "copyCodeToClipboard", "copyCodeTooltips"]], template: function TdHighlightComponent_Template(rf, ctx) { if (rf & 1) {
|
|
353
|
+
i0.ɵɵprojectionDef();
|
|
354
|
+
i0.ɵɵelementStart(0, "div")(1, "div", null, 0);
|
|
355
|
+
i0.ɵɵprojection(3);
|
|
356
|
+
i0.ɵɵelementEnd();
|
|
357
|
+
i0.ɵɵtemplate(4, TdHighlightComponent_div_4_Template, 3, 5, "div", 2);
|
|
358
|
+
i0.ɵɵelementEnd();
|
|
359
|
+
} if (rf & 2) {
|
|
360
|
+
i0.ɵɵadvance(4);
|
|
361
|
+
i0.ɵɵproperty("ngIf", ctx.copyCodeToClipboard);
|
|
362
|
+
} }, dependencies: [CommonModule, i1.NgIf, TdCopyCodeButtonComponent], styles: ["[_nghost-%COMP%] {overflow-x:auto;padding:16px;display:flex;position:relative}[_nghost-%COMP%] pre, [_nghost-%COMP%] code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace}[_nghost-%COMP%] pre{display:block;overflow-x:auto;padding:0;margin:0;background:transparent;font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;line-height:1.45;tab-size:2;-webkit-font-smoothing:auto;-webkit-text-size-adjust:none;text-size-adjust:none;position:relative;border-radius:2px;font-size:.8rem;width:100%}[_nghost-%COMP%] code{margin:0;padding:0;overflow-wrap:break-word;white-space:pre-wrap}[_nghost-%COMP%] div.raw{flex-grow:1}[_nghost-%COMP%] .highlight{display:block;overflow-wrap:break-word;margin:0;font-family:Menlo;font-size:12px;font-weight:400;line-height:20px}[_nghost-%COMP%] .copy-button{border:none;background:inherit;margin-top:-8px;margin-right:-8px}"] });
|
|
286
363
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
364
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdHighlightComponent, [{
|
|
365
|
+
type: Component,
|
|
366
|
+
args: [{ selector: 'td-highlight', imports: [CommonModule, TdCopyCodeButtonComponent], template: "<div>\n <div #highlightComponent>\n <ng-content></ng-content>\n </div>\n\n <div #copyComponent *ngIf=\"copyCodeToClipboard\">\n <td-copy-code-button\n [toggleRawButton]=\"toggleRawButton\"\n [rawToggleLabels]=\"rawToggleLabels\"\n (toggleRaw)=\"toggleRawClicked()\"\n [copiedContent]=\"copyContent\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n ></td-copy-code-button>\n </div>\n</div>\n", styles: [":host ::ng-deep{overflow-x:auto;padding:16px;display:flex;position:relative}:host ::ng-deep pre,:host ::ng-deep code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace}:host ::ng-deep pre{display:block;overflow-x:auto;padding:0;margin:0;background:transparent;font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;line-height:1.45;tab-size:2;-webkit-font-smoothing:auto;-webkit-text-size-adjust:none;text-size-adjust:none;position:relative;border-radius:2px;font-size:.8rem;width:100%}:host ::ng-deep code{margin:0;padding:0;overflow-wrap:break-word;white-space:pre-wrap}:host ::ng-deep div.raw{flex-grow:1}:host ::ng-deep .highlight{display:block;overflow-wrap:break-word;margin:0;font-family:Menlo;font-size:12px;font-weight:400;line-height:20px}:host ::ng-deep .copy-button{border:none;background:inherit;margin-top:-8px;margin-right:-8px}\n"] }]
|
|
367
|
+
}], () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1$1.DomSanitizer }, { type: i0.ChangeDetectorRef }], { content: [{
|
|
368
|
+
type: Input
|
|
369
|
+
}], copyCodeToClipboard: [{
|
|
370
|
+
type: Input
|
|
371
|
+
}], copyCodeTooltips: [{
|
|
372
|
+
type: Input
|
|
373
|
+
}], toggleRawButton: [{
|
|
374
|
+
type: Input
|
|
375
|
+
}], rawToggleLabels: [{
|
|
376
|
+
type: Input
|
|
377
|
+
}], codeLang: [{
|
|
378
|
+
type: Input
|
|
379
|
+
}], lang: [{
|
|
380
|
+
type: Input
|
|
381
|
+
}], contentReady: [{
|
|
382
|
+
type: Output
|
|
383
|
+
}], highlightComp: [{
|
|
384
|
+
type: ViewChild,
|
|
385
|
+
args: ['highlightComponent']
|
|
386
|
+
}], copyComp: [{
|
|
387
|
+
type: ViewChild,
|
|
388
|
+
args: ['copyComponent']
|
|
389
|
+
}], tooltip: [{
|
|
390
|
+
type: ViewChild,
|
|
391
|
+
args: ['tooltip']
|
|
392
|
+
}] }); })();
|
|
393
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TdHighlightComponent, { className: "TdHighlightComponent", filePath: "lib/highlight.component.ts", lineNumber: 31 }); })();
|
|
316
394
|
|
|
395
|
+
/**
|
|
396
|
+
* @deprecated This module is deprecated and will be removed in future versions.
|
|
397
|
+
* Please migrate to using standalone components as soon as possible.
|
|
398
|
+
*/
|
|
317
399
|
class CovalentHighlightModule {
|
|
318
|
-
static ɵfac =
|
|
319
|
-
static ɵmod = i0.ɵɵ
|
|
320
|
-
|
|
321
|
-
MatIconModule,
|
|
322
|
-
MatButtonToggleModule,
|
|
323
|
-
MatButtonModule,
|
|
324
|
-
MatTooltipModule,
|
|
325
|
-
MatButtonModule], exports: [TdHighlightComponent] });
|
|
326
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentHighlightModule, imports: [CommonModule,
|
|
327
|
-
ClipboardModule,
|
|
328
|
-
MatIconModule,
|
|
329
|
-
MatButtonToggleModule,
|
|
330
|
-
MatButtonModule,
|
|
331
|
-
MatTooltipModule,
|
|
332
|
-
MatButtonModule] });
|
|
400
|
+
static ɵfac = function CovalentHighlightModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentHighlightModule)(); };
|
|
401
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentHighlightModule });
|
|
402
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [TdHighlightComponent, TdCopyCodeButtonComponent] });
|
|
333
403
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
MatButtonModule,
|
|
343
|
-
MatTooltipModule,
|
|
344
|
-
MatButtonModule,
|
|
345
|
-
],
|
|
346
|
-
declarations: [TdHighlightComponent, TdCopyCodeButtonComponent],
|
|
347
|
-
exports: [TdHighlightComponent],
|
|
348
|
-
}]
|
|
349
|
-
}] });
|
|
404
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CovalentHighlightModule, [{
|
|
405
|
+
type: NgModule,
|
|
406
|
+
args: [{
|
|
407
|
+
imports: [TdHighlightComponent, TdCopyCodeButtonComponent],
|
|
408
|
+
exports: [TdHighlightComponent],
|
|
409
|
+
}]
|
|
410
|
+
}], null, null); })();
|
|
411
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentHighlightModule, { imports: [TdHighlightComponent, TdCopyCodeButtonComponent], exports: [TdHighlightComponent] }); })();
|
|
350
412
|
|
|
351
413
|
/**
|
|
352
414
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"covalent-highlight.mjs","sources":["../../../../libs/angular-highlight/src/lib/copy-code-button/copy-code-button.component.ts","../../../../libs/angular-highlight/src/lib/copy-code-button/copy-code-button.component.html","../../../../libs/angular-highlight/src/lib/highlight.component.ts","../../../../libs/angular-highlight/src/lib/highlight.component.html","../../../../libs/angular-highlight/src/lib/highlight.module.ts","../../../../libs/angular-highlight/src/covalent-highlight.ts"],"sourcesContent":["import {\n Component,\n Input,\n ViewChild,\n HostListener,\n EventEmitter,\n Output,\n} from '@angular/core';\nimport { MatButtonToggle } from '@angular/material/button-toggle';\nimport { MatTooltip } from '@angular/material/tooltip';\n\nexport interface ICopyCodeTooltips {\n copy?: string;\n copied?: string;\n}\n\nexport interface IRawToggleLabels {\n viewRaw?: string;\n viewCode?: string;\n}\n\n@Component({\n selector: 'td-copy-code-button',\n templateUrl: './copy-code-button.component.html',\n styleUrls: ['./copy-code-button.component.scss'],\n})\nexport class TdCopyCodeButtonComponent {\n // private _copyCodeTooltips: ICopyCodeTooltips = {};\n @Input() copiedContent!: string;\n @Input() copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n\n @Input() toggleRawButton = false;\n @Input() rawToggleLabels?: IRawToggleLabels = {};\n\n rawToggle = false;\n\n @Output() toggleRaw = new EventEmitter<boolean>();\n\n @ViewChild('copyButton') copyButton!: MatButtonToggle;\n @ViewChild('rawButton') rawButton!: MatButtonToggle;\n\n get copyTooltip(): string {\n return (this.copyCodeTooltips && this.copyCodeTooltips.copy) || 'Copy';\n }\n\n get copiedTooltip(): string {\n return (this.copyCodeTooltips && this.copyCodeTooltips.copied) || 'Copied';\n }\n\n get rawToggleText(): string {\n if (this.rawToggle) {\n return this.rawToggleLabels?.viewCode || 'View code';\n } else {\n return this.rawToggleLabels?.viewRaw || 'Raw';\n }\n }\n\n @ViewChild('tooltip') tooltip!: MatTooltip;\n\n textCopied(event: boolean): void {\n if (event) {\n this.tooltip.hide();\n this.tooltip.message = this.copiedTooltip;\n this.tooltip.show();\n }\n }\n @HostListener('mouseleave')\n initializeTooltip(): void {\n setTimeout(() => {\n this.tooltip.message = this.copyTooltip;\n }, 200);\n }\n\n toggleRawClicked(): void {\n this.rawToggle = !this.rawToggle;\n this.toggleRaw.emit();\n this.rawButton.checked = false;\n }\n\n copyClicked(): void {\n this.copyButton.checked = false;\n }\n}\n","<mat-button-toggle-group\n multiple\n class=\"raw-and-copy-buttons\"\n *ngIf=\"toggleRawButton; else button\"\n>\n <mat-button-toggle (click)=\"toggleRawClicked()\" #rawButton>{{\n rawToggleText\n }}</mat-button-toggle>\n <mat-button-toggle\n [cdkCopyToClipboard]=\"copiedContent\"\n [matTooltip]=\"copyTooltip\"\n #tooltip=\"matTooltip\"\n #copyButton\n (click)=\"copyClicked()\"\n (cdkCopyToClipboardCopied)=\"textCopied($event)\"\n >\n <mat-icon width>content_copy</mat-icon>\n </mat-button-toggle>\n</mat-button-toggle-group>\n\n<ng-template #button>\n <button\n mat-icon-button\n [cdkCopyToClipboard]=\"copiedContent\"\n class=\"copy-button\"\n [matTooltip]=\"copyTooltip\"\n #tooltip=\"matTooltip\"\n (cdkCopyToClipboardCopied)=\"textCopied($event)\"\n >\n <mat-icon role=\"img\">content_copy</mat-icon>\n </button>\n</ng-template>\n","import {\n Component,\n AfterViewInit,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n Renderer2,\n SecurityContext,\n ViewChild,\n ChangeDetectorRef,\n AfterViewChecked,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport {\n ICopyCodeTooltips,\n IRawToggleLabels,\n} from './copy-code-button/copy-code-button.component';\n\nimport hljs, { HighlightResult } from 'highlight.js';\n\n@Component({\n selector: 'td-highlight',\n styleUrls: ['./highlight.component.scss'],\n templateUrl: './highlight.component.html',\n})\nexport class TdHighlightComponent implements AfterViewInit, AfterViewChecked {\n private _initialized = false;\n\n private _content!: string;\n private _lang = 'typescript';\n\n private _showRaw = false;\n\n /**\n * content?: string\n *\n * Code content to be parsed as highlighted html.\n * Used to load data dynamically.\n *\n * e.g. `.html`, `.ts` , etc.\n */\n @Input()\n set content(content: string) {\n this._content = content;\n if (this._initialized) {\n this._loadContent(this._content);\n }\n }\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\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 * toggleRawButton?: boolean\n *\n * Display button to toggle raw code.\n */\n @Input() toggleRawButton = false;\n\n /**\n * rawToggleLabels?: IRawToggleLabels\n *\n * Labels for raw toggle button.\n */\n @Input() rawToggleLabels?: IRawToggleLabels = {};\n\n /**\n * lang?: string\n *\n * Language of the code content to be parsed as highlighted html.\n * Defaults to `typescript`\n *\n * e.g. `typescript`, `html` , etc.\n */\n\n @Input()\n set codeLang(lang: string) {\n this.setLanguage(lang);\n }\n /** @deprecated - removed completely @4.0.0 */\n @Input()\n set lang(lang: string) {\n // tslint:disable-next-line: no-console\n console.warn(\n 'DEPRECATION WARNING: switch to codeLang attribute as lang attribute is deprecated.'\n );\n this.setLanguage(lang);\n }\n\n copyContent!: string;\n\n /**\n * contentReady?: function\n * Event emitted after the highlight content rendering is finished.\n */\n @Output() contentReady: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild('highlightComponent') highlightComp!: ElementRef;\n @ViewChild('copyComponent') copyComp!: ElementRef;\n\n @ViewChild('tooltip') tooltip!: MatTooltip;\n\n constructor(\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _domSanitizer: DomSanitizer,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngAfterViewChecked(): void {\n this.cdr.detectChanges();\n }\n\n ngAfterViewInit(): void {\n if (!this._content) {\n this._content =\n (<HTMLElement>this.highlightComp.nativeElement).textContent || '';\n }\n this._loadContent(this._content);\n\n this._initialized = true;\n }\n\n setLanguage(lang: string): void {\n if (!lang) {\n throw new Error(\n 'Error: language attribute must be defined in TdHighlightComponent.'\n );\n }\n this._lang = lang;\n if (this._initialized) {\n this._loadContent(this._content);\n }\n }\n\n toggleRawClicked(): void {\n this._showRaw = !this._showRaw;\n this._elementRef.nativeElement.querySelector('pre').style.display = this\n ._showRaw\n ? 'none'\n : 'block';\n this._elementRef.nativeElement.querySelector('.raw').style.display = this\n ._showRaw\n ? 'block'\n : 'none';\n }\n\n /**\n * General method to parse a string of code into HTML Elements and load them into the container\n */\n private _loadContent(code: string | null): void {\n if (code && code.trim().length > 0) {\n // Clean container\n this._renderer.setProperty(\n this._elementRef.nativeElement,\n 'innerHTML',\n ''\n );\n\n this._elementFromString(code);\n\n if (this.copyCodeToClipboard) {\n this._renderer.appendChild(\n this._elementRef.nativeElement,\n this.copyComp.nativeElement\n );\n }\n }\n this.contentReady.emit();\n }\n\n private _elementFromString(codeStr: string): void {\n // Renderer2 doesnt have a parsing method, so we have to sanitize and use [innerHTML]\n // to parse the string into DOM element for now.\n const preElement: HTMLPreElement = this._renderer.createElement('pre');\n this._renderer.appendChild(this._elementRef.nativeElement, preElement);\n const codeElement: HTMLElement = this._renderer.createElement('code');\n this._renderer.appendChild(preElement, codeElement);\n // Set .highlight class into <code> element\n this._renderer.addClass(codeElement, 'highlight');\n\n const highlightedCode = this._render(codeStr);\n\n codeElement.innerHTML =\n this._domSanitizer.sanitize(SecurityContext.HTML, highlightedCode) ?? '';\n\n if (this.toggleRawButton) {\n const divElement: HTMLDivElement = this._renderer.createElement('div');\n divElement.className = 'raw';\n this._renderer.appendChild(this._elementRef.nativeElement, divElement);\n divElement.innerHTML =\n this._domSanitizer.sanitize(SecurityContext.HTML, codeStr) ?? '';\n this._renderer.setStyle(divElement, 'display', 'none');\n }\n }\n\n private _render(contents: string): string {\n // Trim leading and trailing newlines\n contents = contents\n .replace(/^(\\s|\\t)*\\n+/g, '')\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markup by line characters\n let lines: string[] = contents.split('\\n');\n\n // check how much indentation is used by the first actual code 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 code can be parsed correctly\n const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line\n .replace('=\"\"', '') // remove empty values\n .replace(startingWhitespaceRegex, '')\n .replace(/\\s+$/, ''); // remove trailing white spaces\n });\n\n const codeToParse: string = lines\n .join('\\n')\n .replace(/\\{ \\{/gi, '{{')\n .replace(/\\} \\}/gi, '}}')\n .replace(/</gi, '<')\n .replace(/>/gi, '>'); // replace with < and > to render HTML in Angular\n this.copyContent = codeToParse;\n // Parse code with highlight.js depending on language\n const highlightedCode: HighlightResult = hljs.highlight(codeToParse, {\n language: this._lang,\n ignoreIllegals: true,\n });\n highlightedCode.value = highlightedCode.value\n .replace(/=<span class=\"hljs-value\">\"\"<\\/span>/gi, '')\n .replace('<head>', '')\n .replace('<head/>', '');\n return highlightedCode.value;\n }\n}\n","<div>\n <div #highlightComponent>\n <ng-content></ng-content>\n </div>\n\n <div #copyComponent *ngIf=\"copyCodeToClipboard\">\n <td-copy-code-button\n [toggleRawButton]=\"toggleRawButton\"\n [rawToggleLabels]=\"rawToggleLabels\"\n (toggleRaw)=\"toggleRawClicked()\"\n [copiedContent]=\"copyContent\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n ></td-copy-code-button>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { TdHighlightComponent } from './highlight.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { TdCopyCodeButtonComponent } from './copy-code-button/copy-code-button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n MatIconModule,\n MatButtonToggleModule,\n MatButtonModule,\n MatTooltipModule,\n MatButtonModule,\n ],\n declarations: [TdHighlightComponent, TdCopyCodeButtonComponent],\n exports: [TdHighlightComponent],\n})\nexport class CovalentHighlightModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3.TdCopyCodeButtonComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"covalent-highlight.mjs","sources":["../../../../libs/angular-highlight/src/lib/copy-code-button/copy-code-button.component.html","../../../../libs/angular-highlight/src/lib/copy-code-button/copy-code-button.component.ts","../../../../libs/angular-highlight/src/lib/highlight.component.html","../../../../libs/angular-highlight/src/lib/highlight.component.ts","../../../../libs/angular-highlight/src/lib/highlight.module.ts","../../../../libs/angular-highlight/src/covalent-highlight.ts"],"sourcesContent":["<mat-button-toggle-group\n multiple\n class=\"raw-and-copy-buttons\"\n *ngIf=\"toggleRawButton; else button\"\n>\n <mat-button-toggle (click)=\"toggleRawClicked()\" #rawButton>{{\n rawToggleText\n }}</mat-button-toggle>\n <mat-button-toggle\n [cdkCopyToClipboard]=\"copiedContent\"\n [matTooltip]=\"copyTooltip\"\n #tooltip=\"matTooltip\"\n #copyButton\n (click)=\"copyClicked()\"\n (cdkCopyToClipboardCopied)=\"textCopied($event)\"\n >\n <mat-icon width>content_copy</mat-icon>\n </mat-button-toggle>\n</mat-button-toggle-group>\n\n<ng-template #button>\n <button\n mat-icon-button\n [cdkCopyToClipboard]=\"copiedContent\"\n class=\"copy-button\"\n [matTooltip]=\"copyTooltip\"\n #tooltip=\"matTooltip\"\n (cdkCopyToClipboardCopied)=\"textCopied($event)\"\n >\n <mat-icon role=\"img\">content_copy</mat-icon>\n </button>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n Input,\n ViewChild,\n HostListener,\n EventEmitter,\n Output,\n} from '@angular/core';\nimport { MatButtonToggle, MatButtonToggleGroup } from '@angular/material/button-toggle';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\n\nexport interface ICopyCodeTooltips {\n copy?: string;\n copied?: string;\n}\n\nexport interface IRawToggleLabels {\n viewRaw?: string;\n viewCode?: string;\n}\n\n@Component({\n selector: 'td-copy-code-button',\n templateUrl: './copy-code-button.component.html',\n styleUrls: ['./copy-code-button.component.scss'],\n imports: [CommonModule, MatButtonToggle, MatButtonToggleGroup, MatIcon, MatTooltip, ClipboardModule],\n})\nexport class TdCopyCodeButtonComponent {\n // private _copyCodeTooltips: ICopyCodeTooltips = {};\n @Input() copiedContent!: string;\n @Input() copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n @Input() copyCodeTooltips?: ICopyCodeTooltips = {};\n\n @Input() toggleRawButton = false;\n @Input() rawToggleLabels?: IRawToggleLabels = {};\n\n rawToggle = false;\n\n @Output() toggleRaw = new EventEmitter<boolean>();\n\n @ViewChild('copyButton') copyButton!: MatButtonToggle;\n @ViewChild('rawButton') rawButton!: MatButtonToggle;\n\n get copyTooltip(): string {\n return (this.copyCodeTooltips && this.copyCodeTooltips.copy) || 'Copy';\n }\n\n get copiedTooltip(): string {\n return (this.copyCodeTooltips && this.copyCodeTooltips.copied) || 'Copied';\n }\n\n get rawToggleText(): string {\n if (this.rawToggle) {\n return this.rawToggleLabels?.viewCode || 'View code';\n } else {\n return this.rawToggleLabels?.viewRaw || 'Raw';\n }\n }\n\n @ViewChild('tooltip') tooltip!: MatTooltip;\n\n textCopied(event: boolean): void {\n if (event) {\n this.tooltip.hide();\n this.tooltip.message = this.copiedTooltip;\n this.tooltip.show();\n }\n }\n @HostListener('mouseleave')\n initializeTooltip(): void {\n setTimeout(() => {\n this.tooltip.message = this.copyTooltip;\n }, 200);\n }\n\n toggleRawClicked(): void {\n this.rawToggle = !this.rawToggle;\n this.toggleRaw.emit();\n this.rawButton.checked = false;\n }\n\n copyClicked(): void {\n this.copyButton.checked = false;\n }\n}\n","<div>\n <div #highlightComponent>\n <ng-content></ng-content>\n </div>\n\n <div #copyComponent *ngIf=\"copyCodeToClipboard\">\n <td-copy-code-button\n [toggleRawButton]=\"toggleRawButton\"\n [rawToggleLabels]=\"rawToggleLabels\"\n (toggleRaw)=\"toggleRawClicked()\"\n [copiedContent]=\"copyContent\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n ></td-copy-code-button>\n </div>\n</div>\n","import {\n Component,\n AfterViewInit,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n Renderer2,\n SecurityContext,\n ViewChild,\n ChangeDetectorRef,\n AfterViewChecked,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport {\n ICopyCodeTooltips,\n IRawToggleLabels,\n TdCopyCodeButtonComponent,\n} from './copy-code-button/copy-code-button.component';\n\nimport hljs, { HighlightResult } from 'highlight.js';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'td-highlight',\n styleUrls: ['./highlight.component.scss'],\n templateUrl: './highlight.component.html',\n imports: [CommonModule, TdCopyCodeButtonComponent],\n})\nexport class TdHighlightComponent implements AfterViewInit, AfterViewChecked {\n private _initialized = false;\n\n private _content!: string;\n private _lang = 'typescript';\n\n private _showRaw = false;\n\n /**\n * content?: string\n *\n * Code content to be parsed as highlighted html.\n * Used to load data dynamically.\n *\n * e.g. `.html`, `.ts` , etc.\n */\n @Input()\n set content(content: string) {\n this._content = content;\n if (this._initialized) {\n this._loadContent(this._content);\n }\n }\n\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\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 * toggleRawButton?: boolean\n *\n * Display button to toggle raw code.\n */\n @Input() toggleRawButton = false;\n\n /**\n * rawToggleLabels?: IRawToggleLabels\n *\n * Labels for raw toggle button.\n */\n @Input() rawToggleLabels?: IRawToggleLabels = {};\n\n /**\n * lang?: string\n *\n * Language of the code content to be parsed as highlighted html.\n * Defaults to `typescript`\n *\n * e.g. `typescript`, `html` , etc.\n */\n\n @Input()\n set codeLang(lang: string) {\n this.setLanguage(lang);\n }\n /** @deprecated - removed completely @4.0.0 */\n @Input()\n set lang(lang: string) {\n // tslint:disable-next-line: no-console\n console.warn(\n 'DEPRECATION WARNING: switch to codeLang attribute as lang attribute is deprecated.'\n );\n this.setLanguage(lang);\n }\n\n copyContent!: string;\n\n /**\n * contentReady?: function\n * Event emitted after the highlight content rendering is finished.\n */\n @Output() contentReady: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild('highlightComponent') highlightComp!: ElementRef;\n @ViewChild('copyComponent') copyComp!: ElementRef;\n\n @ViewChild('tooltip') tooltip!: MatTooltip;\n\n constructor(\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _domSanitizer: DomSanitizer,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngAfterViewChecked(): void {\n this.cdr.detectChanges();\n }\n\n ngAfterViewInit(): void {\n if (!this._content) {\n this._content =\n (<HTMLElement>this.highlightComp.nativeElement).textContent || '';\n }\n this._loadContent(this._content);\n\n this._initialized = true;\n }\n\n setLanguage(lang: string): void {\n if (!lang) {\n throw new Error(\n 'Error: language attribute must be defined in TdHighlightComponent.'\n );\n }\n this._lang = lang;\n if (this._initialized) {\n this._loadContent(this._content);\n }\n }\n\n toggleRawClicked(): void {\n this._showRaw = !this._showRaw;\n this._elementRef.nativeElement.querySelector('pre').style.display = this\n ._showRaw\n ? 'none'\n : 'block';\n this._elementRef.nativeElement.querySelector('.raw').style.display = this\n ._showRaw\n ? 'block'\n : 'none';\n }\n\n /**\n * General method to parse a string of code into HTML Elements and load them into the container\n */\n private _loadContent(code: string | null): void {\n if (code && code.trim().length > 0) {\n // Clean container\n this._renderer.setProperty(\n this._elementRef.nativeElement,\n 'innerHTML',\n ''\n );\n\n this._elementFromString(code);\n\n if (this.copyCodeToClipboard) {\n this._renderer.appendChild(\n this._elementRef.nativeElement,\n this.copyComp.nativeElement\n );\n }\n }\n this.contentReady.emit();\n }\n\n private _elementFromString(codeStr: string): void {\n // Renderer2 doesnt have a parsing method, so we have to sanitize and use [innerHTML]\n // to parse the string into DOM element for now.\n const preElement: HTMLPreElement = this._renderer.createElement('pre');\n this._renderer.appendChild(this._elementRef.nativeElement, preElement);\n const codeElement: HTMLElement = this._renderer.createElement('code');\n this._renderer.appendChild(preElement, codeElement);\n // Set .highlight class into <code> element\n this._renderer.addClass(codeElement, 'highlight');\n\n const highlightedCode = this._render(codeStr);\n\n codeElement.innerHTML =\n this._domSanitizer.sanitize(SecurityContext.HTML, highlightedCode) ?? '';\n\n if (this.toggleRawButton) {\n const divElement: HTMLDivElement = this._renderer.createElement('div');\n divElement.className = 'raw';\n this._renderer.appendChild(this._elementRef.nativeElement, divElement);\n divElement.innerHTML =\n this._domSanitizer.sanitize(SecurityContext.HTML, codeStr) ?? '';\n this._renderer.setStyle(divElement, 'display', 'none');\n }\n }\n\n private _render(contents: string): string {\n // Trim leading and trailing newlines\n contents = contents\n .replace(/^(\\s|\\t)*\\n+/g, '')\n .replace(/(\\s|\\t)*\\n+(\\s|\\t)*$/g, '');\n // Split markup by line characters\n let lines: string[] = contents.split('\\n');\n\n // check how much indentation is used by the first actual code 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 code can be parsed correctly\n const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line: string): string {\n return line\n .replace('=\"\"', '') // remove empty values\n .replace(startingWhitespaceRegex, '')\n .replace(/\\s+$/, ''); // remove trailing white spaces\n });\n\n const codeToParse: string = lines\n .join('\\n')\n .replace(/\\{ \\{/gi, '{{')\n .replace(/\\} \\}/gi, '}}')\n .replace(/</gi, '<')\n .replace(/>/gi, '>'); // replace with < and > to render HTML in Angular\n this.copyContent = codeToParse;\n // Parse code with highlight.js depending on language\n const highlightedCode: HighlightResult = hljs.highlight(codeToParse, {\n language: this._lang,\n ignoreIllegals: true,\n });\n highlightedCode.value = highlightedCode.value\n .replace(/=<span class=\"hljs-value\">\"\"<\\/span>/gi, '')\n .replace('<head>', '')\n .replace('<head/>', '');\n return highlightedCode.value;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TdHighlightComponent } from './highlight.component';\nimport { TdCopyCodeButtonComponent } from './copy-code-button/copy-code-button.component';\n\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\n@NgModule({\n imports: [TdHighlightComponent, TdCopyCodeButtonComponent],\n exports: [TdHighlightComponent],\n})\nexport class CovalentHighlightModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -34,5 +34,5 @@ export declare class TdCopyCodeButtonComponent {
|
|
|
34
34
|
toggleRawClicked(): void;
|
|
35
35
|
copyClicked(): void;
|
|
36
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<TdCopyCodeButtonComponent, never>;
|
|
37
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TdCopyCodeButtonComponent, "td-copy-code-button", never, { "copiedContent": { "alias": "copiedContent"; "required": false; }; "copyCodeToClipboard": { "alias": "copyCodeToClipboard"; "required": false; }; "copyCodeTooltips": { "alias": "copyCodeTooltips"; "required": false; }; "toggleRawButton": { "alias": "toggleRawButton"; "required": false; }; "rawToggleLabels": { "alias": "rawToggleLabels"; "required": false; }; }, { "toggleRaw": "toggleRaw"; }, never, never,
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TdCopyCodeButtonComponent, "td-copy-code-button", never, { "copiedContent": { "alias": "copiedContent"; "required": false; }; "copyCodeToClipboard": { "alias": "copyCodeToClipboard"; "required": false; }; "copyCodeTooltips": { "alias": "copyCodeTooltips"; "required": false; }; "toggleRawButton": { "alias": "toggleRawButton"; "required": false; }; "rawToggleLabels": { "alias": "rawToggleLabels"; "required": false; }; }, { "toggleRaw": "toggleRaw"; }, never, never, true, never>;
|
|
38
38
|
}
|
|
@@ -77,5 +77,5 @@ export declare class TdHighlightComponent implements AfterViewInit, AfterViewChe
|
|
|
77
77
|
private _elementFromString;
|
|
78
78
|
private _render;
|
|
79
79
|
static ɵfac: i0.ɵɵFactoryDeclaration<TdHighlightComponent, never>;
|
|
80
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TdHighlightComponent, "td-highlight", never, { "content": { "alias": "content"; "required": false; }; "copyCodeToClipboard": { "alias": "copyCodeToClipboard"; "required": false; }; "copyCodeTooltips": { "alias": "copyCodeTooltips"; "required": false; }; "toggleRawButton": { "alias": "toggleRawButton"; "required": false; }; "rawToggleLabels": { "alias": "rawToggleLabels"; "required": false; }; "codeLang": { "alias": "codeLang"; "required": false; }; "lang": { "alias": "lang"; "required": false; }; }, { "contentReady": "contentReady"; }, never, ["*"],
|
|
80
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TdHighlightComponent, "td-highlight", never, { "content": { "alias": "content"; "required": false; }; "copyCodeToClipboard": { "alias": "copyCodeToClipboard"; "required": false; }; "copyCodeTooltips": { "alias": "copyCodeTooltips"; "required": false; }; "toggleRawButton": { "alias": "toggleRawButton"; "required": false; }; "rawToggleLabels": { "alias": "rawToggleLabels"; "required": false; }; "codeLang": { "alias": "codeLang"; "required": false; }; "lang": { "alias": "lang"; "required": false; }; }, { "contentReady": "contentReady"; }, never, ["*"], true, never>;
|
|
81
81
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./highlight.component";
|
|
3
3
|
import * as i2 from "./copy-code-button/copy-code-button.component";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import * as i7 from "@angular/material/button";
|
|
9
|
-
import * as i8 from "@angular/material/tooltip";
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated This module is deprecated and will be removed in future versions.
|
|
6
|
+
* Please migrate to using standalone components as soon as possible.
|
|
7
|
+
*/
|
|
10
8
|
export declare class CovalentHighlightModule {
|
|
11
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<CovalentHighlightModule, never>;
|
|
12
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentHighlightModule, [typeof i1.TdHighlightComponent, typeof i2.TdCopyCodeButtonComponent], [typeof
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentHighlightModule, never, [typeof i1.TdHighlightComponent, typeof i2.TdCopyCodeButtonComponent], [typeof i1.TdHighlightComponent]>;
|
|
13
11
|
static ɵinj: i0.ɵɵInjectorDeclaration<CovalentHighlightModule>;
|
|
14
12
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@covalent/highlight",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.1",
|
|
4
4
|
"description": "Teradata UI Platform Highlight Module",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -20,14 +20,14 @@
|
|
|
20
20
|
"author": "Teradata UX",
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"highlight.js": "^11.9.0",
|
|
23
|
-
"@angular/common": "
|
|
24
|
-
"@angular/core": "
|
|
25
|
-
"@angular/platform-browser": "
|
|
26
|
-
"@angular/cdk": "
|
|
27
|
-
"@angular/material": "
|
|
23
|
+
"@angular/common": "19.x.x",
|
|
24
|
+
"@angular/core": "19.x.x",
|
|
25
|
+
"@angular/platform-browser": "19.x.x",
|
|
26
|
+
"@angular/cdk": "19.x.x",
|
|
27
|
+
"@angular/material": "19.x.x"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"tslib": "^2.
|
|
30
|
+
"tslib": "^2.8.1"
|
|
31
31
|
},
|
|
32
32
|
"exports": {
|
|
33
33
|
"./highlight-theme": {
|
|
@@ -38,12 +38,13 @@
|
|
|
38
38
|
},
|
|
39
39
|
".": {
|
|
40
40
|
"types": "./index.d.ts",
|
|
41
|
-
"esm2022": "./esm2022/covalent-highlight.mjs",
|
|
42
|
-
"esm": "./esm2022/covalent-highlight.mjs",
|
|
43
41
|
"default": "./fesm2022/covalent-highlight.mjs"
|
|
44
42
|
}
|
|
45
43
|
},
|
|
46
44
|
"module": "fesm2022/covalent-highlight.mjs",
|
|
47
45
|
"typings": "index.d.ts",
|
|
48
|
-
"sideEffects": false
|
|
46
|
+
"sideEffects": false,
|
|
47
|
+
"scripts": {
|
|
48
|
+
"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"
|
|
49
|
+
}
|
|
49
50
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtaGlnaGxpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWhpZ2hsaWdodC9zcmMvY292YWxlbnQtaGlnaGxpZ2h0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild, HostListener, EventEmitter, Output, } from '@angular/core';
|
|
2
|
-
import { MatButtonToggle } from '@angular/material/button-toggle';
|
|
3
|
-
import { MatTooltip } from '@angular/material/tooltip';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "@angular/cdk/clipboard";
|
|
7
|
-
import * as i3 from "@angular/material/icon";
|
|
8
|
-
import * as i4 from "@angular/material/button-toggle";
|
|
9
|
-
import * as i5 from "@angular/material/button";
|
|
10
|
-
import * as i6 from "@angular/material/tooltip";
|
|
11
|
-
export class TdCopyCodeButtonComponent {
|
|
12
|
-
// private _copyCodeTooltips: ICopyCodeTooltips = {};
|
|
13
|
-
copiedContent;
|
|
14
|
-
copyCodeToClipboard = false;
|
|
15
|
-
/**
|
|
16
|
-
* copyCodeTooltips?: ICopyCodeTooltips
|
|
17
|
-
*
|
|
18
|
-
* Tooltips for copy button to copy and upon copying.
|
|
19
|
-
*/
|
|
20
|
-
copyCodeTooltips = {};
|
|
21
|
-
toggleRawButton = false;
|
|
22
|
-
rawToggleLabels = {};
|
|
23
|
-
rawToggle = false;
|
|
24
|
-
toggleRaw = new EventEmitter();
|
|
25
|
-
copyButton;
|
|
26
|
-
rawButton;
|
|
27
|
-
get copyTooltip() {
|
|
28
|
-
return (this.copyCodeTooltips && this.copyCodeTooltips.copy) || 'Copy';
|
|
29
|
-
}
|
|
30
|
-
get copiedTooltip() {
|
|
31
|
-
return (this.copyCodeTooltips && this.copyCodeTooltips.copied) || 'Copied';
|
|
32
|
-
}
|
|
33
|
-
get rawToggleText() {
|
|
34
|
-
if (this.rawToggle) {
|
|
35
|
-
return this.rawToggleLabels?.viewCode || 'View code';
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
return this.rawToggleLabels?.viewRaw || 'Raw';
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
tooltip;
|
|
42
|
-
textCopied(event) {
|
|
43
|
-
if (event) {
|
|
44
|
-
this.tooltip.hide();
|
|
45
|
-
this.tooltip.message = this.copiedTooltip;
|
|
46
|
-
this.tooltip.show();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
initializeTooltip() {
|
|
50
|
-
setTimeout(() => {
|
|
51
|
-
this.tooltip.message = this.copyTooltip;
|
|
52
|
-
}, 200);
|
|
53
|
-
}
|
|
54
|
-
toggleRawClicked() {
|
|
55
|
-
this.rawToggle = !this.rawToggle;
|
|
56
|
-
this.toggleRaw.emit();
|
|
57
|
-
this.rawButton.checked = false;
|
|
58
|
-
}
|
|
59
|
-
copyClicked() {
|
|
60
|
-
this.copyButton.checked = false;
|
|
61
|
-
}
|
|
62
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TdCopyCodeButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TdCopyCodeButtonComponent, selector: "td-copy-code-button", inputs: { copiedContent: "copiedContent", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", toggleRawButton: "toggleRawButton", rawToggleLabels: "rawToggleLabels" }, outputs: { toggleRaw: "toggleRaw" }, host: { listeners: { "mouseleave": "initializeTooltip()" } }, viewQueries: [{ propertyName: "copyButton", first: true, predicate: ["copyButton"], descendants: true }, { propertyName: "rawButton", first: true, predicate: ["rawButton"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<mat-button-toggle-group\n multiple\n class=\"raw-and-copy-buttons\"\n *ngIf=\"toggleRawButton; else button\"\n>\n <mat-button-toggle (click)=\"toggleRawClicked()\" #rawButton>{{\n rawToggleText\n }}</mat-button-toggle>\n <mat-button-toggle\n [cdkCopyToClipboard]=\"copiedContent\"\n [matTooltip]=\"copyTooltip\"\n #tooltip=\"matTooltip\"\n #copyButton\n (click)=\"copyClicked()\"\n (cdkCopyToClipboardCopied)=\"textCopied($event)\"\n >\n <mat-icon width>content_copy</mat-icon>\n </mat-button-toggle>\n</mat-button-toggle-group>\n\n<ng-template #button>\n <button\n mat-icon-button\n [cdkCopyToClipboard]=\"copiedContent\"\n class=\"copy-button\"\n [matTooltip]=\"copyTooltip\"\n #tooltip=\"matTooltip\"\n (cdkCopyToClipboardCopied)=\"textCopied($event)\"\n >\n <mat-icon role=\"img\">content_copy</mat-icon>\n </button>\n</ng-template>\n", styles: ["mat-button-toggle-group.raw-and-copy-buttons{margin-top:-8px;margin-right:-8px;margin-left:8px}mat-button-toggle-group.raw-and-copy-buttons ::ng-deep .mat-button-toggle-label-content{font-size:12px;line-height:28px}mat-button-toggle-group.raw-and-copy-buttons ::ng-deep .mat-button-toggle-label-content mat-icon{width:16px;height:16px;font-size:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i4.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
|
|
64
|
-
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TdCopyCodeButtonComponent, decorators: [{
|
|
66
|
-
type: Component,
|
|
67
|
-
args: [{ selector: 'td-copy-code-button', template: "<mat-button-toggle-group\n multiple\n class=\"raw-and-copy-buttons\"\n *ngIf=\"toggleRawButton; else button\"\n>\n <mat-button-toggle (click)=\"toggleRawClicked()\" #rawButton>{{\n rawToggleText\n }}</mat-button-toggle>\n <mat-button-toggle\n [cdkCopyToClipboard]=\"copiedContent\"\n [matTooltip]=\"copyTooltip\"\n #tooltip=\"matTooltip\"\n #copyButton\n (click)=\"copyClicked()\"\n (cdkCopyToClipboardCopied)=\"textCopied($event)\"\n >\n <mat-icon width>content_copy</mat-icon>\n </mat-button-toggle>\n</mat-button-toggle-group>\n\n<ng-template #button>\n <button\n mat-icon-button\n [cdkCopyToClipboard]=\"copiedContent\"\n class=\"copy-button\"\n [matTooltip]=\"copyTooltip\"\n #tooltip=\"matTooltip\"\n (cdkCopyToClipboardCopied)=\"textCopied($event)\"\n >\n <mat-icon role=\"img\">content_copy</mat-icon>\n </button>\n</ng-template>\n", styles: ["mat-button-toggle-group.raw-and-copy-buttons{margin-top:-8px;margin-right:-8px;margin-left:8px}mat-button-toggle-group.raw-and-copy-buttons ::ng-deep .mat-button-toggle-label-content{font-size:12px;line-height:28px}mat-button-toggle-group.raw-and-copy-buttons ::ng-deep .mat-button-toggle-label-content mat-icon{width:16px;height:16px;font-size:16px}\n"] }]
|
|
68
|
-
}], propDecorators: { copiedContent: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], copyCodeToClipboard: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], copyCodeTooltips: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], toggleRawButton: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], rawToggleLabels: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], toggleRaw: [{
|
|
79
|
-
type: Output
|
|
80
|
-
}], copyButton: [{
|
|
81
|
-
type: ViewChild,
|
|
82
|
-
args: ['copyButton']
|
|
83
|
-
}], rawButton: [{
|
|
84
|
-
type: ViewChild,
|
|
85
|
-
args: ['rawButton']
|
|
86
|
-
}], tooltip: [{
|
|
87
|
-
type: ViewChild,
|
|
88
|
-
args: ['tooltip']
|
|
89
|
-
}], initializeTooltip: [{
|
|
90
|
-
type: HostListener,
|
|
91
|
-
args: ['mouseleave']
|
|
92
|
-
}] } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1jb2RlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItaGlnaGxpZ2h0L3NyYy9saWIvY29weS1jb2RlLWJ1dHRvbi9jb3B5LWNvZGUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1oaWdobGlnaHQvc3JjL2xpYi9jb3B5LWNvZGUtYnV0dG9uL2NvcHktY29kZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7O0FBaUJ2RCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLHFEQUFxRDtJQUM1QyxhQUFhLENBQVU7SUFDdkIsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ3JDOzs7O09BSUc7SUFDTSxnQkFBZ0IsR0FBdUIsRUFBRSxDQUFDO0lBRTFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsZUFBZSxHQUFzQixFQUFFLENBQUM7SUFFakQsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUVSLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRXpCLFVBQVUsQ0FBbUI7SUFDOUIsU0FBUyxDQUFtQjtJQUVwRCxJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsSUFBSSxXQUFXLENBQUM7UUFDdkQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxJQUFJLEtBQUssQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVxQixPQUFPLENBQWM7SUFFM0MsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLENBQUM7d0dBN0RVLHlCQUF5Qjs0RkFBekIseUJBQXlCLDRuQkMxQnRDLGk0QkFnQ0E7OzRGRE5hLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxxQkFBcUI7OEJBTXRCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQU1HLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBSUksU0FBUztzQkFBbEIsTUFBTTtnQkFFa0IsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNDLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFrQkEsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQVVwQixpQkFBaUI7c0JBRGhCLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgSG9zdExpc3RlbmVyLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IE1hdFRvb2x0aXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ29weUNvZGVUb29sdGlwcyB7XG4gIGNvcHk/OiBzdHJpbmc7XG4gIGNvcGllZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmF3VG9nZ2xlTGFiZWxzIHtcbiAgdmlld1Jhdz86IHN0cmluZztcbiAgdmlld0NvZGU/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWNvcHktY29kZS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29weS1jb2RlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvcHktY29kZS1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRDb3B5Q29kZUJ1dHRvbkNvbXBvbmVudCB7XG4gIC8vIHByaXZhdGUgX2NvcHlDb2RlVG9vbHRpcHM6IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG4gIEBJbnB1dCgpIGNvcGllZENvbnRlbnQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9DbGlwYm9hcmQgPSBmYWxzZTtcbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwc1xuICAgKlxuICAgKiBUb29sdGlwcyBmb3IgY29weSBidXR0b24gdG8gY29weSBhbmQgdXBvbiBjb3B5aW5nLlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG5cbiAgQElucHV0KCkgdG9nZ2xlUmF3QnV0dG9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJhd1RvZ2dsZUxhYmVscz86IElSYXdUb2dnbGVMYWJlbHMgPSB7fTtcblxuICByYXdUb2dnbGUgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdG9nZ2xlUmF3ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvcHlCdXR0b24nKSBjb3B5QnV0dG9uITogTWF0QnV0dG9uVG9nZ2xlO1xuICBAVmlld0NoaWxkKCdyYXdCdXR0b24nKSByYXdCdXR0b24hOiBNYXRCdXR0b25Ub2dnbGU7XG5cbiAgZ2V0IGNvcHlUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLmNvcHlDb2RlVG9vbHRpcHMgJiYgdGhpcy5jb3B5Q29kZVRvb2x0aXBzLmNvcHkpIHx8ICdDb3B5JztcbiAgfVxuXG4gIGdldCBjb3BpZWRUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLmNvcHlDb2RlVG9vbHRpcHMgJiYgdGhpcy5jb3B5Q29kZVRvb2x0aXBzLmNvcGllZCkgfHwgJ0NvcGllZCc7XG4gIH1cblxuICBnZXQgcmF3VG9nZ2xlVGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnJhd1RvZ2dsZSkge1xuICAgICAgcmV0dXJuIHRoaXMucmF3VG9nZ2xlTGFiZWxzPy52aWV3Q29kZSB8fCAnVmlldyBjb2RlJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMucmF3VG9nZ2xlTGFiZWxzPy52aWV3UmF3IHx8ICdSYXcnO1xuICAgIH1cbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXAnKSB0b29sdGlwITogTWF0VG9vbHRpcDtcblxuICB0ZXh0Q29waWVkKGV2ZW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnRvb2x0aXAuaGlkZSgpO1xuICAgICAgdGhpcy50b29sdGlwLm1lc3NhZ2UgPSB0aGlzLmNvcGllZFRvb2x0aXA7XG4gICAgICB0aGlzLnRvb2x0aXAuc2hvdygpO1xuICAgIH1cbiAgfVxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgaW5pdGlhbGl6ZVRvb2x0aXAoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnRvb2x0aXAubWVzc2FnZSA9IHRoaXMuY29weVRvb2x0aXA7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIHRvZ2dsZVJhd0NsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5yYXdUb2dnbGUgPSAhdGhpcy5yYXdUb2dnbGU7XG4gICAgdGhpcy50b2dnbGVSYXcuZW1pdCgpO1xuICAgIHRoaXMucmF3QnV0dG9uLmNoZWNrZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGNvcHlDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY29weUJ1dHRvbi5jaGVja2VkID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cFxuICBtdWx0aXBsZVxuICBjbGFzcz1cInJhdy1hbmQtY29weS1idXR0b25zXCJcbiAgKm5nSWY9XCJ0b2dnbGVSYXdCdXR0b247IGVsc2UgYnV0dG9uXCJcbj5cbiAgPG1hdC1idXR0b24tdG9nZ2xlIChjbGljayk9XCJ0b2dnbGVSYXdDbGlja2VkKClcIiAjcmF3QnV0dG9uPnt7XG4gICAgcmF3VG9nZ2xlVGV4dFxuICB9fTwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgIFtjZGtDb3B5VG9DbGlwYm9hcmRdPVwiY29waWVkQ29udGVudFwiXG4gICAgW21hdFRvb2x0aXBdPVwiY29weVRvb2x0aXBcIlxuICAgICN0b29sdGlwPVwibWF0VG9vbHRpcFwiXG4gICAgI2NvcHlCdXR0b25cbiAgICAoY2xpY2spPVwiY29weUNsaWNrZWQoKVwiXG4gICAgKGNka0NvcHlUb0NsaXBib2FyZENvcGllZCk9XCJ0ZXh0Q29waWVkKCRldmVudClcIlxuICA+XG4gICAgPG1hdC1pY29uIHdpZHRoPmNvbnRlbnRfY29weTwvbWF0LWljb24+XG4gIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG48L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuXG48bmctdGVtcGxhdGUgI2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFtjZGtDb3B5VG9DbGlwYm9hcmRdPVwiY29waWVkQ29udGVudFwiXG4gICAgY2xhc3M9XCJjb3B5LWJ1dHRvblwiXG4gICAgW21hdFRvb2x0aXBdPVwiY29weVRvb2x0aXBcIlxuICAgICN0b29sdGlwPVwibWF0VG9vbHRpcFwiXG4gICAgKGNka0NvcHlUb0NsaXBib2FyZENvcGllZCk9XCJ0ZXh0Q29waWVkKCRldmVudClcIlxuICA+XG4gICAgPG1hdC1pY29uIHJvbGU9XCJpbWdcIj5jb250ZW50X2NvcHk8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, Input, Output, EventEmitter, Renderer2, SecurityContext, ViewChild, ChangeDetectorRef, } from '@angular/core';
|
|
2
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
-
import { MatTooltip } from '@angular/material/tooltip';
|
|
4
|
-
import hljs from 'highlight.js';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/platform-browser";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "./copy-code-button/copy-code-button.component";
|
|
9
|
-
export class TdHighlightComponent {
|
|
10
|
-
_renderer;
|
|
11
|
-
_elementRef;
|
|
12
|
-
_domSanitizer;
|
|
13
|
-
cdr;
|
|
14
|
-
_initialized = false;
|
|
15
|
-
_content;
|
|
16
|
-
_lang = 'typescript';
|
|
17
|
-
_showRaw = false;
|
|
18
|
-
/**
|
|
19
|
-
* content?: string
|
|
20
|
-
*
|
|
21
|
-
* Code content to be parsed as highlighted html.
|
|
22
|
-
* Used to load data dynamically.
|
|
23
|
-
*
|
|
24
|
-
* e.g. `.html`, `.ts` , etc.
|
|
25
|
-
*/
|
|
26
|
-
set content(content) {
|
|
27
|
-
this._content = content;
|
|
28
|
-
if (this._initialized) {
|
|
29
|
-
this._loadContent(this._content);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* copyCodeToClipboard?: boolean
|
|
34
|
-
*
|
|
35
|
-
* Display copy button on code snippets to copy code to clipboard.
|
|
36
|
-
*/
|
|
37
|
-
copyCodeToClipboard = false;
|
|
38
|
-
/**
|
|
39
|
-
* copyCodeTooltips?: ICopyCodeTooltips
|
|
40
|
-
*
|
|
41
|
-
* Tooltips for copy button to copy and upon copying.
|
|
42
|
-
*/
|
|
43
|
-
copyCodeTooltips = {};
|
|
44
|
-
/**
|
|
45
|
-
* toggleRawButton?: boolean
|
|
46
|
-
*
|
|
47
|
-
* Display button to toggle raw code.
|
|
48
|
-
*/
|
|
49
|
-
toggleRawButton = false;
|
|
50
|
-
/**
|
|
51
|
-
* rawToggleLabels?: IRawToggleLabels
|
|
52
|
-
*
|
|
53
|
-
* Labels for raw toggle button.
|
|
54
|
-
*/
|
|
55
|
-
rawToggleLabels = {};
|
|
56
|
-
/**
|
|
57
|
-
* lang?: string
|
|
58
|
-
*
|
|
59
|
-
* Language of the code content to be parsed as highlighted html.
|
|
60
|
-
* Defaults to `typescript`
|
|
61
|
-
*
|
|
62
|
-
* e.g. `typescript`, `html` , etc.
|
|
63
|
-
*/
|
|
64
|
-
set codeLang(lang) {
|
|
65
|
-
this.setLanguage(lang);
|
|
66
|
-
}
|
|
67
|
-
/** @deprecated - removed completely @4.0.0 */
|
|
68
|
-
set lang(lang) {
|
|
69
|
-
// tslint:disable-next-line: no-console
|
|
70
|
-
console.warn('DEPRECATION WARNING: switch to codeLang attribute as lang attribute is deprecated.');
|
|
71
|
-
this.setLanguage(lang);
|
|
72
|
-
}
|
|
73
|
-
copyContent;
|
|
74
|
-
/**
|
|
75
|
-
* contentReady?: function
|
|
76
|
-
* Event emitted after the highlight content rendering is finished.
|
|
77
|
-
*/
|
|
78
|
-
contentReady = new EventEmitter();
|
|
79
|
-
highlightComp;
|
|
80
|
-
copyComp;
|
|
81
|
-
tooltip;
|
|
82
|
-
constructor(_renderer, _elementRef, _domSanitizer, cdr) {
|
|
83
|
-
this._renderer = _renderer;
|
|
84
|
-
this._elementRef = _elementRef;
|
|
85
|
-
this._domSanitizer = _domSanitizer;
|
|
86
|
-
this.cdr = cdr;
|
|
87
|
-
}
|
|
88
|
-
ngAfterViewChecked() {
|
|
89
|
-
this.cdr.detectChanges();
|
|
90
|
-
}
|
|
91
|
-
ngAfterViewInit() {
|
|
92
|
-
if (!this._content) {
|
|
93
|
-
this._content =
|
|
94
|
-
this.highlightComp.nativeElement.textContent || '';
|
|
95
|
-
}
|
|
96
|
-
this._loadContent(this._content);
|
|
97
|
-
this._initialized = true;
|
|
98
|
-
}
|
|
99
|
-
setLanguage(lang) {
|
|
100
|
-
if (!lang) {
|
|
101
|
-
throw new Error('Error: language attribute must be defined in TdHighlightComponent.');
|
|
102
|
-
}
|
|
103
|
-
this._lang = lang;
|
|
104
|
-
if (this._initialized) {
|
|
105
|
-
this._loadContent(this._content);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
toggleRawClicked() {
|
|
109
|
-
this._showRaw = !this._showRaw;
|
|
110
|
-
this._elementRef.nativeElement.querySelector('pre').style.display = this
|
|
111
|
-
._showRaw
|
|
112
|
-
? 'none'
|
|
113
|
-
: 'block';
|
|
114
|
-
this._elementRef.nativeElement.querySelector('.raw').style.display = this
|
|
115
|
-
._showRaw
|
|
116
|
-
? 'block'
|
|
117
|
-
: 'none';
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* General method to parse a string of code into HTML Elements and load them into the container
|
|
121
|
-
*/
|
|
122
|
-
_loadContent(code) {
|
|
123
|
-
if (code && code.trim().length > 0) {
|
|
124
|
-
// Clean container
|
|
125
|
-
this._renderer.setProperty(this._elementRef.nativeElement, 'innerHTML', '');
|
|
126
|
-
this._elementFromString(code);
|
|
127
|
-
if (this.copyCodeToClipboard) {
|
|
128
|
-
this._renderer.appendChild(this._elementRef.nativeElement, this.copyComp.nativeElement);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
this.contentReady.emit();
|
|
132
|
-
}
|
|
133
|
-
_elementFromString(codeStr) {
|
|
134
|
-
// Renderer2 doesnt have a parsing method, so we have to sanitize and use [innerHTML]
|
|
135
|
-
// to parse the string into DOM element for now.
|
|
136
|
-
const preElement = this._renderer.createElement('pre');
|
|
137
|
-
this._renderer.appendChild(this._elementRef.nativeElement, preElement);
|
|
138
|
-
const codeElement = this._renderer.createElement('code');
|
|
139
|
-
this._renderer.appendChild(preElement, codeElement);
|
|
140
|
-
// Set .highlight class into <code> element
|
|
141
|
-
this._renderer.addClass(codeElement, 'highlight');
|
|
142
|
-
const highlightedCode = this._render(codeStr);
|
|
143
|
-
codeElement.innerHTML =
|
|
144
|
-
this._domSanitizer.sanitize(SecurityContext.HTML, highlightedCode) ?? '';
|
|
145
|
-
if (this.toggleRawButton) {
|
|
146
|
-
const divElement = this._renderer.createElement('div');
|
|
147
|
-
divElement.className = 'raw';
|
|
148
|
-
this._renderer.appendChild(this._elementRef.nativeElement, divElement);
|
|
149
|
-
divElement.innerHTML =
|
|
150
|
-
this._domSanitizer.sanitize(SecurityContext.HTML, codeStr) ?? '';
|
|
151
|
-
this._renderer.setStyle(divElement, 'display', 'none');
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
_render(contents) {
|
|
155
|
-
// Trim leading and trailing newlines
|
|
156
|
-
contents = contents
|
|
157
|
-
.replace(/^(\s|\t)*\n+/g, '')
|
|
158
|
-
.replace(/(\s|\t)*\n+(\s|\t)*$/g, '');
|
|
159
|
-
// Split markup by line characters
|
|
160
|
-
let lines = contents.split('\n');
|
|
161
|
-
// check how much indentation is used by the first actual code line
|
|
162
|
-
const firstLineWhitespaceMatch = lines[0].match(/^(\s|\t)*/);
|
|
163
|
-
const firstLineWhitespace = firstLineWhitespaceMatch
|
|
164
|
-
? firstLineWhitespaceMatch[0]
|
|
165
|
-
: null;
|
|
166
|
-
// Remove all indentation spaces so code can be parsed correctly
|
|
167
|
-
const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);
|
|
168
|
-
lines = lines.map(function (line) {
|
|
169
|
-
return line
|
|
170
|
-
.replace('=""', '') // remove empty values
|
|
171
|
-
.replace(startingWhitespaceRegex, '')
|
|
172
|
-
.replace(/\s+$/, ''); // remove trailing white spaces
|
|
173
|
-
});
|
|
174
|
-
const codeToParse = lines
|
|
175
|
-
.join('\n')
|
|
176
|
-
.replace(/\{ \{/gi, '{{')
|
|
177
|
-
.replace(/\} \}/gi, '}}')
|
|
178
|
-
.replace(/</gi, '<')
|
|
179
|
-
.replace(/>/gi, '>'); // replace with < and > to render HTML in Angular
|
|
180
|
-
this.copyContent = codeToParse;
|
|
181
|
-
// Parse code with highlight.js depending on language
|
|
182
|
-
const highlightedCode = hljs.highlight(codeToParse, {
|
|
183
|
-
language: this._lang,
|
|
184
|
-
ignoreIllegals: true,
|
|
185
|
-
});
|
|
186
|
-
highlightedCode.value = highlightedCode.value
|
|
187
|
-
.replace(/=<span class="hljs-value">""<\/span>/gi, '')
|
|
188
|
-
.replace('<head>', '')
|
|
189
|
-
.replace('<head/>', '');
|
|
190
|
-
return highlightedCode.value;
|
|
191
|
-
}
|
|
192
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TdHighlightComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
193
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: TdHighlightComponent, selector: "td-highlight", inputs: { content: "content", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", toggleRawButton: "toggleRawButton", rawToggleLabels: "rawToggleLabels", codeLang: "codeLang", lang: "lang" }, outputs: { contentReady: "contentReady" }, viewQueries: [{ propertyName: "highlightComp", first: true, predicate: ["highlightComponent"], descendants: true }, { propertyName: "copyComp", first: true, predicate: ["copyComponent"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<div>\n <div #highlightComponent>\n <ng-content></ng-content>\n </div>\n\n <div #copyComponent *ngIf=\"copyCodeToClipboard\">\n <td-copy-code-button\n [toggleRawButton]=\"toggleRawButton\"\n [rawToggleLabels]=\"rawToggleLabels\"\n (toggleRaw)=\"toggleRawClicked()\"\n [copiedContent]=\"copyContent\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n ></td-copy-code-button>\n </div>\n</div>\n", styles: [":host ::ng-deep{overflow-x:auto;padding:16px;display:flex;position:relative}:host ::ng-deep pre,:host ::ng-deep code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace}:host ::ng-deep pre{display:block;overflow-x:auto;padding:0;margin:0;background:transparent;font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;line-height:1.45;tab-size:2;-webkit-font-smoothing:auto;-webkit-text-size-adjust:none;text-size-adjust:none;position:relative;border-radius:2px;font-size:.8rem;width:100%}:host ::ng-deep code{margin:0;padding:0;overflow-wrap:break-word;white-space:pre-wrap}:host ::ng-deep div.raw{flex-grow:1}:host ::ng-deep .highlight{display:block;overflow-wrap:break-word;margin:0;font-family:Menlo;font-size:12px;font-weight:400;line-height:20px}:host ::ng-deep .copy-button{border:none;background:inherit;margin-top:-8px;margin-right:-8px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TdCopyCodeButtonComponent, selector: "td-copy-code-button", inputs: ["copiedContent", "copyCodeToClipboard", "copyCodeTooltips", "toggleRawButton", "rawToggleLabels"], outputs: ["toggleRaw"] }] });
|
|
194
|
-
}
|
|
195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TdHighlightComponent, decorators: [{
|
|
196
|
-
type: Component,
|
|
197
|
-
args: [{ selector: 'td-highlight', template: "<div>\n <div #highlightComponent>\n <ng-content></ng-content>\n </div>\n\n <div #copyComponent *ngIf=\"copyCodeToClipboard\">\n <td-copy-code-button\n [toggleRawButton]=\"toggleRawButton\"\n [rawToggleLabels]=\"rawToggleLabels\"\n (toggleRaw)=\"toggleRawClicked()\"\n [copiedContent]=\"copyContent\"\n [copyCodeToClipboard]=\"copyCodeToClipboard\"\n [copyCodeTooltips]=\"copyCodeTooltips\"\n ></td-copy-code-button>\n </div>\n</div>\n", styles: [":host ::ng-deep{overflow-x:auto;padding:16px;display:flex;position:relative}:host ::ng-deep pre,:host ::ng-deep code{font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace}:host ::ng-deep pre{display:block;overflow-x:auto;padding:0;margin:0;background:transparent;font-family:Menlo,Monaco,Andale Mono,lucida console,Courier New,monospace;line-height:1.45;tab-size:2;-webkit-font-smoothing:auto;-webkit-text-size-adjust:none;text-size-adjust:none;position:relative;border-radius:2px;font-size:.8rem;width:100%}:host ::ng-deep code{margin:0;padding:0;overflow-wrap:break-word;white-space:pre-wrap}:host ::ng-deep div.raw{flex-grow:1}:host ::ng-deep .highlight{display:block;overflow-wrap:break-word;margin:0;font-family:Menlo;font-size:12px;font-weight:400;line-height:20px}:host ::ng-deep .copy-button{border:none;background:inherit;margin-top:-8px;margin-right:-8px}\n"] }]
|
|
198
|
-
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }], propDecorators: { content: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], copyCodeToClipboard: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], copyCodeTooltips: [{
|
|
203
|
-
type: Input
|
|
204
|
-
}], toggleRawButton: [{
|
|
205
|
-
type: Input
|
|
206
|
-
}], rawToggleLabels: [{
|
|
207
|
-
type: Input
|
|
208
|
-
}], codeLang: [{
|
|
209
|
-
type: Input
|
|
210
|
-
}], lang: [{
|
|
211
|
-
type: Input
|
|
212
|
-
}], contentReady: [{
|
|
213
|
-
type: Output
|
|
214
|
-
}], highlightComp: [{
|
|
215
|
-
type: ViewChild,
|
|
216
|
-
args: ['highlightComponent']
|
|
217
|
-
}], copyComp: [{
|
|
218
|
-
type: ViewChild,
|
|
219
|
-
args: ['copyComponent']
|
|
220
|
-
}], tooltip: [{
|
|
221
|
-
type: ViewChild,
|
|
222
|
-
args: ['tooltip']
|
|
223
|
-
}] } });
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1oaWdobGlnaHQvc3JjL2xpYi9oaWdobGlnaHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWhpZ2hsaWdodC9zcmMvbGliL2hpZ2hsaWdodC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsZUFBZSxFQUNmLFNBQVMsRUFDVCxpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU12RCxPQUFPLElBQXlCLE1BQU0sY0FBYyxDQUFDOzs7OztBQU9yRCxNQUFNLE9BQU8sb0JBQW9CO0lBd0ZyQjtJQUNBO0lBQ0E7SUFDQTtJQTFGRixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXJCLFFBQVEsQ0FBVTtJQUNsQixLQUFLLEdBQUcsWUFBWSxDQUFDO0lBRXJCLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFekI7Ozs7Ozs7T0FPRztJQUNILElBQ0ksT0FBTyxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ00sbUJBQW1CLEdBQUksS0FBSyxDQUFDO0lBRXRDOzs7O09BSUc7SUFDTSxnQkFBZ0IsR0FBdUIsRUFBRSxDQUFDO0lBRW5EOzs7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Q0gsUUFBUTtzQkFBbkMsU0FBUzt1QkFBQyxlQUFlO2dCQUVKLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBSZW5kZXJlcjIsXG4gIFNlY3VyaXR5Q29udGV4dCxcbiAgVmlld0NoaWxkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE1hdFRvb2x0aXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7XG4gIElDb3B5Q29kZVRvb2x0aXBzLFxuICBJUmF3VG9nZ2xlTGFiZWxzLFxufSBmcm9tICcuL2NvcHktY29kZS1idXR0b24vY29weS1jb2RlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5pbXBvcnQgaGxqcywgeyBIaWdobGlnaHRSZXN1bHQgfSBmcm9tICdoaWdobGlnaHQuanMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1oaWdobGlnaHQnLFxuICBzdHlsZVVybHM6IFsnLi9oaWdobGlnaHQuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2hpZ2hsaWdodC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFRkSGlnaGxpZ2h0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XG4gIHByaXZhdGUgX2luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfY29udGVudCE6IHN0cmluZztcbiAgcHJpdmF0ZSBfbGFuZyA9ICd0eXBlc2NyaXB0JztcblxuICBwcml2YXRlIF9zaG93UmF3ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGNvbnRlbnQ/OiBzdHJpbmdcbiAgICpcbiAgICogQ29kZSBjb250ZW50IHRvIGJlIHBhcnNlZCBhcyBoaWdobGlnaHRlZCBodG1sLlxuICAgKiBVc2VkIHRvIGxvYWQgZGF0YSBkeW5hbWljYWxseS5cbiAgICpcbiAgICogZS5nLiBgLmh0bWxgLCBgLnRzYCAsIGV0Yy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBjb250ZW50KGNvbnRlbnQ6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbnRlbnQgPSBjb250ZW50O1xuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fbG9hZENvbnRlbnQodGhpcy5fY29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9DbGlwYm9hcmQ/OiBib29sZWFuXG4gICAqXG4gICAqIERpc3BsYXkgY29weSBidXR0b24gb24gY29kZSBzbmlwcGV0cyB0byBjb3B5IGNvZGUgdG8gY2xpcGJvYXJkLlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb0NsaXBib2FyZD8gPSBmYWxzZTtcblxuICAvKipcbiAgICogY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzXG4gICAqXG4gICAqIFRvb2x0aXBzIGZvciBjb3B5IGJ1dHRvbiB0byBjb3B5IGFuZCB1cG9uIGNvcHlpbmcuXG4gICAqL1xuICBASW5wdXQoKSBjb3B5Q29kZVRvb2x0aXBzPzogSUNvcHlDb2RlVG9vbHRpcHMgPSB7fTtcblxuICAvKipcbiAgICogdG9nZ2xlUmF3QnV0dG9uPzogYm9vbGVhblxuICAgKlxuICAgKiBEaXNwbGF5IGJ1dHRvbiB0byB0b2dnbGUgcmF3IGNvZGUuXG4gICAqL1xuICBASW5wdXQoKSB0b2dnbGVSYXdCdXR0b24gPSBmYWxzZTtcblxuICAvKipcbiAgICogcmF3VG9nZ2xlTGFiZWxzPzogSVJhd1RvZ2dsZUxhYmVsc1xuICAgKlxuICAgKiBMYWJlbHMgZm9yIHJhdyB0b2dnbGUgYnV0dG9uLlxuICAgKi9cbiAgQElucHV0KCkgcmF3VG9nZ2xlTGFiZWxzPzogSVJhd1RvZ2dsZUxhYmVscyA9IHt9O1xuXG4gIC8qKlxuICAgKiBsYW5nPzogc3RyaW5nXG4gICAqXG4gICAqIExhbmd1YWdlIG9mIHRoZSBjb2RlIGNvbnRlbnQgdG8gYmUgcGFyc2VkIGFzIGhpZ2hsaWdodGVkIGh0bWwuXG4gICAqIERlZmF1bHRzIHRvIGB0eXBlc2NyaXB0YFxuICAgKlxuICAgKiBlLmcuIGB0eXBlc2NyaXB0YCwgYGh0bWxgICwgZXRjLlxuICAgKi9cblxuICBASW5wdXQoKVxuICBzZXQgY29kZUxhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRMYW5ndWFnZShsYW5nKTtcbiAgfVxuICAvKiogQGRlcHJlY2F0ZWQgLSByZW1vdmVkIGNvbXBsZXRlbHkgQDQuMC4wICovXG4gIEBJbnB1dCgpXG4gIHNldCBsYW5nKGxhbmc6IHN0cmluZykge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tY29uc29sZVxuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdERVBSRUNBVElPTiBXQVJOSU5HOiBzd2l0Y2ggdG8gY29kZUxhbmcgYXR0cmlidXRlIGFzIGxhbmcgYXR0cmlidXRlIGlzIGRlcHJlY2F0ZWQuJ1xuICAgICk7XG4gICAgdGhpcy5zZXRMYW5ndWFnZShsYW5nKTtcbiAgfVxuXG4gIGNvcHlDb250ZW50ITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBjb250ZW50UmVhZHk/OiBmdW5jdGlvblxuICAgKiBFdmVudCBlbWl0dGVkIGFmdGVyIHRoZSBoaWdobGlnaHQgY29udGVudCByZW5kZXJpbmcgaXMgZmluaXNoZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgY29udGVudFJlYWR5OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBWaWV3Q2hpbGQoJ2hpZ2hsaWdodENvbXBvbmVudCcpIGhpZ2hsaWdodENvbXAhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdjb3B5Q29tcG9uZW50JykgY29weUNvbXAhOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXAnKSB0b29sdGlwITogTWF0VG9vbHRpcDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY29udGVudCkge1xuICAgICAgdGhpcy5fY29udGVudCA9XG4gICAgICAgICg8SFRNTEVsZW1lbnQ+dGhpcy5oaWdobGlnaHRDb21wLm5hdGl2ZUVsZW1lbnQpLnRleHRDb250ZW50IHx8ICcnO1xuICAgIH1cbiAgICB0aGlzLl9sb2FkQ29udGVudCh0aGlzLl9jb250ZW50KTtcblxuICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIHNldExhbmd1YWdlKGxhbmc6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghbGFuZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnRXJyb3I6IGxhbmd1YWdlIGF0dHJpYnV0ZSBtdXN0IGJlIGRlZmluZWQgaW4gVGRIaWdobGlnaHRDb21wb25lbnQuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5fbGFuZyA9IGxhbmc7XG4gICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLl9sb2FkQ29udGVudCh0aGlzLl9jb250ZW50KTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVSYXdDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX3Nob3dSYXcgPSAhdGhpcy5fc2hvd1JhdztcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigncHJlJykuc3R5bGUuZGlzcGxheSA9IHRoaXNcbiAgICAgIC5fc2hvd1Jhd1xuICAgICAgPyAnbm9uZSdcbiAgICAgIDogJ2Jsb2NrJztcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnJhdycpLnN0eWxlLmRpc3BsYXkgPSB0aGlzXG4gICAgICAuX3Nob3dSYXdcbiAgICAgID8gJ2Jsb2NrJ1xuICAgICAgOiAnbm9uZSc7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhbCBtZXRob2QgdG8gcGFyc2UgYSBzdHJpbmcgb2YgY29kZSBpbnRvIEhUTUwgRWxlbWVudHMgYW5kIGxvYWQgdGhlbSBpbnRvIHRoZSBjb250YWluZXJcbiAgICovXG4gIHByaXZhdGUgX2xvYWRDb250ZW50KGNvZGU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoY29kZSAmJiBjb2RlLnRyaW0oKS5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBDbGVhbiBjb250YWluZXJcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdpbm5lckhUTUwnLFxuICAgICAgICAnJ1xuICAgICAgKTtcblxuICAgICAgdGhpcy5fZWxlbWVudEZyb21TdHJpbmcoY29kZSk7XG5cbiAgICAgIGlmICh0aGlzLmNvcHlDb2RlVG9DbGlwYm9hcmQpIHtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQoXG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgIHRoaXMuY29weUNvbXAubmF0aXZlRWxlbWVudFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNvbnRlbnRSZWFkeS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9lbGVtZW50RnJvbVN0cmluZyhjb2RlU3RyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBSZW5kZXJlcjIgZG9lc250IGhhdmUgYSBwYXJzaW5nIG1ldGhvZCwgc28gd2UgaGF2ZSB0byBzYW5pdGl6ZSBhbmQgdXNlIFtpbm5lckhUTUxdXG4gICAgLy8gdG8gcGFyc2UgdGhlIHN0cmluZyBpbnRvIERPTSBlbGVtZW50IGZvciBub3cuXG4gICAgY29uc3QgcHJlRWxlbWVudDogSFRNTFByZUVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdwcmUnKTtcbiAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHByZUVsZW1lbnQpO1xuICAgIGNvbnN0IGNvZGVFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2NvZGUnKTtcbiAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZChwcmVFbGVtZW50LCBjb2RlRWxlbWVudCk7XG4gICAgLy8gU2V0IC5oaWdobGlnaHQgY2xhc3MgaW50byA8Y29kZT4gZWxlbWVudFxuICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKGNvZGVFbGVtZW50LCAnaGlnaGxpZ2h0Jyk7XG5cbiAgICBjb25zdCBoaWdobGlnaHRlZENvZGUgPSB0aGlzLl9yZW5kZXIoY29kZVN0cik7XG5cbiAgICBjb2RlRWxlbWVudC5pbm5lckhUTUwgPVxuICAgICAgdGhpcy5fZG9tU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBoaWdobGlnaHRlZENvZGUpID8/ICcnO1xuXG4gICAgaWYgKHRoaXMudG9nZ2xlUmF3QnV0dG9uKSB7XG4gICAgICBjb25zdCBkaXZFbGVtZW50OiBIVE1MRGl2RWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgZGl2RWxlbWVudC5jbGFzc05hbWUgPSAncmF3JztcbiAgICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgZGl2RWxlbWVudCk7XG4gICAgICBkaXZFbGVtZW50LmlubmVySFRNTCA9XG4gICAgICAgIHRoaXMuX2RvbVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgY29kZVN0cikgPz8gJyc7XG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShkaXZFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyKGNvbnRlbnRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFRyaW0gbGVhZGluZyBhbmQgdHJhaWxpbmcgbmV3bGluZXNcbiAgICBjb250ZW50cyA9IGNvbnRlbnRzXG4gICAgICAucmVwbGFjZSgvXihcXHN8XFx0KSpcXG4rL2csICcnKVxuICAgICAgLnJlcGxhY2UoLyhcXHN8XFx0KSpcXG4rKFxcc3xcXHQpKiQvZywgJycpO1xuICAgIC8vIFNwbGl0IG1hcmt1cCBieSBsaW5lIGNoYXJhY3RlcnNcbiAgICBsZXQgbGluZXM6IHN0cmluZ1tdID0gY29udGVudHMuc3BsaXQoJ1xcbicpO1xuXG4gICAgLy8gY2hlY2sgaG93IG11Y2ggaW5kZW50YXRpb24gaXMgdXNlZCBieSB0aGUgZmlyc3QgYWN0dWFsIGNvZGUgbGluZVxuICAgIGNvbnN0IGZpcnN0TGluZVdoaXRlc3BhY2VNYXRjaCA9IGxpbmVzWzBdLm1hdGNoKC9eKFxcc3xcXHQpKi8pO1xuICAgIGNvbnN0IGZpcnN0TGluZVdoaXRlc3BhY2UgPSBmaXJzdExpbmVXaGl0ZXNwYWNlTWF0Y2hcbiAgICAgID8gZmlyc3RMaW5lV2hpdGVzcGFjZU1hdGNoWzBdXG4gICAgICA6IG51bGw7XG5cbiAgICAvLyBSZW1vdmUgYWxsIGluZGVudGF0aW9uIHNwYWNlcyBzbyBjb2RlIGNhbiBiZSBwYXJzZWQgY29ycmVjdGx5XG4gICAgY29uc3Qgc3RhcnRpbmdXaGl0ZXNwYWNlUmVnZXggPSBuZXcgUmVnRXhwKCdeJyArIGZpcnN0TGluZVdoaXRlc3BhY2UpO1xuICAgIGxpbmVzID0gbGluZXMubWFwKGZ1bmN0aW9uIChsaW5lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGxpbmVcbiAgICAgICAgLnJlcGxhY2UoJz1cIlwiJywgJycpIC8vIHJlbW92ZSBlbXB0eSB2YWx1ZXNcbiAgICAgICAgLnJlcGxhY2Uoc3RhcnRpbmdXaGl0ZXNwYWNlUmVnZXgsICcnKVxuICAgICAgICAucmVwbGFjZSgvXFxzKyQvLCAnJyk7IC8vIHJlbW92ZSB0cmFpbGluZyB3aGl0ZSBzcGFjZXNcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvZGVUb1BhcnNlOiBzdHJpbmcgPSBsaW5lc1xuICAgICAgLmpvaW4oJ1xcbicpXG4gICAgICAucmVwbGFjZSgvXFx7IFxcey9naSwgJ3t7JylcbiAgICAgIC5yZXBsYWNlKC9cXH0gXFx9L2dpLCAnfX0nKVxuICAgICAgLnJlcGxhY2UoLyZsdDsvZ2ksICc8JylcbiAgICAgIC5yZXBsYWNlKC8mZ3Q7L2dpLCAnPicpOyAvLyByZXBsYWNlIHdpdGggPCBhbmQgPiB0byByZW5kZXIgSFRNTCBpbiBBbmd1bGFyXG4gICAgdGhpcy5jb3B5Q29udGVudCA9IGNvZGVUb1BhcnNlO1xuICAgIC8vIFBhcnNlIGNvZGUgd2l0aCBoaWdobGlnaHQuanMgZGVwZW5kaW5nIG9uIGxhbmd1YWdlXG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRDb2RlOiBIaWdobGlnaHRSZXN1bHQgPSBobGpzLmhpZ2hsaWdodChjb2RlVG9QYXJzZSwge1xuICAgICAgbGFuZ3VhZ2U6IHRoaXMuX2xhbmcsXG4gICAgICBpZ25vcmVJbGxlZ2FsczogdHJ1ZSxcbiAgICB9KTtcbiAgICBoaWdobGlnaHRlZENvZGUudmFsdWUgPSBoaWdobGlnaHRlZENvZGUudmFsdWVcbiAgICAgIC5yZXBsYWNlKC89PHNwYW4gY2xhc3M9XCJobGpzLXZhbHVlXCI+XCJcIjxcXC9zcGFuPi9naSwgJycpXG4gICAgICAucmVwbGFjZSgnPGhlYWQ+JywgJycpXG4gICAgICAucmVwbGFjZSgnPGhlYWQvPicsICcnKTtcbiAgICByZXR1cm4gaGlnaGxpZ2h0ZWRDb2RlLnZhbHVlO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2ICNoaWdobGlnaHRDb21wb25lbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8ZGl2ICNjb3B5Q29tcG9uZW50ICpuZ0lmPVwiY29weUNvZGVUb0NsaXBib2FyZFwiPlxuICAgIDx0ZC1jb3B5LWNvZGUtYnV0dG9uXG4gICAgICBbdG9nZ2xlUmF3QnV0dG9uXT1cInRvZ2dsZVJhd0J1dHRvblwiXG4gICAgICBbcmF3VG9nZ2xlTGFiZWxzXT1cInJhd1RvZ2dsZUxhYmVsc1wiXG4gICAgICAodG9nZ2xlUmF3KT1cInRvZ2dsZVJhd0NsaWNrZWQoKVwiXG4gICAgICBbY29waWVkQ29udGVudF09XCJjb3B5Q29udGVudFwiXG4gICAgICBbY29weUNvZGVUb0NsaXBib2FyZF09XCJjb3B5Q29kZVRvQ2xpcGJvYXJkXCJcbiAgICAgIFtjb3B5Q29kZVRvb2x0aXBzXT1cImNvcHlDb2RlVG9vbHRpcHNcIlxuICAgID48L3RkLWNvcHktY29kZS1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ClipboardModule } from '@angular/cdk/clipboard';
|
|
4
|
-
import { TdHighlightComponent } from './highlight.component';
|
|
5
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
7
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
8
|
-
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
9
|
-
import { TdCopyCodeButtonComponent } from './copy-code-button/copy-code-button.component';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class CovalentHighlightModule {
|
|
12
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: CovalentHighlightModule, declarations: [TdHighlightComponent, TdCopyCodeButtonComponent], imports: [CommonModule,
|
|
14
|
-
ClipboardModule,
|
|
15
|
-
MatIconModule,
|
|
16
|
-
MatButtonToggleModule,
|
|
17
|
-
MatButtonModule,
|
|
18
|
-
MatTooltipModule,
|
|
19
|
-
MatButtonModule], exports: [TdHighlightComponent] });
|
|
20
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentHighlightModule, imports: [CommonModule,
|
|
21
|
-
ClipboardModule,
|
|
22
|
-
MatIconModule,
|
|
23
|
-
MatButtonToggleModule,
|
|
24
|
-
MatButtonModule,
|
|
25
|
-
MatTooltipModule,
|
|
26
|
-
MatButtonModule] });
|
|
27
|
-
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentHighlightModule, decorators: [{
|
|
29
|
-
type: NgModule,
|
|
30
|
-
args: [{
|
|
31
|
-
imports: [
|
|
32
|
-
CommonModule,
|
|
33
|
-
ClipboardModule,
|
|
34
|
-
MatIconModule,
|
|
35
|
-
MatButtonToggleModule,
|
|
36
|
-
MatButtonModule,
|
|
37
|
-
MatTooltipModule,
|
|
38
|
-
MatButtonModule,
|
|
39
|
-
],
|
|
40
|
-
declarations: [TdHighlightComponent, TdCopyCodeButtonComponent],
|
|
41
|
-
exports: [TdHighlightComponent],
|
|
42
|
-
}]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1oaWdobGlnaHQvc3JjL2xpYi9oaWdobGlnaHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQWUxRixNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1QixpQkFIbkIsb0JBQW9CLEVBQUUseUJBQXlCLGFBUjVELFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGVBQWUsYUFHUCxvQkFBb0I7eUdBRW5CLHVCQUF1QixZQVhoQyxZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixlQUFlOzs0RkFLTix1QkFBdUI7a0JBYm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3dCQUNiLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGVBQWU7cUJBQ2hCO29CQUNELFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDO29CQUMvRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENsaXBib2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgVGRIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuL2hpZ2hsaWdodC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHsgVGRDb3B5Q29kZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29weS1jb2RlLWJ1dHRvbi9jb3B5LWNvZGUtYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2xpcGJvYXJkTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbVGRIaWdobGlnaHRDb21wb25lbnQsIFRkQ29weUNvZGVCdXR0b25Db21wb25lbnRdLFxuICBleHBvcnRzOiBbVGRIaWdobGlnaHRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudEhpZ2hsaWdodE1vZHVsZSB7fVxuIl19
|
package/esm2022/public_api.mjs
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './lib/highlight.component';
|
|
2
|
-
export * from './lib/highlight.module';
|
|
3
|
-
export * from './lib/copy-code-button/copy-code-button.component';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1oaWdobGlnaHQvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbURBQW1ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9oaWdobGlnaHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hpZ2hsaWdodC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29weS1jb2RlLWJ1dHRvbi9jb3B5LWNvZGUtYnV0dG9uLmNvbXBvbmVudCc7XG4iXX0=
|