theme-lib
Version:
This is a simple example Angular Library published to npm.
101 lines • 9.06 kB
JavaScript
/**
* @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=