@wizishop/angular-components 0.0.167 → 0.0.168

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.
@@ -1,41 +1,47 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
2
2
  export class MosaicComponent {
3
3
  constructor() {
4
- this.isLoading = true;
5
- this.import = new EventEmitter();
6
- }
7
- ngOnInit() {
8
- if (this.items) {
9
- const splitItems = this.sliceIntoChunks(this.items, (this.items.length / 3));
10
- this.columnLeft = splitItems[0];
11
- this.columnCenter = splitItems[1];
12
- this.columnRight = splitItems[2];
13
- }
4
+ this._imagesList = [];
14
5
  this.isLoading = false;
6
+ this.numberOfColumn = 3;
7
+ this.importImageSrc = new EventEmitter();
8
+ }
9
+ set imagesList(imagesList) {
10
+ this._imagesList = imagesList;
11
+ this.generateColumns();
15
12
  }
16
- emitIndex(index) {
17
- this.import.emit(index);
13
+ get imagesList() {
14
+ return this._imagesList;
18
15
  }
19
- sliceIntoChunks(arr, chunkSize) {
20
- const res = [];
21
- for (let i = 0; i < arr.length; i += chunkSize) {
22
- const chunk = arr.slice(i, i + chunkSize);
23
- res.push(chunk);
16
+ generateColumns() {
17
+ this.columns = this.sliceIntoChunks();
18
+ }
19
+ sliceIntoChunks() {
20
+ const columns = [];
21
+ const numberOfImagePerColumn = this.imagesList.length / this.numberOfColumn;
22
+ for (let i = 0; i < this.imagesList.length; i += numberOfImagePerColumn) {
23
+ const chunk = this.imagesList.slice(i, i + numberOfImagePerColumn);
24
+ columns.push(chunk);
24
25
  }
25
- return res;
26
+ return columns;
27
+ }
28
+ onImportImage(src) {
29
+ this.importImageSrc.emit(src);
26
30
  }
27
31
  }
28
32
  MosaicComponent.decorators = [
29
33
  { type: Component, args: [{
30
34
  selector: 'wac-mosaic',
31
- template: "<div class=\"wac-mosaic__loader\" *ngIf=\"isLoading\">\n <wac-loader></wac-loader>\n</div>\n<div class=\"wac-mosaic\" *ngIf=\"!isLoading\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *ngIf=\"columnLeft\">\n <div class=\"wac-mosaic__wrapper__column__item\" *ngFor=\"let img of columnLeft; let i = index;\">\n <img [src]=\"img\" />\n <div class=\"hover\">\n <wac-button [icon]=\"iconButtons\" [label]=\"labelButtons\" [extraClasses]=\"'is-success'\" (click)=\"emitIndex(i)\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-mosaic__wrapper__column\" *ngIf=\"columnCenter\" >\n <div class=\"wac-mosaic__wrapper__column__item\" *ngFor=\"let img of columnCenter; let i = index;\">\n <img [src]=\"img\" />\n <div class=\"hover\">\n <wac-button [icon]=\"iconButtons\" [label]=\"labelButtons\" [extraClasses]=\"'is-success'\" (click)=\"emitIndex(i + this.columnLeft.length)\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-mosaic__wrapper__column\" *ngIf=\"columnRight\">\n <div class=\"wac-mosaic__wrapper__column__item\" *ngFor=\"let img of columnRight; let i = index;\">\n <img [src]=\"img\" />\n <div class=\"hover\">\n <wac-button [icon]=\"iconButtons\" [label]=\"labelButtons\" [extraClasses]=\"'is-success'\" (click)=\"emitIndex(i + this.columnLeft.length + this.columnCenter.length)\"></wac-button>\n </div>\n </div>\n </div>\n </div>\n</div>\n"
35
+ template: "<div class=\"wac-mosaic__loader\" *ngIf=\"isLoading\">\n <wac-loader></wac-loader>\n</div>\n<div class=\"wac-mosaic\" *ngIf=\"!isLoading\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns\">\n <div class=\"wac-mosaic__wrapper__column__image\" *ngFor=\"let image of column; let i = index;\">\n <img [src]=\"image.src\" [alt]=\"image.alt\"/>\n <div class=\"hover\">\n <ng-container\n [ngTemplateOutlet]=\"importButtonTemplate || defaultImportButton\"\n [ngTemplateOutletContext]=\"{ $implicit: image }\"\n >\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #defaultImportButton let-image>\n <wac-button [icon]=\"'fa-solid fa-image'\" [label]=\"'wac.MosaicComponent.import' | translate\" [extraClasses]=\"'is-success'\" (click)=\"onImportImage(image.src)\"></wac-button>\n</ng-template>\n",
36
+ encapsulation: ViewEncapsulation.None
32
37
  },] }
33
38
  ];
34
39
  MosaicComponent.ctorParameters = () => [];
35
40
  MosaicComponent.propDecorators = {
36
- items: [{ type: Input }],
37
- labelButtons: [{ type: Input }],
38
- iconButtons: [{ type: Input }],
39
- import: [{ type: Output }]
41
+ imagesList: [{ type: Input }],
42
+ isLoading: [{ type: Input }],
43
+ numberOfColumn: [{ type: Input }],
44
+ importButtonTemplate: [{ type: Input }],
45
+ importImageSrc: [{ type: Output }]
40
46
  };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9zYWljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9zYWljL21vc2FpYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU03RSxNQUFNLE9BQU8sZUFBZTtJQW9CMUI7UUFmQSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBU2pCLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBTWpCLENBQUM7SUFFakIsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0UsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsZUFBZSxDQUFDLEdBQUcsRUFBRSxTQUFTO1FBQzVCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxTQUFTLEVBQUU7WUFDOUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakI7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7OztZQS9DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLHloREFBc0M7YUFDdkM7Ozs7b0JBR0UsS0FBSzsyQkFLTCxLQUFLOzBCQUdMLEtBQUs7cUJBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1tb3NhaWMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9zYWljLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBNb3NhaWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBbXTtcblxuICBpc0xvYWRpbmcgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsQnV0dG9uczogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGljb25CdXR0b25zOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIGltcG9ydCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbHVtbkxlZnQ6IFtdO1xuICBjb2x1bW5SaWdodDogW107XG4gIGNvbHVtbkNlbnRlcjogW107XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgY29uc3Qgc3BsaXRJdGVtcyA9IHRoaXMuc2xpY2VJbnRvQ2h1bmtzKHRoaXMuaXRlbXMsICh0aGlzLml0ZW1zLmxlbmd0aCAvIDMpKTtcbiAgICAgIHRoaXMuY29sdW1uTGVmdCA9IHNwbGl0SXRlbXNbMF07XG4gICAgICB0aGlzLmNvbHVtbkNlbnRlciA9IHNwbGl0SXRlbXNbMV07XG4gICAgICB0aGlzLmNvbHVtblJpZ2h0ID0gc3BsaXRJdGVtc1syXTtcbiAgICB9XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIGVtaXRJbmRleChpbmRleCkge1xuICAgIHRoaXMuaW1wb3J0LmVtaXQoaW5kZXgpO1xuICB9XG5cbiAgc2xpY2VJbnRvQ2h1bmtzKGFyciwgY2h1bmtTaXplKSB7XG4gICAgY29uc3QgcmVzID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IGNodW5rU2l6ZSkge1xuICAgICAgY29uc3QgY2h1bmsgPSBhcnIuc2xpY2UoaSwgaSArIGNodW5rU2l6ZSk7XG4gICAgICByZXMucHVzaChjaHVuayk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cblxufVxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9zYWljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbW9zYWljL21vc2FpYy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQWVyRyxNQUFNLE9BQU8sZUFBZTtJQTBCMUI7UUFkQSxnQkFBVyxHQUFrQixFQUFFLENBQUM7UUFFdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQU01QixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7SUFJakMsQ0FBQztJQXhCakIsSUFDSSxVQUFVLENBQUMsVUFBeUI7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQWtCRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzVFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksc0JBQXNCLEVBQUU7WUFDdkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQWdCO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OztZQWpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLDArQkFBc0M7Z0JBQ3RDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O3lCQUdFLEtBQUs7d0JBWUwsS0FBSzs2QkFFTCxLQUFLO21DQUVMLEtBQUs7NkJBR0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEltYWdlU291cmNlID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgSW1hZ2VBbHQgPSBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIE1vc2FpY0ltYWdlID0ge1xuICBzcmM6IEltYWdlU291cmNlLFxuICBhbHQ6IEltYWdlQWx0XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1tb3NhaWMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9zYWljLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNb3NhaWNDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpbWFnZXNMaXN0KGltYWdlc0xpc3Q6IE1vc2FpY0ltYWdlW10pIHtcbiAgICB0aGlzLl9pbWFnZXNMaXN0ID0gaW1hZ2VzTGlzdDtcbiAgICB0aGlzLmdlbmVyYXRlQ29sdW1ucygpO1xuICB9XG5cbiAgZ2V0IGltYWdlc0xpc3QoKTogTW9zYWljSW1hZ2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ltYWdlc0xpc3Q7XG4gIH1cblxuICBfaW1hZ2VzTGlzdDogTW9zYWljSW1hZ2VbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG51bWJlck9mQ29sdW1uID0gMztcblxuICBASW5wdXQoKVxuICBpbXBvcnRCdXR0b25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAT3V0cHV0KClcbiAgaW1wb3J0SW1hZ2VTcmMgPSBuZXcgRXZlbnRFbWl0dGVyPEltYWdlU291cmNlPigpO1xuXG4gIGNvbHVtbnM6IE1vc2FpY0ltYWdlW11bXTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGdlbmVyYXRlQ29sdW1ucygpIHtcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLnNsaWNlSW50b0NodW5rcygpO1xuICB9XG5cbiAgc2xpY2VJbnRvQ2h1bmtzKCk6IE1vc2FpY0ltYWdlW11bXSB7IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzg0OTU2ODcvc3BsaXQtYXJyYXktaW50by1jaHVua3NcbiAgICBjb25zdCBjb2x1bW5zID0gW107XG4gICAgY29uc3QgbnVtYmVyT2ZJbWFnZVBlckNvbHVtbiA9IHRoaXMuaW1hZ2VzTGlzdC5sZW5ndGggLyB0aGlzLm51bWJlck9mQ29sdW1uO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pbWFnZXNMaXN0Lmxlbmd0aDsgaSArPSBudW1iZXJPZkltYWdlUGVyQ29sdW1uKSB7XG4gICAgICBjb25zdCBjaHVuayA9IHRoaXMuaW1hZ2VzTGlzdC5zbGljZShpLCBpICsgbnVtYmVyT2ZJbWFnZVBlckNvbHVtbik7XG4gICAgICBjb2x1bW5zLnB1c2goY2h1bmspO1xuICAgIH1cbiAgICByZXR1cm4gY29sdW1ucztcbiAgfVxuXG4gIG9uSW1wb3J0SW1hZ2Uoc3JjOiBJbWFnZVNvdXJjZSkge1xuICAgIHRoaXMuaW1wb3J0SW1hZ2VTcmMuZW1pdChzcmMpO1xuICB9XG59XG4iXX0=
@@ -3863,42 +3863,48 @@ ConfirmDeleteComponent.propDecorators = {
3863
3863
 
3864
3864
  class MosaicComponent {
3865
3865
  constructor() {
3866
- this.isLoading = true;
3867
- this.import = new EventEmitter();
3868
- }
3869
- ngOnInit() {
3870
- if (this.items) {
3871
- const splitItems = this.sliceIntoChunks(this.items, (this.items.length / 3));
3872
- this.columnLeft = splitItems[0];
3873
- this.columnCenter = splitItems[1];
3874
- this.columnRight = splitItems[2];
3875
- }
3866
+ this._imagesList = [];
3876
3867
  this.isLoading = false;
3868
+ this.numberOfColumn = 3;
3869
+ this.importImageSrc = new EventEmitter();
3870
+ }
3871
+ set imagesList(imagesList) {
3872
+ this._imagesList = imagesList;
3873
+ this.generateColumns();
3877
3874
  }
3878
- emitIndex(index) {
3879
- this.import.emit(index);
3875
+ get imagesList() {
3876
+ return this._imagesList;
3880
3877
  }
3881
- sliceIntoChunks(arr, chunkSize) {
3882
- const res = [];
3883
- for (let i = 0; i < arr.length; i += chunkSize) {
3884
- const chunk = arr.slice(i, i + chunkSize);
3885
- res.push(chunk);
3878
+ generateColumns() {
3879
+ this.columns = this.sliceIntoChunks();
3880
+ }
3881
+ sliceIntoChunks() {
3882
+ const columns = [];
3883
+ const numberOfImagePerColumn = this.imagesList.length / this.numberOfColumn;
3884
+ for (let i = 0; i < this.imagesList.length; i += numberOfImagePerColumn) {
3885
+ const chunk = this.imagesList.slice(i, i + numberOfImagePerColumn);
3886
+ columns.push(chunk);
3886
3887
  }
3887
- return res;
3888
+ return columns;
3889
+ }
3890
+ onImportImage(src) {
3891
+ this.importImageSrc.emit(src);
3888
3892
  }
3889
3893
  }
3890
3894
  MosaicComponent.decorators = [
3891
3895
  { type: Component, args: [{
3892
3896
  selector: 'wac-mosaic',
3893
- template: "<div class=\"wac-mosaic__loader\" *ngIf=\"isLoading\">\n <wac-loader></wac-loader>\n</div>\n<div class=\"wac-mosaic\" *ngIf=\"!isLoading\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *ngIf=\"columnLeft\">\n <div class=\"wac-mosaic__wrapper__column__item\" *ngFor=\"let img of columnLeft; let i = index;\">\n <img [src]=\"img\" />\n <div class=\"hover\">\n <wac-button [icon]=\"iconButtons\" [label]=\"labelButtons\" [extraClasses]=\"'is-success'\" (click)=\"emitIndex(i)\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-mosaic__wrapper__column\" *ngIf=\"columnCenter\" >\n <div class=\"wac-mosaic__wrapper__column__item\" *ngFor=\"let img of columnCenter; let i = index;\">\n <img [src]=\"img\" />\n <div class=\"hover\">\n <wac-button [icon]=\"iconButtons\" [label]=\"labelButtons\" [extraClasses]=\"'is-success'\" (click)=\"emitIndex(i + this.columnLeft.length)\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-mosaic__wrapper__column\" *ngIf=\"columnRight\">\n <div class=\"wac-mosaic__wrapper__column__item\" *ngFor=\"let img of columnRight; let i = index;\">\n <img [src]=\"img\" />\n <div class=\"hover\">\n <wac-button [icon]=\"iconButtons\" [label]=\"labelButtons\" [extraClasses]=\"'is-success'\" (click)=\"emitIndex(i + this.columnLeft.length + this.columnCenter.length)\"></wac-button>\n </div>\n </div>\n </div>\n </div>\n</div>\n"
3897
+ template: "<div class=\"wac-mosaic__loader\" *ngIf=\"isLoading\">\n <wac-loader></wac-loader>\n</div>\n<div class=\"wac-mosaic\" *ngIf=\"!isLoading\">\n <div class=\"wac-mosaic__wrapper\">\n <div class=\"wac-mosaic__wrapper__column\" *ngFor=\"let column of columns\">\n <div class=\"wac-mosaic__wrapper__column__image\" *ngFor=\"let image of column; let i = index;\">\n <img [src]=\"image.src\" [alt]=\"image.alt\"/>\n <div class=\"hover\">\n <ng-container\n [ngTemplateOutlet]=\"importButtonTemplate || defaultImportButton\"\n [ngTemplateOutletContext]=\"{ $implicit: image }\"\n >\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #defaultImportButton let-image>\n <wac-button [icon]=\"'fa-solid fa-image'\" [label]=\"'wac.MosaicComponent.import' | translate\" [extraClasses]=\"'is-success'\" (click)=\"onImportImage(image.src)\"></wac-button>\n</ng-template>\n",
3898
+ encapsulation: ViewEncapsulation.None
3894
3899
  },] }
3895
3900
  ];
3896
3901
  MosaicComponent.ctorParameters = () => [];
3897
3902
  MosaicComponent.propDecorators = {
3898
- items: [{ type: Input }],
3899
- labelButtons: [{ type: Input }],
3900
- iconButtons: [{ type: Input }],
3901
- import: [{ type: Output }]
3903
+ imagesList: [{ type: Input }],
3904
+ isLoading: [{ type: Input }],
3905
+ numberOfColumn: [{ type: Input }],
3906
+ importButtonTemplate: [{ type: Input }],
3907
+ importImageSrc: [{ type: Output }]
3902
3908
  };
3903
3909
 
3904
3910
  const components = [