@cardboard-box/ngx-box
Version:
A collection of useful directives, components and services for angular
29 lines • 3.34 kB
JavaScript
import { Directive, Input } from "@angular/core";
import { marked } from 'marked';
import * as i0 from "@angular/core";
export class MarkdownDirective {
constructor(host) {
this.host = host;
}
set markdown(content) {
if (this._current === content)
return;
this._current = content;
try {
this._marked = marked.parse(content || '');
}
catch { }
this.host.nativeElement.innerHTML = this._marked || this._current || '';
}
}
MarkdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: MarkdownDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
MarkdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: MarkdownDirective, selector: "[markdown]", inputs: { markdown: "markdown" }, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: MarkdownDirective, decorators: [{
type: Directive,
args: [{
selector: '[markdown]'
}]
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { markdown: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2FyZGJvYXJkYm94L25neC1ib3gvc3JjL2xpYi9kaXJlY3RpdmVzL21hcmtkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUtoQyxNQUFNLE9BQU8saUJBQWlCO0lBaUIxQixZQUNZLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDeEIsQ0FBQztJQWRMLElBQ0ksUUFBUSxDQUFDLE9BQTJCO1FBQ3BDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPO1lBQUUsT0FBTztRQUV0QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUV4QixJQUFJO1lBQ0EsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztTQUM5QztRQUFDLE1BQU0sR0FBRztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO0lBQzVFLENBQUM7OzhHQWZRLGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7aUJBQ3pCO2lHQU9PLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbWFya2Rvd25dJ1xufSlcbmV4cG9ydCBjbGFzcyBNYXJrZG93bkRpcmVjdGl2ZSB7XG5cbiAgICBwcml2YXRlIF9jdXJyZW50Pzogc3RyaW5nO1xuICAgIHByaXZhdGUgX21hcmtlZD86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IG1hcmtkb3duKGNvbnRlbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudCA9PT0gY29udGVudCkgcmV0dXJuO1xuICAgICAgICBcbiAgICAgICAgdGhpcy5fY3VycmVudCA9IGNvbnRlbnQ7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuX21hcmtlZCA9IG1hcmtlZC5wYXJzZShjb250ZW50IHx8ICcnKTtcbiAgICAgICAgfSBjYXRjaCB7IH1cbiAgICAgICAgdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5fbWFya2VkIHx8IHRoaXMuX2N1cnJlbnQgfHwgJyc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZlxuICAgICkgeyB9XG59Il19