monkey-front-components 0.0.304 → 0.0.305

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,6 +17,7 @@ export class MECXProductsComponent extends BaseComponent {
17
17
  onImgError(img) {
18
18
  const index = Math.floor(Math.random() * (6 - 1 + 1)) + 1;
19
19
  img.src = `https://assets.monkeyecx.com/icons/icon-${index}.svg`;
20
+ img.className = 'no-image';
20
21
  }
21
22
  onHandleProducts() {
22
23
  const { _filter } = this;
@@ -78,11 +79,11 @@ export class MECXProductsComponent extends BaseComponent {
78
79
  }
79
80
  }
80
81
  MECXProductsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXProductsComponent, deps: [{ token: i1.MonkeyEcxTokenStorageService }], target: i0.ɵɵFactoryTarget.Component });
81
- MECXProductsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MECXProductsComponent, selector: "mecx-products", outputs: { onAccess: "onAccess" }, usesInheritance: true, ngImport: i0, template: "<mecx-products-filter (onChangeFilter)=\"onHandleChangeFilter($event)\"></mecx-products-filter>\r\n<div *ngFor=\"let product of _filteredProducts\" class=\"product\">\r\n <span class=\"title\">{{ 'PRODUCTS.'+product.name | translate }}</span>\r\n <div class=\"items\">\r\n <div *ngFor=\"let item of product.items\" class=\"item\"\r\n (click)=\"onAccess.next(item)\">\r\n <div class=\"icon\">\r\n <img [src]=\"item.logo\" #img (error)=\"onImgError(img)\">\r\n </div>\r\n <span class=\"name\">{{ item.name }}</span>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:flex;flex-direction:column}:host .product .title{font-style:normal;font-weight:600;font-size:24px;line-height:32px;letter-spacing:.04em;color:#4b4a53;margin-top:8px}:host .product .items{display:grid;grid-template-columns:repeat(2,1fr);grid-column-gap:10px;grid-row-gap:10px}:host .product .items .item{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;padding:12px}:host .product .items .item .icon img{width:100%;max-width:140px}:host .product .items .item .name{font-style:normal;font-weight:400;font-size:18px;line-height:24px;color:#72717e;margin-top:8px}:host .product .items .item:hover{box-shadow:0 25px 52px 8px #eaeaeae0}\n"], components: [{ type: i2.MECXProductsFilterComponent, selector: "mecx-products-filter", inputs: ["isLoading"], outputs: ["onChangeFilter"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i4.TranslatePipe } });
82
+ MECXProductsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MECXProductsComponent, selector: "mecx-products", outputs: { onAccess: "onAccess" }, usesInheritance: true, ngImport: i0, template: "<mecx-products-filter (onChangeFilter)=\"onHandleChangeFilter($event)\"></mecx-products-filter>\r\n<div class=\"products-list\">\r\n <div *ngFor=\"let product of _filteredProducts\" class=\"product\">\r\n <span class=\"title\">{{ 'PRODUCTS.'+product.name | translate }}</span>\r\n <div class=\"items\">\r\n <div *ngFor=\"let item of product.items\" class=\"item\"\r\n (click)=\"onAccess.next(item)\">\r\n <div class=\"icon\">\r\n <img [src]=\"item.logo\" #img (error)=\"onImgError(img)\">\r\n </div>\r\n <span class=\"name\">{{ item.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:flex;flex-direction:column;overflow:hidden}:host .products-list{display:flex;flex-direction:column;overflow:auto}:host .product{display:flex;flex-direction:column}:host .product .title{font-style:normal;font-weight:600;font-size:24px;line-height:32px;letter-spacing:.04em;color:#4b4a53;margin:32px 0}:host .product .items{display:grid;grid-template-columns:repeat(2,1fr);grid-column-gap:10px;grid-row-gap:10px}:host .product .items .item{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;padding:12px}:host .product .items .item .icon{margin:12px 0}:host .product .items .item .icon img{width:100%;max-width:140px}:host .product .items .item .icon .no-image{width:52px;height:52px}:host .product .items .item .name{font-style:normal;font-weight:400;font-size:18px;line-height:24px;color:#72717e;margin-top:8px}:host .product .items .item:hover{box-shadow:0 25px 52px 8px #eaeaeae0}\n"], components: [{ type: i2.MECXProductsFilterComponent, selector: "mecx-products-filter", inputs: ["isLoading"], outputs: ["onChangeFilter"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i4.TranslatePipe } });
82
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXProductsComponent, decorators: [{
83
84
  type: Component,
84
- args: [{ selector: 'mecx-products', template: "<mecx-products-filter (onChangeFilter)=\"onHandleChangeFilter($event)\"></mecx-products-filter>\r\n<div *ngFor=\"let product of _filteredProducts\" class=\"product\">\r\n <span class=\"title\">{{ 'PRODUCTS.'+product.name | translate }}</span>\r\n <div class=\"items\">\r\n <div *ngFor=\"let item of product.items\" class=\"item\"\r\n (click)=\"onAccess.next(item)\">\r\n <div class=\"icon\">\r\n <img [src]=\"item.logo\" #img (error)=\"onImgError(img)\">\r\n </div>\r\n <span class=\"name\">{{ item.name }}</span>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:flex;flex-direction:column}:host .product .title{font-style:normal;font-weight:600;font-size:24px;line-height:32px;letter-spacing:.04em;color:#4b4a53;margin-top:8px}:host .product .items{display:grid;grid-template-columns:repeat(2,1fr);grid-column-gap:10px;grid-row-gap:10px}:host .product .items .item{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;padding:12px}:host .product .items .item .icon img{width:100%;max-width:140px}:host .product .items .item .name{font-style:normal;font-weight:400;font-size:18px;line-height:24px;color:#72717e;margin-top:8px}:host .product .items .item:hover{box-shadow:0 25px 52px 8px #eaeaeae0}\n"] }]
85
+ args: [{ selector: 'mecx-products', template: "<mecx-products-filter (onChangeFilter)=\"onHandleChangeFilter($event)\"></mecx-products-filter>\r\n<div class=\"products-list\">\r\n <div *ngFor=\"let product of _filteredProducts\" class=\"product\">\r\n <span class=\"title\">{{ 'PRODUCTS.'+product.name | translate }}</span>\r\n <div class=\"items\">\r\n <div *ngFor=\"let item of product.items\" class=\"item\"\r\n (click)=\"onAccess.next(item)\">\r\n <div class=\"icon\">\r\n <img [src]=\"item.logo\" #img (error)=\"onImgError(img)\">\r\n </div>\r\n <span class=\"name\">{{ item.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:flex;flex-direction:column;overflow:hidden}:host .products-list{display:flex;flex-direction:column;overflow:auto}:host .product{display:flex;flex-direction:column}:host .product .title{font-style:normal;font-weight:600;font-size:24px;line-height:32px;letter-spacing:.04em;color:#4b4a53;margin:32px 0}:host .product .items{display:grid;grid-template-columns:repeat(2,1fr);grid-column-gap:10px;grid-row-gap:10px}:host .product .items .item{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;padding:12px}:host .product .items .item .icon{margin:12px 0}:host .product .items .item .icon img{width:100%;max-width:140px}:host .product .items .item .icon .no-image{width:52px;height:52px}:host .product .items .item .name{font-style:normal;font-weight:400;font-size:18px;line-height:24px;color:#72717e;margin-top:8px}:host .product .items .item:hover{box-shadow:0 25px 52px 8px #eaeaeae0}\n"] }]
85
86
  }], ctorParameters: function () { return [{ type: i1.MonkeyEcxTokenStorageService }]; }, propDecorators: { onAccess: [{
86
87
  type: Output
87
88
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC9wcm9kdWN0cy9wcm9kdWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3Byb2R1Y3RzL3Byb2R1Y3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQU81QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQVN0RCxZQUFvQixZQUEwQztRQUM1RCxLQUFLLEVBQUUsQ0FBQztRQURVLGlCQUFZLEdBQVosWUFBWSxDQUE4QjtRQVJwRCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQU03QyxZQUFPLEdBQUcsRUFBRSxDQUFDO0lBSWIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFxQjtRQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsR0FBRyxDQUFDLEdBQUcsR0FBRywyQ0FBMkMsS0FBSyxNQUFNLENBQUM7SUFDbkUsQ0FBQztJQUVPLGdCQUFnQjtR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LElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFDLE9BQU8sTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVk7YUFDZCxZQUFZLEVBQUU7YUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3RDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDOztrSEF0RlUscUJBQXFCO3NHQUFyQixxQkFBcUIsK0dDWGxDLHVrQkFZTTsyRkRETyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZUFBZTttSEFLZixRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnbW9ua2V5LWZyb250LWNvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdHNNb2RlbCB9IGZyb20gJy4vcHJvdmlkZXJzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWVjeC1wcm9kdWN0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2R1Y3RzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTUVDWFByb2R1Y3RzQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBvbkFjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIF9wcm9kdWN0czogYW55W107XG5cbiAgX2ZpbHRlcmVkUHJvZHVjdHM6IGFueVtdO1xuXG4gIF9maWx0ZXIgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRva2VuU3RvcmFnZTogTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBvbkltZ0Vycm9yKGltZzogSFRNTEltYWdlRWxlbWVudCkge1xuICAgIGNvbnN0IGluZGV4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDYgLSAxICsgMSkpICsgMTtcbiAgICBpbWcuc3JjID0gYGh0dHBzOi8vYXNzZXRzLm1vbmtleWVjeC5jb20vaWNvbnMvaWNvbi0ke2luZGV4fS5zdmdgO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkhhbmRsZVByb2R1Y3RzKCkge1xuICAgIGNvbnN0IHsgX2ZpbHRlciB9ID0gdGhpcztcblxuICAgIHRoaXMuX2ZpbHRlcmVkUHJvZHVjdHMgPSB0aGlzLl9wcm9kdWN0cy5tYXAoKHsgbmFtZSwgaXRlbXMgfSkgPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSBpdGVtcz8uZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgY21wQSA9IGAke18ubmFtZX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGNtcEIgPSBgJHtfZmlsdGVyfWAudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIGNtcEEuaW5jbHVkZXMoY21wQik7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGZvdW5kICYmIGZvdW5kLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgaXRlbXM6IGZvdW5kXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pLmZpbHRlcigoXzogYW55KSA9PiB7IHJldHVybiBfOyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25IYW5kbGVNZSgpIHtcbiAgICBjb25zdCBwcm9ncmFtczogUHJvZHVjdHNNb2RlbFtdID0gdGhpcy50b2tlblN0b3JhZ2UuZ2V0TWUoKT8ucHJvZ3JhbXM/Lm1hcCgoXzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb2R1Y3RzTW9kZWwoXyk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBvbmx5VW5pcXVlID0gKHZhbHVlOiBhbnksIGluZGV4OiBhbnksIHNlbGY6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHNlbGYuaW5kZXhPZih2YWx1ZSkgPT09IGluZGV4O1xuICAgIH07XG5cbiAgICBjb25zdCBwcm9kdWN0cyA9IHByb2dyYW1zLm1hcCgoeyBwcm9kdWN0IH0pID0+IHtcbiAgICAgIHJldHVybiBwcm9kdWN0O1xuICAgIH0pLmZpbHRlcihvbmx5VW5pcXVlKTtcblxuICAgIHRoaXMuX3Byb2R1Y3RzID0gT2JqZWN0LmVudHJpZXMocHJvZHVjdHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBjb25zdCBmb3VuZCA9IHByb2dyYW1zLmZpbHRlcigoeyBwcm9kdWN0IH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGAke3Byb2R1Y3R9YCA9PT0gYCR7dmFsdWV9YDtcbiAgICAgIH0pPy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IGdyb3VwQSA9IGAke2E/Lm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBncm91cEIgPSBgJHtiPy5uYW1lfWAudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIGdyb3VwQSAhPT0gZ3JvdXBCID8gMSA6IC0xO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHZhbHVlLFxuICAgICAgICBpdGVtczogZm91bmRcbiAgICAgIH07XG4gICAgfSk/LnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IGdyb3VwQSA9IGAke2E/Lm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgZ3JvdXBCID0gYCR7Yj8ubmFtZX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICByZXR1cm4gZ3JvdXBBICE9PSBncm91cEIgPyAtMSA6IDE7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9maWx0ZXJlZFByb2R1Y3RzID0gdGhpcy5fcHJvZHVjdHM7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRva2VuU3RvcmFnZVxuICAgICAgLm1lSGFzQ2hhbmdlZCgpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fX3Vuc3Vic2NyaWJlQWxsKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uSGFuZGxlTWUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25IYW5kbGVDaGFuZ2VGaWx0ZXIoZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMuX2ZpbHRlciA9IGV2ZW50O1xuICAgIHRoaXMub25IYW5kbGVQcm9kdWN0cygpO1xuICB9XG59XG4iLCI8bWVjeC1wcm9kdWN0cy1maWx0ZXIgKG9uQ2hhbmdlRmlsdGVyKT1cIm9uSGFuZGxlQ2hhbmdlRmlsdGVyKCRldmVudClcIj48L21lY3gtcHJvZHVjdHMtZmlsdGVyPlxyXG48ZGl2ICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIF9maWx0ZXJlZFByb2R1Y3RzXCIgY2xhc3M9XCJwcm9kdWN0XCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiPnt7ICdQUk9EVUNUUy4nK3Byb2R1Y3QubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICA8ZGl2IGNsYXNzPVwiaXRlbXNcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJvZHVjdC5pdGVtc1wiIGNsYXNzPVwiaXRlbVwiXHJcbiAgICAgIChjbGljayk9XCJvbkFjY2Vzcy5uZXh0KGl0ZW0pXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIml0ZW0ubG9nb1wiICNpbWcgKGVycm9yKT1cIm9uSW1nRXJyb3IoaW1nKVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC9wcm9kdWN0cy9wcm9kdWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkL3Byb2R1Y3RzL3Byb2R1Y3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQU81QyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQVN0RCxZQUFvQixZQUEwQztRQUM1RCxLQUFLLEVBQUUsQ0FBQztRQURVLGlCQUFZLEdBQVosWUFBWSxDQUE4QjtRQVJwRCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQU03QyxZQUFPLEdBQUcsRUFBRSxDQUFDO0lBSWIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFxQjtRQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsR0FBRyxDQUFDLEdBQUcsR0FBRywyQ0FBMkMsS0FBSyxNQUFNLENBQUM7UUFDakUsR0FBRyxDQUFDLFNBQVMsR0FB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O1lBQzFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFDLE9BQU8sTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVk7YUFDZCxZQUFZLEVBQUU7YUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3RDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDOztrSEF2RlUscUJBQXFCO3NHQUFyQixxQkFBcUIsK0dDWGxDLDBvQkFjTTsyRkRITyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZUFBZTttSEFLZixRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnbW9ua2V5LWZyb250LWNvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UvYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZHVjdHNNb2RlbCB9IGZyb20gJy4vcHJvdmlkZXJzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWVjeC1wcm9kdWN0cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2R1Y3RzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTUVDWFByb2R1Y3RzQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBvbkFjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIF9wcm9kdWN0czogYW55W107XG5cbiAgX2ZpbHRlcmVkUHJvZHVjdHM6IGFueVtdO1xuXG4gIF9maWx0ZXIgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRva2VuU3RvcmFnZTogTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBvbkltZ0Vycm9yKGltZzogSFRNTEltYWdlRWxlbWVudCkge1xuICAgIGNvbnN0IGluZGV4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKDYgLSAxICsgMSkpICsgMTtcbiAgICBpbWcuc3JjID0gYGh0dHBzOi8vYXNzZXRzLm1vbmtleWVjeC5jb20vaWNvbnMvaWNvbi0ke2luZGV4fS5zdmdgO1xuICAgIGltZy5jbGFzc05hbWUgPSAnbm8taW1hZ2UnO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkhhbmRsZVByb2R1Y3RzKCkge1xuICAgIGNvbnN0IHsgX2ZpbHRlciB9ID0gdGhpcztcblxuICAgIHRoaXMuX2ZpbHRlcmVkUHJvZHVjdHMgPSB0aGlzLl9wcm9kdWN0cy5tYXAoKHsgbmFtZSwgaXRlbXMgfSkgPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSBpdGVtcz8uZmlsdGVyKChfOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgY21wQSA9IGAke18ubmFtZX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGNtcEIgPSBgJHtfZmlsdGVyfWAudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIGNtcEEuaW5jbHVkZXMoY21wQik7XG4gICAgICB9KTtcblxuICAgICAgaWYgKGZvdW5kICYmIGZvdW5kLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgaXRlbXM6IGZvdW5kXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pLmZpbHRlcigoXzogYW55KSA9PiB7IHJldHVybiBfOyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25IYW5kbGVNZSgpIHtcbiAgICBjb25zdCBwcm9ncmFtczogUHJvZHVjdHNNb2RlbFtdID0gdGhpcy50b2tlblN0b3JhZ2UuZ2V0TWUoKT8ucHJvZ3JhbXM/Lm1hcCgoXzogYW55KSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb2R1Y3RzTW9kZWwoXyk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBvbmx5VW5pcXVlID0gKHZhbHVlOiBhbnksIGluZGV4OiBhbnksIHNlbGY6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHNlbGYuaW5kZXhPZih2YWx1ZSkgPT09IGluZGV4O1xuICAgIH07XG5cbiAgICBjb25zdCBwcm9kdWN0cyA9IHByb2dyYW1zLm1hcCgoeyBwcm9kdWN0IH0pID0+IHtcbiAgICAgIHJldHVybiBwcm9kdWN0O1xuICAgIH0pLmZpbHRlcihvbmx5VW5pcXVlKTtcblxuICAgIHRoaXMuX3Byb2R1Y3RzID0gT2JqZWN0LmVudHJpZXMocHJvZHVjdHMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBjb25zdCBmb3VuZCA9IHByb2dyYW1zLmZpbHRlcigoeyBwcm9kdWN0IH0pID0+IHtcbiAgICAgICAgcmV0dXJuIGAke3Byb2R1Y3R9YCA9PT0gYCR7dmFsdWV9YDtcbiAgICAgIH0pPy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IGdyb3VwQSA9IGAke2E/Lm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBncm91cEIgPSBgJHtiPy5uYW1lfWAudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIGdyb3VwQSAhPT0gZ3JvdXBCID8gMSA6IC0xO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHZhbHVlLFxuICAgICAgICBpdGVtczogZm91bmRcbiAgICAgIH07XG4gICAgfSk/LnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IGdyb3VwQSA9IGAke2E/Lm5hbWV9YC50b0xvd2VyQ2FzZSgpO1xuICAgICAgY29uc3QgZ3JvdXBCID0gYCR7Yj8ubmFtZX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICByZXR1cm4gZ3JvdXBBICE9PSBncm91cEIgPyAtMSA6IDE7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9maWx0ZXJlZFByb2R1Y3RzID0gdGhpcy5fcHJvZHVjdHM7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRva2VuU3RvcmFnZVxuICAgICAgLm1lSGFzQ2hhbmdlZCgpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fX3Vuc3Vic2NyaWJlQWxsKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uSGFuZGxlTWUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb25IYW5kbGVDaGFuZ2VGaWx0ZXIoZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMuX2ZpbHRlciA9IGV2ZW50O1xuICAgIHRoaXMub25IYW5kbGVQcm9kdWN0cygpO1xuICB9XG59XG4iLCI8bWVjeC1wcm9kdWN0cy1maWx0ZXIgKG9uQ2hhbmdlRmlsdGVyKT1cIm9uSGFuZGxlQ2hhbmdlRmlsdGVyKCRldmVudClcIj48L21lY3gtcHJvZHVjdHMtZmlsdGVyPlxyXG48ZGl2IGNsYXNzPVwicHJvZHVjdHMtbGlzdFwiPlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgX2ZpbHRlcmVkUHJvZHVjdHNcIiBjbGFzcz1cInByb2R1Y3RcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj57eyAnUFJPRFVDVFMuJytwcm9kdWN0Lm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaXRlbXNcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcm9kdWN0Lml0ZW1zXCIgY2xhc3M9XCJpdGVtXCJcclxuICAgICAgICAoY2xpY2spPVwib25BY2Nlc3MubmV4dChpdGVtKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+XHJcbiAgICAgICAgICA8aW1nIFtzcmNdPVwiaXRlbS5sb2dvXCIgI2ltZyAoZXJyb3IpPVwib25JbWdFcnJvcihpbWcpXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJuYW1lXCI+e3sgaXRlbS5uYW1lIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -2694,6 +2694,7 @@ class MECXProductsComponent extends BaseComponent {
2694
2694
  onImgError(img) {
2695
2695
  const index = Math.floor(Math.random() * (6 - 1 + 1)) + 1;
2696
2696
  img.src = `https://assets.monkeyecx.com/icons/icon-${index}.svg`;
2697
+ img.className = 'no-image';
2697
2698
  }
2698
2699
  onHandleProducts() {
2699
2700
  const { _filter } = this;
@@ -2757,10 +2758,10 @@ class MECXProductsComponent extends BaseComponent {
2757
2758
  }
2758
2759
  }
2759
2760
  MECXProductsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXProductsComponent, deps: [{ token: i1$4.MonkeyEcxTokenStorageService }], target: i0.ɵɵFactoryTarget.Component });
2760
- MECXProductsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MECXProductsComponent, selector: "mecx-products", outputs: { onAccess: "onAccess" }, usesInheritance: true, ngImport: i0, template: "<mecx-products-filter (onChangeFilter)=\"onHandleChangeFilter($event)\"></mecx-products-filter>\r\n<div *ngFor=\"let product of _filteredProducts\" class=\"product\">\r\n <span class=\"title\">{{ 'PRODUCTS.'+product.name | translate }}</span>\r\n <div class=\"items\">\r\n <div *ngFor=\"let item of product.items\" class=\"item\"\r\n (click)=\"onAccess.next(item)\">\r\n <div class=\"icon\">\r\n <img [src]=\"item.logo\" #img (error)=\"onImgError(img)\">\r\n </div>\r\n <span class=\"name\">{{ item.name }}</span>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:flex;flex-direction:column}:host .product .title{font-style:normal;font-weight:600;font-size:24px;line-height:32px;letter-spacing:.04em;color:#4b4a53;margin-top:8px}:host .product .items{display:grid;grid-template-columns:repeat(2,1fr);grid-column-gap:10px;grid-row-gap:10px}:host .product .items .item{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;padding:12px}:host .product .items .item .icon img{width:100%;max-width:140px}:host .product .items .item .name{font-style:normal;font-weight:400;font-size:18px;line-height:24px;color:#72717e;margin-top:8px}:host .product .items .item:hover{box-shadow:0 25px 52px 8px #eaeaeae0}\n"], components: [{ type: MECXProductsFilterComponent, selector: "mecx-products-filter", inputs: ["isLoading"], outputs: ["onChangeFilter"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$3.TranslatePipe } });
2761
+ MECXProductsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: MECXProductsComponent, selector: "mecx-products", outputs: { onAccess: "onAccess" }, usesInheritance: true, ngImport: i0, template: "<mecx-products-filter (onChangeFilter)=\"onHandleChangeFilter($event)\"></mecx-products-filter>\r\n<div class=\"products-list\">\r\n <div *ngFor=\"let product of _filteredProducts\" class=\"product\">\r\n <span class=\"title\">{{ 'PRODUCTS.'+product.name | translate }}</span>\r\n <div class=\"items\">\r\n <div *ngFor=\"let item of product.items\" class=\"item\"\r\n (click)=\"onAccess.next(item)\">\r\n <div class=\"icon\">\r\n <img [src]=\"item.logo\" #img (error)=\"onImgError(img)\">\r\n </div>\r\n <span class=\"name\">{{ item.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:flex;flex-direction:column;overflow:hidden}:host .products-list{display:flex;flex-direction:column;overflow:auto}:host .product{display:flex;flex-direction:column}:host .product .title{font-style:normal;font-weight:600;font-size:24px;line-height:32px;letter-spacing:.04em;color:#4b4a53;margin:32px 0}:host .product .items{display:grid;grid-template-columns:repeat(2,1fr);grid-column-gap:10px;grid-row-gap:10px}:host .product .items .item{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;padding:12px}:host .product .items .item .icon{margin:12px 0}:host .product .items .item .icon img{width:100%;max-width:140px}:host .product .items .item .icon .no-image{width:52px;height:52px}:host .product .items .item .name{font-style:normal;font-weight:400;font-size:18px;line-height:24px;color:#72717e;margin-top:8px}:host .product .items .item:hover{box-shadow:0 25px 52px 8px #eaeaeae0}\n"], components: [{ type: MECXProductsFilterComponent, selector: "mecx-products-filter", inputs: ["isLoading"], outputs: ["onChangeFilter"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i1$3.TranslatePipe } });
2761
2762
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MECXProductsComponent, decorators: [{
2762
2763
  type: Component,
2763
- args: [{ selector: 'mecx-products', template: "<mecx-products-filter (onChangeFilter)=\"onHandleChangeFilter($event)\"></mecx-products-filter>\r\n<div *ngFor=\"let product of _filteredProducts\" class=\"product\">\r\n <span class=\"title\">{{ 'PRODUCTS.'+product.name | translate }}</span>\r\n <div class=\"items\">\r\n <div *ngFor=\"let item of product.items\" class=\"item\"\r\n (click)=\"onAccess.next(item)\">\r\n <div class=\"icon\">\r\n <img [src]=\"item.logo\" #img (error)=\"onImgError(img)\">\r\n </div>\r\n <span class=\"name\">{{ item.name }}</span>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:flex;flex-direction:column}:host .product .title{font-style:normal;font-weight:600;font-size:24px;line-height:32px;letter-spacing:.04em;color:#4b4a53;margin-top:8px}:host .product .items{display:grid;grid-template-columns:repeat(2,1fr);grid-column-gap:10px;grid-row-gap:10px}:host .product .items .item{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;padding:12px}:host .product .items .item .icon img{width:100%;max-width:140px}:host .product .items .item .name{font-style:normal;font-weight:400;font-size:18px;line-height:24px;color:#72717e;margin-top:8px}:host .product .items .item:hover{box-shadow:0 25px 52px 8px #eaeaeae0}\n"] }]
2764
+ args: [{ selector: 'mecx-products', template: "<mecx-products-filter (onChangeFilter)=\"onHandleChangeFilter($event)\"></mecx-products-filter>\r\n<div class=\"products-list\">\r\n <div *ngFor=\"let product of _filteredProducts\" class=\"product\">\r\n <span class=\"title\">{{ 'PRODUCTS.'+product.name | translate }}</span>\r\n <div class=\"items\">\r\n <div *ngFor=\"let item of product.items\" class=\"item\"\r\n (click)=\"onAccess.next(item)\">\r\n <div class=\"icon\">\r\n <img [src]=\"item.logo\" #img (error)=\"onImgError(img)\">\r\n </div>\r\n <span class=\"name\">{{ item.name }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{display:flex;flex-direction:column;overflow:hidden}:host .products-list{display:flex;flex-direction:column;overflow:auto}:host .product{display:flex;flex-direction:column}:host .product .title{font-style:normal;font-weight:600;font-size:24px;line-height:32px;letter-spacing:.04em;color:#4b4a53;margin:32px 0}:host .product .items{display:grid;grid-template-columns:repeat(2,1fr);grid-column-gap:10px;grid-row-gap:10px}:host .product .items .item{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;padding:12px}:host .product .items .item .icon{margin:12px 0}:host .product .items .item .icon img{width:100%;max-width:140px}:host .product .items .item .icon .no-image{width:52px;height:52px}:host .product .items .item .name{font-style:normal;font-weight:400;font-size:18px;line-height:24px;color:#72717e;margin-top:8px}:host .product .items .item:hover{box-shadow:0 25px 52px 8px #eaeaeae0}\n"] }]
2764
2765
  }], ctorParameters: function () { return [{ type: i1$4.MonkeyEcxTokenStorageService }]; }, propDecorators: { onAccess: [{
2765
2766
  type: Output
2766
2767
  }] } });