myrta-ui 17.1.1 → 17.1.2

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,17 +1,17 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output } from '@angular/core';
2
2
  import { GalleryConfirmModalComponent } from '../gallery-confirm-modal/gallery-confirm-modal.component';
3
+ import { AutoSaveStore } from '../../../../services';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../../services/gallery.service";
5
6
  import * as i2 from "../../../../services";
6
- import * as i3 from "@ngrx/store";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "@angular/forms";
9
- import * as i6 from "../../../form/input-textarea/input-textarea.component";
10
- import * as i7 from "../../../loader/loader.component";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "../../../form/input-textarea/input-textarea.component";
10
+ import * as i6 from "../../../loader/loader.component";
11
11
  export class GalleryItemComponent {
12
12
  _galleryService;
13
13
  _modalService;
14
- _store;
14
+ _autoSaveStore = inject(AutoSaveStore);
15
15
  timeStamp = (new Date()).getTime();
16
16
  isLoading = false;
17
17
  _timer;
@@ -30,11 +30,9 @@ export class GalleryItemComponent {
30
30
  openGalleryModal = new EventEmitter();
31
31
  deletePhoto = new EventEmitter();
32
32
  updatePhoto = new EventEmitter();
33
- constructor(_galleryService, _modalService, _store) {
33
+ constructor(_galleryService, _modalService) {
34
34
  this._galleryService = _galleryService;
35
35
  this._modalService = _modalService;
36
- this._store = _store;
37
- // this.fields$ = this._store.select(selectFields);
38
36
  }
39
37
  getImageUrl() {
40
38
  return this.preview.previewUrl + '?' + this.timeStamp;
@@ -48,6 +46,9 @@ export class GalleryItemComponent {
48
46
  get isLoadingImage() {
49
47
  return this.isLoading && !!this.rotateSlides.find((s) => s.previewImageId === this.preview.previewImageId);
50
48
  }
49
+ get fields() {
50
+ return this._autoSaveStore.fields();
51
+ }
51
52
  onOpenGalleryModal() {
52
53
  this.openGalleryModal.emit(this.index);
53
54
  }
@@ -67,24 +68,24 @@ export class GalleryItemComponent {
67
68
  }
68
69
  changeDescription(obj) {
69
70
  clearTimeout(this._timer);
70
- // this._store.dispatch(autosaveAddId({id: obj.id}));
71
- // this._store.dispatch(autosaveStartFor({id: obj.id}));
71
+ this._autoSaveStore.autosaveAddId(obj.id);
72
+ this._autoSaveStore.autosaveStartFor(obj.id);
72
73
  this._timer = setTimeout(() => {
73
74
  this._galleryService.update(this.updateEndPoint, this.preview.uuid, obj.value).subscribe(res => {
74
75
  this.updatePhoto.emit(res);
75
- // this._store.dispatch(autosaveSuccessFor({id: obj.id}));
76
+ this._autoSaveStore.autosaveSuccessFor(obj.id);
76
77
  }, () => {
77
- // this._store.dispatch(autosaveErrorFor({id: obj.id}));
78
+ this._autoSaveStore.autosaveErrorFor(obj.id);
78
79
  });
79
80
  }, 1500);
80
81
  }
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GalleryItemComponent, deps: [{ token: i1.GalleryService }, { token: i2.ModalService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GalleryItemComponent, selector: "mrx-gallery-item", inputs: { preview: "preview", index: "index", isEditing: "isEditing", descriptionMaxLength: "descriptionMaxLength", deleteEndPoint: "deleteEndPoint", updateEndPoint: "updateEndPoint", rotateSlides: "rotateSlides", setIsLoading: ["isLoading", "setIsLoading"] }, outputs: { openGalleryModal: "openGalleryModal", deletePhoto: "deletePhoto", updatePhoto: "updatePhoto" }, ngImport: i0, template: "<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"(fields$ | async)!\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.InputTextareaComponent, selector: "mrx-input-textarea", inputs: ["fields", "disabled", "readonly", "autosize", "maxlength", "minlength", "rows", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "blurred", "modelChange"] }, { kind: "component", type: i7.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
82
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GalleryItemComponent, deps: [{ token: i1.GalleryService }, { token: i2.ModalService }], target: i0.ɵɵFactoryTarget.Component });
83
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GalleryItemComponent, selector: "mrx-gallery-item", inputs: { preview: "preview", index: "index", isEditing: "isEditing", descriptionMaxLength: "descriptionMaxLength", deleteEndPoint: "deleteEndPoint", updateEndPoint: "updateEndPoint", rotateSlides: "rotateSlides", setIsLoading: ["isLoading", "setIsLoading"] }, outputs: { openGalleryModal: "openGalleryModal", deletePhoto: "deletePhoto", updatePhoto: "updatePhoto" }, ngImport: i0, template: "<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"fields\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.InputTextareaComponent, selector: "mrx-input-textarea", inputs: ["fields", "disabled", "readonly", "autosize", "maxlength", "minlength", "rows", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "blurred", "modelChange"] }, { kind: "component", type: i6.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
84
  }
84
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GalleryItemComponent, decorators: [{
85
86
  type: Component,
86
- args: [{ selector: 'mrx-gallery-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"(fields$ | async)!\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"] }]
87
- }], ctorParameters: () => [{ type: i1.GalleryService }, { type: i2.ModalService }, { type: i3.Store }], propDecorators: { preview: [{
87
+ args: [{ selector: 'mrx-gallery-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"fields\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"] }]
88
+ }], ctorParameters: () => [{ type: i1.GalleryService }, { type: i2.ModalService }], propDecorators: { preview: [{
88
89
  type: Input
89
90
  }], index: [{
90
91
  type: Input
@@ -108,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
108
109
  }], updatePhoto: [{
109
110
  type: Output
110
111
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9nYWxsZXJ5L2NvbXBvbmVudHMvZ2FsbGVyeS1pdGVtL2dhbGxlcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZ2FsbGVyeS9jb21wb25lbnRzL2dhbGxlcnktaXRlbS9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7Ozs7Ozs7O0FBWXhHLE1BQU0sT0FBTyxvQkFBb0I7SUF5QnJCO0lBQ0E7SUFDQTtJQTFCRixTQUFTLEdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0MsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixNQUFNLENBQWlDO0lBRXhDLE9BQU8sQ0FBdUI7SUFFNUIsT0FBTyxDQUFvQjtJQUMzQixLQUFLLENBQVU7SUFDZixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUN6QixjQUFjLENBQVU7SUFDeEIsY0FBYyxDQUFVO0lBQ3hCLFlBQVksR0FBMEIsRUFBRSxDQUFDO0lBRWxELElBQXdCLFlBQVksQ0FBQyxLQUFjO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENB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QUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRWtCLFlBQVk7c0JBQW5DLEtBQUs7dUJBQUMsV0FBVztnQkFLUixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdhbGxlcnlJdGVtTW9kZWwsIEdhbGxlcnlSb3RhdGVTbGlkZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2FsbGVyeS1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgR2FsbGVyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9nYWxsZXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHYWxsZXJ5Q29uZmlybU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2FsbGVyeS1jb25maXJtLW1vZGFsL2dhbGxlcnktY29uZmlybS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvc2F2ZS1zdG9yZS9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtZ2FsbGVyeS1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2FsbGVyeUl0ZW1Db21wb25lbnQge1xyXG4gIHByaXZhdGUgdGltZVN0YW1wOiBudW1iZXIgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG4gIHByaXZhdGUgaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdGltZXIhOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcclxuXHJcbiAgcHVibGljIGZpZWxkcyQhOiBPYnNlcnZhYmxlPEZpZWxkW10+O1xyXG5cclxuICBASW5wdXQoKSBwcmV2aWV3ITogR2FsbGVyeUl0ZW1Nb2RlbDtcclxuICBASW5wdXQoKSBpbmRleCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBpc0VkaXRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkZXNjcmlwdGlvbk1heExlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgZGVsZXRlRW5kUG9pbnQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXBkYXRlRW5kUG9pbnQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcm90YXRlU2xpZGVzOiBHYWxsZXJ5Um90YXRlU2xpZGVzW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCdpc0xvYWRpbmcnKSBzZXQgc2V0SXNMb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHZhbHVlO1xyXG4gICAgdGhpcy50aW1lU3RhbXAgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG9wZW5HYWxsZXJ5TW9kYWw6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZVBob3RvOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVQaG90bzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9nYWxsZXJ5U2VydmljZTogR2FsbGVyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcclxuICAgIHByaXZhdGUgX3N0b3JlOiBTdG9yZVxyXG4gICkge1xyXG4gICAgLy8gdGhpcy5maWVsZHMkID0gdGhpcy5fc3RvcmUuc2VsZWN0KHNlbGVjdEZpZWxkcyk7XHJcbiAgfVxyXG5cclxuICBnZXRJbWFnZVVybCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMucHJldmlldy5wcmV2aWV3VXJsICsgJz8nICsgdGhpcy50aW1lU3RhbXA7XHJcbiAgfVxyXG5cclxuICBnZXQgeWFuZGV4Q2hlY2tVcmwoKSB7XHJcbiAgICByZXR1cm4gYGh0dHBzOi8veWFuZGV4LnJ1L2ltYWdlcy9zZWFyY2g/c291cmNlPWNvbGxlY3Rpb25zJnJwdD1pbWFnZXZpZXcmdXJsPSR7dGhpcy5wcmV2aWV3LnVybH1gO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdvb2dsZUNoZWNrVXJsKCkge1xyXG4gICAgcmV0dXJuIGBodHRwczovL2xlbnMuZ29vZ2xlLmNvbS91cGxvYWRieXVybD91cmw9JHt0aGlzLnByZXZpZXcudXJsfWA7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNMb2FkaW5nSW1hZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0xvYWRpbmcgJiYgISF0aGlzLnJvdGF0ZVNsaWRlcy5maW5kKChzKSA9PiBzLnByZXZpZXdJbWFnZUlkID09PSB0aGlzLnByZXZpZXcucHJldmlld0ltYWdlSWQpO1xyXG4gIH1cclxuXHJcbiAgb25PcGVuR2FsbGVyeU1vZGFsKCkge1xyXG4gICAgdGhpcy5vcGVuR2FsbGVyeU1vZGFsLmVtaXQodGhpcy5pbmRleCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVJbWFnZSgpIHtcclxuICAgIHRoaXMuX21vZGFsU2VydmljZS5vcGVuKEdhbGxlcnlDb25maXJtTW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgdGl0bGU6ICfQo9CU0JDQm9CV0J3QmNCVINCU0JDQndCd0KvQpScsXHJcbiAgICAgIG1lc3NhZ2U6ICfQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGE0LDQudC7PydcclxuICAgIH0pXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMucmVzdWx0KSB7XHJcbiAgICAgICAgICB0aGlzLl9nYWxsZXJ5U2VydmljZS5kZWxldGUodGhpcy5kZWxldGVFbmRQb2ludCwgdGhpcy5wcmV2aWV3LnV1aWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRlbGV0ZVBob3RvLmVtaXQocmVzKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VEZXNjcmlwdGlvbihvYmo6IGFueSkge1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVyKTtcclxuXHJcbiAgICAvLyB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZUFkZElkKHtpZDogb2JqLmlkfSkpO1xyXG4gICAgLy8gdGhpcy5fc3RvcmUuZGlzcGF0Y2goYXV0b3NhdmVTdGFydEZvcih7aWQ6IG9iai5pZH0pKTtcclxuXHJcbiAgICB0aGlzLl90aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9nYWxsZXJ5U2VydmljZS51cGRhdGUodGhpcy51cGRhdGVFbmRQb2ludCwgdGhpcy5wcmV2aWV3LnV1aWQsIG9iai52YWx1ZSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQaG90by5lbWl0KHJlcyk7XHJcbiAgICAgICAgLy8gdGhpcy5fc3RvcmUuZGlzcGF0Y2goYXV0b3NhdmVTdWNjZXNzRm9yKHtpZDogb2JqLmlkfSkpO1xyXG4gICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5fc3RvcmUuZGlzcGF0Y2goYXV0b3NhdmVFcnJvckZvcih7aWQ6IG9iai5pZH0pKTtcclxuICAgICAgfSk7XHJcbiAgICB9LCAxNTAwKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1cIj5cclxuICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlld1wiIChjbGljayk9XCJvbk9wZW5HYWxsZXJ5TW9kYWwoKVwiPlxyXG5cclxuICAgIDxpbWcgW3NyY109XCJnZXRJbWFnZVVybCgpXCIgW2FsdF09XCJwcmV2aWV3LmltYWdlTmFtZSB8fCAnaW1hZ2UnXCIgKm5nSWY9XCIhaXNMb2FkaW5nSW1hZ2U7IGVsc2Ugc2tlbGV0b25UZW1wbGF0ZVwiPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjc2tlbGV0b25UZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTEwMCBoLTEwMFwiPlxyXG4gICAgICAgIDxtcngtbG9hZGVyIHNpemU9XCJtZWRpdW1cIiBjb2xvcj1cImJyYW5kXCI+PC9tcngtbG9hZGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1fX3ByZXZpZXctb3ZlcmxheVwiICpuZ0lmPVwiIWlzTG9hZGluZ0ltYWdlXCI+PC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1fX3ByZXZpZXctY29udHJvbHNcIiAqbmdJZj1cIiFpc0xvYWRpbmdJbWFnZVwiPlxyXG4gICAgICA8YSBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1fX3ByZXZpZXctY29udHJvbHMtLWljb25cIiBbaHJlZl09XCJ5YW5kZXhDaGVja1VybFwiIHRhcmdldD1cIl9ibGFua1wiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTIzNDZfMTIwNzYpXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC4wMDAzMSAxNS45ODM4QzEyLjQwOTYgMTUuOTgzOCAxNS45ODQgMTIuNDA5MyAxNS45ODQgOC4wMDAwNkMxNS45ODQgMy41OTA3OCAxMi40MDk2IDAuMDE2MzU3NCA4LjAwMDMxIDAuMDE2MzU3NEMzLjU5MTAzIDAuMDE2MzU3NCAwLjAxNjYwMTYgMy41OTA3OCAwLjAxNjYwMTYgOC4wMDAwNkMwLjAxNjYwMTYgMTIuNDA5MyAzLjU5MTAzIDE1Ljk4MzggOC4wMDAzMSAxNS45ODM4WlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0xMC44ODkzIDEzLjAxMThIOS4xMzY3VjQuMzQzNjFIOC4zNTU5NkM2LjkyNDg0IDQuMzQzNjEgNi4xNzUyMSA1LjA1OTE2IDYuMTc1MjEgNi4xMjczMUM2LjE3NTIxIDcuMzM5MTYgNi42OTIyNSA3LjkwMDY1IDcuNzYxODggOC42MTYyTDguNjQzMzYgOS4yMTAyOEw2LjExMDAzIDEzLjAxMDNINC4yMjU1OUw2LjUwNTU5IDkuNjE3NjhDNS4xOTQ0NyA4LjY4MTM5IDQuNDU2NyA3Ljc2NzMxIDQuNDU2NyA2LjIyNTA5QzQuNDU2NyA0LjI5NzY4IDUuODAwNCAyLjk4NjU3IDguMzQ0MSAyLjk4NjU3SDEwLjg3NzRWMTMuMDA4OEgxMC44ODkzVjEzLjAxMThaXCIgZmlsbD1cIiNGQzNGMURcIi8+XHJcbiAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTIzNDZfMTIwNzZcIj5cclxuICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvYT5cclxuXHJcbiAgICAgIDxhIGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9scy0taWNvblwiIFtocmVmXT1cImdvb2dsZUNoZWNrVXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgPHBhdGggZD1cIk0xMS41NTYxIDQuODkwMUgxMS4wOTk3VjQuODY2NTlINS45OTk2N1Y3LjEzMzI1SDkuMjAyMTlDOC43MzQ5NyA4LjQ1MjczIDcuNDc5NTIgOS4zOTk5MiA1Ljk5OTY3IDkuMzk5OTJDNC4xMjIwMiA5LjM5OTkyIDIuNTk5NjcgNy44Nzc1NyAyLjU5OTY3IDUuOTk5OTJDMi41OTk2NyA0LjEyMjI3IDQuMTIyMDIgMi41OTk5MiA1Ljk5OTY3IDIuNTk5OTJDNi44NjYzOSAyLjU5OTkyIDcuNjU0OTEgMi45MjY4OSA4LjI1NTI5IDMuNDYwOTdMOS44NTgxMSAxLjg1ODE1QzguODQ2MDQgMC45MTQ5MzUgNy40OTIyNyAwLjMzMzI1MiA1Ljk5OTY3IDAuMzMzMjUyQzIuODcwMjYgMC4zMzMyNTIgMC4zMzMwMDggMi44NzA1IDAuMzMzMDA4IDUuOTk5OTJDMC4zMzMwMDggOS4xMjkzNCAyLjg3MDI2IDExLjY2NjYgNS45OTk2NyAxMS42NjY2QzkuMTI5MDkgMTEuNjY2NiAxMS42NjYzIDkuMTI5MzQgMTEuNjY2MyA1Ljk5OTkyQzExLjY2NjMgNS42MTk5NyAxMS42MjcyIDUuMjQ5MDkgMTEuNTU2MSA0Ljg5MDFaXCIgZmlsbD1cIiNGQkMwMkRcIi8+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTAuOTg3MzA1IDMuMzYyMzdMMi44NDkwOSA0LjcyNzc1QzMuMzUyODUgMy40ODA1MiA0LjU3Mjg5IDIuNTk5OTIgNi4wMDA2IDIuNTk5OTJDNi44NjczMiAyLjU5OTkyIDcuNjU1ODQgMi45MjY4OSA4LjI1NjIyIDMuNDYwOTdMOS44NTkwNCAxLjg1ODE1QzguODQ2OTcgMC45MTQ5MzUgNy40OTMyIDAuMzMzMjUyIDYuMDAwNiAwLjMzMzI1MkMzLjgyNDA0IDAuMzMzMjUyIDEuOTM2NDcgMS41NjIwNyAwLjk4NzMwNSAzLjM2MjM3WlwiIGZpbGw9XCIjRTUzOTM1XCIvPlxyXG4gICAgICAgICAgPHBhdGggZD1cIk02LjAwMDggMTEuNjY2NUM3LjQ2NDUgMTEuNjY2NSA4Ljc5NDQ3IDExLjEwNjMgOS44MDAwMiAxMC4xOTU0TDguMDQ2MTkgOC43MTEzQzcuNDc3MjUgOS4xNDIyNSA2Ljc3MDA1IDkuMzk5OCA2LjAwMDggOS4zOTk4QzQuNTI2OSA5LjM5OTggMy4yNzU0MiA4LjQ1OTk5IDIuODAzOTUgNy4xNDg0NEwwLjk1NjA1NSA4LjU3MjE5QzEuODkzODkgMTAuNDA3MyAzLjc5ODQ1IDExLjY2NjUgNi4wMDA4IDExLjY2NjVaXCIgZmlsbD1cIiM0Q0FGNTBcIi8+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTExLjU1NjQgNC44ODk5N0wxMS41NTE5IDQuODY2NDZIMTEuMUg2VjcuMTMzMTJIOS4yMDI1MkM4Ljk3ODEyIDcuNzY2OTQgOC41NzA0IDguMzEzNDkgOC4wNDQ1MyA4LjcxMTU3QzguMDQ0ODIgOC43MTEyOSA4LjA0NTEgOC43MTEyOSA4LjA0NTM4IDguNzExMDFMOS43OTkyMiAxMC4xOTUxQzkuNjc1MTIgMTAuMzA3OSAxMS42NjY3IDguODMzMTIgMTEuNjY2NyA1Ljk5OTc5QzExLjY2NjcgNS42MTk4NCAxMS42Mjc2IDUuMjQ4OTYgMTEuNTU2NCA0Ljg4OTk3WlwiIGZpbGw9XCIjMTU2NUMwXCIvPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L2E+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9sc19fYnV0dG9uIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiICpuZ0lmPVwiaXNFZGl0aW5nXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1kZWxldGUgaWNvbi1mb250LTE2IHRleHQtYm9sZFwiIChjbGljayk9XCJkZWxldGVJbWFnZSgpXCI+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19kZXNjcmlwdGlvblwiPlxyXG4gICAgPG1yeC1pbnB1dC10ZXh0YXJlYVxyXG4gICAgICAqbmdJZj1cImlzRWRpdGluZzsgZWxzZSB0ZXh0VGVtcGxhdGVcIlxyXG4gICAgICBbZmllbGRzXT1cIihmaWVsZHMkIHwgYXN5bmMpIVwiXHJcbiAgICAgIFtuZ01vZGVsXT1cInByZXZpZXcuZGVzY3JpcHRpb25cIlxyXG4gICAgICBbYXV0b3NpemVdPVwiZmFsc2VcIlxyXG4gICAgICBbcm93c109XCIyXCJcclxuICAgICAgW21heGxlbmd0aF09XCJkZXNjcmlwdGlvbk1heExlbmd0aFwiXHJcbiAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VEZXNjcmlwdGlvbigkZXZlbnQpXCJcclxuICAgID48L21yeC1pbnB1dC10ZXh0YXJlYT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI3RleHRUZW1wbGF0ZT5cclxuICAgICAge3sgcHJldmlldy5kZXNjcmlwdGlvbiB9fVxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9nYWxsZXJ5L2NvbXBvbmVudHMvZ2FsbGVyeS1pdGVtL2dhbGxlcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZ2FsbGVyeS9jb21wb25lbnRzL2dhbGxlcnktaXRlbS9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHeEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFFeEcsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFTbkUsTUFBTSxPQUFPLG9CQUFvQjtJQTJCckI7SUFDQTtJQTNCRixjQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRXRDLFNBQVMsR0FBVyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLE1BQU0sQ0FBaUM7SUFFeEMsT0FBTyxDQUF1QjtJQUU1QixPQUFPLENBQW9CO0lBQzNCLEtBQUssQ0FBVTtJQUNmLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLGNBQWMsQ0FBVTtJQUN4QixjQUFjLENBQVU7SUFDeEIsWUFBWSxHQUEwQixFQUFFLENBQUM7SUFFbEQsSUFBd0IsWUFBWSxDQUFDLEtBQWM7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QUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUNoRCxDQUFDLEVBQUUsR0FBRyxFQUFFO2dCQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQzlDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzt3R0FwRlUsb0JBQW9COzRGQUFwQixvQkFBb0Isd2FDZGpDLHF5SUEwREE7OzRGRDVDYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU07OEdBV3RDLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRWtCLFlBQVk7c0JBQW5DLEtBQUs7dUJBQUMsV0FBVztnQkFLUixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR2FsbGVyeUl0ZW1Nb2RlbCwgR2FsbGVyeVJvdGF0ZVNsaWRlcyB9IGZyb20gJy4uLy4uL21vZGVscy9nYWxsZXJ5LWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBHYWxsZXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2dhbGxlcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IEdhbGxlcnlDb25maXJtTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9nYWxsZXJ5LWNvbmZpcm0tbW9kYWwvZ2FsbGVyeS1jb25maXJtLW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXV0b1NhdmVTdG9yZSwgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3NhdmUtc3RvcmUvbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbXJ4LWdhbGxlcnktaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dhbGxlcnktaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEdhbGxlcnlJdGVtQ29tcG9uZW50IHtcclxuICBwcml2YXRlIF9hdXRvU2F2ZVN0b3JlID0gaW5qZWN0KEF1dG9TYXZlU3RvcmUpXHJcblxyXG4gIHByaXZhdGUgdGltZVN0YW1wOiBudW1iZXIgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG4gIHByaXZhdGUgaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdGltZXIhOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcclxuXHJcbiAgcHVibGljIGZpZWxkcyQhOiBPYnNlcnZhYmxlPEZpZWxkW10+O1xyXG5cclxuICBASW5wdXQoKSBwcmV2aWV3ITogR2FsbGVyeUl0ZW1Nb2RlbDtcclxuICBASW5wdXQoKSBpbmRleCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBpc0VkaXRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkZXNjcmlwdGlvbk1heExlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgZGVsZXRlRW5kUG9pbnQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXBkYXRlRW5kUG9pbnQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcm90YXRlU2xpZGVzOiBHYWxsZXJ5Um90YXRlU2xpZGVzW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCdpc0xvYWRpbmcnKSBzZXQgc2V0SXNMb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHZhbHVlO1xyXG4gICAgdGhpcy50aW1lU3RhbXAgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG9wZW5HYWxsZXJ5TW9kYWw6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIGRlbGV0ZVBob3RvOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVQaG90bzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9nYWxsZXJ5U2VydmljZTogR2FsbGVyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgZ2V0SW1hZ2VVcmwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnByZXZpZXcucHJldmlld1VybCArICc/JyArIHRoaXMudGltZVN0YW1wO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHlhbmRleENoZWNrVXJsKCkge1xyXG4gICAgcmV0dXJuIGBodHRwczovL3lhbmRleC5ydS9pbWFnZXMvc2VhcmNoP3NvdXJjZT1jb2xsZWN0aW9ucyZycHQ9aW1hZ2V2aWV3JnVybD0ke3RoaXMucHJldmlldy51cmx9YDtcclxuICB9XHJcblxyXG4gIGdldCBnb29nbGVDaGVja1VybCgpIHtcclxuICAgIHJldHVybiBgaHR0cHM6Ly9sZW5zLmdvb2dsZS5jb20vdXBsb2FkYnl1cmw/dXJsPSR7dGhpcy5wcmV2aWV3LnVybH1gO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzTG9hZGluZ0ltYWdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNMb2FkaW5nICYmICEhdGhpcy5yb3RhdGVTbGlkZXMuZmluZCgocykgPT4gcy5wcmV2aWV3SW1hZ2VJZCA9PT0gdGhpcy5wcmV2aWV3LnByZXZpZXdJbWFnZUlkKTtcclxuICB9XHJcblxyXG4gIGdldCBmaWVsZHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXV0b1NhdmVTdG9yZS5maWVsZHMoKVxyXG4gIH1cclxuXHJcbiAgb25PcGVuR2FsbGVyeU1vZGFsKCkge1xyXG4gICAgdGhpcy5vcGVuR2FsbGVyeU1vZGFsLmVtaXQodGhpcy5pbmRleCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVJbWFnZSgpIHtcclxuICAgIHRoaXMuX21vZGFsU2VydmljZS5vcGVuKEdhbGxlcnlDb25maXJtTW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgdGl0bGU6ICfQo9CU0JDQm9CV0J3QmNCVINCU0JDQndCd0KvQpScsXHJcbiAgICAgIG1lc3NhZ2U6ICfQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINGE0LDQudC7PydcclxuICAgIH0pXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMucmVzdWx0KSB7XHJcbiAgICAgICAgICB0aGlzLl9nYWxsZXJ5U2VydmljZS5kZWxldGUodGhpcy5kZWxldGVFbmRQb2ludCwgdGhpcy5wcmV2aWV3LnV1aWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRlbGV0ZVBob3RvLmVtaXQocmVzKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VEZXNjcmlwdGlvbihvYmo6IGFueSkge1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVyKTtcclxuXHJcbiAgICB0aGlzLl9hdXRvU2F2ZVN0b3JlLmF1dG9zYXZlQWRkSWQob2JqLmlkKVxyXG4gICAgdGhpcy5fYXV0b1NhdmVTdG9yZS5hdXRvc2F2ZVN0YXJ0Rm9yKG9iai5pZClcclxuXHJcbiAgICB0aGlzLl90aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9nYWxsZXJ5U2VydmljZS51cGRhdGUodGhpcy51cGRhdGVFbmRQb2ludCwgdGhpcy5wcmV2aWV3LnV1aWQsIG9iai52YWx1ZSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQaG90by5lbWl0KHJlcyk7XHJcbiAgICAgICAgdGhpcy5fYXV0b1NhdmVTdG9yZS5hdXRvc2F2ZVN1Y2Nlc3NGb3Iob2JqLmlkKVxyXG4gICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fYXV0b1NhdmVTdG9yZS5hdXRvc2F2ZUVycm9yRm9yKG9iai5pZClcclxuICAgICAgfSk7XHJcbiAgICB9LCAxNTAwKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1cIj5cclxuICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlld1wiIChjbGljayk9XCJvbk9wZW5HYWxsZXJ5TW9kYWwoKVwiPlxyXG5cclxuICAgIDxpbWcgW3NyY109XCJnZXRJbWFnZVVybCgpXCIgW2FsdF09XCJwcmV2aWV3LmltYWdlTmFtZSB8fCAnaW1hZ2UnXCIgKm5nSWY9XCIhaXNMb2FkaW5nSW1hZ2U7IGVsc2Ugc2tlbGV0b25UZW1wbGF0ZVwiPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjc2tlbGV0b25UZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTEwMCBoLTEwMFwiPlxyXG4gICAgICAgIDxtcngtbG9hZGVyIHNpemU9XCJtZWRpdW1cIiBjb2xvcj1cImJyYW5kXCI+PC9tcngtbG9hZGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1fX3ByZXZpZXctb3ZlcmxheVwiICpuZ0lmPVwiIWlzTG9hZGluZ0ltYWdlXCI+PC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1fX3ByZXZpZXctY29udHJvbHNcIiAqbmdJZj1cIiFpc0xvYWRpbmdJbWFnZVwiPlxyXG4gICAgICA8YSBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1fX3ByZXZpZXctY29udHJvbHMtLWljb25cIiBbaHJlZl09XCJ5YW5kZXhDaGVja1VybFwiIHRhcmdldD1cIl9ibGFua1wiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTIzNDZfMTIwNzYpXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC4wMDAzMSAxNS45ODM4QzEyLjQwOTYgMTUuOTgzOCAxNS45ODQgMTIuNDA5MyAxNS45ODQgOC4wMDAwNkMxNS45ODQgMy41OTA3OCAxMi40MDk2IDAuMDE2MzU3NCA4LjAwMDMxIDAuMDE2MzU3NEMzLjU5MTAzIDAuMDE2MzU3NCAwLjAxNjYwMTYgMy41OTA3OCAwLjAxNjYwMTYgOC4wMDAwNkMwLjAxNjYwMTYgMTIuNDA5MyAzLjU5MTAzIDE1Ljk4MzggOC4wMDAzMSAxNS45ODM4WlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0xMC44ODkzIDEzLjAxMThIOS4xMzY3VjQuMzQzNjFIOC4zNTU5NkM2LjkyNDg0IDQuMzQzNjEgNi4xNzUyMSA1LjA1OTE2IDYuMTc1MjEgNi4xMjczMUM2LjE3NTIxIDcuMzM5MTYgNi42OTIyNSA3LjkwMDY1IDcuNzYxODggOC42MTYyTDguNjQzMzYgOS4yMTAyOEw2LjExMDAzIDEzLjAxMDNINC4yMjU1OUw2LjUwNTU5IDkuNjE3NjhDNS4xOTQ0NyA4LjY4MTM5IDQuNDU2NyA3Ljc2NzMxIDQuNDU2NyA2LjIyNTA5QzQuNDU2NyA0LjI5NzY4IDUuODAwNCAyLjk4NjU3IDguMzQ0MSAyLjk4NjU3SDEwLjg3NzRWMTMuMDA4OEgxMC44ODkzVjEzLjAxMThaXCIgZmlsbD1cIiNGQzNGMURcIi8+XHJcbiAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTIzNDZfMTIwNzZcIj5cclxuICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvYT5cclxuXHJcbiAgICAgIDxhIGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9scy0taWNvblwiIFtocmVmXT1cImdvb2dsZUNoZWNrVXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgPHBhdGggZD1cIk0xMS41NTYxIDQuODkwMUgxMS4wOTk3VjQuODY2NTlINS45OTk2N1Y3LjEzMzI1SDkuMjAyMTlDOC43MzQ5NyA4LjQ1MjczIDcuNDc5NTIgOS4zOTk5MiA1Ljk5OTY3IDkuMzk5OTJDNC4xMjIwMiA5LjM5OTkyIDIuNTk5NjcgNy44Nzc1NyAyLjU5OTY3IDUuOTk5OTJDMi41OTk2NyA0LjEyMjI3IDQuMTIyMDIgMi41OTk5MiA1Ljk5OTY3IDIuNTk5OTJDNi44NjYzOSAyLjU5OTkyIDcuNjU0OTEgMi45MjY4OSA4LjI1NTI5IDMuNDYwOTdMOS44NTgxMSAxLjg1ODE1QzguODQ2MDQgMC45MTQ5MzUgNy40OTIyNyAwLjMzMzI1MiA1Ljk5OTY3IDAuMzMzMjUyQzIuODcwMjYgMC4zMzMyNTIgMC4zMzMwMDggMi44NzA1IDAuMzMzMDA4IDUuOTk5OTJDMC4zMzMwMDggOS4xMjkzNCAyLjg3MDI2IDExLjY2NjYgNS45OTk2NyAxMS42NjY2QzkuMTI5MDkgMTEuNjY2NiAxMS42NjYzIDkuMTI5MzQgMTEuNjY2MyA1Ljk5OTkyQzExLjY2NjMgNS42MTk5NyAxMS42MjcyIDUuMjQ5MDkgMTEuNTU2MSA0Ljg5MDFaXCIgZmlsbD1cIiNGQkMwMkRcIi8+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTAuOTg3MzA1IDMuMzYyMzdMMi44NDkwOSA0LjcyNzc1QzMuMzUyODUgMy40ODA1MiA0LjU3Mjg5IDIuNTk5OTIgNi4wMDA2IDIuNTk5OTJDNi44NjczMiAyLjU5OTkyIDcuNjU1ODQgMi45MjY4OSA4LjI1NjIyIDMuNDYwOTdMOS44NTkwNCAxLjg1ODE1QzguODQ2OTcgMC45MTQ5MzUgNy40OTMyIDAuMzMzMjUyIDYuMDAwNiAwLjMzMzI1MkMzLjgyNDA0IDAuMzMzMjUyIDEuOTM2NDcgMS41NjIwNyAwLjk4NzMwNSAzLjM2MjM3WlwiIGZpbGw9XCIjRTUzOTM1XCIvPlxyXG4gICAgICAgICAgPHBhdGggZD1cIk02LjAwMDggMTEuNjY2NUM3LjQ2NDUgMTEuNjY2NSA4Ljc5NDQ3IDExLjEwNjMgOS44MDAwMiAxMC4xOTU0TDguMDQ2MTkgOC43MTEzQzcuNDc3MjUgOS4xNDIyNSA2Ljc3MDA1IDkuMzk5OCA2LjAwMDggOS4zOTk4QzQuNTI2OSA5LjM5OTggMy4yNzU0MiA4LjQ1OTk5IDIuODAzOTUgNy4xNDg0NEwwLjk1NjA1NSA4LjU3MjE5QzEuODkzODkgMTAuNDA3MyAzLjc5ODQ1IDExLjY2NjUgNi4wMDA4IDExLjY2NjVaXCIgZmlsbD1cIiM0Q0FGNTBcIi8+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTExLjU1NjQgNC44ODk5N0wxMS41NTE5IDQuODY2NDZIMTEuMUg2VjcuMTMzMTJIOS4yMDI1MkM4Ljk3ODEyIDcuNzY2OTQgOC41NzA0IDguMzEzNDkgOC4wNDQ1MyA4LjcxMTU3QzguMDQ0ODIgOC43MTEyOSA4LjA0NTEgOC43MTEyOSA4LjA0NTM4IDguNzExMDFMOS43OTkyMiAxMC4xOTUxQzkuNjc1MTIgMTAuMzA3OSAxMS42NjY3IDguODMzMTIgMTEuNjY2NyA1Ljk5OTc5QzExLjY2NjcgNS42MTk4NCAxMS42Mjc2IDUuMjQ4OTYgMTEuNTU2NCA0Ljg4OTk3WlwiIGZpbGw9XCIjMTU2NUMwXCIvPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L2E+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9sc19fYnV0dG9uIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiICpuZ0lmPVwiaXNFZGl0aW5nXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1kZWxldGUgaWNvbi1mb250LTE2IHRleHQtYm9sZFwiIChjbGljayk9XCJkZWxldGVJbWFnZSgpXCI+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19kZXNjcmlwdGlvblwiPlxyXG4gICAgPG1yeC1pbnB1dC10ZXh0YXJlYVxyXG4gICAgICAqbmdJZj1cImlzRWRpdGluZzsgZWxzZSB0ZXh0VGVtcGxhdGVcIlxyXG4gICAgICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAgICAgIFtuZ01vZGVsXT1cInByZXZpZXcuZGVzY3JpcHRpb25cIlxyXG4gICAgICBbYXV0b3NpemVdPVwiZmFsc2VcIlxyXG4gICAgICBbcm93c109XCIyXCJcclxuICAgICAgW21heGxlbmd0aF09XCJkZXNjcmlwdGlvbk1heExlbmd0aFwiXHJcbiAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VEZXNjcmlwdGlvbigkZXZlbnQpXCJcclxuICAgID48L21yeC1pbnB1dC10ZXh0YXJlYT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI3RleHRUZW1wbGF0ZT5cclxuICAgICAge3sgcHJldmlldy5kZXNjcmlwdGlvbiB9fVxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Input, Component, Pipe, EventEmitter, Output, ChangeDetectionStrategy, NgModule, CUSTOM_ELEMENTS_SCHEMA, Injectable, forwardRef, InjectionToken, TemplateRef, Inject, Injector, HostListener, Directive, ViewChild, ContentChild, ContentChildren, signal, computed, HostBinding, ViewEncapsulation, LOCALE_ID, ViewChildren, viewChild } from '@angular/core';
2
+ import { Input, Component, Pipe, EventEmitter, Output, ChangeDetectionStrategy, NgModule, CUSTOM_ELEMENTS_SCHEMA, Injectable, forwardRef, InjectionToken, TemplateRef, Inject, Injector, HostListener, Directive, ViewChild, ContentChild, ContentChildren, signal, computed, HostBinding, inject, ViewEncapsulation, LOCALE_ID, ViewChildren, viewChild } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common';
4
4
  import { CommonModule, NgOptimizedImage, registerLocaleData, DatePipe, DOCUMENT } from '@angular/common';
5
5
  import * as i2 from '@angular/router';
@@ -5979,7 +5979,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5979
5979
  class GalleryItemComponent {
5980
5980
  _galleryService;
5981
5981
  _modalService;
5982
- _store;
5982
+ _autoSaveStore = inject(AutoSaveStore);
5983
5983
  timeStamp = (new Date()).getTime();
5984
5984
  isLoading = false;
5985
5985
  _timer;
@@ -5998,11 +5998,9 @@ class GalleryItemComponent {
5998
5998
  openGalleryModal = new EventEmitter();
5999
5999
  deletePhoto = new EventEmitter();
6000
6000
  updatePhoto = new EventEmitter();
6001
- constructor(_galleryService, _modalService, _store) {
6001
+ constructor(_galleryService, _modalService) {
6002
6002
  this._galleryService = _galleryService;
6003
6003
  this._modalService = _modalService;
6004
- this._store = _store;
6005
- // this.fields$ = this._store.select(selectFields);
6006
6004
  }
6007
6005
  getImageUrl() {
6008
6006
  return this.preview.previewUrl + '?' + this.timeStamp;
@@ -6016,6 +6014,9 @@ class GalleryItemComponent {
6016
6014
  get isLoadingImage() {
6017
6015
  return this.isLoading && !!this.rotateSlides.find((s) => s.previewImageId === this.preview.previewImageId);
6018
6016
  }
6017
+ get fields() {
6018
+ return this._autoSaveStore.fields();
6019
+ }
6019
6020
  onOpenGalleryModal() {
6020
6021
  this.openGalleryModal.emit(this.index);
6021
6022
  }
@@ -6035,24 +6036,24 @@ class GalleryItemComponent {
6035
6036
  }
6036
6037
  changeDescription(obj) {
6037
6038
  clearTimeout(this._timer);
6038
- // this._store.dispatch(autosaveAddId({id: obj.id}));
6039
- // this._store.dispatch(autosaveStartFor({id: obj.id}));
6039
+ this._autoSaveStore.autosaveAddId(obj.id);
6040
+ this._autoSaveStore.autosaveStartFor(obj.id);
6040
6041
  this._timer = setTimeout(() => {
6041
6042
  this._galleryService.update(this.updateEndPoint, this.preview.uuid, obj.value).subscribe(res => {
6042
6043
  this.updatePhoto.emit(res);
6043
- // this._store.dispatch(autosaveSuccessFor({id: obj.id}));
6044
+ this._autoSaveStore.autosaveSuccessFor(obj.id);
6044
6045
  }, () => {
6045
- // this._store.dispatch(autosaveErrorFor({id: obj.id}));
6046
+ this._autoSaveStore.autosaveErrorFor(obj.id);
6046
6047
  });
6047
6048
  }, 1500);
6048
6049
  }
6049
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GalleryItemComponent, deps: [{ token: GalleryService }, { token: ModalService }, { token: i2$3.Store }], target: i0.ɵɵFactoryTarget.Component });
6050
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GalleryItemComponent, selector: "mrx-gallery-item", inputs: { preview: "preview", index: "index", isEditing: "isEditing", descriptionMaxLength: "descriptionMaxLength", deleteEndPoint: "deleteEndPoint", updateEndPoint: "updateEndPoint", rotateSlides: "rotateSlides", setIsLoading: ["isLoading", "setIsLoading"] }, outputs: { openGalleryModal: "openGalleryModal", deletePhoto: "deletePhoto", updatePhoto: "updatePhoto" }, ngImport: i0, template: "<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"(fields$ | async)!\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: InputTextareaComponent, selector: "mrx-input-textarea", inputs: ["fields", "disabled", "readonly", "autosize", "maxlength", "minlength", "rows", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "blurred", "modelChange"] }, { kind: "component", type: LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6050
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GalleryItemComponent, deps: [{ token: GalleryService }, { token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
6051
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GalleryItemComponent, selector: "mrx-gallery-item", inputs: { preview: "preview", index: "index", isEditing: "isEditing", descriptionMaxLength: "descriptionMaxLength", deleteEndPoint: "deleteEndPoint", updateEndPoint: "updateEndPoint", rotateSlides: "rotateSlides", setIsLoading: ["isLoading", "setIsLoading"] }, outputs: { openGalleryModal: "openGalleryModal", deletePhoto: "deletePhoto", updatePhoto: "updatePhoto" }, ngImport: i0, template: "<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"fields\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: InputTextareaComponent, selector: "mrx-input-textarea", inputs: ["fields", "disabled", "readonly", "autosize", "maxlength", "minlength", "rows", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "blurred", "modelChange"] }, { kind: "component", type: LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6051
6052
  }
6052
6053
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GalleryItemComponent, decorators: [{
6053
6054
  type: Component,
6054
- args: [{ selector: 'mrx-gallery-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"(fields$ | async)!\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"] }]
6055
- }], ctorParameters: () => [{ type: GalleryService }, { type: ModalService }, { type: i2$3.Store }], propDecorators: { preview: [{
6055
+ args: [{ selector: 'mrx-gallery-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"fields\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"] }]
6056
+ }], ctorParameters: () => [{ type: GalleryService }, { type: ModalService }], propDecorators: { preview: [{
6056
6057
  type: Input
6057
6058
  }], index: [{
6058
6059
  type: Input