@eternalheart/ngx-file-preview
Version:
A powerful Angular file preview component library supporting multiple file formats including images, videos, PDFs, Office documents, text files and more.
61 lines • 7.98 kB
JavaScript
import { Component, CUSTOM_ELEMENTS_SCHEMA, HostBinding, Input, NO_ERRORS_SCHEMA } from "@angular/core";
import { CommonModule } from "@angular/common";
import { TooltipDirective } from "../../directives/tooltip.diretive";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
export class PreviewIconComponent {
constructor() {
this.name = "";
this.svg = "";
this.size = '16px';
this.title = "";
this.cursor = 'pointer';
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreviewIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: PreviewIconComponent, isStandalone: true, selector: "preview-icon", inputs: { name: "name", svg: "svg", size: ["size", "size", (v) => typeof v === 'number' ? `${v}px` : v], color: "color", themeMode: "themeMode", title: "title", cursor: "cursor" }, host: { properties: { "style.cursor": "this.cursor" } }, ngImport: i0, template: `
<ng-container *ngIf="name">
<i [tooltip]="title" class="fp-font-icon NGX-FILE-PREVIEW" [class]="'nfp-'+name"
[style.width]="size" [style.font-size]="size"
[style.color]="color ? color: (themeMode=='light'?'#333333':'#FFFFFF')"></i>
</ng-container>
<ng-container *ngIf="svg">
<svg class="fp-svg-icon" [style.width]="size" [style.height]="size" [tooltip]="title" aria-hidden="true">
<use [attr.xlink:href]="'#nfp-' + svg">"></use>
</svg>
</ng-container>
`, isInline: true, styles: [":host{display:inline-block;line-height:0}:host .fp-svg-icon{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}:host .fp-font-icon{color:#fff;display:inline-flex;justify-content:center;align-items:center;aspect-ratio:1;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "delay"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PreviewIconComponent, decorators: [{
type: Component,
args: [{ selector: "preview-icon", template: `
<ng-container *ngIf="name">
<i [tooltip]="title" class="fp-font-icon NGX-FILE-PREVIEW" [class]="'nfp-'+name"
[style.width]="size" [style.font-size]="size"
[style.color]="color ? color: (themeMode=='light'?'#333333':'#FFFFFF')"></i>
</ng-container>
<ng-container *ngIf="svg">
<svg class="fp-svg-icon" [style.width]="size" [style.height]="size" [tooltip]="title" aria-hidden="true">
<use [attr.xlink:href]="'#nfp-' + svg">"></use>
</svg>
</ng-container>
`, imports: [CommonModule, TooltipDirective], standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], styles: [":host{display:inline-block;line-height:0}:host .fp-svg-icon{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}:host .fp-font-icon{color:#fff;display:inline-flex;justify-content:center;align-items:center;aspect-ratio:1;overflow:hidden}\n"] }]
}], propDecorators: { name: [{
type: Input
}], svg: [{
type: Input
}], size: [{
type: Input,
args: [{ transform: (v) => typeof v === 'number' ? `${v}px` : v }]
}], color: [{
type: Input
}], themeMode: [{
type: Input
}], title: [{
type: Input
}], cursor: [{
type: Input
}, {
type: HostBinding,
args: ['style.cursor']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LWZpbGUtcHJldmlldy9zcmMvbGliL2NvbXBvbmVudHMvcHJldmlldy1pY29uL3ByZXZpZXctaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBMENuRSxNQUFNLE9BQU8sb0JBQW9CO0lBeENqQztRQXlDVyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFFBQUcsR0FBVyxFQUFFLENBQUM7UUFDNEMsU0FBSSxHQUFvQixNQUFNLENBQUM7UUFHNUYsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUc1QixXQUFNLEdBQUcsU0FBUyxDQUFBO0tBQ25COytHQVZZLG9CQUFvQjttR0FBcEIsb0JBQW9CLDJHQUdaLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0tBekN6RDs7Ozs7Ozs7Ozs7R0FXVCxnVkF1QlMsWUFBWSxtSUFBRSxnQkFBZ0I7OzRGQUk3QixvQkFBb0I7a0JBeENoQyxTQUFTOytCQUNFLGNBQWMsWUFDZDs7Ozs7Ozs7Ozs7R0FXVCxXQXVCUSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxjQUM3QixJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQzs4QkFHMUMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDZ0UsSUFBSTtzQkFBekUsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUM7Z0JBQzNELEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHTixNQUFNO3NCQUZMLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBIb3N0QmluZGluZywgSW5wdXQsIE5PX0VSUk9SU19TQ0hFTUF9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtUaGVtZU1vZGV9IGZyb20gXCIuLi8uLi90eXBlcy90aGVtZS50eXBlc1wiO1xuaW1wb3J0IHtUb29sdGlwRGlyZWN0aXZlfSBmcm9tIFwiLi4vLi4vZGlyZWN0aXZlcy90b29sdGlwLmRpcmV0aXZlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwcmV2aWV3LWljb25cIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibmFtZVwiPlxuICAgICAgPGkgW3Rvb2x0aXBdPVwidGl0bGVcIiBjbGFzcz1cImZwLWZvbnQtaWNvbiBOR1gtRklMRS1QUkVWSUVXXCIgW2NsYXNzXT1cIiduZnAtJytuYW1lXCJcbiAgICAgICAgIFtzdHlsZS53aWR0aF09XCJzaXplXCIgW3N0eWxlLmZvbnQtc2l6ZV09XCJzaXplXCJcbiAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJjb2xvciA/IGNvbG9yOiAodGhlbWVNb2RlPT0nbGlnaHQnPycjMzMzMzMzJzonI0ZGRkZGRicpXCI+PC9pPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdmdcIj5cbiAgICAgIDxzdmcgY2xhc3M9XCJmcC1zdmctaWNvblwiIFtzdHlsZS53aWR0aF09XCJzaXplXCIgW3N0eWxlLmhlaWdodF09XCJzaXplXCIgW3Rvb2x0aXBdPVwidGl0bGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cIicjbmZwLScgKyBzdmdcIj5cIj48L3VzZT5cbiAgICAgIDwvc3ZnPlxuICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBzdHlsZXM6IFtgOmhvc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMDtcblxuICAgIC5mcC1zdmctaWNvbiB7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTVlbTtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmZwLWZvbnQtaWNvbiB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cbiAgYF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRvb2x0aXBEaXJlY3RpdmVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV1cbn0pXG5leHBvcnQgY2xhc3MgUHJldmlld0ljb25Db21wb25lbnQge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBzdmc6IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCh7dHJhbnNmb3JtOiAodjogYW55KSA9PiB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyBgJHt2fXB4YCA6IHZ9KSBzaXplOiBudW1iZXIgfCBzdHJpbmcgPSAnMTZweCc7XG4gIEBJbnB1dCgpIGNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSB0aGVtZU1vZGU/OiBUaGVtZU1vZGUgfCBudWxsO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gXCJcIjtcbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5jdXJzb3InKVxuICBjdXJzb3IgPSAncG9pbnRlcidcbn1cbiJdfQ==