@covalent/highlight 10.4.0-beta.3 → 11.0.0-beta.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 +1 -1
- package/fesm2022/covalent-highlight.mjs.map +1 -1
- package/index.d.ts +128 -3
- package/package.json +7 -7
- package/lib/copy-code-button/copy-code-button.component.d.ts +0 -38
- package/lib/highlight.component.d.ts +0 -81
- package/lib/highlight.module.d.ts +0 -12
- package/public_api.d.ts +0 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component,
|
|
2
|
+
import { EventEmitter, Component, HostListener, ViewChild, Output, Input, SecurityContext, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/platform-browser';
|
|
4
4
|
import { MatTooltip } from '@angular/material/tooltip';
|
|
5
5
|
import * as i1 from '@angular/common';
|
|
@@ -1 +1 @@
|
|
|
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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"}
|
|
1
|
+
{"version":3,"file":"covalent-highlight.mjs","sources":["../tmp-esm2022/lib/copy-code-button/copy-code-button.component.js","../tmp-esm2022/lib/highlight.component.js","../tmp-esm2022/lib/highlight.module.js","../tmp-esm2022/covalent-highlight.js"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input, ViewChild, HostListener, EventEmitter, Output, } 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';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/cdk/clipboard\";\nconst _c0 = [\"copyButton\"];\nconst _c1 = [\"rawButton\"];\nconst _c2 = [\"tooltip\"];\nfunction TdCopyCodeButtonComponent_mat_button_toggle_group_0_Template(rf, ctx) { if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"mat-button-toggle-group\", 5)(1, \"mat-button-toggle\", 6, 1);\n 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()); });\n i0.ɵɵtext(3);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"mat-button-toggle\", 7, 2);\n 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)); });\n i0.ɵɵelementStart(7, \"mat-icon\", 8);\n i0.ɵɵtext(8, \"content_copy\");\n i0.ɵɵelementEnd()()();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(3);\n i0.ɵɵtextInterpolate(ctx_r1.rawToggleText);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"cdkCopyToClipboard\", ctx_r1.copiedContent)(\"matTooltip\", ctx_r1.copyTooltip);\n} }\nfunction TdCopyCodeButtonComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 9, 3);\n 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)); });\n i0.ɵɵelementStart(2, \"mat-icon\", 10);\n i0.ɵɵtext(3, \"content_copy\");\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"cdkCopyToClipboard\", ctx_r1.copiedContent)(\"matTooltip\", ctx_r1.copyTooltip);\n} }\nexport class TdCopyCodeButtonComponent {\n // private _copyCodeTooltips: ICopyCodeTooltips = {};\n copiedContent;\n copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n copyCodeTooltips = {};\n toggleRawButton = false;\n rawToggleLabels = {};\n rawToggle = false;\n toggleRaw = new EventEmitter();\n copyButton;\n rawButton;\n get copyTooltip() {\n return (this.copyCodeTooltips && this.copyCodeTooltips.copy) || 'Copy';\n }\n get copiedTooltip() {\n return (this.copyCodeTooltips && this.copyCodeTooltips.copied) || 'Copied';\n }\n get rawToggleText() {\n if (this.rawToggle) {\n return this.rawToggleLabels?.viewCode || 'View code';\n }\n else {\n return this.rawToggleLabels?.viewRaw || 'Raw';\n }\n }\n tooltip;\n textCopied(event) {\n if (event) {\n this.tooltip.hide();\n this.tooltip.message = this.copiedTooltip;\n this.tooltip.show();\n }\n }\n initializeTooltip() {\n setTimeout(() => {\n this.tooltip.message = this.copyTooltip;\n }, 200);\n }\n toggleRawClicked() {\n this.rawToggle = !this.rawToggle;\n this.toggleRaw.emit();\n this.rawButton.checked = false;\n }\n copyClicked() {\n this.copyButton.checked = false;\n }\n static ɵfac = function TdCopyCodeButtonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdCopyCodeButtonComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdCopyCodeButtonComponent, selectors: [[\"td-copy-code-button\"]], viewQuery: function TdCopyCodeButtonComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n i0.ɵɵviewQuery(_c1, 5);\n i0.ɵɵviewQuery(_c2, 5);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.copyButton = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rawButton = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltip = _t.first);\n } }, hostBindings: function TdCopyCodeButtonComponent_HostBindings(rf, ctx) { if (rf & 1) {\n i0.ɵɵlistener(\"mouseleave\", function TdCopyCodeButtonComponent_mouseleave_HostBindingHandler() { return ctx.initializeTooltip(); });\n } }, 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) {\n 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);\n } if (rf & 2) {\n const button_r4 = i0.ɵɵreference(2);\n i0.ɵɵproperty(\"ngIf\", ctx.toggleRawButton)(\"ngIfElse\", button_r4);\n } }, 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}\"] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdCopyCodeButtonComponent, [{\n type: Component,\n 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\"] }]\n }], null, { copiedContent: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], toggleRawButton: [{\n type: Input\n }], rawToggleLabels: [{\n type: Input\n }], toggleRaw: [{\n type: Output\n }], copyButton: [{\n type: ViewChild,\n args: ['copyButton']\n }], rawButton: [{\n type: ViewChild,\n args: ['rawButton']\n }], tooltip: [{\n type: ViewChild,\n args: ['tooltip']\n }], initializeTooltip: [{\n type: HostListener,\n args: ['mouseleave']\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdCopyCodeButtonComponent, { className: \"TdCopyCodeButtonComponent\", filePath: \"lib/copy-code-button/copy-code-button.component.ts\", lineNumber: 31 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1jb2RlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItaGlnaGxpZ2h0L3NyYy9saWIvY29weS1jb2RlLWJ1dHRvbi9jb3B5LWNvZGUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1oaWdobGlnaHQvc3JjL2xpYi9jb3B5LWNvZGUtYnV0dG9uL2NvcHktY29kZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7OztJQ1B2RCxBQUxGLGtEQUlDLDhCQUM0RDtJQUF4QyxvTkFBUyx5QkFBa0IsS0FBQztJQUFZLFlBRXpEO0lBQUEsaUJBQW9CO0lBQ3RCLCtDQU9DO0lBREMsQUFEQSxvTkFBUyxvQkFBYSxLQUFDLG1QQUNLLHlCQUFrQixLQUFDO0lBRS9DLG1DQUFnQjtJQUFBLDRCQUFZO0lBRWhDLEFBREUsQUFEOEIsaUJBQVcsRUFDckIsRUFDSTs7O0lBYm1DLGVBRXpEO0lBRnlELDBDQUV6RDtJQUVBLGNBQW9DO0lBQ3BDLEFBREEseURBQW9DLGtDQUNWOzs7O0lBVzVCLG9DQU9DO0lBREMseU9BQTRC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QUFTO21CQUFDLFlBQVk7WUFDQyxTQUFTO2tCQUFoQyxTQUFTO21CQUFDLFdBQVc7WUFrQkEsT0FBTztrQkFBNUIsU0FBUzttQkFBQyxTQUFTO1lBVXBCLGlCQUFpQjtrQkFEaEIsWUFBWTttQkFBQyxZQUFZOztrRkE5Q2YseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgSG9zdExpc3RlbmVyLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGUsIE1hdEJ1dHRvblRvZ2dsZUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBDbGlwYm9hcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ29weUNvZGVUb29sdGlwcyB7XG4gIGNvcHk/OiBzdHJpbmc7XG4gIGNvcGllZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmF3VG9nZ2xlTGFiZWxzIHtcbiAgdmlld1Jhdz86IHN0cmluZztcbiAgdmlld0NvZGU/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWNvcHktY29kZS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29weS1jb2RlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvcHktY29kZS1idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QnV0dG9uVG9nZ2xlLCBNYXRCdXR0b25Ub2dnbGVHcm91cCwgTWF0SWNvbiwgTWF0VG9vbHRpcCwgQ2xpcGJvYXJkTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRDb3B5Q29kZUJ1dHRvbkNvbXBvbmVudCB7XG4gIC8vIHByaXZhdGUgX2NvcHlDb2RlVG9vbHRpcHM6IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG4gIEBJbnB1dCgpIGNvcGllZENvbnRlbnQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9DbGlwYm9hcmQgPSBmYWxzZTtcbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwc1xuICAgKlxuICAgKiBUb29sdGlwcyBmb3IgY29weSBidXR0b24gdG8gY29weSBhbmQgdXBvbiBjb3B5aW5nLlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG5cbiAgQElucHV0KCkgdG9nZ2xlUmF3QnV0dG9uID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJhd1RvZ2dsZUxhYmVscz86IElSYXdUb2dnbGVMYWJlbHMgPSB7fTtcblxuICByYXdUb2dnbGUgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdG9nZ2xlUmF3ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvcHlCdXR0b24nKSBjb3B5QnV0dG9uITogTWF0QnV0dG9uVG9nZ2xlO1xuICBAVmlld0NoaWxkKCdyYXdCdXR0b24nKSByYXdCdXR0b24hOiBNYXRCdXR0b25Ub2dnbGU7XG5cbiAgZ2V0IGNvcHlUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLmNvcHlDb2RlVG9vbHRpcHMgJiYgdGhpcy5jb3B5Q29kZVRvb2x0aXBzLmNvcHkpIHx8ICdDb3B5JztcbiAgfVxuXG4gIGdldCBjb3BpZWRUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLmNvcHlDb2RlVG9vbHRpcHMgJiYgdGhpcy5jb3B5Q29kZVRvb2x0aXBzLmNvcGllZCkgfHwgJ0NvcGllZCc7XG4gIH1cblxuICBnZXQgcmF3VG9nZ2xlVGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnJhd1RvZ2dsZSkge1xuICAgICAgcmV0dXJuIHRoaXMucmF3VG9nZ2xlTGFiZWxzPy52aWV3Q29kZSB8fCAnVmlldyBjb2RlJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMucmF3VG9nZ2xlTGFiZWxzPy52aWV3UmF3IHx8ICdSYXcnO1xuICAgIH1cbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXAnKSB0b29sdGlwITogTWF0VG9vbHRpcDtcblxuICB0ZXh0Q29waWVkKGV2ZW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnRvb2x0aXAuaGlkZSgpO1xuICAgICAgdGhpcy50b29sdGlwLm1lc3NhZ2UgPSB0aGlzLmNvcGllZFRvb2x0aXA7XG4gICAgICB0aGlzLnRvb2x0aXAuc2hvdygpO1xuICAgIH1cbiAgfVxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgaW5pdGlhbGl6ZVRvb2x0aXAoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnRvb2x0aXAubWVzc2FnZSA9IHRoaXMuY29weVRvb2x0aXA7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIHRvZ2dsZVJhd0NsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5yYXdUb2dnbGUgPSAhdGhpcy5yYXdUb2dnbGU7XG4gICAgdGhpcy50b2dnbGVSYXcuZW1pdCgpO1xuICAgIHRoaXMucmF3QnV0dG9uLmNoZWNrZWQgPSBmYWxzZTtcbiAgfVxuXG4gIGNvcHlDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY29weUJ1dHRvbi5jaGVja2VkID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cFxuICBtdWx0aXBsZVxuICBjbGFzcz1cInJhdy1hbmQtY29weS1idXR0b25zXCJcbiAgKm5nSWY9XCJ0b2dnbGVSYXdCdXR0b247IGVsc2UgYnV0dG9uXCJcbj5cbiAgPG1hdC1idXR0b24tdG9nZ2xlIChjbGljayk9XCJ0b2dnbGVSYXdDbGlja2VkKClcIiAjcmF3QnV0dG9uPnt7XG4gICAgcmF3VG9nZ2xlVGV4dFxuICB9fTwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gIDxtYXQtYnV0dG9uLXRvZ2dsZVxuICAgIFtjZGtDb3B5VG9DbGlwYm9hcmRdPVwiY29waWVkQ29udGVudFwiXG4gICAgW21hdFRvb2x0aXBdPVwiY29weVRvb2x0aXBcIlxuICAgICN0b29sdGlwPVwibWF0VG9vbHRpcFwiXG4gICAgI2NvcHlCdXR0b25cbiAgICAoY2xpY2spPVwiY29weUNsaWNrZWQoKVwiXG4gICAgKGNka0NvcHlUb0NsaXBib2FyZENvcGllZCk9XCJ0ZXh0Q29waWVkKCRldmVudClcIlxuICA+XG4gICAgPG1hdC1pY29uIHdpZHRoPmNvbnRlbnRfY29weTwvbWF0LWljb24+XG4gIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG48L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuXG48bmctdGVtcGxhdGUgI2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIFtjZGtDb3B5VG9DbGlwYm9hcmRdPVwiY29waWVkQ29udGVudFwiXG4gICAgY2xhc3M9XCJjb3B5LWJ1dHRvblwiXG4gICAgW21hdFRvb2x0aXBdPVwiY29weVRvb2x0aXBcIlxuICAgICN0b29sdGlwPVwibWF0VG9vbHRpcFwiXG4gICAgKGNka0NvcHlUb0NsaXBib2FyZENvcGllZCk9XCJ0ZXh0Q29waWVkKCRldmVudClcIlxuICA+XG4gICAgPG1hdC1pY29uIHJvbGU9XCJpbWdcIj5jb250ZW50X2NvcHk8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","import { Component, ElementRef, Input, Output, EventEmitter, Renderer2, SecurityContext, ViewChild, ChangeDetectorRef, } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { MatTooltip } from '@angular/material/tooltip';\nimport { TdCopyCodeButtonComponent, } from './copy-code-button/copy-code-button.component';\nimport hljs from 'highlight.js';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/platform-browser\";\nimport * as i2 from \"@angular/common\";\nconst _c0 = [\"highlightComponent\"];\nconst _c1 = [\"copyComponent\"];\nconst _c2 = [\"tooltip\"];\nconst _c3 = [\"*\"];\nfunction TdHighlightComponent_div_4_Template(rf, ctx) { if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", null, 1)(2, \"td-copy-code-button\", 3);\n 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()); });\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"toggleRawButton\", ctx_r1.toggleRawButton)(\"rawToggleLabels\", ctx_r1.rawToggleLabels)(\"copiedContent\", ctx_r1.copyContent)(\"copyCodeToClipboard\", ctx_r1.copyCodeToClipboard)(\"copyCodeTooltips\", ctx_r1.copyCodeTooltips);\n} }\nexport class TdHighlightComponent {\n _renderer;\n _elementRef;\n _domSanitizer;\n cdr;\n _initialized = false;\n _content;\n _lang = 'typescript';\n _showRaw = false;\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 set content(content) {\n this._content = content;\n if (this._initialized) {\n this._loadContent(this._content);\n }\n }\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n */\n copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n copyCodeTooltips = {};\n /**\n * toggleRawButton?: boolean\n *\n * Display button to toggle raw code.\n */\n toggleRawButton = false;\n /**\n * rawToggleLabels?: IRawToggleLabels\n *\n * Labels for raw toggle button.\n */\n rawToggleLabels = {};\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 set codeLang(lang) {\n this.setLanguage(lang);\n }\n /** @deprecated - removed completely @4.0.0 */\n set lang(lang) {\n // tslint:disable-next-line: no-console\n console.warn('DEPRECATION WARNING: switch to codeLang attribute as lang attribute is deprecated.');\n this.setLanguage(lang);\n }\n copyContent;\n /**\n * contentReady?: function\n * Event emitted after the highlight content rendering is finished.\n */\n contentReady = new EventEmitter();\n highlightComp;\n copyComp;\n tooltip;\n constructor(_renderer, _elementRef, _domSanitizer, cdr) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this._domSanitizer = _domSanitizer;\n this.cdr = cdr;\n }\n ngAfterViewChecked() {\n this.cdr.detectChanges();\n }\n ngAfterViewInit() {\n if (!this._content) {\n this._content =\n this.highlightComp.nativeElement.textContent || '';\n }\n this._loadContent(this._content);\n this._initialized = true;\n }\n setLanguage(lang) {\n if (!lang) {\n throw new Error('Error: language attribute must be defined in TdHighlightComponent.');\n }\n this._lang = lang;\n if (this._initialized) {\n this._loadContent(this._content);\n }\n }\n toggleRawClicked() {\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 * General method to parse a string of code into HTML Elements and load them into the container\n */\n _loadContent(code) {\n if (code && code.trim().length > 0) {\n // Clean container\n this._renderer.setProperty(this._elementRef.nativeElement, 'innerHTML', '');\n this._elementFromString(code);\n if (this.copyCodeToClipboard) {\n this._renderer.appendChild(this._elementRef.nativeElement, this.copyComp.nativeElement);\n }\n }\n this.contentReady.emit();\n }\n _elementFromString(codeStr) {\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 = this._renderer.createElement('pre');\n this._renderer.appendChild(this._elementRef.nativeElement, preElement);\n const codeElement = this._renderer.createElement('code');\n this._renderer.appendChild(preElement, codeElement);\n // Set .highlight class into <code> element\n this._renderer.addClass(codeElement, 'highlight');\n const highlightedCode = this._render(codeStr);\n codeElement.innerHTML =\n this._domSanitizer.sanitize(SecurityContext.HTML, highlightedCode) ?? '';\n if (this.toggleRawButton) {\n const divElement = 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 _render(contents) {\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 = contents.split('\\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 // Remove all indentation spaces so code can be parsed correctly\n const startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);\n lines = lines.map(function (line) {\n return line\n .replace('=\"\"', '') // remove empty values\n .replace(startingWhitespaceRegex, '')\n .replace(/\\s+$/, ''); // remove trailing white spaces\n });\n const codeToParse = 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 = 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 static ɵfac = function TdHighlightComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdHighlightComponent)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.DomSanitizer), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdHighlightComponent, selectors: [[\"td-highlight\"]], viewQuery: function TdHighlightComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n i0.ɵɵviewQuery(_c1, 5);\n i0.ɵɵviewQuery(_c2, 5);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.highlightComp = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.copyComp = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tooltip = _t.first);\n } }, 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) {\n i0.ɵɵprojectionDef();\n i0.ɵɵelementStart(0, \"div\")(1, \"div\", null, 0);\n i0.ɵɵprojection(3);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(4, TdHighlightComponent_div_4_Template, 3, 5, \"div\", 2);\n i0.ɵɵelementEnd();\n } if (rf & 2) {\n i0.ɵɵadvance(4);\n i0.ɵɵproperty(\"ngIf\", ctx.copyCodeToClipboard);\n } }, dependencies: [CommonModule, i2.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}\"] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdHighlightComponent, [{\n type: Component,\n 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\"] }]\n }], () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }], { content: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], toggleRawButton: [{\n type: Input\n }], rawToggleLabels: [{\n type: Input\n }], codeLang: [{\n type: Input\n }], lang: [{\n type: Input\n }], contentReady: [{\n type: Output\n }], highlightComp: [{\n type: ViewChild,\n args: ['highlightComponent']\n }], copyComp: [{\n type: ViewChild,\n args: ['copyComponent']\n }], tooltip: [{\n type: ViewChild,\n args: ['tooltip']\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdHighlightComponent, { className: \"TdHighlightComponent\", filePath: \"lib/highlight.component.ts\", lineNumber: 31 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1oaWdobGlnaHQvc3JjL2xpYi9oaWdobGlnaHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWhpZ2hsaWdodC9zcmMvbGliL2hpZ2hsaWdodC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsZUFBZSxFQUNmLFNBQVMsRUFDVCxpQkFBaUIsR0FFbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBR0wseUJBQXlCLEdBQzFCLE1BQU0sK0NBQStDLENBQUM7QUFFdkQsT0FBTyxJQUF5QixNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7SUNoQjNDLEFBREYsb0NBQWdELDZCQVE3QztJQUpDLHFNQUFhLHlCQUFrQixLQUFDO0lBS3BDLEFBREcsaUJBQXNCLEVBQ25COzs7SUFQRixlQUFtQztJQUtuQyxBQURBLEFBREEsQUFGQSxBQURBLHdEQUFtQywyQ0FDQSxxQ0FFTixtREFDYyw2Q0FDTjs7QURrQjNDLE1BQU0sT0FBTyxvQkFBb0I7SUF3RnJCO0lBQ0E7SUFDQTtJQUNBO0lBMUZGLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFckIsUUFBUSxDQUFVO0lBQ2xCLEtBQUssR0FBRyxZQUFZLENBQUM7SUFFckIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUV6Qjs7Ozs7OztPQU9HO0lBQ0gsSUFDSSxPQUFPLENBQUMs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a0JBQXlCO1lBQzNCLGlCQUFNO1lBRU4scUVBQWdEO1lBVWxELGlCQUFNOztZQVZpQixlQUF5QjtZQUF6Qiw4Q0FBeUI7NEJEdUJwQyxZQUFZLFdBQUUseUJBQXlCOztpRkFFdEMsb0JBQW9CO2NBTmhDLFNBQVM7MkJBQ0UsY0FBYyxXQUdmLENBQUMsWUFBWSxFQUFFLHlCQUF5QixDQUFDOzhIQW1COUMsT0FBTztrQkFEVixLQUFLO1lBYUcsbUJBQW1CO2tCQUEzQixLQUFLO1lBT0csZ0JBQWdCO2tCQUF4QixLQUFLO1lBT0csZUFBZTtrQkFBdkIsS0FBSztZQU9HLGVBQWU7a0JBQXZCLEtBQUs7WUFZRixRQUFRO2tCQURYLEtBQUs7WUFNRixJQUFJO2tCQURQLEtBQUs7WUFlSSxZQUFZO2tCQUFyQixNQUFNO1lBQzBCLGFBQWE7a0JBQTdDLFNBQVM7bUJBQUMsb0JBQW9CO1lBQ0gsUUFBUTtrQkFBbkMsU0FBUzttQkFBQyxlQUFlO1lBRUosT0FBTztrQkFBNUIsU0FBUzttQkFBQyxTQUFTOztrRkFyRlQsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBBZnRlclZpZXdJbml0LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFJlbmRlcmVyMixcbiAgU2VjdXJpdHlDb250ZXh0LFxuICBWaWV3Q2hpbGQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBBZnRlclZpZXdDaGVja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTWF0VG9vbHRpcCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHtcbiAgSUNvcHlDb2RlVG9vbHRpcHMsXG4gIElSYXdUb2dnbGVMYWJlbHMsXG4gIFRkQ29weUNvZGVCdXR0b25Db21wb25lbnQsXG59IGZyb20gJy4vY29weS1jb2RlLWJ1dHRvbi9jb3B5LWNvZGUtYnV0dG9uLmNvbXBvbmVudCc7XG5cbmltcG9ydCBobGpzLCB7IEhpZ2hsaWdodFJlc3VsdCB9IGZyb20gJ2hpZ2hsaWdodC5qcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1oaWdobGlnaHQnLFxuICBzdHlsZVVybHM6IFsnLi9oaWdobGlnaHQuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2hpZ2hsaWdodC5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRkQ29weUNvZGVCdXR0b25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUZEhpZ2hsaWdodENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuICBwcml2YXRlIF9pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2NvbnRlbnQhOiBzdHJpbmc7XG4gIHByaXZhdGUgX2xhbmcgPSAndHlwZXNjcmlwdCc7XG5cbiAgcHJpdmF0ZSBfc2hvd1JhdyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBjb250ZW50Pzogc3RyaW5nXG4gICAqXG4gICAqIENvZGUgY29udGVudCB0byBiZSBwYXJzZWQgYXMgaGlnaGxpZ2h0ZWQgaHRtbC5cbiAgICogVXNlZCB0byBsb2FkIGRhdGEgZHluYW1pY2FsbHkuXG4gICAqXG4gICAqIGUuZy4gYC5odG1sYCwgYC50c2AgLCBldGMuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgY29udGVudChjb250ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb250ZW50ID0gY29udGVudDtcbiAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2xvYWRDb250ZW50KHRoaXMuX2NvbnRlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBjb3B5Q29kZVRvQ2xpcGJvYXJkPzogYm9vbGVhblxuICAgKlxuICAgKiBEaXNwbGF5IGNvcHkgYnV0dG9uIG9uIGNvZGUgc25pcHBldHMgdG8gY29weSBjb2RlIHRvIGNsaXBib2FyZC5cbiAgICovXG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9DbGlwYm9hcmQ/ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwc1xuICAgKlxuICAgKiBUb29sdGlwcyBmb3IgY29weSBidXR0b24gdG8gY29weSBhbmQgdXBvbiBjb3B5aW5nLlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG5cbiAgLyoqXG4gICAqIHRvZ2dsZVJhd0J1dHRvbj86IGJvb2xlYW5cbiAgICpcbiAgICogRGlzcGxheSBidXR0b24gdG8gdG9nZ2xlIHJhdyBjb2RlLlxuICAgKi9cbiAgQElucHV0KCkgdG9nZ2xlUmF3QnV0dG9uID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIHJhd1RvZ2dsZUxhYmVscz86IElSYXdUb2dnbGVMYWJlbHNcbiAgICpcbiAgICogTGFiZWxzIGZvciByYXcgdG9nZ2xlIGJ1dHRvbi5cbiAgICovXG4gIEBJbnB1dCgpIHJhd1RvZ2dsZUxhYmVscz86IElSYXdUb2dnbGVMYWJlbHMgPSB7fTtcblxuICAvKipcbiAgICogbGFuZz86IHN0cmluZ1xuICAgKlxuICAgKiBMYW5ndWFnZSBvZiB0aGUgY29kZSBjb250ZW50IHRvIGJlIHBhcnNlZCBhcyBoaWdobGlnaHRlZCBodG1sLlxuICAgKiBEZWZhdWx0cyB0byBgdHlwZXNjcmlwdGBcbiAgICpcbiAgICogZS5nLiBgdHlwZXNjcmlwdGAsIGBodG1sYCAsIGV0Yy5cbiAgICovXG5cbiAgQElucHV0KClcbiAgc2V0IGNvZGVMYW5nKGxhbmc6IHN0cmluZykge1xuICAgIHRoaXMuc2V0TGFuZ3VhZ2UobGFuZyk7XG4gIH1cbiAgLyoqIEBkZXByZWNhdGVkIC0gcmVtb3ZlZCBjb21wbGV0ZWx5IEA0LjAuMCAqL1xuICBASW5wdXQoKVxuICBzZXQgbGFuZyhsYW5nOiBzdHJpbmcpIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnREVQUkVDQVRJT04gV0FSTklORzogc3dpdGNoIHRvIGNvZGVMYW5nIGF0dHJpYnV0ZSBhcyBsYW5nIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkLidcbiAgICApO1xuICAgIHRoaXMuc2V0TGFuZ3VhZ2UobGFuZyk7XG4gIH1cblxuICBjb3B5Q29udGVudCE6IHN0cmluZztcblxuICAvKipcbiAgICogY29udGVudFJlYWR5PzogZnVuY3Rpb25cbiAgICogRXZlbnQgZW1pdHRlZCBhZnRlciB0aGUgaGlnaGxpZ2h0IGNvbnRlbnQgcmVuZGVyaW5nIGlzIGZpbmlzaGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGNvbnRlbnRSZWFkeTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAVmlld0NoaWxkKCdoaWdobGlnaHRDb21wb25lbnQnKSBoaWdobGlnaHRDb21wITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnY29weUNvbXBvbmVudCcpIGNvcHlDb21wITogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCd0b29sdGlwJykgdG9vbHRpcCE6IE1hdFRvb2x0aXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbnRlbnQpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQgPVxuICAgICAgICAoPEhUTUxFbGVtZW50PnRoaXMuaGlnaGxpZ2h0Q29tcC5uYXRpdmVFbGVtZW50KS50ZXh0Q29udGVudCB8fCAnJztcbiAgICB9XG4gICAgdGhpcy5fbG9hZENvbnRlbnQodGhpcy5fY29udGVudCk7XG5cbiAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBzZXRMYW5ndWFnZShsYW5nOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIWxhbmcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Vycm9yOiBsYW5ndWFnZSBhdHRyaWJ1dGUgbXVzdCBiZSBkZWZpbmVkIGluIFRkSGlnaGxpZ2h0Q29tcG9uZW50LidcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuX2xhbmcgPSBsYW5nO1xuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5fbG9hZENvbnRlbnQodGhpcy5fY29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlUmF3Q2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zaG93UmF3ID0gIXRoaXMuX3Nob3dSYXc7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3ByZScpLnN0eWxlLmRpc3BsYXkgPSB0aGlzXG4gICAgICAuX3Nob3dSYXdcbiAgICAgID8gJ25vbmUnXG4gICAgICA6ICdibG9jayc7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5yYXcnKS5zdHlsZS5kaXNwbGF5ID0gdGhpc1xuICAgICAgLl9zaG93UmF3XG4gICAgICA/ICdibG9jaydcbiAgICAgIDogJ25vbmUnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYWwgbWV0aG9kIHRvIHBhcnNlIGEgc3RyaW5nIG9mIGNvZGUgaW50byBIVE1MIEVsZW1lbnRzIGFuZCBsb2FkIHRoZW0gaW50byB0aGUgY29udGFpbmVyXG4gICAqL1xuICBwcml2YXRlIF9sb2FkQ29udGVudChjb2RlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGNvZGUgJiYgY29kZS50cmltKCkubGVuZ3RoID4gMCkge1xuICAgICAgLy8gQ2xlYW4gY29udGFpbmVyXG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnaW5uZXJIVE1MJyxcbiAgICAgICAgJydcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuX2VsZW1lbnRGcm9tU3RyaW5nKGNvZGUpO1xuXG4gICAgICBpZiAodGhpcy5jb3B5Q29kZVRvQ2xpcGJvYXJkKSB7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKFxuICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICB0aGlzLmNvcHlDb21wLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jb250ZW50UmVhZHkuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZWxlbWVudEZyb21TdHJpbmcoY29kZVN0cjogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gUmVuZGVyZXIyIGRvZXNudCBoYXZlIGEgcGFyc2luZyBtZXRob2QsIHNvIHdlIGhhdmUgdG8gc2FuaXRpemUgYW5kIHVzZSBbaW5uZXJIVE1MXVxuICAgIC8vIHRvIHBhcnNlIHRoZSBzdHJpbmcgaW50byBET00gZWxlbWVudCBmb3Igbm93LlxuICAgIGNvbnN0IHByZUVsZW1lbnQ6IEhUTUxQcmVFbGVtZW50ID0gdGhpcy5fcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgncHJlJyk7XG4gICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBwcmVFbGVtZW50KTtcbiAgICBjb25zdCBjb2RlRWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdjb2RlJyk7XG4gICAgdGhpcy5fcmVuZGVyZXIuYXBwZW5kQ2hpbGQocHJlRWxlbWVudCwgY29kZUVsZW1lbnQpO1xuICAgIC8vIFNldCAuaGlnaGxpZ2h0IGNsYXNzIGludG8gPGNvZGU+IGVsZW1lbnRcbiAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhjb2RlRWxlbWVudCwgJ2hpZ2hsaWdodCcpO1xuXG4gICAgY29uc3QgaGlnaGxpZ2h0ZWRDb2RlID0gdGhpcy5fcmVuZGVyKGNvZGVTdHIpO1xuXG4gICAgY29kZUVsZW1lbnQuaW5uZXJIVE1MID1cbiAgICAgIHRoaXMuX2RvbVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgaGlnaGxpZ2h0ZWRDb2RlKSA/PyAnJztcblxuICAgIGlmICh0aGlzLnRvZ2dsZVJhd0J1dHRvbikge1xuICAgICAgY29uc3QgZGl2RWxlbWVudDogSFRNTERpdkVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGRpdkVsZW1lbnQuY2xhc3NOYW1lID0gJ3Jhdyc7XG4gICAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGRpdkVsZW1lbnQpO1xuICAgICAgZGl2RWxlbWVudC5pbm5lckhUTUwgPVxuICAgICAgICB0aGlzLl9kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIGNvZGVTdHIpID8/ICcnO1xuICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZGl2RWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlcihjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUcmltIGxlYWRpbmcgYW5kIHRyYWlsaW5nIG5ld2xpbmVzXG4gICAgY29udGVudHMgPSBjb250ZW50c1xuICAgICAgLnJlcGxhY2UoL14oXFxzfFxcdCkqXFxuKy9nLCAnJylcbiAgICAgIC5yZXBsYWNlKC8oXFxzfFxcdCkqXFxuKyhcXHN8XFx0KSokL2csICcnKTtcbiAgICAvLyBTcGxpdCBtYXJrdXAgYnkgbGluZSBjaGFyYWN0ZXJzXG4gICAgbGV0IGxpbmVzOiBzdHJpbmdbXSA9IGNvbnRlbnRzLnNwbGl0KCdcXG4nKTtcblxuICAgIC8vIGNoZWNrIGhvdyBtdWNoIGluZGVudGF0aW9uIGlzIHVzZWQgYnkgdGhlIGZpcnN0IGFjdHVhbCBjb2RlIGxpbmVcbiAgICBjb25zdCBmaXJzdExpbmVXaGl0ZXNwYWNlTWF0Y2ggPSBsaW5lc1swXS5tYXRjaCgvXihcXHN8XFx0KSovKTtcbiAgICBjb25zdCBmaXJzdExpbmVXaGl0ZXNwYWNlID0gZmlyc3RMaW5lV2hpdGVzcGFjZU1hdGNoXG4gICAgICA/IGZpcnN0TGluZVdoaXRlc3BhY2VNYXRjaFswXVxuICAgICAgOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIGFsbCBpbmRlbnRhdGlvbiBzcGFjZXMgc28gY29kZSBjYW4gYmUgcGFyc2VkIGNvcnJlY3RseVxuICAgIGNvbnN0IHN0YXJ0aW5nV2hpdGVzcGFjZVJlZ2V4ID0gbmV3IFJlZ0V4cCgnXicgKyBmaXJzdExpbmVXaGl0ZXNwYWNlKTtcbiAgICBsaW5lcyA9IGxpbmVzLm1hcChmdW5jdGlvbiAobGluZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBsaW5lXG4gICAgICAgIC5yZXBsYWNlKCc9XCJcIicsICcnKSAvLyByZW1vdmUgZW1wdHkgdmFsdWVzXG4gICAgICAgIC5yZXBsYWNlKHN0YXJ0aW5nV2hpdGVzcGFjZVJlZ2V4LCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xccyskLywgJycpOyAvLyByZW1vdmUgdHJhaWxpbmcgd2hpdGUgc3BhY2VzXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb2RlVG9QYXJzZTogc3RyaW5nID0gbGluZXNcbiAgICAgIC5qb2luKCdcXG4nKVxuICAgICAgLnJlcGxhY2UoL1xceyBcXHsvZ2ksICd7eycpXG4gICAgICAucmVwbGFjZSgvXFx9IFxcfS9naSwgJ319JylcbiAgICAgIC5yZXBsYWNlKC8mbHQ7L2dpLCAnPCcpXG4gICAgICAucmVwbGFjZSgvJmd0Oy9naSwgJz4nKTsgLy8gcmVwbGFjZSB3aXRoIDwgYW5kID4gdG8gcmVuZGVyIEhUTUwgaW4gQW5ndWxhclxuICAgIHRoaXMuY29weUNvbnRlbnQgPSBjb2RlVG9QYXJzZTtcbiAgICAvLyBQYXJzZSBjb2RlIHdpdGggaGlnaGxpZ2h0LmpzIGRlcGVuZGluZyBvbiBsYW5ndWFnZVxuICAgIGNvbnN0IGhpZ2hsaWdodGVkQ29kZTogSGlnaGxpZ2h0UmVzdWx0ID0gaGxqcy5oaWdobGlnaHQoY29kZVRvUGFyc2UsIHtcbiAgICAgIGxhbmd1YWdlOiB0aGlzLl9sYW5nLFxuICAgICAgaWdub3JlSWxsZWdhbHM6IHRydWUsXG4gICAgfSk7XG4gICAgaGlnaGxpZ2h0ZWRDb2RlLnZhbHVlID0gaGlnaGxpZ2h0ZWRDb2RlLnZhbHVlXG4gICAgICAucmVwbGFjZSgvPTxzcGFuIGNsYXNzPVwiaGxqcy12YWx1ZVwiPlwiXCI8XFwvc3Bhbj4vZ2ksICcnKVxuICAgICAgLnJlcGxhY2UoJzxoZWFkPicsICcnKVxuICAgICAgLnJlcGxhY2UoJzxoZWFkLz4nLCAnJyk7XG4gICAgcmV0dXJuIGhpZ2hsaWdodGVkQ29kZS52YWx1ZTtcbiAgfVxufVxuIiwiPGRpdj5cbiAgPGRpdiAjaGlnaGxpZ2h0Q29tcG9uZW50PlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG5cbiAgPGRpdiAjY29weUNvbXBvbmVudCAqbmdJZj1cImNvcHlDb2RlVG9DbGlwYm9hcmRcIj5cbiAgICA8dGQtY29weS1jb2RlLWJ1dHRvblxuICAgICAgW3RvZ2dsZVJhd0J1dHRvbl09XCJ0b2dnbGVSYXdCdXR0b25cIlxuICAgICAgW3Jhd1RvZ2dsZUxhYmVsc109XCJyYXdUb2dnbGVMYWJlbHNcIlxuICAgICAgKHRvZ2dsZVJhdyk9XCJ0b2dnbGVSYXdDbGlja2VkKClcIlxuICAgICAgW2NvcGllZENvbnRlbnRdPVwiY29weUNvbnRlbnRcIlxuICAgICAgW2NvcHlDb2RlVG9DbGlwYm9hcmRdPVwiY29weUNvZGVUb0NsaXBib2FyZFwiXG4gICAgICBbY29weUNvZGVUb29sdGlwc109XCJjb3B5Q29kZVRvb2x0aXBzXCJcbiAgICA+PC90ZC1jb3B5LWNvZGUtYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { NgModule } from '@angular/core';\nimport { TdHighlightComponent } from './highlight.component';\nimport { TdCopyCodeButtonComponent } from './copy-code-button/copy-code-button.component';\nimport * as i0 from \"@angular/core\";\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 */\nexport class CovalentHighlightModule {\n static ɵfac = function CovalentHighlightModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentHighlightModule)(); };\n static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentHighlightModule });\n static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [TdHighlightComponent, TdCopyCodeButtonComponent] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CovalentHighlightModule, [{\n type: NgModule,\n args: [{\n imports: [TdHighlightComponent, TdCopyCodeButtonComponent],\n exports: [TdHighlightComponent],\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentHighlightModule, { imports: [TdHighlightComponent, TdCopyCodeButtonComponent], exports: [TdHighlightComponent] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1oaWdobGlnaHQvc3JjL2xpYi9oaWdobGlnaHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBRTFGOzs7R0FHRztBQUtILE1BQU0sT0FBTyx1QkFBdUI7aUhBQXZCLHVCQUF1Qjs0REFBdkIsdUJBQXVCO2dFQUh4QixvQkFBb0IsRUFBRSx5QkFBeUI7O2lGQUc5Qyx1QkFBdUI7Y0FKbkMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDO2dCQUMxRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUNoQzs7d0ZBQ1ksdUJBQXVCLGNBSHhCLG9CQUFvQixFQUFFLHlCQUF5QixhQUMvQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGRIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuL2hpZ2hsaWdodC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRDb3B5Q29kZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29weS1jb2RlLWJ1dHRvbi9jb3B5LWNvZGUtYnV0dG9uLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhpcyBtb2R1bGUgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGZ1dHVyZSB2ZXJzaW9ucy5cbiAqIFBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nIHN0YW5kYWxvbmUgY29tcG9uZW50cyBhcyBzb29uIGFzIHBvc3NpYmxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbVGRIaWdobGlnaHRDb21wb25lbnQsIFRkQ29weUNvZGVCdXR0b25Db21wb25lbnRdLFxuICBleHBvcnRzOiBbVGRIaWdobGlnaHRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudEhpZ2hsaWdodE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtaGlnaGxpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWhpZ2hsaWdodC9zcmMvY292YWxlbnQtaGlnaGxpZ2h0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0="],"names":["_c0","_c1","_c2","i1","i2"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,130 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, AfterViewInit, AfterViewChecked, ElementRef, Renderer2, ChangeDetectorRef } from '@angular/core';
|
|
3
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
|
+
import { MatTooltip } from '@angular/material/tooltip';
|
|
5
|
+
import { MatButtonToggle } from '@angular/material/button-toggle';
|
|
6
|
+
|
|
7
|
+
interface ICopyCodeTooltips {
|
|
8
|
+
copy?: string;
|
|
9
|
+
copied?: string;
|
|
10
|
+
}
|
|
11
|
+
interface IRawToggleLabels {
|
|
12
|
+
viewRaw?: string;
|
|
13
|
+
viewCode?: string;
|
|
14
|
+
}
|
|
15
|
+
declare class TdCopyCodeButtonComponent {
|
|
16
|
+
copiedContent: string;
|
|
17
|
+
copyCodeToClipboard: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* copyCodeTooltips?: ICopyCodeTooltips
|
|
20
|
+
*
|
|
21
|
+
* Tooltips for copy button to copy and upon copying.
|
|
22
|
+
*/
|
|
23
|
+
copyCodeTooltips?: ICopyCodeTooltips;
|
|
24
|
+
toggleRawButton: boolean;
|
|
25
|
+
rawToggleLabels?: IRawToggleLabels;
|
|
26
|
+
rawToggle: boolean;
|
|
27
|
+
toggleRaw: EventEmitter<boolean>;
|
|
28
|
+
copyButton: MatButtonToggle;
|
|
29
|
+
rawButton: MatButtonToggle;
|
|
30
|
+
get copyTooltip(): string;
|
|
31
|
+
get copiedTooltip(): string;
|
|
32
|
+
get rawToggleText(): string;
|
|
33
|
+
tooltip: MatTooltip;
|
|
34
|
+
textCopied(event: boolean): void;
|
|
35
|
+
initializeTooltip(): void;
|
|
36
|
+
toggleRawClicked(): void;
|
|
37
|
+
copyClicked(): void;
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TdCopyCodeButtonComponent, never>;
|
|
39
|
+
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>;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
declare class TdHighlightComponent implements AfterViewInit, AfterViewChecked {
|
|
43
|
+
private _renderer;
|
|
44
|
+
private _elementRef;
|
|
45
|
+
private _domSanitizer;
|
|
46
|
+
private cdr;
|
|
47
|
+
private _initialized;
|
|
48
|
+
private _content;
|
|
49
|
+
private _lang;
|
|
50
|
+
private _showRaw;
|
|
51
|
+
/**
|
|
52
|
+
* content?: string
|
|
53
|
+
*
|
|
54
|
+
* Code content to be parsed as highlighted html.
|
|
55
|
+
* Used to load data dynamically.
|
|
56
|
+
*
|
|
57
|
+
* e.g. `.html`, `.ts` , etc.
|
|
58
|
+
*/
|
|
59
|
+
set content(content: string);
|
|
60
|
+
/**
|
|
61
|
+
* copyCodeToClipboard?: boolean
|
|
62
|
+
*
|
|
63
|
+
* Display copy button on code snippets to copy code to clipboard.
|
|
64
|
+
*/
|
|
65
|
+
copyCodeToClipboard?: boolean | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* copyCodeTooltips?: ICopyCodeTooltips
|
|
68
|
+
*
|
|
69
|
+
* Tooltips for copy button to copy and upon copying.
|
|
70
|
+
*/
|
|
71
|
+
copyCodeTooltips?: ICopyCodeTooltips;
|
|
72
|
+
/**
|
|
73
|
+
* toggleRawButton?: boolean
|
|
74
|
+
*
|
|
75
|
+
* Display button to toggle raw code.
|
|
76
|
+
*/
|
|
77
|
+
toggleRawButton: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* rawToggleLabels?: IRawToggleLabels
|
|
80
|
+
*
|
|
81
|
+
* Labels for raw toggle button.
|
|
82
|
+
*/
|
|
83
|
+
rawToggleLabels?: IRawToggleLabels;
|
|
84
|
+
/**
|
|
85
|
+
* lang?: string
|
|
86
|
+
*
|
|
87
|
+
* Language of the code content to be parsed as highlighted html.
|
|
88
|
+
* Defaults to `typescript`
|
|
89
|
+
*
|
|
90
|
+
* e.g. `typescript`, `html` , etc.
|
|
91
|
+
*/
|
|
92
|
+
set codeLang(lang: string);
|
|
93
|
+
/** @deprecated - removed completely @4.0.0 */
|
|
94
|
+
set lang(lang: string);
|
|
95
|
+
copyContent: string;
|
|
96
|
+
/**
|
|
97
|
+
* contentReady?: function
|
|
98
|
+
* Event emitted after the highlight content rendering is finished.
|
|
99
|
+
*/
|
|
100
|
+
contentReady: EventEmitter<void>;
|
|
101
|
+
highlightComp: ElementRef;
|
|
102
|
+
copyComp: ElementRef;
|
|
103
|
+
tooltip: MatTooltip;
|
|
104
|
+
constructor(_renderer: Renderer2, _elementRef: ElementRef, _domSanitizer: DomSanitizer, cdr: ChangeDetectorRef);
|
|
105
|
+
ngAfterViewChecked(): void;
|
|
106
|
+
ngAfterViewInit(): void;
|
|
107
|
+
setLanguage(lang: string): void;
|
|
108
|
+
toggleRawClicked(): void;
|
|
109
|
+
/**
|
|
110
|
+
* General method to parse a string of code into HTML Elements and load them into the container
|
|
111
|
+
*/
|
|
112
|
+
private _loadContent;
|
|
113
|
+
private _elementFromString;
|
|
114
|
+
private _render;
|
|
115
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TdHighlightComponent, never>;
|
|
116
|
+
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>;
|
|
117
|
+
}
|
|
118
|
+
|
|
1
119
|
/**
|
|
2
|
-
*
|
|
120
|
+
* @deprecated This module is deprecated and will be removed in future versions.
|
|
121
|
+
* Please migrate to using standalone components as soon as possible.
|
|
3
122
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
123
|
+
declare class CovalentHighlightModule {
|
|
124
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CovalentHighlightModule, never>;
|
|
125
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentHighlightModule, never, [typeof TdHighlightComponent, typeof TdCopyCodeButtonComponent], [typeof TdHighlightComponent]>;
|
|
126
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CovalentHighlightModule>;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export { CovalentHighlightModule, TdCopyCodeButtonComponent, TdHighlightComponent };
|
|
130
|
+
export type { ICopyCodeTooltips, IRawToggleLabels };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@covalent/highlight",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.0.0-beta.1",
|
|
4
4
|
"description": "Teradata UI Platform Highlight Module",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -20,11 +20,11 @@
|
|
|
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": "20.x.x",
|
|
24
|
+
"@angular/core": "20.x.x",
|
|
25
|
+
"@angular/platform-browser": "20.x.x",
|
|
26
|
+
"@angular/cdk": "20.x.x",
|
|
27
|
+
"@angular/material": "20.x.x"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"tslib": "^2.8.1"
|
|
@@ -45,6 +45,6 @@
|
|
|
45
45
|
"typings": "index.d.ts",
|
|
46
46
|
"sideEffects": false,
|
|
47
47
|
"scripts": {
|
|
48
|
-
"prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled
|
|
48
|
+
"prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with partial compilation mode, before attempting to publish.\\n')\" && exit 1"
|
|
49
49
|
}
|
|
50
50
|
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } 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
|
-
export interface ICopyCodeTooltips {
|
|
6
|
-
copy?: string;
|
|
7
|
-
copied?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface IRawToggleLabels {
|
|
10
|
-
viewRaw?: string;
|
|
11
|
-
viewCode?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare class TdCopyCodeButtonComponent {
|
|
14
|
-
copiedContent: string;
|
|
15
|
-
copyCodeToClipboard: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* copyCodeTooltips?: ICopyCodeTooltips
|
|
18
|
-
*
|
|
19
|
-
* Tooltips for copy button to copy and upon copying.
|
|
20
|
-
*/
|
|
21
|
-
copyCodeTooltips?: ICopyCodeTooltips;
|
|
22
|
-
toggleRawButton: boolean;
|
|
23
|
-
rawToggleLabels?: IRawToggleLabels;
|
|
24
|
-
rawToggle: boolean;
|
|
25
|
-
toggleRaw: EventEmitter<boolean>;
|
|
26
|
-
copyButton: MatButtonToggle;
|
|
27
|
-
rawButton: MatButtonToggle;
|
|
28
|
-
get copyTooltip(): string;
|
|
29
|
-
get copiedTooltip(): string;
|
|
30
|
-
get rawToggleText(): string;
|
|
31
|
-
tooltip: MatTooltip;
|
|
32
|
-
textCopied(event: boolean): void;
|
|
33
|
-
initializeTooltip(): void;
|
|
34
|
-
toggleRawClicked(): void;
|
|
35
|
-
copyClicked(): void;
|
|
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, true, never>;
|
|
38
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit, ElementRef, EventEmitter, Renderer2, ChangeDetectorRef, AfterViewChecked } from '@angular/core';
|
|
2
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
-
import { MatTooltip } from '@angular/material/tooltip';
|
|
4
|
-
import { ICopyCodeTooltips, IRawToggleLabels } from './copy-code-button/copy-code-button.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class TdHighlightComponent implements AfterViewInit, AfterViewChecked {
|
|
7
|
-
private _renderer;
|
|
8
|
-
private _elementRef;
|
|
9
|
-
private _domSanitizer;
|
|
10
|
-
private cdr;
|
|
11
|
-
private _initialized;
|
|
12
|
-
private _content;
|
|
13
|
-
private _lang;
|
|
14
|
-
private _showRaw;
|
|
15
|
-
/**
|
|
16
|
-
* content?: string
|
|
17
|
-
*
|
|
18
|
-
* Code content to be parsed as highlighted html.
|
|
19
|
-
* Used to load data dynamically.
|
|
20
|
-
*
|
|
21
|
-
* e.g. `.html`, `.ts` , etc.
|
|
22
|
-
*/
|
|
23
|
-
set content(content: string);
|
|
24
|
-
/**
|
|
25
|
-
* copyCodeToClipboard?: boolean
|
|
26
|
-
*
|
|
27
|
-
* Display copy button on code snippets to copy code to clipboard.
|
|
28
|
-
*/
|
|
29
|
-
copyCodeToClipboard?: boolean | undefined;
|
|
30
|
-
/**
|
|
31
|
-
* copyCodeTooltips?: ICopyCodeTooltips
|
|
32
|
-
*
|
|
33
|
-
* Tooltips for copy button to copy and upon copying.
|
|
34
|
-
*/
|
|
35
|
-
copyCodeTooltips?: ICopyCodeTooltips;
|
|
36
|
-
/**
|
|
37
|
-
* toggleRawButton?: boolean
|
|
38
|
-
*
|
|
39
|
-
* Display button to toggle raw code.
|
|
40
|
-
*/
|
|
41
|
-
toggleRawButton: boolean;
|
|
42
|
-
/**
|
|
43
|
-
* rawToggleLabels?: IRawToggleLabels
|
|
44
|
-
*
|
|
45
|
-
* Labels for raw toggle button.
|
|
46
|
-
*/
|
|
47
|
-
rawToggleLabels?: IRawToggleLabels;
|
|
48
|
-
/**
|
|
49
|
-
* lang?: string
|
|
50
|
-
*
|
|
51
|
-
* Language of the code content to be parsed as highlighted html.
|
|
52
|
-
* Defaults to `typescript`
|
|
53
|
-
*
|
|
54
|
-
* e.g. `typescript`, `html` , etc.
|
|
55
|
-
*/
|
|
56
|
-
set codeLang(lang: string);
|
|
57
|
-
/** @deprecated - removed completely @4.0.0 */
|
|
58
|
-
set lang(lang: string);
|
|
59
|
-
copyContent: string;
|
|
60
|
-
/**
|
|
61
|
-
* contentReady?: function
|
|
62
|
-
* Event emitted after the highlight content rendering is finished.
|
|
63
|
-
*/
|
|
64
|
-
contentReady: EventEmitter<void>;
|
|
65
|
-
highlightComp: ElementRef;
|
|
66
|
-
copyComp: ElementRef;
|
|
67
|
-
tooltip: MatTooltip;
|
|
68
|
-
constructor(_renderer: Renderer2, _elementRef: ElementRef, _domSanitizer: DomSanitizer, cdr: ChangeDetectorRef);
|
|
69
|
-
ngAfterViewChecked(): void;
|
|
70
|
-
ngAfterViewInit(): void;
|
|
71
|
-
setLanguage(lang: string): void;
|
|
72
|
-
toggleRawClicked(): void;
|
|
73
|
-
/**
|
|
74
|
-
* General method to parse a string of code into HTML Elements and load them into the container
|
|
75
|
-
*/
|
|
76
|
-
private _loadContent;
|
|
77
|
-
private _elementFromString;
|
|
78
|
-
private _render;
|
|
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, ["*"], true, never>;
|
|
81
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./highlight.component";
|
|
3
|
-
import * as i2 from "./copy-code-button/copy-code-button.component";
|
|
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
|
-
*/
|
|
8
|
-
export declare class CovalentHighlightModule {
|
|
9
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<CovalentHighlightModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<CovalentHighlightModule, never, [typeof i1.TdHighlightComponent, typeof i2.TdCopyCodeButtonComponent], [typeof i1.TdHighlightComponent]>;
|
|
11
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<CovalentHighlightModule>;
|
|
12
|
-
}
|
package/public_api.d.ts
DELETED