@js-sugar/angular
Version:
JS-Sugar core package (Angular)
1 lines • 4.94 kB
Source Map (JSON)
{"version":3,"file":"js-sugar-angular-components-code.mjs","sources":["../../../projects/angular/components/code/src/lib/code-highlight.service.ts","../../../projects/angular/components/code/src/lib/code.component.ts","../../../projects/angular/components/code/src/lib/code.component.html","../../../projects/angular/components/code/src/lib/code.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport * as prism from 'prismjs';\r\n\r\nprism.hooks.add('before-highlightall', (env) => {\r\n env['elements'] = [];\r\n});\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CodeHighlightService {\r\n highlight(code: string, lang: string): string {\r\n return prism.highlight(code.trim(), prism.languages[lang], lang);\r\n }\r\n\r\n isSupportedLanguage(language: string): boolean {\r\n return prism.languages[language] != null;\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, OnChanges, OnInit, SimpleChanges, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { CodeHighlightService } from './code-highlight.service';\r\n\r\n@Component({\r\n selector: 'jss-code',\r\n exportAs: 'jssCode',\r\n templateUrl: './code.component.html',\r\n styleUrls: ['./code.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CodeComponent implements OnInit {\r\n @Input() code!: string;\r\n @Input() language!: string;\r\n _innerHtml?: string;\r\n\r\n constructor(private _service: CodeHighlightService) { }\r\n\r\n ngOnInit(): void {\r\n this.format();\r\n }\r\n\r\n public format() {\r\n if (this._service.isSupportedLanguage(this.language)) {\r\n this._innerHtml = this._service.highlight(this.code, this.language);\r\n } else {\r\n console.log(`code formater for language (\"${this.language}\") not found.`);\r\n this._innerHtml = this.code;\r\n }\r\n }\r\n}\r\n","<pre>\r\n <code [innerHtml]=\"_innerHtml\" class=\"language-{{language}}\"></code>\r\n</pre>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CodeComponent } from './code.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CodeComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n CodeComponent,\r\n ]\r\n})\r\nexport class CodeModule { }\r\n"],"names":["i1.CodeHighlightService"],"mappings":"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"}