UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

101 lines 9.06 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; /* * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; /* * Chat message component. * * @styles * */ var NbChatMessageFileComponent = /** @class */ (function () { function NbChatMessageFileComponent(cd, domSanitizer) { this.cd = cd; this.domSanitizer = domSanitizer; } Object.defineProperty(NbChatMessageFileComponent.prototype, "files", { /* * Message file path * @type {Date} */ set: /* * Message file path * @type {Date} */ /** * @param {?} files * @return {?} */ function (files) { var _this = this; this.readyFiles = (files || []).map(function (file) { /** @type {?} */ var isImage = _this.isImage(file); return tslib_1.__assign({}, file, { urlStyle: isImage && _this.domSanitizer.bypassSecurityTrustStyle("url(" + file.url + ")"), isImage: isImage }); }); this.cd.detectChanges(); }, enumerable: true, configurable: true }); /** * @param {?} file * @return {?} */ NbChatMessageFileComponent.prototype.isImage = /** * @param {?} file * @return {?} */ function (file) { return ['image/png', 'image/jpeg', 'image/gif'].includes(file.type); }; NbChatMessageFileComponent.decorators = [ { type: Component, args: [{ selector: 'nb-chat-message-file', template: "\n <nb-chat-message-text [sender]=\"sender\" [date]=\"date\" [message]=\"message\">\n {{ message }}\n </nb-chat-message-text>\n\n <ng-container *ngIf=\"readyFiles?.length > 1\">\n <div class=\"message-content-group\">\n <a *ngFor=\"let file of readyFiles\" [href]=\"file.url\" target=\"_blank\">\n <span [class]=\"file.icon\" *ngIf=\"!file.urlStyle\"></span>\n <div *ngIf=\"file.isImage\" [style.background-image]=\"file.urlStyle\"></div>\n </a>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"readyFiles?.length === 1\">\n <a [href]=\"readyFiles[0].url\" target=\"_blank\">\n <span [class]=\"readyFiles[0].icon\" *ngIf=\"!readyFiles[0].urlStyle\"></span>\n <div *ngIf=\"readyFiles[0].isImage\" [style.background-image]=\"readyFiles[0].urlStyle\"></div>\n </a>\n </ng-container>\n ", changeDetection: ChangeDetectionStrategy.OnPush }] } ]; /** @nocollapse */ NbChatMessageFileComponent.ctorParameters = function () { return [ { type: ChangeDetectorRef }, { type: DomSanitizer } ]; }; NbChatMessageFileComponent.propDecorators = { message: [{ type: Input }], sender: [{ type: Input }], date: [{ type: Input }], files: [{ type: Input }] }; return NbChatMessageFileComponent; }()); export { NbChatMessageFileComponent }; if (false) { /** @type {?} */ NbChatMessageFileComponent.prototype.readyFiles; /** @type {?} */ NbChatMessageFileComponent.prototype.message; /** @type {?} */ NbChatMessageFileComponent.prototype.sender; /** @type {?} */ NbChatMessageFileComponent.prototype.date; /** * @type {?} * @private */ NbChatMessageFileComponent.prototype.cd; /** * @type {?} * @private */ NbChatMessageFileComponent.prototype.domSanitizer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1tZXNzYWdlLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGhlbWUtbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY2hhdC9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7OztBQVF6RDtJQWdFRSxvQ0FBb0IsRUFBcUIsRUFBVSxZQUEwQjtRQUF6RCxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQzdFLENBQUM7SUFkRCxzQkFDSSw2Q0FBSztRQUxUOzs7V0FHRzs7Ozs7Ozs7O1FBQ0gsVUFDVSxLQUFZO1lBRHRCLGlCQVdDO1lBVEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQyxJQUFTOztvQkFDdEMsT0FBTyxHQUFHLEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNsQyw0QkFDSyxJQUFJLElBQ1AsUUFBUSxFQUFFLE9BQU8sSUFBSSxLQUFJLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLFNBQU8sSUFBSSxDQUFDLEdBQUcsTUFBRyxDQUFDLEVBQ25GLE9BQU8sRUFBRSxPQUFPLElBQ2hCO1lBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLENBQUM7OztPQUFBOzs7OztJQU1ELDRDQUFPOzs7O0lBQVAsVUFBUSxJQUFTO1FBQ2YsT0FBTyxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RSxDQUFDOztnQkF0RUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRSwrMkJBb0JUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs7OztnQkFqQ2lDLGlCQUFpQjtnQkFDMUMsWUFBWTs7OzBCQXlDbEIsS0FBSzt5QkFNTCxLQUFLO3VCQU1MLEtBQUs7d0JBTUwsS0FBSzs7SUFvQlIsaUNBQUM7Q0FBQSxBQXZFRCxJQXVFQztTQTlDWSwwQkFBMEI7OztJQUVyQyxnREFBa0I7O0lBTWxCLDZDQUF5Qjs7SUFNekIsNENBQXdCOztJQU14QiwwQ0FBb0I7Ozs7O0lBbUJSLHdDQUE2Qjs7Ozs7SUFBRSxrREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBAbGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgQWt2ZW8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuLypcclxuICogQ2hhdCBtZXNzYWdlIGNvbXBvbmVudC5cclxuICpcclxuICogQHN0eWxlc1xyXG4gKlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduYi1jaGF0LW1lc3NhZ2UtZmlsZScsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuYi1jaGF0LW1lc3NhZ2UtdGV4dCBbc2VuZGVyXT1cInNlbmRlclwiIFtkYXRlXT1cImRhdGVcIiBbbWVzc2FnZV09XCJtZXNzYWdlXCI+XHJcbiAgICAgIHt7IG1lc3NhZ2UgfX1cclxuICAgIDwvbmItY2hhdC1tZXNzYWdlLXRleHQ+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlYWR5RmlsZXM/Lmxlbmd0aCA+IDFcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtY29udGVudC1ncm91cFwiPlxyXG4gICAgICAgIDxhICpuZ0Zvcj1cImxldCBmaWxlIG9mIHJlYWR5RmlsZXNcIiBbaHJlZl09XCJmaWxlLnVybFwiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgICAgPHNwYW4gW2NsYXNzXT1cImZpbGUuaWNvblwiICpuZ0lmPVwiIWZpbGUudXJsU3R5bGVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZmlsZS5pc0ltYWdlXCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiZmlsZS51cmxTdHlsZVwiPjwvZGl2PlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVhZHlGaWxlcz8ubGVuZ3RoID09PSAxXCI+XHJcbiAgICAgIDxhIFtocmVmXT1cInJlYWR5RmlsZXNbMF0udXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgPHNwYW4gW2NsYXNzXT1cInJlYWR5RmlsZXNbMF0uaWNvblwiICAqbmdJZj1cIiFyZWFkeUZpbGVzWzBdLnVybFN0eWxlXCI+PC9zcGFuPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJyZWFkeUZpbGVzWzBdLmlzSW1hZ2VcIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJyZWFkeUZpbGVzWzBdLnVybFN0eWxlXCI+PC9kaXY+XHJcbiAgICAgIDwvYT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYkNoYXRNZXNzYWdlRmlsZUNvbXBvbmVudCB7XHJcblxyXG4gIHJlYWR5RmlsZXM6IGFueVtdO1xyXG5cclxuICAvKlxyXG4gICAqIE1lc3NhZ2Ugc2VuZGVyXHJcbiAgICogQHR5cGUge3N0cmluZ31cclxuICAgKi9cclxuICBASW5wdXQoKSBtZXNzYWdlOiBzdHJpbmc7XHJcblxyXG4gIC8qXHJcbiAgICogTWVzc2FnZSBzZW5kZXJcclxuICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlbmRlcjogc3RyaW5nO1xyXG5cclxuICAvKlxyXG4gICAqIE1lc3NhZ2Ugc2VuZCBkYXRlXHJcbiAgICogQHR5cGUge0RhdGV9XHJcbiAgICovXHJcbiAgQElucHV0KCkgZGF0ZTogRGF0ZTtcclxuXHJcbiAgLypcclxuICAgKiBNZXNzYWdlIGZpbGUgcGF0aFxyXG4gICAqIEB0eXBlIHtEYXRlfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGZpbGVzKGZpbGVzOiBhbnlbXSkge1xyXG4gICAgdGhpcy5yZWFkeUZpbGVzID0gKGZpbGVzIHx8IFtdKS5tYXAoKGZpbGU6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBpc0ltYWdlID0gdGhpcy5pc0ltYWdlKGZpbGUpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmZpbGUsXHJcbiAgICAgICAgdXJsU3R5bGU6IGlzSW1hZ2UgJiYgdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKGB1cmwoJHtmaWxlLnVybH0pYCksXHJcbiAgICAgICAgaXNJbWFnZTogaXNJbWFnZSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xyXG4gIH1cclxuXHJcblxyXG4gIGlzSW1hZ2UoZmlsZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gWydpbWFnZS9wbmcnLCAnaW1hZ2UvanBlZycsICdpbWFnZS9naWYnXS5pbmNsdWRlcyhmaWxlLnR5cGUpO1xyXG4gIH1cclxufVxyXG4iXX0=