UNPKG

@js-sugar/angular

Version:

JS-Sugar core package (Angular)

74 lines (69 loc) 4.18 kB
import * as i0 from '@angular/core'; import { Injectable, Component, ChangeDetectionStrategy, Input, NgModule } from '@angular/core'; import * as prism from 'prismjs'; import { CommonModule } from '@angular/common'; prism.hooks.add('before-highlightall', (env) => { env['elements'] = []; }); class CodeHighlightService { highlight(code, lang) { return prism.highlight(code.trim(), prism.languages[lang], lang); } isSupportedLanguage(language) { return prism.languages[language] != null; } } CodeHighlightService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CodeHighlightService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); CodeHighlightService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CodeHighlightService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CodeHighlightService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); class CodeComponent { constructor(_service) { this._service = _service; } ngOnInit() { this.format(); } format() { if (this._service.isSupportedLanguage(this.language)) { this._innerHtml = this._service.highlight(this.code, this.language); } else { console.log(`code formater for language ("${this.language}") not found.`); this._innerHtml = this.code; } } } CodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CodeComponent, deps: [{ token: CodeHighlightService }], target: i0.ɵɵFactoryTarget.Component }); CodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: CodeComponent, selector: "jss-code", inputs: { code: "code", language: "language" }, exportAs: ["jssCode"], ngImport: i0, template: "<pre>\r\n <code [innerHtml]=\"_innerHtml\" class=\"language-{{language}}\"></code>\r\n</pre>", styles: [":host{display:block}pre{margin:0;padding:0;white-space:nowrap}code{margin:0;padding:0;text-indent:0px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CodeComponent, decorators: [{ type: Component, args: [{ selector: 'jss-code', exportAs: 'jssCode', changeDetection: ChangeDetectionStrategy.OnPush, template: "<pre>\r\n <code [innerHtml]=\"_innerHtml\" class=\"language-{{language}}\"></code>\r\n</pre>", styles: [":host{display:block}pre{margin:0;padding:0;white-space:nowrap}code{margin:0;padding:0;text-indent:0px}\n"] }] }], ctorParameters: function () { return [{ type: CodeHighlightService }]; }, propDecorators: { code: [{ type: Input }], language: [{ type: Input }] } }); class CodeModule { } CodeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CodeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); CodeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: CodeModule, declarations: [CodeComponent], imports: [CommonModule], exports: [CodeComponent] }); CodeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CodeModule, imports: [CommonModule] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CodeModule, decorators: [{ type: NgModule, args: [{ declarations: [ CodeComponent, ], imports: [ CommonModule, ], exports: [ CodeComponent, ] }] }] }); export { CodeComponent, CodeModule }; //# sourceMappingURL=js-sugar-angular-components-code.mjs.map