@covalent/highlight 3.1.2 → 4.0.0-beta.2

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.
@@ -6,9 +6,11 @@
6
6
  @mixin covalent-highlight-theme() {
7
7
  td-highlight {
8
8
  background: #1e1e21;
9
+
9
10
  .highlight {
10
11
  color: $light-primary-text;
11
12
  }
13
+
12
14
  .copy-button {
13
15
  color: $light-primary-text;
14
16
  }
@@ -52,6 +54,7 @@
52
54
  color: #dcdcaa;
53
55
  }
54
56
 
57
+ /* stylelint-disable selector-class-pattern */
55
58
  .hljs-built_in,
56
59
  .hljs-builtin-name,
57
60
  .hljs-type,
@@ -61,6 +64,7 @@
61
64
  .hljs-bullet {
62
65
  color: #4ec9b0;
63
66
  }
67
+ /* stylelint-enable selector-class-pattern */
64
68
 
65
69
  .hljs-number {
66
70
  color: #b5cea8;
@@ -1,4 +1,5 @@
1
1
  import { MatTooltip } from '@angular/material/tooltip';
2
+ import * as i0 from "@angular/core";
2
3
  export interface ICopyCodeTooltips {
3
4
  copy?: string;
4
5
  copied?: string;
@@ -17,4 +18,6 @@ export declare class TdCopyCodeButtonComponent {
17
18
  tooltip: MatTooltip;
18
19
  textCopied(event: boolean): void;
19
20
  initializeTooltip(): void;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<TdCopyCodeButtonComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<TdCopyCodeButtonComponent, "td-copy-code-button", never, { "copiedContent": "copiedContent"; "copyCodeToClipboard": "copyCodeToClipboard"; "copyCodeTooltips": "copyCodeTooltips"; }, {}, never, never>;
20
23
  }
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
+ /// <amd-module name="@covalent/highlight" />
4
5
  export * from './index';
@@ -0,0 +1,72 @@
1
+ import { Component, Input, ViewChild, HostListener } from '@angular/core';
2
+ import { MatTooltip } from '@angular/material/tooltip';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/button";
5
+ import * as i2 from "@angular/cdk/clipboard";
6
+ import * as i3 from "@angular/material/tooltip";
7
+ import * as i4 from "@angular/material/icon";
8
+ const _c0 = ["tooltip"];
9
+ export class TdCopyCodeButtonComponent {
10
+ constructor() {
11
+ this.copyCodeToClipboard = false;
12
+ /**
13
+ * copyCodeTooltips?: ICopyCodeTooltips
14
+ *
15
+ * Tooltips for copy button to copy and upon copying.
16
+ */
17
+ this.copyCodeTooltips = {};
18
+ }
19
+ get copyTooltip() {
20
+ return (this.copyCodeTooltips && this.copyCodeTooltips.copy) || 'Copy';
21
+ }
22
+ get copiedTooltip() {
23
+ return (this.copyCodeTooltips && this.copyCodeTooltips.copied) || 'Copied';
24
+ }
25
+ textCopied(event) {
26
+ if (event) {
27
+ this.tooltip.hide();
28
+ this.tooltip.message = this.copiedTooltip;
29
+ this.tooltip.show();
30
+ }
31
+ }
32
+ initializeTooltip() {
33
+ setTimeout(() => {
34
+ this.tooltip.message = this.copyTooltip;
35
+ }, 200);
36
+ }
37
+ }
38
+ /** @nocollapse */ /** @nocollapse */ TdCopyCodeButtonComponent.ɵfac = function TdCopyCodeButtonComponent_Factory(t) { return new (t || TdCopyCodeButtonComponent)(); };
39
+ /** @nocollapse */ /** @nocollapse */ TdCopyCodeButtonComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdCopyCodeButtonComponent, selectors: [["td-copy-code-button"]], viewQuery: function TdCopyCodeButtonComponent_Query(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵviewQuery(_c0, 5);
41
+ } if (rf & 2) {
42
+ let _t;
43
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltip = _t.first);
44
+ } }, hostBindings: function TdCopyCodeButtonComponent_HostBindings(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵlistener("mouseleave", function TdCopyCodeButtonComponent_mouseleave_HostBindingHandler() { return ctx.initializeTooltip(); });
46
+ } }, inputs: { copiedContent: "copiedContent", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips" }, decls: 4, vars: 2, consts: [["mat-icon-button", "", 1, "copy-button", 3, "cdkCopyToClipboard", "matTooltip", "cdkCopyToClipboardCopied"], ["tooltip", "matTooltip"], ["role", "img"]], template: function TdCopyCodeButtonComponent_Template(rf, ctx) { if (rf & 1) {
47
+ i0.ɵɵelementStart(0, "button", 0, 1);
48
+ i0.ɵɵlistener("cdkCopyToClipboardCopied", function TdCopyCodeButtonComponent_Template_button_cdkCopyToClipboardCopied_0_listener($event) { return ctx.textCopied($event); });
49
+ i0.ɵɵelementStart(2, "mat-icon", 2);
50
+ i0.ɵɵtext(3, "content_copy");
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementEnd();
53
+ } if (rf & 2) {
54
+ i0.ɵɵproperty("cdkCopyToClipboard", ctx.copiedContent)("matTooltip", ctx.copyTooltip);
55
+ } }, directives: [i1.MatButton, i2.CdkCopyToClipboard, i3.MatTooltip, i4.MatIcon], styles: [""] });
56
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdCopyCodeButtonComponent, [{
57
+ type: Component,
58
+ args: [{ selector: 'td-copy-code-button', template: "<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", styles: [""] }]
59
+ }], null, { copiedContent: [{
60
+ type: Input
61
+ }], copyCodeToClipboard: [{
62
+ type: Input
63
+ }], copyCodeTooltips: [{
64
+ type: Input
65
+ }], tooltip: [{
66
+ type: ViewChild,
67
+ args: ['tooltip']
68
+ }], initializeTooltip: [{
69
+ type: HostListener,
70
+ args: ['mouseleave']
71
+ }] }); })();
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1jb2RlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vaGlnaGxpZ2h0L2NvcHktY29kZS1idXR0b24vY29weS1jb2RlLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vaGlnaGxpZ2h0L2NvcHktY29kZS1idXR0b24vY29weS1jb2RlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7OztBQVl2RCxNQUFNLE9BQU8seUJBQXlCO0lBTHRDO1FBUVcsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQzlDOzs7O1dBSUc7UUFDTSxxQkFBZ0IsR0FBc0IsRUFBRSxDQUFDO0tBeUJuRDtJQXZCQyxJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUM7SUFDekUsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQztJQUM3RSxDQUFDO0lBSUQsVUFBVSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOzt3SUFqQ1UseUJBQXlCOzhIQUF6Qix5QkFBeUI7Ozs7OztnSEFBekIsdUJBQW1COztRQ2JoQyxvQ0FPQztRQURDLGtKQUE0QixzQkFBa0IsSUFBQztRQUUvQyxtQ0FBcUI7UUFBQSw0QkFBWTtRQUFBLGlCQUFXO1FBQzlDLGlCQUFTOztRQVBQLHNEQUFvQywrQkFBQTs7dUZEV3pCLHlCQUF5QjtjQUxyQyxTQUFTOzJCQUNFLHFCQUFxQjtnQkFNdEIsYUFBYTtrQkFBckIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQU1HLGdCQUFnQjtrQkFBeEIsS0FBSztZQVVnQixPQUFPO2tCQUE1QixTQUFTO21CQUFDLFNBQVM7WUFVcEIsaUJBQWlCO2tCQURoQixZQUFZO21CQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvcHlDb2RlVG9vbHRpcHMge1xuICBjb3B5Pzogc3RyaW5nO1xuICBjb3BpZWQ/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWNvcHktY29kZS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29weS1jb2RlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvcHktY29kZS1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRDb3B5Q29kZUJ1dHRvbkNvbXBvbmVudCB7XG4gIC8vIHByaXZhdGUgX2NvcHlDb2RlVG9vbHRpcHM6IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG4gIEBJbnB1dCgpIGNvcGllZENvbnRlbnQ6IHN0cmluZztcbiAgQElucHV0KCkgY29weUNvZGVUb0NsaXBib2FyZDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzXG4gICAqXG4gICAqIFRvb2x0aXBzIGZvciBjb3B5IGJ1dHRvbiB0byBjb3B5IGFuZCB1cG9uIGNvcHlpbmcuXG4gICAqL1xuICBASW5wdXQoKSBjb3B5Q29kZVRvb2x0aXBzOiBJQ29weUNvZGVUb29sdGlwcyA9IHt9O1xuXG4gIGdldCBjb3B5VG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5jb3B5Q29kZVRvb2x0aXBzICYmIHRoaXMuY29weUNvZGVUb29sdGlwcy5jb3B5KSB8fCAnQ29weSc7XG4gIH1cblxuICBnZXQgY29waWVkVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5jb3B5Q29kZVRvb2x0aXBzICYmIHRoaXMuY29weUNvZGVUb29sdGlwcy5jb3BpZWQpIHx8ICdDb3BpZWQnO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcpIHRvb2x0aXA6IE1hdFRvb2x0aXA7XG5cbiAgdGV4dENvcGllZChldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy50b29sdGlwLmhpZGUoKTtcbiAgICAgIHRoaXMudG9vbHRpcC5tZXNzYWdlID0gdGhpcy5jb3BpZWRUb29sdGlwO1xuICAgICAgdGhpcy50b29sdGlwLnNob3coKTtcbiAgICB9XG4gIH1cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIGluaXRpYWxpemVUb29sdGlwKCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy50b29sdGlwLm1lc3NhZ2UgPSB0aGlzLmNvcHlUb29sdGlwO1xuICAgIH0sIDIwMCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgbWF0LWljb24tYnV0dG9uXG4gIFtjZGtDb3B5VG9DbGlwYm9hcmRdPVwiY29waWVkQ29udGVudFwiXG4gIGNsYXNzPVwiY29weS1idXR0b25cIlxuICBbbWF0VG9vbHRpcF09XCJjb3B5VG9vbHRpcFwiXG4gICN0b29sdGlwPVwibWF0VG9vbHRpcFwiXG4gIChjZGtDb3B5VG9DbGlwYm9hcmRDb3BpZWQpPVwidGV4dENvcGllZCgkZXZlbnQpXCJcbj5cbiAgPG1hdC1pY29uIHJvbGU9XCJpbWdcIj5jb250ZW50X2NvcHk8L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtaGlnaGxpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2hpZ2hsaWdodC9jb3ZhbGVudC1oaWdobGlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,208 @@
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 * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/platform-browser";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "./copy-code-button/copy-code-button.component";
8
+ const _c0 = ["highlightComponent"];
9
+ const _c1 = ["copyComponent"];
10
+ const _c2 = ["tooltip"];
11
+ function TdHighlightComponent_div_4_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementStart(0, "div", null, 2);
13
+ i0.ɵɵelement(2, "td-copy-code-button", 3);
14
+ i0.ɵɵelementEnd();
15
+ } if (rf & 2) {
16
+ const ctx_r1 = i0.ɵɵnextContext();
17
+ i0.ɵɵadvance(2);
18
+ i0.ɵɵproperty("copiedContent", ctx_r1.copyContent)("copyCodeToClipboard", ctx_r1.copyCodeToClipboard)("copyCodeTooltips", ctx_r1.copyCodeTooltips);
19
+ } }
20
+ const _c3 = ["*"];
21
+ /* tslint:disable-next-line */
22
+ let hljs = require('highlight.js/lib');
23
+ export class TdHighlightComponent {
24
+ constructor(_renderer, _elementRef, _domSanitizer, cdr) {
25
+ this._renderer = _renderer;
26
+ this._elementRef = _elementRef;
27
+ this._domSanitizer = _domSanitizer;
28
+ this.cdr = cdr;
29
+ this._initialized = false;
30
+ this._lang = 'typescript';
31
+ /**
32
+ * copyCodeToClipboard?: boolean
33
+ *
34
+ * Display copy button on code snippets to copy code to clipboard.
35
+ */
36
+ this.copyCodeToClipboard = false;
37
+ /**
38
+ * copyCodeTooltips?: ICopyCodeTooltips
39
+ *
40
+ * Tooltips for copy button to copy and upon copying.
41
+ */
42
+ this.copyCodeTooltips = {};
43
+ /**
44
+ * contentReady?: function
45
+ * Event emitted after the highlight content rendering is finished.
46
+ */
47
+ this.contentReady = new EventEmitter();
48
+ }
49
+ /**
50
+ * content?: string
51
+ *
52
+ * Code content to be parsed as highlighted html.
53
+ * Used to load data dynamically.
54
+ *
55
+ * e.g. `.html`, `.ts` , etc.
56
+ */
57
+ set content(content) {
58
+ this._content = content;
59
+ if (this._initialized) {
60
+ this._loadContent(this._content);
61
+ }
62
+ }
63
+ /**
64
+ * lang?: string
65
+ *
66
+ * Language of the code content to be parsed as highlighted html.
67
+ * Defaults to `typescript`
68
+ *
69
+ * e.g. `typescript`, `html` , etc.
70
+ */
71
+ set codeLang(lang) {
72
+ this.setLanguage(lang);
73
+ }
74
+ /** @deprecated - removed completely @4.0.0 */
75
+ set lang(lang) {
76
+ // tslint:disable-next-line: no-console
77
+ console.warn('DEPRECATION WARNING: switch to codeLang attribute as lang attribute is deprecated.');
78
+ this.setLanguage(lang);
79
+ }
80
+ ngAfterViewChecked() {
81
+ this.cdr.detectChanges();
82
+ }
83
+ ngAfterViewInit() {
84
+ if (!this._content) {
85
+ this._loadContent(this.highlightComp.nativeElement.textContent);
86
+ }
87
+ else {
88
+ this._loadContent(this._content);
89
+ }
90
+ this._initialized = true;
91
+ }
92
+ setLanguage(lang) {
93
+ if (!lang) {
94
+ throw new Error('Error: language attribute must be defined in TdHighlightComponent.');
95
+ }
96
+ this._lang = lang;
97
+ if (this._initialized) {
98
+ this._loadContent(this._content);
99
+ }
100
+ }
101
+ /**
102
+ * General method to parse a string of code into HTML Elements and load them into the container
103
+ */
104
+ _loadContent(code) {
105
+ if (code && code.trim().length > 0) {
106
+ // Clean container
107
+ this._renderer.setProperty(this._elementRef.nativeElement, 'innerHTML', '');
108
+ // Parse html string into actual HTML elements.
109
+ this._elementFromString(this._render(code));
110
+ if (this.copyCodeToClipboard) {
111
+ this._renderer.appendChild(this._elementRef.nativeElement, this.copyComp.nativeElement);
112
+ }
113
+ }
114
+ this.contentReady.emit();
115
+ }
116
+ _elementFromString(codeStr) {
117
+ // Renderer2 doesnt have a parsing method, so we have to sanitize and use [innerHTML]
118
+ // to parse the string into DOM element for now.
119
+ const preElement = this._renderer.createElement('pre');
120
+ this._renderer.appendChild(this._elementRef.nativeElement, preElement);
121
+ const codeElement = this._renderer.createElement('code');
122
+ this._renderer.appendChild(preElement, codeElement);
123
+ // Set .highlight class into <code> element
124
+ this._renderer.addClass(codeElement, 'highlight');
125
+ codeElement.innerHTML = this._domSanitizer.sanitize(SecurityContext.HTML, codeStr);
126
+ return preElement;
127
+ }
128
+ _render(contents) {
129
+ // Trim leading and trailing newlines
130
+ contents = contents.replace(/^(\s|\t)*\n+/g, '').replace(/(\s|\t)*\n+(\s|\t)*$/g, '');
131
+ // Split markup by line characters
132
+ let lines = contents.split('\n');
133
+ // check how much indentation is used by the first actual code line
134
+ const firstLineWhitespace = lines[0].match(/^(\s|\t)*/)[0];
135
+ // Remove all indentation spaces so code can be parsed correctly
136
+ const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);
137
+ lines = lines.map(function (line) {
138
+ return line
139
+ .replace('=""', '') // remove empty values
140
+ .replace(startingWhitespaceRegex, '')
141
+ .replace(/\s+$/, ''); // remove trailing white spaces
142
+ });
143
+ const codeToParse = lines
144
+ .join('\n')
145
+ .replace(/\{ \{/gi, '{{')
146
+ .replace(/\} \}/gi, '}}')
147
+ .replace(/&lt;/gi, '<')
148
+ .replace(/&gt;/gi, '>'); // replace with < and > to render HTML in Angular
149
+ this.copyContent = codeToParse;
150
+ // Parse code with highlight.js depending on language
151
+ const highlightedCode = hljs.highlight(this._lang, codeToParse, true);
152
+ highlightedCode.value = highlightedCode.value
153
+ .replace(/=<span class="hljs-value">""<\/span>/gi, '')
154
+ .replace('<head>', '')
155
+ .replace('<head/>', '');
156
+ return highlightedCode.value;
157
+ }
158
+ }
159
+ /** @nocollapse */ /** @nocollapse */ TdHighlightComponent.ɵfac = function TdHighlightComponent_Factory(t) { return new (t || TdHighlightComponent)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.DomSanitizer), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
160
+ /** @nocollapse */ /** @nocollapse */ TdHighlightComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: TdHighlightComponent, selectors: [["td-highlight"]], viewQuery: function TdHighlightComponent_Query(rf, ctx) { if (rf & 1) {
161
+ i0.ɵɵviewQuery(_c0, 5);
162
+ i0.ɵɵviewQuery(_c1, 5);
163
+ i0.ɵɵviewQuery(_c2, 5);
164
+ } if (rf & 2) {
165
+ let _t;
166
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.highlightComp = _t.first);
167
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.copyComp = _t.first);
168
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltip = _t.first);
169
+ } }, inputs: { content: "content", copyCodeToClipboard: "copyCodeToClipboard", copyCodeTooltips: "copyCodeTooltips", codeLang: "codeLang", lang: "lang" }, outputs: { contentReady: "contentReady" }, ngContentSelectors: _c3, decls: 5, vars: 1, consts: [["highlightComponent", ""], [4, "ngIf"], ["copyComponent", ""], [3, "copiedContent", "copyCodeToClipboard", "copyCodeTooltips"]], template: function TdHighlightComponent_Template(rf, ctx) { if (rf & 1) {
170
+ i0.ɵɵprojectionDef();
171
+ i0.ɵɵelementStart(0, "div");
172
+ i0.ɵɵelementStart(1, "div", null, 0);
173
+ i0.ɵɵprojection(3);
174
+ i0.ɵɵelementEnd();
175
+ i0.ɵɵtemplate(4, TdHighlightComponent_div_4_Template, 3, 3, "div", 1);
176
+ i0.ɵɵelementEnd();
177
+ } if (rf & 2) {
178
+ i0.ɵɵadvance(4);
179
+ i0.ɵɵproperty("ngIf", ctx.copyCodeToClipboard);
180
+ } }, directives: [i2.NgIf, i3.TdCopyCodeButtonComponent], styles: ["[_nghost-%COMP%] {overflow-x:auto;padding:16px;display:-ms-flexbox;display:flex}[_nghost-%COMP%] pre, [_nghost-%COMP%] code, [_nghost-%COMP%] .highlight{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;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-font-smoothing:auto;-webkit-text-size-adjust:none;-moz-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%] .highlight{display:block;overflow-wrap:break-word;line-height:1.5;margin:0}[_nghost-%COMP%] .copy-button{border:none;background:inherit;margin-top:-8px;margin-right:-8px}"] });
181
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TdHighlightComponent, [{
182
+ type: Component,
183
+ 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 [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:-ms-flexbox;display:flex}:host ::ng-deep pre,:host ::ng-deep code,:host ::ng-deep .highlight{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;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-font-smoothing:auto;-webkit-text-size-adjust:none;-moz-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 .highlight{display:block;overflow-wrap:break-word;line-height:1.5;margin:0}:host ::ng-deep .copy-button{border:none;background:inherit;margin-top:-8px;margin-right:-8px}\n"] }]
184
+ }], function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }]; }, { content: [{
185
+ type: Input,
186
+ args: ['content']
187
+ }], copyCodeToClipboard: [{
188
+ type: Input
189
+ }], copyCodeTooltips: [{
190
+ type: Input
191
+ }], codeLang: [{
192
+ type: Input,
193
+ args: ['codeLang']
194
+ }], lang: [{
195
+ type: Input
196
+ }], contentReady: [{
197
+ type: Output
198
+ }], highlightComp: [{
199
+ type: ViewChild,
200
+ args: ['highlightComponent']
201
+ }], copyComp: [{
202
+ type: ViewChild,
203
+ args: ['copyComponent']
204
+ }], tooltip: [{
205
+ type: ViewChild,
206
+ args: ['tooltip']
207
+ }] }); })();
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9oaWdobGlnaHQvaGlnaGxpZ2h0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9oaWdobGlnaHQvaGlnaGxpZ2h0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUNULGlCQUFpQixHQUdsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7SUNWckQsb0NBQWdEO0lBQzlDLHlDQUl1QjtJQUN6QixpQkFBTTs7O0lBSkYsZUFBNkI7SUFBN0Isa0RBQTZCLG1EQUFBLDZDQUFBOzs7QURZbkMsOEJBQThCO0FBQzlCLElBQUksSUFBSSxHQUFRLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBTzVDLE1BQU0sT0FBTyxvQkFBb0I7SUFxRS9CLFlBQ1UsU0FBb0IsRUFDcEIsV0FBdUIsRUFDdkIsYUFBMkIsRUFDM0IsR0FBc0I7UUFIdEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXhFeEIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFHOUIsVUFBSyxHQUFXLFlBQVksQ0FBQztRQWtCckM7Ozs7V0FJRztRQUNNLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUU5Qzs7OztXQUlHO1FBQ00scUJBQWdCLEdBQXNCLEVBQUUsQ0FBQztRQXlC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cG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBSZW5kZXJlcjIsXG4gIFNlY3VyaXR5Q29udGV4dCxcbiAgVmlld0NoaWxkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBJQ29weUNvZGVUb29sdGlwcyB9IGZyb20gJy4nO1xuXG5kZWNsYXJlIGNvbnN0IHJlcXVpcmU6IGFueTtcbi8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSAqL1xubGV0IGhsanM6IGFueSA9IHJlcXVpcmUoJ2hpZ2hsaWdodC5qcy9saWInKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtaGlnaGxpZ2h0JyxcbiAgc3R5bGVVcmxzOiBbJy4vaGlnaGxpZ2h0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9oaWdobGlnaHQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUZEhpZ2hsaWdodENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuICBwcml2YXRlIF9pbml0aWFsaXplZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2NvbnRlbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfbGFuZzogc3RyaW5nID0gJ3R5cGVzY3JpcHQnO1xuXG4gIC8qKlxuICAgKiBjb250ZW50Pzogc3RyaW5nXG4gICAqXG4gICAqIENvZGUgY29udGVudCB0byBiZSBwYXJzZWQgYXMgaGlnaGxpZ2h0ZWQgaHRtbC5cbiAgICogVXNlZCB0byBsb2FkIGRhdGEgZHluYW1pY2FsbHkuXG4gICAqXG4gICAqIGUuZy4gYC5odG1sYCwgYC50c2AgLCBldGMuXG4gICAqL1xuICBASW5wdXQoJ2NvbnRlbnQnKVxuICBzZXQgY29udGVudChjb250ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb250ZW50ID0gY29udGVudDtcbiAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2xvYWRDb250ZW50KHRoaXMuX2NvbnRlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBjb3B5Q29kZVRvQ2xpcGJvYXJkPzogYm9vbGVhblxuICAgKlxuICAgKiBEaXNwbGF5IGNvcHkgYnV0dG9uIG9uIGNvZGUgc25pcHBldHMgdG8gY29weSBjb2RlIHRvIGNsaXBib2FyZC5cbiAgICovXG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9DbGlwYm9hcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzXG4gICAqXG4gICAqIFRvb2x0aXBzIGZvciBjb3B5IGJ1dHRvbiB0byBjb3B5IGFuZCB1cG9uIGNvcHlpbmcuXG4gICAqL1xuICBASW5wdXQoKSBjb3B5Q29kZVRvb2x0aXBzOiBJQ29weUNvZGVUb29sdGlwcyA9IHt9O1xuXG4gIC8qKlxuICAgKiBsYW5nPzogc3RyaW5nXG4gICAqXG4gICAqIExhbmd1YWdlIG9mIHRoZSBjb2RlIGNvbnRlbnQgdG8gYmUgcGFyc2VkIGFzIGhpZ2hsaWdodGVkIGh0bWwuXG4gICAqIERlZmF1bHRzIHRvIGB0eXBlc2NyaXB0YFxuICAgKlxuICAgKiBlLmcuIGB0eXBlc2NyaXB0YCwgYGh0bWxgICwgZXRjLlxuICAgKi9cblxuICBASW5wdXQoJ2NvZGVMYW5nJylcbiAgc2V0IGNvZGVMYW5nKGxhbmc6IHN0cmluZykge1xuICAgIHRoaXMuc2V0TGFuZ3VhZ2UobGFuZyk7XG4gIH1cbiAgLyoqIEBkZXByZWNhdGVkIC0gcmVtb3ZlZCBjb21wbGV0ZWx5IEA0LjAuMCAqL1xuICBASW5wdXQoKVxuICBzZXQgbGFuZyhsYW5nOiBzdHJpbmcpIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLndhcm4oJ0RFUFJFQ0FUSU9OIFdBUk5JTkc6IHN3aXRjaCB0byBjb2RlTGFuZyBhdHRyaWJ1dGUgYXMgbGFuZyBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4nKTtcbiAgICB0aGlzLnNldExhbmd1YWdlKGxhbmcpO1xuICB9XG5cbiAgY29weUNvbnRlbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogY29udGVudFJlYWR5PzogZnVuY3Rpb25cbiAgICogRXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgaGlnaGxpZ2h0IGNvbnRlbnQgcmVuZGVyaW5nIGlzIGZpbmlzaGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGNvbnRlbnRSZWFkeTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAVmlld0NoaWxkKCdoaWdobGlnaHRDb21wb25lbnQnKSBoaWdobGlnaHRDb21wOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdjb3B5Q29tcG9uZW50JykgY29weUNvbXA6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcpIHRvb2x0aXA6IE1hdFRvb2x0aXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jb250ZW50KSB7XG4gICAgICB0aGlzLl9sb2FkQ29udGVudCgoPEhUTUxFbGVtZW50PnRoaXMuaGlnaGxpZ2h0Q29tcC5uYXRpdmVFbGVtZW50KS50ZXh0Q29udGVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2xvYWRDb250ZW50KHRoaXMuX2NvbnRlbnQpO1xuICAgIH1cbiAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBzZXRMYW5ndWFnZShsYW5nOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIWxhbmcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXJyb3I6IGxhbmd1YWdlIGF0dHJpYnV0ZSBtdXN0IGJlIGRlZmluZWQgaW4gVGRIaWdobGlnaHRDb21wb25lbnQuJyk7XG4gICAgfVxuICAgIHRoaXMuX2xhbmcgPSBsYW5nO1xuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fbG9hZENvbnRlbnQodGhpcy5fY29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYWwgbWV0aG9kIHRvIHBhcnNlIGEgc3RyaW5nIG9mIGNvZGUgaW50byBIVE1MIEVsZW1lbnRzIGFuZCBsb2FkIHRoZW0gaW50byB0aGUgY29udGFpbmVyXG4gICAqL1xuICBwcml2YXRlIF9sb2FkQ29udGVudChjb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoY29kZSAmJiBjb2RlLnRyaW0oKS5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBDbGVhbiBjb250YWluZXJcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lubmVySFRNTCcsICcnKTtcbiAgICAgIC8vIFBhcnNlIGh0bWwgc3RyaW5nIGludG8gYWN0dWFsIEhUTUwgZWxlbWVudHMuXG4gICAgICB0aGlzLl9lbGVtZW50RnJvbVN0cmluZyh0aGlzLl9yZW5kZXIoY29kZSkpO1xuICAgICAgaWYgKHRoaXMuY29weUNvZGVUb0NsaXBib2FyZCkge1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29weUNvbXAubmF0aXZlRWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY29udGVudFJlYWR5LmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2VsZW1lbnRGcm9tU3RyaW5nKGNvZGVTdHI6IHN0cmluZyk6IEhUTUxQcmVFbGVtZW50IHtcbiAgICAvLyBSZW5kZXJlcjIgZG9lc250IGhhdmUgYSBwYXJzaW5nIG1ldGhvZCwgc28gd2UgaGF2ZSB0byBzYW5pdGl6ZSBhbmQgdXNlIFtpbm5lckhUTUxdXG4gICAgLy8gdG8gcGFyc2UgdGhlIHN0cmluZyBpbnRvIERPTSBlbGVtZW50IGZvciBub3cuXG4gICAgY29uc3QgcHJlRWxlbWVudDogSFRNTFByZUVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdwcmUnKTtcbiAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHByZUVsZW1lbnQpO1xuICAgIGNvbnN0IGNvZGVFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2NvZGUnKTtcbiAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZChwcmVFbGVtZW50LCBjb2RlRWxlbWVudCk7XG4gICAgLy8gU2V0IC5oaWdobGlnaHQgY2xhc3MgaW50byA8Y29kZT4gZWxlbWVudFxuICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKGNvZGVFbGVtZW50LCAnaGlnaGxpZ2h0Jyk7XG4gICAgY29kZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5fZG9tU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBjb2RlU3RyKTtcbiAgICByZXR1cm4gcHJlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlcihjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUcmltIGxlYWRpbmcgYW5kIHRyYWlsaW5nIG5ld2xpbmVzXG4gICAgY29udGVudHMgPSBjb250ZW50cy5yZXBsYWNlKC9eKFxcc3xcXHQpKlxcbisvZywgJycpLnJlcGxhY2UoLyhcXHN8XFx0KSpcXG4rKFxcc3xcXHQpKiQvZywgJycpO1xuICAgIC8vIFNwbGl0IG1hcmt1cCBieSBsaW5lIGNoYXJhY3RlcnNcbiAgICBsZXQgbGluZXM6IHN0cmluZ1tdID0gY29udGVudHMuc3BsaXQoJ1xcbicpO1xuXG4gICAgLy8gY2hlY2sgaG93IG11Y2ggaW5kZW50YXRpb24gaXMgdXNlZCBieSB0aGUgZmlyc3QgYWN0dWFsIGNvZGUgbGluZVxuICAgIGNvbnN0IGZpcnN0TGluZVdoaXRlc3BhY2U6IHN0cmluZyA9IGxpbmVzWzBdLm1hdGNoKC9eKFxcc3xcXHQpKi8pWzBdO1xuXG4gICAgLy8gUmVtb3ZlIGFsbCBpbmRlbnRhdGlvbiBzcGFjZXMgc28gY29kZSBjYW4gYmUgcGFyc2VkIGNvcnJlY3RseVxuICAgIGNvbnN0IHN0YXJ0aW5nV2hpdGVzcGFjZVJlZ2V4OiBSZWdFeHAgPSBuZXcgUmVnRXhwKCdeJyArIGZpcnN0TGluZVdoaXRlc3BhY2UpO1xuICAgIGxpbmVzID0gbGluZXMubWFwKGZ1bmN0aW9uIChsaW5lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGxpbmVcbiAgICAgICAgLnJlcGxhY2UoJz1cIlwiJywgJycpIC8vIHJlbW92ZSBlbXB0eSB2YWx1ZXNcbiAgICAgICAgLnJlcGxhY2Uoc3RhcnRpbmdXaGl0ZXNwYWNlUmVnZXgsICcnKVxuICAgICAgICAucmVwbGFjZSgvXFxzKyQvLCAnJyk7IC8vIHJlbW92ZSB0cmFpbGluZyB3aGl0ZSBzcGFjZXNcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvZGVUb1BhcnNlOiBzdHJpbmcgPSBsaW5lc1xuICAgICAgLmpvaW4oJ1xcbicpXG4gICAgICAucmVwbGFjZSgvXFx7IFxcey9naSwgJ3t7JylcbiAgICAgIC5yZXBsYWNlKC9cXH0gXFx9L2dpLCAnfX0nKVxuICAgICAgLnJlcGxhY2UoLyZsdDsvZ2ksICc8JylcbiAgICAgIC5yZXBsYWNlKC8mZ3Q7L2dpLCAnPicpOyAvLyByZXBsYWNlIHdpdGggPCBhbmQgPiB0byByZW5kZXIgSFRNTCBpbiBBbmd1bGFyXG4gICAgdGhpcy5jb3B5Q29udGVudCA9IGNvZGVUb1BhcnNlO1xuICAgIC8vIFBhcnNlIGNvZGUgd2l0aCBoaWdobGlnaHQuanMgZGVwZW5kaW5nIG9uIGxhbmd1YWdlXG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRDb2RlOiBhbnkgPSBobGpzLmhpZ2hsaWdodCh0aGlzLl9sYW5nLCBjb2RlVG9QYXJzZSwgdHJ1ZSk7XG4gICAgaGlnaGxpZ2h0ZWRDb2RlLnZhbHVlID0gaGlnaGxpZ2h0ZWRDb2RlLnZhbHVlXG4gICAgICAucmVwbGFjZSgvPTxzcGFuIGNsYXNzPVwiaGxqcy12YWx1ZVwiPlwiXCI8XFwvc3Bhbj4vZ2ksICcnKVxuICAgICAgLnJlcGxhY2UoJzxoZWFkPicsICcnKVxuICAgICAgLnJlcGxhY2UoJzxoZWFkLz4nLCAnJyk7XG4gICAgcmV0dXJuIGhpZ2hsaWdodGVkQ29kZS52YWx1ZTtcbiAgfVxufVxuIiwiPGRpdj5cbiAgPGRpdiAjaGlnaGxpZ2h0Q29tcG9uZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG5cbiAgPGRpdiAjY29weUNvbXBvbmVudCAqbmdJZj1cImNvcHlDb2RlVG9DbGlwYm9hcmRcIj5cbiAgICA8dGQtY29weS1jb2RlLWJ1dHRvblxuICAgICAgW2NvcGllZENvbnRlbnRdPVwiY29weUNvbnRlbnRcIlxuICAgICAgW2NvcHlDb2RlVG9DbGlwYm9hcmRdPVwiY29weUNvZGVUb0NsaXBib2FyZFwiXG4gICAgICBbY29weUNvZGVUb29sdGlwc109XCJjb3B5Q29kZVRvb2x0aXBzXCJcbiAgICA+PC90ZC1jb3B5LWNvZGUtYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,24 @@
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 { TdCopyCodeButtonComponent } from './copy-code-button/copy-code-button.component';
9
+ import * as i0 from "@angular/core";
10
+ export class CovalentHighlightModule {
11
+ }
12
+ /** @nocollapse */ /** @nocollapse */ CovalentHighlightModule.ɵfac = function CovalentHighlightModule_Factory(t) { return new (t || CovalentHighlightModule)(); };
13
+ /** @nocollapse */ /** @nocollapse */ CovalentHighlightModule.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: CovalentHighlightModule });
14
+ /** @nocollapse */ /** @nocollapse */ CovalentHighlightModule.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ imports: [[CommonModule, ClipboardModule, MatIconModule, MatTooltipModule, MatButtonModule]] });
15
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CovalentHighlightModule, [{
16
+ type: NgModule,
17
+ args: [{
18
+ imports: [CommonModule, ClipboardModule, MatIconModule, MatTooltipModule, MatButtonModule],
19
+ declarations: [TdHighlightComponent, TdCopyCodeButtonComponent],
20
+ exports: [TdHighlightComponent],
21
+ }]
22
+ }], null, null); })();
23
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentHighlightModule, { declarations: [TdHighlightComponent, TdCopyCodeButtonComponent], imports: [CommonModule, ClipboardModule, MatIconModule, MatTooltipModule, MatButtonModule], exports: [TdHighlightComponent] }); })();
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9oaWdobGlnaHQvaGlnaGxpZ2h0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFPMUYsTUFBTSxPQUFPLHVCQUF1Qjs7b0lBQXZCLHVCQUF1QjsySEFBdkIsdUJBQXVCOytIQUp6QixDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQzt1RkFJL0UsdUJBQXVCO2NBTG5DLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUM7Z0JBQzFGLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDO2dCQUMvRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUNoQzs7d0ZBQ1ksdUJBQXVCLG1CQUhuQixvQkFBb0IsRUFBRSx5QkFBeUIsYUFEcEQsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxhQUUvRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENsaXBib2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgVGRIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuL2hpZ2hsaWdodC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IFRkQ29weUNvZGVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvcHktY29kZS1idXR0b24vY29weS1jb2RlLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDbGlwYm9hcmRNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1RkSGlnaGxpZ2h0Q29tcG9uZW50LCBUZENvcHlDb2RlQnV0dG9uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1RkSGlnaGxpZ2h0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRIaWdobGlnaHRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './public_api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vaGlnaGxpZ2h0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './highlight.component';
2
+ export * from './highlight.module';
3
+ export * from './copy-code-button/copy-code-button.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbGF0Zm9ybS9oaWdobGlnaHQvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywrQ0FBK0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGlnaGxpZ2h0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hpZ2hsaWdodC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3B5LWNvZGUtYnV0dG9uL2NvcHktY29kZS1idXR0b24uY29tcG9uZW50JztcbiJdfQ==