UNPKG

@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
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==