myrta-ui 17.0.49 → 17.0.50

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.
@@ -281,11 +281,11 @@ export class InputFileComponent {
281
281
  return true;
282
282
  }
283
283
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFileComponent, deps: [{ token: i1.FileUploadService }], target: i0.ɵɵFactoryTarget.Component });
284
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputFileComponent, selector: "mrx-input-file", inputs: { autoUpload: "autoUpload", required: "required", disabled: "disabled", viewOnly: "viewOnly", lightDisabled: "lightDisabled", bottomFiles: "bottomFiles", maxSize: "maxSize", maxFiles: "maxFiles", minFiles: "minFiles", formData: "formData", uploadEndPoint: "uploadEndPoint", deleteEndPoint: "deleteEndPoint", downloadEndPoint: "downloadEndPoint", fileNamePlaceholder: "fileNamePlaceholder", showInputWithError: "showInputWithError", showDeleteButton: "showDeleteButton", isTooltipValue: "isTooltipValue", isDownloadingFile: "isDownloadingFile", isHideListFiles: "isHideListFiles", target: "target", deleteConfirm: "deleteConfirm", innerTemplate: "innerTemplate", uploadAdditionalData: "uploadAdditionalData", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid", messageTooManyFiles: "messageTooManyFiles", messageFileTooBig: "messageFileTooBig", messageEmptyFile: "messageEmptyFile", messageInvalidFileFormat: "messageInvalidFileFormat", placeholder: "placeholder", placeholderFileMaxSize: "placeholderFileMaxSize", placeholderFileFormat: "placeholderFileFormat", initFiles: ["files", "initFiles"], initAllowedExtensions: ["allowedExtensions", "initAllowedExtensions"] }, outputs: { filesChanged: "filesChanged", checkDroppedFile: "checkDroppedFile" }, ngImport: i0, template: "<div\r\n class=\"ng-form-file-input\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"form-row\" *ngIf=\"disabled; else notDisabled\">\r\n <div *ngIf=\"!files || files.length == 0\"\r\n class=\"col-sm-12 col-md-6\"\r\n >\r\n <div class=\"d-flex align-items-center color-tertiary\">\r\n <div class=\"mrx-icon icon-file icon-font-24 mr-2\"></div>\r\n <span>\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0442</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n >\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <a\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [target]=\"getTarget\"\r\n [href]=\"downloadUrl(file)\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</a>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.length)}}</span>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </div>\r\n\r\n <ng-template #notDisabled>\r\n <ng-container *ngIf=\"!bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n\r\n <ngx-file-drop\r\n *ngIf=\"canAdd\"\r\n [className]=\"'ng-custom-file-input'\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"lightDisabled\"\r\n [ngClass]=\"{'ng-custom-file-input--disabled': lightDisabled}\"\r\n (onFileDrop)=\"dropped($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!lightDisabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <div class=\"ng-custom-file-input-content--placeholder mb-2\">\r\n {{placeholder}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--size\">\r\n {{placeholderFileMaxSize}} {{formatBytes(maxSize)}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--extensions\" *ngIf=\"extensions\">\r\n {{placeholderFileFormat}} {{extensions}}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <ng-container *ngIf=\"bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n\r\n<ng-template #fileListTemplate>\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n [ngClass]=\"{'file-error': file.error}\"\r\n [mrxCdkTooltip]=\"getTooltipValue(fileNamePlaceholder ? fileNamePlaceholder : file.name || '')\"\r\n [tooltipPosition]=\"'top-start'\"\r\n >\r\n <a class=\"qq-download-link\" [target]=\"getTarget\" [href]=\"downloadUrl(file)\" *ngIf=\"file.id && isDownloadingFile\"></a>\r\n\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <span\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"ng-custom-file-input_progress\" *ngIf=\"file.uploading\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">\r\n {{formatBytes(file.length)}}\r\n </span>\r\n <span\r\n *ngIf=\"!disabled && showDeleteButton && !viewOnly && !file.error\"\r\n (click)=\"delete($event, file)\"\r\n class=\"mrx-icon icon-delete icon-font-24 cursor-pointer\"\r\n aria-label=\"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\"\r\n ></span>\r\n\r\n <div class=\"ng-custom-file-input-error\" *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-attention icon-color-red icon-font-16 mr-1\"></span>\r\n <span class=\"color-negative\">{{file.error}}</span>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-icon icon-close icon-font-24 cursor-pointer ml-2\"\r\n *ngIf=\"(file.error && !file.id) || canCancelUploading(file) && !viewOnly\"\r\n (click)=\"clear(file)\"\r\n ></div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: ["mrx-input-file .new-custom-file-input__item .qq-upload-size-selector{color:var(--neutral-text-tertiary, #71767E)!important}:host::ng-deep .ng-form-file-input{display:flex;flex-direction:column;gap:12px}:host::ng-deep .ng-form-file-input .color-tertiary,:host::ng-deep .ng-form-file-input .color-tertiary *{color:var(--neutral-text-tertiary, #71767E)}.ng-custom-file-input-content{width:100%;height:100%;padding:var(--spacing-4);color:var(--neutral-text-secondary, #636363);cursor:pointer}.ng-custom-file-input-content--placeholder{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-secondary, #636363)}.ng-custom-file-input-content--size,.ng-custom-file-input-content--extensions{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-secondary, #636363)}.new-custom-file-input{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.new-custom-file-input__item{border:1px solid var(--neutral-bg-stroke-default, #DAD5CE);border-radius:var(--border-radius-1);padding:var(--spacing-3);background-color:var(--brand-bg-tertiary-default, #FFF);position:relative}.new-custom-file-input__item:hover .qq-upload-file-selector{color:var(--brand-text-nav-link)!important}.new-custom-file-input__item .qq-download-link{position:absolute;inset:0;border-radius:var(--border-radius-1)}.new-custom-file-input__item .qq-file-info{display:flex;justify-content:space-between;align-items:center}.new-custom-file-input__item .qq-file-info .info{display:flex;align-items:center}.new-custom-file-input__item .qq-file-info .qq-upload-file-selector{margin:0;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--neutral-text-primary);transition:color .3s}.new-custom-file-input__item .qq-file-info .qq-upload-size-selector{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-secondary, #636363);padding-left:var(--spacing-2);margin-right:var(--spacing-2)}.new-custom-file-input .qq-file-info .info{position:relative;z-index:2}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone{background:var(--brand-bg-tertiary-default, #FFF);border-radius:var(--border-radius-1)!important;border:none;background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px);background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:hover,:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:focus{background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone{background-color:var(--neutral-bg-disabled, #F4F4F4)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone .ng-custom-file-input-content{cursor:default}::ng-deep .new-custom-file-input__item.file-error{border-color:var(--system-bg-controls-negative-default, #B83B15)}::ng-deep .ng-custom-file-input-error{display:flex;align-items:center;white-space:nowrap;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)}::ng-deep .ng-form-file-input.mrx-input-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-negative-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-success .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-positive-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px)!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.NgxFileDropComponent, selector: "ngx-file-drop", inputs: ["accept", "directory", "multiple", "dropZoneLabel", "dropZoneClassName", "useDragEnter", "contentClassName", "showBrowseBtn", "browseBtnClassName", "browseBtnLabel", "disabled"], outputs: ["onFileDrop", "onFileOver", "onFileLeave"] }, { kind: "directive", type: i3.NgxFileDropContentTemplateDirective, selector: "[ngx-file-drop-content-tmp]" }, { kind: "component", type: i4.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "directive", type: i5.CdkTooltipDirective, selector: "[mrxCdkTooltip]", inputs: ["mrxCdkTooltip", "tooltipActive", "autoCloseByScroll", "tooltipPosition", "tooltipMaxWidth"] }] });
284
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputFileComponent, selector: "mrx-input-file", inputs: { autoUpload: "autoUpload", required: "required", disabled: "disabled", viewOnly: "viewOnly", lightDisabled: "lightDisabled", bottomFiles: "bottomFiles", maxSize: "maxSize", maxFiles: "maxFiles", minFiles: "minFiles", formData: "formData", uploadEndPoint: "uploadEndPoint", deleteEndPoint: "deleteEndPoint", downloadEndPoint: "downloadEndPoint", fileNamePlaceholder: "fileNamePlaceholder", showInputWithError: "showInputWithError", showDeleteButton: "showDeleteButton", isTooltipValue: "isTooltipValue", isDownloadingFile: "isDownloadingFile", isHideListFiles: "isHideListFiles", target: "target", deleteConfirm: "deleteConfirm", innerTemplate: "innerTemplate", uploadAdditionalData: "uploadAdditionalData", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid", messageTooManyFiles: "messageTooManyFiles", messageFileTooBig: "messageFileTooBig", messageEmptyFile: "messageEmptyFile", messageInvalidFileFormat: "messageInvalidFileFormat", placeholder: "placeholder", placeholderFileMaxSize: "placeholderFileMaxSize", placeholderFileFormat: "placeholderFileFormat", initFiles: ["files", "initFiles"], initAllowedExtensions: ["allowedExtensions", "initAllowedExtensions"] }, outputs: { filesChanged: "filesChanged", checkDroppedFile: "checkDroppedFile" }, ngImport: i0, template: "<div\r\n class=\"ng-form-file-input\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"form-row\" *ngIf=\"disabled; else notDisabled\">\r\n <div *ngIf=\"!files || files.length == 0\"\r\n class=\"col-sm-12 col-md-6\"\r\n >\r\n <div class=\"d-flex align-items-center color-tertiary\">\r\n <div class=\"mrx-icon icon-file icon-font-24 mr-2\"></div>\r\n <span>\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0442</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n >\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <a\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [target]=\"getTarget\"\r\n [href]=\"downloadUrl(file)\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</a>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.length)}}</span>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </div>\r\n\r\n <ng-template #notDisabled>\r\n <ng-container *ngIf=\"!bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n\r\n <ngx-file-drop\r\n *ngIf=\"canAdd\"\r\n [className]=\"'ng-custom-file-input'\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"lightDisabled\"\r\n [ngClass]=\"{'ng-custom-file-input--disabled': lightDisabled}\"\r\n (onFileDrop)=\"dropped($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!lightDisabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <div class=\"ng-custom-file-input-content--placeholder mb-2\">\r\n {{placeholder}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--size\">\r\n {{placeholderFileMaxSize}} {{formatBytes(maxSize)}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--extensions\" *ngIf=\"extensions\">\r\n {{placeholderFileFormat}} {{extensions}}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <ng-container *ngIf=\"bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n\r\n<ng-template #fileListTemplate>\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n [ngClass]=\"{'file-error': file.error}\"\r\n [mrxCdkTooltip]=\"getTooltipValue(fileNamePlaceholder ? fileNamePlaceholder : file.name || '')\"\r\n [tooltipPosition]=\"'top-start'\"\r\n >\r\n <a class=\"qq-download-link\" [target]=\"getTarget\" [href]=\"downloadUrl(file)\" *ngIf=\"file.id && isDownloadingFile\"></a>\r\n\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <span\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"ng-custom-file-input_progress\" *ngIf=\"file.uploading\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">\r\n {{formatBytes(file.length)}}\r\n </span>\r\n <span\r\n *ngIf=\"!disabled && showDeleteButton && !viewOnly && !file.error\"\r\n (click)=\"delete($event, file)\"\r\n class=\"mrx-icon icon-delete icon-font-24 cursor-pointer\"\r\n aria-label=\"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\"\r\n ></span>\r\n\r\n <div class=\"ng-custom-file-input-error\" *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-attention icon-color-red icon-font-16 mr-1\"></span>\r\n <span class=\"color-negative\">{{file.error}}</span>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-icon icon-close icon-font-24 cursor-pointer ml-2\"\r\n *ngIf=\"(file.error && !file.id) || canCancelUploading(file) && !viewOnly\"\r\n (click)=\"clear(file)\"\r\n ></div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: ["mrx-input-file .new-custom-file-input__item .qq-upload-size-selector{color:var(--neutral-text-tertiary, #71767E)!important}:host::ng-deep .ng-form-file-input{display:flex;flex-direction:column;gap:12px}:host::ng-deep .ng-form-file-input .color-tertiary,:host::ng-deep .ng-form-file-input .color-tertiary *{color:var(--neutral-text-tertiary, #71767E)}.ng-custom-file-input-content{width:100%;height:100%;padding:var(--spacing-4);color:var(--neutral-text-secondary, #636363);cursor:pointer}.ng-custom-file-input-content--placeholder{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-secondary, #636363)}.ng-custom-file-input-content--size,.ng-custom-file-input-content--extensions{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-secondary, #636363)}.new-custom-file-input{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.new-custom-file-input__item{border:1px solid var(--neutral-bg-stroke-default, #DAD5CE);border-radius:var(--border-radius-1);padding:var(--spacing-3);background-color:var(--brand-bg-tertiary-default, #FFF);position:relative}.new-custom-file-input__item:hover .qq-upload-file-selector{color:var(--brand-text-nav-link)!important}.new-custom-file-input__item .qq-download-link{position:absolute;inset:0;border-radius:var(--border-radius-1)}.new-custom-file-input__item .qq-file-info{display:flex;justify-content:space-between;align-items:center}.new-custom-file-input__item .qq-file-info .info{display:flex;align-items:center}.new-custom-file-input__item .qq-file-info .qq-upload-file-selector{margin:0;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--neutral-text-primary);transition:color .3s}.new-custom-file-input__item .qq-file-info .qq-upload-size-selector{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-secondary, #636363);padding-left:var(--spacing-2);margin-right:var(--spacing-2);white-space:nowrap}.new-custom-file-input .qq-file-info .info{position:relative;z-index:2}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone{background:var(--brand-bg-tertiary-default, #FFF);border-radius:var(--border-radius-1)!important;border:none;background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px);background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:hover,:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:focus{background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone{background-color:var(--neutral-bg-disabled, #F4F4F4)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone .ng-custom-file-input-content{cursor:default}::ng-deep .new-custom-file-input__item.file-error{border-color:var(--system-bg-controls-negative-default, #B83B15)}::ng-deep .ng-custom-file-input-error{display:flex;align-items:center;white-space:nowrap;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)}::ng-deep .ng-form-file-input.mrx-input-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-negative-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-success .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-positive-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px)!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.NgxFileDropComponent, selector: "ngx-file-drop", inputs: ["accept", "directory", "multiple", "dropZoneLabel", "dropZoneClassName", "useDragEnter", "contentClassName", "showBrowseBtn", "browseBtnClassName", "browseBtnLabel", "disabled"], outputs: ["onFileDrop", "onFileOver", "onFileLeave"] }, { kind: "directive", type: i3.NgxFileDropContentTemplateDirective, selector: "[ngx-file-drop-content-tmp]" }, { kind: "component", type: i4.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "directive", type: i5.CdkTooltipDirective, selector: "[mrxCdkTooltip]", inputs: ["mrxCdkTooltip", "tooltipActive", "autoCloseByScroll", "tooltipPosition", "tooltipMaxWidth"] }] });
285
285
  }
286
286
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFileComponent, decorators: [{
287
287
  type: Component,
288
- args: [{ selector: 'mrx-input-file', template: "<div\r\n class=\"ng-form-file-input\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"form-row\" *ngIf=\"disabled; else notDisabled\">\r\n <div *ngIf=\"!files || files.length == 0\"\r\n class=\"col-sm-12 col-md-6\"\r\n >\r\n <div class=\"d-flex align-items-center color-tertiary\">\r\n <div class=\"mrx-icon icon-file icon-font-24 mr-2\"></div>\r\n <span>\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0442</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n >\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <a\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [target]=\"getTarget\"\r\n [href]=\"downloadUrl(file)\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</a>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.length)}}</span>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </div>\r\n\r\n <ng-template #notDisabled>\r\n <ng-container *ngIf=\"!bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n\r\n <ngx-file-drop\r\n *ngIf=\"canAdd\"\r\n [className]=\"'ng-custom-file-input'\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"lightDisabled\"\r\n [ngClass]=\"{'ng-custom-file-input--disabled': lightDisabled}\"\r\n (onFileDrop)=\"dropped($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!lightDisabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <div class=\"ng-custom-file-input-content--placeholder mb-2\">\r\n {{placeholder}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--size\">\r\n {{placeholderFileMaxSize}} {{formatBytes(maxSize)}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--extensions\" *ngIf=\"extensions\">\r\n {{placeholderFileFormat}} {{extensions}}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <ng-container *ngIf=\"bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n\r\n<ng-template #fileListTemplate>\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n [ngClass]=\"{'file-error': file.error}\"\r\n [mrxCdkTooltip]=\"getTooltipValue(fileNamePlaceholder ? fileNamePlaceholder : file.name || '')\"\r\n [tooltipPosition]=\"'top-start'\"\r\n >\r\n <a class=\"qq-download-link\" [target]=\"getTarget\" [href]=\"downloadUrl(file)\" *ngIf=\"file.id && isDownloadingFile\"></a>\r\n\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <span\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"ng-custom-file-input_progress\" *ngIf=\"file.uploading\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">\r\n {{formatBytes(file.length)}}\r\n </span>\r\n <span\r\n *ngIf=\"!disabled && showDeleteButton && !viewOnly && !file.error\"\r\n (click)=\"delete($event, file)\"\r\n class=\"mrx-icon icon-delete icon-font-24 cursor-pointer\"\r\n aria-label=\"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\"\r\n ></span>\r\n\r\n <div class=\"ng-custom-file-input-error\" *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-attention icon-color-red icon-font-16 mr-1\"></span>\r\n <span class=\"color-negative\">{{file.error}}</span>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-icon icon-close icon-font-24 cursor-pointer ml-2\"\r\n *ngIf=\"(file.error && !file.id) || canCancelUploading(file) && !viewOnly\"\r\n (click)=\"clear(file)\"\r\n ></div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: ["mrx-input-file .new-custom-file-input__item .qq-upload-size-selector{color:var(--neutral-text-tertiary, #71767E)!important}:host::ng-deep .ng-form-file-input{display:flex;flex-direction:column;gap:12px}:host::ng-deep .ng-form-file-input .color-tertiary,:host::ng-deep .ng-form-file-input .color-tertiary *{color:var(--neutral-text-tertiary, #71767E)}.ng-custom-file-input-content{width:100%;height:100%;padding:var(--spacing-4);color:var(--neutral-text-secondary, #636363);cursor:pointer}.ng-custom-file-input-content--placeholder{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-secondary, #636363)}.ng-custom-file-input-content--size,.ng-custom-file-input-content--extensions{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-secondary, #636363)}.new-custom-file-input{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.new-custom-file-input__item{border:1px solid var(--neutral-bg-stroke-default, #DAD5CE);border-radius:var(--border-radius-1);padding:var(--spacing-3);background-color:var(--brand-bg-tertiary-default, #FFF);position:relative}.new-custom-file-input__item:hover .qq-upload-file-selector{color:var(--brand-text-nav-link)!important}.new-custom-file-input__item .qq-download-link{position:absolute;inset:0;border-radius:var(--border-radius-1)}.new-custom-file-input__item .qq-file-info{display:flex;justify-content:space-between;align-items:center}.new-custom-file-input__item .qq-file-info .info{display:flex;align-items:center}.new-custom-file-input__item .qq-file-info .qq-upload-file-selector{margin:0;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--neutral-text-primary);transition:color .3s}.new-custom-file-input__item .qq-file-info .qq-upload-size-selector{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-secondary, #636363);padding-left:var(--spacing-2);margin-right:var(--spacing-2)}.new-custom-file-input .qq-file-info .info{position:relative;z-index:2}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone{background:var(--brand-bg-tertiary-default, #FFF);border-radius:var(--border-radius-1)!important;border:none;background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px);background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:hover,:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:focus{background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone{background-color:var(--neutral-bg-disabled, #F4F4F4)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone .ng-custom-file-input-content{cursor:default}::ng-deep .new-custom-file-input__item.file-error{border-color:var(--system-bg-controls-negative-default, #B83B15)}::ng-deep .ng-custom-file-input-error{display:flex;align-items:center;white-space:nowrap;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)}::ng-deep .ng-form-file-input.mrx-input-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-negative-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-success .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-positive-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px)!important}\n"] }]
288
+ args: [{ selector: 'mrx-input-file', template: "<div\r\n class=\"ng-form-file-input\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"form-row\" *ngIf=\"disabled; else notDisabled\">\r\n <div *ngIf=\"!files || files.length == 0\"\r\n class=\"col-sm-12 col-md-6\"\r\n >\r\n <div class=\"d-flex align-items-center color-tertiary\">\r\n <div class=\"mrx-icon icon-file icon-font-24 mr-2\"></div>\r\n <span>\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0442</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n >\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <a\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [target]=\"getTarget\"\r\n [href]=\"downloadUrl(file)\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</a>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.length)}}</span>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </div>\r\n\r\n <ng-template #notDisabled>\r\n <ng-container *ngIf=\"!bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n\r\n <ngx-file-drop\r\n *ngIf=\"canAdd\"\r\n [className]=\"'ng-custom-file-input'\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"lightDisabled\"\r\n [ngClass]=\"{'ng-custom-file-input--disabled': lightDisabled}\"\r\n (onFileDrop)=\"dropped($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!lightDisabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <div class=\"ng-custom-file-input-content--placeholder mb-2\">\r\n {{placeholder}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--size\">\r\n {{placeholderFileMaxSize}} {{formatBytes(maxSize)}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--extensions\" *ngIf=\"extensions\">\r\n {{placeholderFileFormat}} {{extensions}}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <ng-container *ngIf=\"bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n\r\n<ng-template #fileListTemplate>\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n [ngClass]=\"{'file-error': file.error}\"\r\n [mrxCdkTooltip]=\"getTooltipValue(fileNamePlaceholder ? fileNamePlaceholder : file.name || '')\"\r\n [tooltipPosition]=\"'top-start'\"\r\n >\r\n <a class=\"qq-download-link\" [target]=\"getTarget\" [href]=\"downloadUrl(file)\" *ngIf=\"file.id && isDownloadingFile\"></a>\r\n\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <span\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"ng-custom-file-input_progress\" *ngIf=\"file.uploading\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">\r\n {{formatBytes(file.length)}}\r\n </span>\r\n <span\r\n *ngIf=\"!disabled && showDeleteButton && !viewOnly && !file.error\"\r\n (click)=\"delete($event, file)\"\r\n class=\"mrx-icon icon-delete icon-font-24 cursor-pointer\"\r\n aria-label=\"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\"\r\n ></span>\r\n\r\n <div class=\"ng-custom-file-input-error\" *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-attention icon-color-red icon-font-16 mr-1\"></span>\r\n <span class=\"color-negative\">{{file.error}}</span>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-icon icon-close icon-font-24 cursor-pointer ml-2\"\r\n *ngIf=\"(file.error && !file.id) || canCancelUploading(file) && !viewOnly\"\r\n (click)=\"clear(file)\"\r\n ></div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: ["mrx-input-file .new-custom-file-input__item .qq-upload-size-selector{color:var(--neutral-text-tertiary, #71767E)!important}:host::ng-deep .ng-form-file-input{display:flex;flex-direction:column;gap:12px}:host::ng-deep .ng-form-file-input .color-tertiary,:host::ng-deep .ng-form-file-input .color-tertiary *{color:var(--neutral-text-tertiary, #71767E)}.ng-custom-file-input-content{width:100%;height:100%;padding:var(--spacing-4);color:var(--neutral-text-secondary, #636363);cursor:pointer}.ng-custom-file-input-content--placeholder{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-secondary, #636363)}.ng-custom-file-input-content--size,.ng-custom-file-input-content--extensions{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-secondary, #636363)}.new-custom-file-input{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.new-custom-file-input__item{border:1px solid var(--neutral-bg-stroke-default, #DAD5CE);border-radius:var(--border-radius-1);padding:var(--spacing-3);background-color:var(--brand-bg-tertiary-default, #FFF);position:relative}.new-custom-file-input__item:hover .qq-upload-file-selector{color:var(--brand-text-nav-link)!important}.new-custom-file-input__item .qq-download-link{position:absolute;inset:0;border-radius:var(--border-radius-1)}.new-custom-file-input__item .qq-file-info{display:flex;justify-content:space-between;align-items:center}.new-custom-file-input__item .qq-file-info .info{display:flex;align-items:center}.new-custom-file-input__item .qq-file-info .qq-upload-file-selector{margin:0;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--neutral-text-primary);transition:color .3s}.new-custom-file-input__item .qq-file-info .qq-upload-size-selector{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-secondary, #636363);padding-left:var(--spacing-2);margin-right:var(--spacing-2);white-space:nowrap}.new-custom-file-input .qq-file-info .info{position:relative;z-index:2}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone{background:var(--brand-bg-tertiary-default, #FFF);border-radius:var(--border-radius-1)!important;border:none;background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px);background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:hover,:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:focus{background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone{background-color:var(--neutral-bg-disabled, #F4F4F4)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone .ng-custom-file-input-content{cursor:default}::ng-deep .new-custom-file-input__item.file-error{border-color:var(--system-bg-controls-negative-default, #B83B15)}::ng-deep .ng-custom-file-input-error{display:flex;align-items:center;white-space:nowrap;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)}::ng-deep .ng-form-file-input.mrx-input-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-negative-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-success .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-positive-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px)!important}\n"] }]
289
289
  }], ctorParameters: () => [{ type: i1.FileUploadService }], propDecorators: { autoUpload: [{
290
290
  type: Input
291
291
  }], required: [{
@@ -221,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
221
221
  type: ViewChild,
222
222
  args: ['jsonEditorContainer', { static: true }]
223
223
  }] } });
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFpQjlFLE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixNQUFNLENBQWM7SUFFckIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFekIsYUFBYTtJQUNOLElBQUksR0FBVyxNQUFNLEVBQUUsQ0FBQTtJQUNkLE1BQU0sR0FBWSxFQUFFLENBQUM7SUFFNUIsT0FBTyxHQUFzQixJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDckQsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUV2QixJQUFtQixJQUFJLENBQUMsS0FBYTtRQUNuQyxJQUFJLENBQUMs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Q0FBQztJQUVPLFVBQVUsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ3BDLENBQUMsQ0FBQztJQUNNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDM0IsQ0FBQyxDQUFDO3dHQTdOUyxtQkFBbUI7NEZBQW5CLG1CQUFtQixpTkFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysb0tDN0JILG9EQUNBOzs0RkQ4QmEsbUJBQW1CO2tCQWQvQixTQUFTOytCQUNFLGlCQUFpQix1QkFHTixLQUFLLG1CQUNULHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dEQVllLE1BQU07c0JBQXJCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFYSxJQUFJO3NCQUF0QixLQUFLO3VCQUFDLE1BQU07Z0JBUUksT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRTJDLG1CQUFtQjtzQkFBcEUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgSlNPTkVkaXRvciBmcm9tICdqc29uZWRpdG9yJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBKc29uRWRpdG9yTW9kZSwgSnNvbkVkaXRvck9wdGlvbnMgfSBmcm9tICcuL3V0aWxzL2pzb25lZGl0b3JvcHRpb25zJztcbmltcG9ydCB7IEpzb25FZGl0b3JWYWx1ZVR5cGVzLCBKc29uRWRpdG9yVmFsdWVXaXRoSWQgfSBmcm9tICcuL2pzb24tZWRpdG9yLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtcngtanNvbi1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vanNvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vanNvbi1lZGl0b3IuY29tcG9uZW50Lmxlc3MnLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSnNvbkVkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBKc29uRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfZGF0YTogT2JqZWN0ID0ge307XG4gIHByaXZhdGUgZWRpdG9yITogSlNPTkVkaXRvcjtcblxuICBwdWJsaWMgb3B0aW9uc0NoYW5nZWQgPSBmYWxzZTtcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XG4gIHB1YmxpYyBpc0ZvY3VzZWQgPSBmYWxzZTtcblxuICAvLyBTQVZFIFNUQVRFXG4gIHB1YmxpYyB1dWlkOiBzdHJpbmcgPSB1dWlkdjQoKVxuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWVsZFtdID0gW107XG5cbiAgQElucHV0KCkgb3B0aW9uczogSnNvbkVkaXRvck9wdGlvbnMgPSBuZXcgSnNvbkVkaXRvck9wdGlvbnMoKTtcbiAgQElucHV0KCkgZGVidWcgPSBmYWxzZTtcblxuICBASW5wdXQoJ2RhdGEnKSBzZXQgZGF0YSh2YWx1ZTogT2JqZWN0KSB7XG4gICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xuICAgICAgdGhpcy5uZ09uSW5pdCgpO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPEpzb25FZGl0b3JWYWx1ZVR5cGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8SnNvbkVkaXRvclZhbHVlVHlwZXM+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxKc29uRWRpdG9yVmFsdWVXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxKc29uRWRpdG9yVmFsdWVXaXRoSWQ+KCk7XG4gIEBPdXRwdXQoKSBqc29uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2pzb25FZGl0b3JDb250YWluZXInLCB7c3RhdGljOiB0cnVlfSkganNvbkVkaXRvckNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9uc0JlZm9yZSA9IHRoaXMub3B0aW9ucztcbiAgICBpZiAoIXRoaXMub3B0aW9uc0NoYW5nZWQgJiYgdGhpcy5lZGl0b3IpIHtcbiAgICAgIC8vVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWVkZWRcbiAgICAgIG9wdGlvbnNCZWZvcmUgPSAodGhpcy5lZGl0b3IgYXMgYW55KS5vcHRpb25zO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5vcHRpb25zLm9uQ2hhbmdlSlNPTiAmJiB0aGlzLmpzb25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5vbkNoYW5nZUpTT04gPSB0aGlzLm9uQ2hhbmdlSlNPTjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMub25DaGFuZ2UgJiYgdGhpcy5jaGFuZ2VkKSB7XG4gICAgICB0aGlzLm9wdGlvbnMub25DaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlO1xuICAgIH1cbiAgICBjb25zdCBvcHRpb25zQ29weSA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnNCZWZvcmUpO1xuXG4gICAgLy8gZXhwYW5kQWxsIGlzIGFuIG9wdGlvbiBvbmx5IHN1cHBvcnRlZCBieSBhbmctanNvbmVkaXRvciBhbmQgbm90IGJ5IHRoZSB0aGUgb3JpZ2luYWwganNvbmVkaXRvci5cbiAgICBkZWxldGUgb3B0aW9uc0NvcHkuZXhwYW5kQWxsO1xuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmxvZyhvcHRpb25zQ29weSwgdGhpcy5fZGF0YSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5qc29uRWRpdG9yQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENhbid0IGZpbmQgdGhlIEVsZW1lbnRSZWYgcmVmZXJlbmNlIGZvciBqc29uZWRpdG9yKWApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnNDb3B5Lm1vZGUgPT09ICd0ZXh0JyB8fCBvcHRpb25zQ29weS5tb2RlID09PSAnY29kZScgfHxcbiAgICAgIChcbiAgICAgICAgb3B0aW9uc0NvcHkubW9kZXMgJiZcbiAgICAgICAgKG9wdGlvbnNDb3B5Lm1vZGVzLmluZGV4T2YoJ3RleHQnKSAhPT0gLTEgfHwgb3B0aW9uc0NvcHkubW9kZXMuaW5kZXhPZignY29kZScpICE9PSAtMSlcbiAgICAgIClcbiAgICApIHtcbiAgICAgIG9wdGlvbnNDb3B5Lm9uQ2hhbmdlSlNPTiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5lZGl0b3IgPSBuZXcgSlNPTkVkaXRvcih0aGlzLmpzb25FZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCwgb3B0aW9uc0NvcHkgYXMgYW55LCB0aGlzLl9kYXRhKTtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMuZXhwYW5kQWxsKSB7XG4gICAgICB0aGlzLmVkaXRvci5leHBhbmRBbGwoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoYW5nZUpTT04gPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmpzb25DaGFuZ2UuZW1pdCh0aGlzLmVkaXRvci5nZXQoKSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBqc29uID0gdGhpcy5lZGl0b3IuZ2V0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoanNvbilcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBKU09OIEVESVRPUiBGVU5DVElPTlNcbiAgICovXG5cbiAgcHVibGljIGNvbGxhcHNlQWxsKCkge1xuICAgIHRoaXMuZWRpdG9yLmNvbGxhcHNlQWxsKCk7XG4gIH1cblxuICBwdWJsaWMgZXhwYW5kQWxsKCkge1xuICAgIHRoaXMuZWRpdG9yLmV4cGFuZEFsbCgpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKCkge1xuICAgIHRoaXMuZWRpdG9yLmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IEpTT04ge1xuICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RlKCk6IEpzb25FZGl0b3JNb2RlIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0TW9kZSgpIGFzIEpzb25FZGl0b3JNb2RlO1xuICB9XG5cbiAgcHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0TmFtZSgpITtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldFRleHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQoanNvbjogSlNPTikge1xuICAgIHRoaXMuZWRpdG9yLnNldChqc29uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNb2RlKG1vZGU6IEpzb25FZGl0b3JNb2RlKSB7XG4gICAgdGhpcy5lZGl0b3Iuc2V0TW9kZShtb2RlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXROYW1lKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuZWRpdG9yLnNldE5hbWUobmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0U2VsZWN0aW9uKHN0YXJ0OiBhbnksIGVuZDogYW55KSB7XG4gICAgdGhpcy5lZGl0b3Iuc2V0U2VsZWN0aW9uKHN0YXJ0LCBlbmQpO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGlvbigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWxpZGF0ZVNjaGVtYSgpOiBhbnkge1xuICAgIC8vVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWVkZWRcbiAgICByZXR1cm4gKHRoaXMuZWRpdG9yIGFzIGFueSkudmFsaWRhdGVTY2hlbWE7XG4gIH1cblxuICBwdWJsaWMgc2V0U2NoZW1hKHNjaGVtYTogYW55LCBzY2hlbWFSZWZzOiBhbnkpIHtcbiAgICB0aGlzLmVkaXRvci5zZXRTY2hlbWEoc2NoZW1hLCBzY2hlbWFSZWZzKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2gocXVlcnk6IHN0cmluZykge1xuICAgIC8vVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWVkZWRcbiAgICAodGhpcy5lZGl0b3IgYXMgYW55KS5zZWFyY2gocXVlcnkpO1xuICB9XG5cbiAgcHVibGljIHNldE9wdGlvbnMobmV3T3B0aW9uczogSnNvbkVkaXRvck9wdGlvbnMpIHtcbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcbiAgICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zQ2hhbmdlZCA9IHRydWU7XG4gICAgdGhpcy5vcHRpb25zID0gbmV3T3B0aW9ucztcbiAgICB0aGlzLm5nT25Jbml0KCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlKGpzb246IEpTT04pIHtcbiAgICB0aGlzLmVkaXRvci51cGRhdGUoanNvbik7XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcbiAgICAgIHRoaXMuZWRpdG9yLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0RWRpdG9yKCkge1xuICAgIC8vVE9ETzogbWFkZSBpdCBhbnkgYmVjYXVzZSBvZiB0aGUgbWlzc2luZyB0eXBlIGRlZmluaXRpb25cbiAgICByZXR1cm4gdGhpcy5lZGl0b3IgYXMgYW55O1xuICB9XG5cbiAgcHVibGljIGlzVmFsaWRKc29uKCkge1xuICAgIHRyeSB7XG4gICAgICBKU09OLnBhcnNlKHRoaXMuZ2V0VGV4dCgpKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShpbnNpZGVWYWx1ZTogYW55KSB7XG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQoaW5zaWRlVmFsdWUpO1xuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh7dmFsdWU6IGluc2lkZVZhbHVlLCBpZDogdGhpcy51dWlkfSlcbiAgICB0aGlzLm9uQ2hhbmdlRm4oaW5zaWRlVmFsdWUpO1xuICAgIHRoaXMub25Ub3VjaGVkRm4oKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4ge30pOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm47XG4gIH1cblxuICBwcml2YXRlIG9uQ2hhbmdlRm4gPSAodmFsdWU6IGFueSkgPT4ge1xuICB9O1xuICBwcml2YXRlIG9uVG91Y2hlZEZuID0gKCkgPT4ge1xuICB9O1xufVxuIiwiPGRpdiBbaWRdPVwidXVpZFwiICNqc29uRWRpdG9yQ29udGFpbmVyPjwvZGl2PlxyXG4iXX0=
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFpQjlFLE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixNQUFNLENBQWM7SUFFckIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFekIsYUFBYTtJQUNOLElBQUksR0FBVyxNQUFNLEVBQUUsQ0FBQTtJQUNkLE1BQU0sR0FBWSxFQUFFLENBQUM7SUFFNUIsT0FBTyxHQUFzQixJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDckQsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUV2QixJQUFtQixJQUFJLENBQUMsS0FBYTtRQUNuQyxJQUFJLENBQUMs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Q0FBQztJQUVPLFVBQVUsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ3BDLENBQUMsQ0FBQztJQUNNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDM0IsQ0FBQyxDQUFDO3dHQTdOUyxtQkFBbUI7NEZBQW5CLG1CQUFtQixpTkFSbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysb0tDN0JILG9EQUNBOzs0RkQ4QmEsbUJBQW1CO2tCQWQvQixTQUFTOytCQUNFLGlCQUFpQix1QkFHTixLQUFLLG1CQUNULHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dEQVllLE1BQU07c0JBQXJCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFYSxJQUFJO3NCQUF0QixLQUFLO3VCQUFDLE1BQU07Z0JBUUksT0FBTztzQkFBdkIsTUFBTTtnQkFDVSxXQUFXO3NCQUEzQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRTJDLG1CQUFtQjtzQkFBcEUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEpTT05FZGl0b3IgZnJvbSAnanNvbmVkaXRvcic7XHJcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgSnNvbkVkaXRvck1vZGUsIEpzb25FZGl0b3JPcHRpb25zIH0gZnJvbSAnLi91dGlscy9qc29uZWRpdG9yb3B0aW9ucyc7XHJcbmltcG9ydCB7IEpzb25FZGl0b3JWYWx1ZVR5cGVzLCBKc29uRWRpdG9yVmFsdWVXaXRoSWQgfSBmcm9tICcuL2pzb24tZWRpdG9yLmVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtanNvbi1lZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9qc29uLWVkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2pzb24tZWRpdG9yLmNvbXBvbmVudC5sZXNzJyxcclxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEpzb25FZGl0b3JDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEpzb25FZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX2RhdGE6IE9iamVjdCA9IHt9O1xyXG4gIHByaXZhdGUgZWRpdG9yITogSlNPTkVkaXRvcjtcclxuXHJcbiAgcHVibGljIG9wdGlvbnNDaGFuZ2VkID0gZmFsc2U7XHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGlzRm9jdXNlZCA9IGZhbHNlO1xyXG5cclxuICAvLyBTQVZFIFNUQVRFXHJcbiAgcHVibGljIHV1aWQ6IHN0cmluZyA9IHV1aWR2NCgpXHJcbiAgQElucHV0KCkgcHVibGljIGZpZWxkczogRmllbGRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKSBvcHRpb25zOiBKc29uRWRpdG9yT3B0aW9ucyA9IG5ldyBKc29uRWRpdG9yT3B0aW9ucygpO1xyXG4gIEBJbnB1dCgpIGRlYnVnID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgnZGF0YScpIHNldCBkYXRhKHZhbHVlOiBPYmplY3QpIHtcclxuICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICB0aGlzLmVkaXRvci5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMubmdPbkluaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2hhbmdlZDogRXZlbnRFbWl0dGVyPEpzb25FZGl0b3JWYWx1ZVR5cGVzPiA9IG5ldyBFdmVudEVtaXR0ZXI8SnNvbkVkaXRvclZhbHVlVHlwZXM+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPEpzb25FZGl0b3JWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPEpzb25FZGl0b3JWYWx1ZVdpdGhJZD4oKTtcclxuICBAT3V0cHV0KCkganNvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnanNvbkVkaXRvckNvbnRhaW5lcicsIHtzdGF0aWM6IHRydWV9KSBqc29uRWRpdG9yQ29udGFpbmVyITogRWxlbWVudFJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGxldCBvcHRpb25zQmVmb3JlID0gdGhpcy5vcHRpb25zO1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnNDaGFuZ2VkICYmIHRoaXMuZWRpdG9yKSB7XHJcbiAgICAgIC8vVE9ETzogY2hlY2sgaWYgdGhpcyBpcyBuZWVkZWRcclxuICAgICAgb3B0aW9uc0JlZm9yZSA9ICh0aGlzLmVkaXRvciBhcyBhbnkpLm9wdGlvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMub25DaGFuZ2VKU09OICYmIHRoaXMuanNvbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9wdGlvbnMub25DaGFuZ2VKU09OID0gdGhpcy5vbkNoYW5nZUpTT047XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5vbkNoYW5nZSAmJiB0aGlzLmNoYW5nZWQpIHtcclxuICAgICAgdGhpcy5vcHRpb25zLm9uQ2hhbmdlID0gdGhpcy5vbkNoYW5nZTtcclxuICAgIH1cclxuICAgIGNvbnN0IG9wdGlvbnNDb3B5ID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9uc0JlZm9yZSk7XHJcblxyXG4gICAgLy8gZXhwYW5kQWxsIGlzIGFuIG9wdGlvbiBvbmx5IHN1cHBvcnRlZCBieSBhbmctanNvbmVkaXRvciBhbmQgbm90IGJ5IHRoZSB0aGUgb3JpZ2luYWwganNvbmVkaXRvci5cclxuICAgIGRlbGV0ZSBvcHRpb25zQ29weS5leHBhbmRBbGw7XHJcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xyXG4gICAgICBjb25zb2xlLmxvZyhvcHRpb25zQ29weSwgdGhpcy5fZGF0YSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuanNvbkVkaXRvckNvbnRhaW5lci5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYENhbid0IGZpbmQgdGhlIEVsZW1lbnRSZWYgcmVmZXJlbmNlIGZvciBqc29uZWRpdG9yKWApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgb3B0aW9uc0NvcHkubW9kZSA9PT0gJ3RleHQnIHx8IG9wdGlvbnNDb3B5Lm1vZGUgPT09ICdjb2RlJyB8fFxyXG4gICAgICAoXHJcbiAgICAgICAgb3B0aW9uc0NvcHkubW9kZXMgJiZcclxuICAgICAgICAob3B0aW9uc0NvcHkubW9kZXMuaW5kZXhPZigndGV4dCcpICE9PSAtMSB8fCBvcHRpb25zQ29weS5tb2Rlcy5pbmRleE9mKCdjb2RlJykgIT09IC0xKVxyXG4gICAgICApXHJcbiAgICApIHtcclxuICAgICAgb3B0aW9uc0NvcHkub25DaGFuZ2VKU09OID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lZGl0b3IgPSBuZXcgSlNPTkVkaXRvcih0aGlzLmpzb25FZGl0b3JDb250YWluZXIubmF0aXZlRWxlbWVudCwgb3B0aW9uc0NvcHkgYXMgYW55LCB0aGlzLl9kYXRhKTtcclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmV4cGFuZEFsbCkge1xyXG4gICAgICB0aGlzLmVkaXRvci5leHBhbmRBbGwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlSlNPTiA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMuanNvbkNoYW5nZS5lbWl0KHRoaXMuZWRpdG9yLmdldCgpKTtcclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBpZiAodGhpcy5kZWJ1Zykge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZSA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGpzb24gPSB0aGlzLmVkaXRvci5nZXQoKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGpzb24pXHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGVidWcpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBKU09OIEVESVRPUiBGVU5DVElPTlNcclxuICAgKi9cclxuXHJcbiAgcHVibGljIGNvbGxhcHNlQWxsKCkge1xyXG4gICAgdGhpcy5lZGl0b3IuY29sbGFwc2VBbGwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBhbmRBbGwoKSB7XHJcbiAgICB0aGlzLmVkaXRvci5leHBhbmRBbGwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb2N1cygpIHtcclxuICAgIHRoaXMuZWRpdG9yLmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0KCk6IEpTT04ge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE1vZGUoKTogSnNvbkVkaXRvck1vZGUge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yLmdldE1vZGUoKSBhcyBKc29uRWRpdG9yTW9kZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0TmFtZSgpITtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0b3IuZ2V0VGV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldChqc29uOiBKU09OKSB7XHJcbiAgICB0aGlzLmVkaXRvci5zZXQoanNvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0TW9kZShtb2RlOiBKc29uRWRpdG9yTW9kZSkge1xyXG4gICAgdGhpcy5lZGl0b3Iuc2V0TW9kZShtb2RlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXROYW1lKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5lZGl0b3Iuc2V0TmFtZShuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTZWxlY3Rpb24oc3RhcnQ6IGFueSwgZW5kOiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdG9yLnNldFNlbGVjdGlvbihzdGFydCwgZW5kKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZWxlY3Rpb24oKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmVkaXRvci5nZXRTZWxlY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRWYWxpZGF0ZVNjaGVtYSgpOiBhbnkge1xyXG4gICAgLy9UT0RPOiBjaGVjayBpZiB0aGlzIGlzIG5lZWRlZFxyXG4gICAgcmV0dXJuICh0aGlzLmVkaXRvciBhcyBhbnkpLnZhbGlkYXRlU2NoZW1hO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFNjaGVtYShzY2hlbWE6IGFueSwgc2NoZW1hUmVmczogYW55KSB7XHJcbiAgICB0aGlzLmVkaXRvci5zZXRTY2hlbWEoc2NoZW1hLCBzY2hlbWFSZWZzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWFyY2gocXVlcnk6IHN0cmluZykge1xyXG4gICAgLy9UT0RPOiBjaGVjayBpZiB0aGlzIGlzIG5lZWRlZFxyXG4gICAgKHRoaXMuZWRpdG9yIGFzIGFueSkuc2VhcmNoKHF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRPcHRpb25zKG5ld09wdGlvbnM6IEpzb25FZGl0b3JPcHRpb25zKSB7XHJcbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcclxuICAgICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vcHRpb25zQ2hhbmdlZCA9IHRydWU7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBuZXdPcHRpb25zO1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZShqc29uOiBKU09OKSB7XHJcbiAgICB0aGlzLmVkaXRvci51cGRhdGUoanNvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLmVkaXRvcikge1xyXG4gICAgICB0aGlzLmVkaXRvci5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RWRpdG9yKCkge1xyXG4gICAgLy9UT0RPOiBtYWRlIGl0IGFueSBiZWNhdXNlIG9mIHRoZSBtaXNzaW5nIHR5cGUgZGVmaW5pdGlvblxyXG4gICAgcmV0dXJuIHRoaXMuZWRpdG9yIGFzIGFueTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc1ZhbGlkSnNvbigpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIEpTT04ucGFyc2UodGhpcy5nZXRUZXh0KCkpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShpbnNpZGVWYWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmNoYW5nZWQuZW1pdChpbnNpZGVWYWx1ZSk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiBpbnNpZGVWYWx1ZSwgaWQ6IHRoaXMudXVpZH0pXHJcbiAgICB0aGlzLm9uQ2hhbmdlRm4oaW5zaWRlVmFsdWUpO1xyXG4gICAgdGhpcy5vblRvdWNoZWRGbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHt9KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlRm4gPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWRGbiA9ICgpID0+IHtcclxuICB9O1xyXG59XHJcbiIsIjxkaXYgW2lkXT1cInV1aWRcIiAjanNvbkVkaXRvckNvbnRhaW5lcj48L2Rpdj5cclxuIl19
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
21
21
  ]
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWM5RCxNQUFNLE9BQU8sZ0JBQWdCO3dHQUFoQixnQkFBZ0I7eUdBQWhCLGdCQUFnQixpQkFUckIsbUJBQW1CLGFBR25CLFlBQVksYUFHWixtQkFBbUI7eUdBR2QsZ0JBQWdCLFlBTnJCLFlBQVk7OzRGQU1QLGdCQUFnQjtrQkFYNUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsbUJBQW1CO3FCQUN0QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSnNvbkVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vanNvbi1lZGl0b3IuY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBKc29uRWRpdG9yQ29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBKc29uRWRpdG9yQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBKc29uRWRpdG9yTW9kdWxlIHtcbn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vanNvbi1lZGl0b3IvanNvbi1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWM5RCxNQUFNLE9BQU8sZ0JBQWdCO3dHQUFoQixnQkFBZ0I7eUdBQWhCLGdCQUFnQixpQkFUckIsbUJBQW1CLGFBR25CLFlBQVksYUFHWixtQkFBbUI7eUdBR2QsZ0JBQWdCLFlBTnJCLFlBQVk7OzRGQU1QLGdCQUFnQjtrQkFYNUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsbUJBQW1CO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsbUJBQW1CO3FCQUN0QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEpzb25FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2pzb24tZWRpdG9yLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIEpzb25FZGl0b3JDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIEpzb25FZGl0b3JDb21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEpzb25FZGl0b3JNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -14805,11 +14805,11 @@ class InputFileComponent {
14805
14805
  return true;
14806
14806
  }
14807
14807
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFileComponent, deps: [{ token: FileUploadService }], target: i0.ɵɵFactoryTarget.Component });
14808
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputFileComponent, selector: "mrx-input-file", inputs: { autoUpload: "autoUpload", required: "required", disabled: "disabled", viewOnly: "viewOnly", lightDisabled: "lightDisabled", bottomFiles: "bottomFiles", maxSize: "maxSize", maxFiles: "maxFiles", minFiles: "minFiles", formData: "formData", uploadEndPoint: "uploadEndPoint", deleteEndPoint: "deleteEndPoint", downloadEndPoint: "downloadEndPoint", fileNamePlaceholder: "fileNamePlaceholder", showInputWithError: "showInputWithError", showDeleteButton: "showDeleteButton", isTooltipValue: "isTooltipValue", isDownloadingFile: "isDownloadingFile", isHideListFiles: "isHideListFiles", target: "target", deleteConfirm: "deleteConfirm", innerTemplate: "innerTemplate", uploadAdditionalData: "uploadAdditionalData", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid", messageTooManyFiles: "messageTooManyFiles", messageFileTooBig: "messageFileTooBig", messageEmptyFile: "messageEmptyFile", messageInvalidFileFormat: "messageInvalidFileFormat", placeholder: "placeholder", placeholderFileMaxSize: "placeholderFileMaxSize", placeholderFileFormat: "placeholderFileFormat", initFiles: ["files", "initFiles"], initAllowedExtensions: ["allowedExtensions", "initAllowedExtensions"] }, outputs: { filesChanged: "filesChanged", checkDroppedFile: "checkDroppedFile" }, ngImport: i0, template: "<div\r\n class=\"ng-form-file-input\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"form-row\" *ngIf=\"disabled; else notDisabled\">\r\n <div *ngIf=\"!files || files.length == 0\"\r\n class=\"col-sm-12 col-md-6\"\r\n >\r\n <div class=\"d-flex align-items-center color-tertiary\">\r\n <div class=\"mrx-icon icon-file icon-font-24 mr-2\"></div>\r\n <span>\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0442</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n >\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <a\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [target]=\"getTarget\"\r\n [href]=\"downloadUrl(file)\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</a>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.length)}}</span>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </div>\r\n\r\n <ng-template #notDisabled>\r\n <ng-container *ngIf=\"!bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n\r\n <ngx-file-drop\r\n *ngIf=\"canAdd\"\r\n [className]=\"'ng-custom-file-input'\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"lightDisabled\"\r\n [ngClass]=\"{'ng-custom-file-input--disabled': lightDisabled}\"\r\n (onFileDrop)=\"dropped($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!lightDisabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <div class=\"ng-custom-file-input-content--placeholder mb-2\">\r\n {{placeholder}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--size\">\r\n {{placeholderFileMaxSize}} {{formatBytes(maxSize)}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--extensions\" *ngIf=\"extensions\">\r\n {{placeholderFileFormat}} {{extensions}}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <ng-container *ngIf=\"bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n\r\n<ng-template #fileListTemplate>\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n [ngClass]=\"{'file-error': file.error}\"\r\n [mrxCdkTooltip]=\"getTooltipValue(fileNamePlaceholder ? fileNamePlaceholder : file.name || '')\"\r\n [tooltipPosition]=\"'top-start'\"\r\n >\r\n <a class=\"qq-download-link\" [target]=\"getTarget\" [href]=\"downloadUrl(file)\" *ngIf=\"file.id && isDownloadingFile\"></a>\r\n\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <span\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"ng-custom-file-input_progress\" *ngIf=\"file.uploading\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">\r\n {{formatBytes(file.length)}}\r\n </span>\r\n <span\r\n *ngIf=\"!disabled && showDeleteButton && !viewOnly && !file.error\"\r\n (click)=\"delete($event, file)\"\r\n class=\"mrx-icon icon-delete icon-font-24 cursor-pointer\"\r\n aria-label=\"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\"\r\n ></span>\r\n\r\n <div class=\"ng-custom-file-input-error\" *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-attention icon-color-red icon-font-16 mr-1\"></span>\r\n <span class=\"color-negative\">{{file.error}}</span>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-icon icon-close icon-font-24 cursor-pointer ml-2\"\r\n *ngIf=\"(file.error && !file.id) || canCancelUploading(file) && !viewOnly\"\r\n (click)=\"clear(file)\"\r\n ></div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: ["mrx-input-file .new-custom-file-input__item .qq-upload-size-selector{color:var(--neutral-text-tertiary, #71767E)!important}:host::ng-deep .ng-form-file-input{display:flex;flex-direction:column;gap:12px}:host::ng-deep .ng-form-file-input .color-tertiary,:host::ng-deep .ng-form-file-input .color-tertiary *{color:var(--neutral-text-tertiary, #71767E)}.ng-custom-file-input-content{width:100%;height:100%;padding:var(--spacing-4);color:var(--neutral-text-secondary, #636363);cursor:pointer}.ng-custom-file-input-content--placeholder{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-secondary, #636363)}.ng-custom-file-input-content--size,.ng-custom-file-input-content--extensions{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-secondary, #636363)}.new-custom-file-input{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.new-custom-file-input__item{border:1px solid var(--neutral-bg-stroke-default, #DAD5CE);border-radius:var(--border-radius-1);padding:var(--spacing-3);background-color:var(--brand-bg-tertiary-default, #FFF);position:relative}.new-custom-file-input__item:hover .qq-upload-file-selector{color:var(--brand-text-nav-link)!important}.new-custom-file-input__item .qq-download-link{position:absolute;inset:0;border-radius:var(--border-radius-1)}.new-custom-file-input__item .qq-file-info{display:flex;justify-content:space-between;align-items:center}.new-custom-file-input__item .qq-file-info .info{display:flex;align-items:center}.new-custom-file-input__item .qq-file-info .qq-upload-file-selector{margin:0;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--neutral-text-primary);transition:color .3s}.new-custom-file-input__item .qq-file-info .qq-upload-size-selector{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-secondary, #636363);padding-left:var(--spacing-2);margin-right:var(--spacing-2)}.new-custom-file-input .qq-file-info .info{position:relative;z-index:2}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone{background:var(--brand-bg-tertiary-default, #FFF);border-radius:var(--border-radius-1)!important;border:none;background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px);background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:hover,:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:focus{background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone{background-color:var(--neutral-bg-disabled, #F4F4F4)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone .ng-custom-file-input-content{cursor:default}::ng-deep .new-custom-file-input__item.file-error{border-color:var(--system-bg-controls-negative-default, #B83B15)}::ng-deep .ng-custom-file-input-error{display:flex;align-items:center;white-space:nowrap;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)}::ng-deep .ng-form-file-input.mrx-input-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-negative-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-success .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-positive-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px)!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3$1.NgxFileDropComponent, selector: "ngx-file-drop", inputs: ["accept", "directory", "multiple", "dropZoneLabel", "dropZoneClassName", "useDragEnter", "contentClassName", "showBrowseBtn", "browseBtnClassName", "browseBtnLabel", "disabled"], outputs: ["onFileDrop", "onFileOver", "onFileLeave"] }, { kind: "directive", type: i3$1.NgxFileDropContentTemplateDirective, selector: "[ngx-file-drop-content-tmp]" }, { kind: "component", type: ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "directive", type: CdkTooltipDirective, selector: "[mrxCdkTooltip]", inputs: ["mrxCdkTooltip", "tooltipActive", "autoCloseByScroll", "tooltipPosition", "tooltipMaxWidth"] }] });
14808
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InputFileComponent, selector: "mrx-input-file", inputs: { autoUpload: "autoUpload", required: "required", disabled: "disabled", viewOnly: "viewOnly", lightDisabled: "lightDisabled", bottomFiles: "bottomFiles", maxSize: "maxSize", maxFiles: "maxFiles", minFiles: "minFiles", formData: "formData", uploadEndPoint: "uploadEndPoint", deleteEndPoint: "deleteEndPoint", downloadEndPoint: "downloadEndPoint", fileNamePlaceholder: "fileNamePlaceholder", showInputWithError: "showInputWithError", showDeleteButton: "showDeleteButton", isTooltipValue: "isTooltipValue", isDownloadingFile: "isDownloadingFile", isHideListFiles: "isHideListFiles", target: "target", deleteConfirm: "deleteConfirm", innerTemplate: "innerTemplate", uploadAdditionalData: "uploadAdditionalData", invalid: "invalid", invalidMessage: "invalidMessage", checkInvalid: "checkInvalid", messageTooManyFiles: "messageTooManyFiles", messageFileTooBig: "messageFileTooBig", messageEmptyFile: "messageEmptyFile", messageInvalidFileFormat: "messageInvalidFileFormat", placeholder: "placeholder", placeholderFileMaxSize: "placeholderFileMaxSize", placeholderFileFormat: "placeholderFileFormat", initFiles: ["files", "initFiles"], initAllowedExtensions: ["allowedExtensions", "initAllowedExtensions"] }, outputs: { filesChanged: "filesChanged", checkDroppedFile: "checkDroppedFile" }, ngImport: i0, template: "<div\r\n class=\"ng-form-file-input\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"form-row\" *ngIf=\"disabled; else notDisabled\">\r\n <div *ngIf=\"!files || files.length == 0\"\r\n class=\"col-sm-12 col-md-6\"\r\n >\r\n <div class=\"d-flex align-items-center color-tertiary\">\r\n <div class=\"mrx-icon icon-file icon-font-24 mr-2\"></div>\r\n <span>\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0442</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n >\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <a\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [target]=\"getTarget\"\r\n [href]=\"downloadUrl(file)\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</a>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.length)}}</span>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </div>\r\n\r\n <ng-template #notDisabled>\r\n <ng-container *ngIf=\"!bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n\r\n <ngx-file-drop\r\n *ngIf=\"canAdd\"\r\n [className]=\"'ng-custom-file-input'\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"lightDisabled\"\r\n [ngClass]=\"{'ng-custom-file-input--disabled': lightDisabled}\"\r\n (onFileDrop)=\"dropped($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!lightDisabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <div class=\"ng-custom-file-input-content--placeholder mb-2\">\r\n {{placeholder}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--size\">\r\n {{placeholderFileMaxSize}} {{formatBytes(maxSize)}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--extensions\" *ngIf=\"extensions\">\r\n {{placeholderFileFormat}} {{extensions}}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <ng-container *ngIf=\"bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n\r\n<ng-template #fileListTemplate>\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n [ngClass]=\"{'file-error': file.error}\"\r\n [mrxCdkTooltip]=\"getTooltipValue(fileNamePlaceholder ? fileNamePlaceholder : file.name || '')\"\r\n [tooltipPosition]=\"'top-start'\"\r\n >\r\n <a class=\"qq-download-link\" [target]=\"getTarget\" [href]=\"downloadUrl(file)\" *ngIf=\"file.id && isDownloadingFile\"></a>\r\n\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <span\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"ng-custom-file-input_progress\" *ngIf=\"file.uploading\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">\r\n {{formatBytes(file.length)}}\r\n </span>\r\n <span\r\n *ngIf=\"!disabled && showDeleteButton && !viewOnly && !file.error\"\r\n (click)=\"delete($event, file)\"\r\n class=\"mrx-icon icon-delete icon-font-24 cursor-pointer\"\r\n aria-label=\"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\"\r\n ></span>\r\n\r\n <div class=\"ng-custom-file-input-error\" *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-attention icon-color-red icon-font-16 mr-1\"></span>\r\n <span class=\"color-negative\">{{file.error}}</span>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-icon icon-close icon-font-24 cursor-pointer ml-2\"\r\n *ngIf=\"(file.error && !file.id) || canCancelUploading(file) && !viewOnly\"\r\n (click)=\"clear(file)\"\r\n ></div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: ["mrx-input-file .new-custom-file-input__item .qq-upload-size-selector{color:var(--neutral-text-tertiary, #71767E)!important}:host::ng-deep .ng-form-file-input{display:flex;flex-direction:column;gap:12px}:host::ng-deep .ng-form-file-input .color-tertiary,:host::ng-deep .ng-form-file-input .color-tertiary *{color:var(--neutral-text-tertiary, #71767E)}.ng-custom-file-input-content{width:100%;height:100%;padding:var(--spacing-4);color:var(--neutral-text-secondary, #636363);cursor:pointer}.ng-custom-file-input-content--placeholder{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-secondary, #636363)}.ng-custom-file-input-content--size,.ng-custom-file-input-content--extensions{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-secondary, #636363)}.new-custom-file-input{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.new-custom-file-input__item{border:1px solid var(--neutral-bg-stroke-default, #DAD5CE);border-radius:var(--border-radius-1);padding:var(--spacing-3);background-color:var(--brand-bg-tertiary-default, #FFF);position:relative}.new-custom-file-input__item:hover .qq-upload-file-selector{color:var(--brand-text-nav-link)!important}.new-custom-file-input__item .qq-download-link{position:absolute;inset:0;border-radius:var(--border-radius-1)}.new-custom-file-input__item .qq-file-info{display:flex;justify-content:space-between;align-items:center}.new-custom-file-input__item .qq-file-info .info{display:flex;align-items:center}.new-custom-file-input__item .qq-file-info .qq-upload-file-selector{margin:0;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--neutral-text-primary);transition:color .3s}.new-custom-file-input__item .qq-file-info .qq-upload-size-selector{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-secondary, #636363);padding-left:var(--spacing-2);margin-right:var(--spacing-2);white-space:nowrap}.new-custom-file-input .qq-file-info .info{position:relative;z-index:2}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone{background:var(--brand-bg-tertiary-default, #FFF);border-radius:var(--border-radius-1)!important;border:none;background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px);background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:hover,:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:focus{background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone{background-color:var(--neutral-bg-disabled, #F4F4F4)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone .ng-custom-file-input-content{cursor:default}::ng-deep .new-custom-file-input__item.file-error{border-color:var(--system-bg-controls-negative-default, #B83B15)}::ng-deep .ng-custom-file-input-error{display:flex;align-items:center;white-space:nowrap;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)}::ng-deep .ng-form-file-input.mrx-input-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-negative-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-success .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-positive-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px)!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3$1.NgxFileDropComponent, selector: "ngx-file-drop", inputs: ["accept", "directory", "multiple", "dropZoneLabel", "dropZoneClassName", "useDragEnter", "contentClassName", "showBrowseBtn", "browseBtnClassName", "browseBtnLabel", "disabled"], outputs: ["onFileDrop", "onFileOver", "onFileLeave"] }, { kind: "directive", type: i3$1.NgxFileDropContentTemplateDirective, selector: "[ngx-file-drop-content-tmp]" }, { kind: "component", type: ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "directive", type: CdkTooltipDirective, selector: "[mrxCdkTooltip]", inputs: ["mrxCdkTooltip", "tooltipActive", "autoCloseByScroll", "tooltipPosition", "tooltipMaxWidth"] }] });
14809
14809
  }
14810
14810
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InputFileComponent, decorators: [{
14811
14811
  type: Component,
14812
- args: [{ selector: 'mrx-input-file', template: "<div\r\n class=\"ng-form-file-input\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"form-row\" *ngIf=\"disabled; else notDisabled\">\r\n <div *ngIf=\"!files || files.length == 0\"\r\n class=\"col-sm-12 col-md-6\"\r\n >\r\n <div class=\"d-flex align-items-center color-tertiary\">\r\n <div class=\"mrx-icon icon-file icon-font-24 mr-2\"></div>\r\n <span>\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0442</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n >\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <a\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [target]=\"getTarget\"\r\n [href]=\"downloadUrl(file)\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</a>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.length)}}</span>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </div>\r\n\r\n <ng-template #notDisabled>\r\n <ng-container *ngIf=\"!bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n\r\n <ngx-file-drop\r\n *ngIf=\"canAdd\"\r\n [className]=\"'ng-custom-file-input'\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"lightDisabled\"\r\n [ngClass]=\"{'ng-custom-file-input--disabled': lightDisabled}\"\r\n (onFileDrop)=\"dropped($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!lightDisabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <div class=\"ng-custom-file-input-content--placeholder mb-2\">\r\n {{placeholder}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--size\">\r\n {{placeholderFileMaxSize}} {{formatBytes(maxSize)}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--extensions\" *ngIf=\"extensions\">\r\n {{placeholderFileFormat}} {{extensions}}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <ng-container *ngIf=\"bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n\r\n<ng-template #fileListTemplate>\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n [ngClass]=\"{'file-error': file.error}\"\r\n [mrxCdkTooltip]=\"getTooltipValue(fileNamePlaceholder ? fileNamePlaceholder : file.name || '')\"\r\n [tooltipPosition]=\"'top-start'\"\r\n >\r\n <a class=\"qq-download-link\" [target]=\"getTarget\" [href]=\"downloadUrl(file)\" *ngIf=\"file.id && isDownloadingFile\"></a>\r\n\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <span\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"ng-custom-file-input_progress\" *ngIf=\"file.uploading\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">\r\n {{formatBytes(file.length)}}\r\n </span>\r\n <span\r\n *ngIf=\"!disabled && showDeleteButton && !viewOnly && !file.error\"\r\n (click)=\"delete($event, file)\"\r\n class=\"mrx-icon icon-delete icon-font-24 cursor-pointer\"\r\n aria-label=\"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\"\r\n ></span>\r\n\r\n <div class=\"ng-custom-file-input-error\" *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-attention icon-color-red icon-font-16 mr-1\"></span>\r\n <span class=\"color-negative\">{{file.error}}</span>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-icon icon-close icon-font-24 cursor-pointer ml-2\"\r\n *ngIf=\"(file.error && !file.id) || canCancelUploading(file) && !viewOnly\"\r\n (click)=\"clear(file)\"\r\n ></div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: ["mrx-input-file .new-custom-file-input__item .qq-upload-size-selector{color:var(--neutral-text-tertiary, #71767E)!important}:host::ng-deep .ng-form-file-input{display:flex;flex-direction:column;gap:12px}:host::ng-deep .ng-form-file-input .color-tertiary,:host::ng-deep .ng-form-file-input .color-tertiary *{color:var(--neutral-text-tertiary, #71767E)}.ng-custom-file-input-content{width:100%;height:100%;padding:var(--spacing-4);color:var(--neutral-text-secondary, #636363);cursor:pointer}.ng-custom-file-input-content--placeholder{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-secondary, #636363)}.ng-custom-file-input-content--size,.ng-custom-file-input-content--extensions{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-secondary, #636363)}.new-custom-file-input{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.new-custom-file-input__item{border:1px solid var(--neutral-bg-stroke-default, #DAD5CE);border-radius:var(--border-radius-1);padding:var(--spacing-3);background-color:var(--brand-bg-tertiary-default, #FFF);position:relative}.new-custom-file-input__item:hover .qq-upload-file-selector{color:var(--brand-text-nav-link)!important}.new-custom-file-input__item .qq-download-link{position:absolute;inset:0;border-radius:var(--border-radius-1)}.new-custom-file-input__item .qq-file-info{display:flex;justify-content:space-between;align-items:center}.new-custom-file-input__item .qq-file-info .info{display:flex;align-items:center}.new-custom-file-input__item .qq-file-info .qq-upload-file-selector{margin:0;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--neutral-text-primary);transition:color .3s}.new-custom-file-input__item .qq-file-info .qq-upload-size-selector{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-secondary, #636363);padding-left:var(--spacing-2);margin-right:var(--spacing-2)}.new-custom-file-input .qq-file-info .info{position:relative;z-index:2}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone{background:var(--brand-bg-tertiary-default, #FFF);border-radius:var(--border-radius-1)!important;border:none;background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px);background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:hover,:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:focus{background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone{background-color:var(--neutral-bg-disabled, #F4F4F4)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone .ng-custom-file-input-content{cursor:default}::ng-deep .new-custom-file-input__item.file-error{border-color:var(--system-bg-controls-negative-default, #B83B15)}::ng-deep .ng-custom-file-input-error{display:flex;align-items:center;white-space:nowrap;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)}::ng-deep .ng-form-file-input.mrx-input-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-negative-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-success .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-positive-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px)!important}\n"] }]
14812
+ args: [{ selector: 'mrx-input-file', template: "<div\r\n class=\"ng-form-file-input\"\r\n [class]=\"getClasses\"\r\n [class.mrx-input-error]=\"invalid\">\r\n <div class=\"form-row\" *ngIf=\"disabled; else notDisabled\">\r\n <div *ngIf=\"!files || files.length == 0\"\r\n class=\"col-sm-12 col-md-6\"\r\n >\r\n <div class=\"d-flex align-items-center color-tertiary\">\r\n <div class=\"mrx-icon icon-file icon-font-24 mr-2\"></div>\r\n <span>\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u043D\u0435\u0442</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"col-12\">\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n >\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <a\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [target]=\"getTarget\"\r\n [href]=\"downloadUrl(file)\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</a>\r\n </div>\r\n <div class=\"info\">\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">{{formatBytes(file.length)}}</span>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </div>\r\n\r\n <ng-template #notDisabled>\r\n <ng-container *ngIf=\"!bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n\r\n <ngx-file-drop\r\n *ngIf=\"canAdd\"\r\n [className]=\"'ng-custom-file-input'\"\r\n [accept]=\"extensions || ''\"\r\n [disabled]=\"lightDisabled\"\r\n [ngClass]=\"{'ng-custom-file-input--disabled': lightDisabled}\"\r\n (onFileDrop)=\"dropped($event)\"\r\n >\r\n <ng-template ngx-file-drop-content-tmp let-openFileSelector=\"openFileSelector\">\r\n <div\r\n class=\"ng-custom-file-input-content\"\r\n (click)=\"!lightDisabled ? openFileSelector() : undefined\"\r\n >\r\n <div class=\"text-center\">\r\n <div class=\"ng-custom-file-input-content--placeholder mb-2\">\r\n {{placeholder}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--size\">\r\n {{placeholderFileMaxSize}} {{formatBytes(maxSize)}}\r\n </div>\r\n <div class=\"ng-custom-file-input-content--extensions\" *ngIf=\"extensions\">\r\n {{placeholderFileFormat}} {{extensions}}\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ngx-file-drop>\r\n\r\n <ng-container *ngIf=\"bottomFiles && !isHideListFiles\">\r\n <ng-container *ngTemplateOutlet=\"fileListTemplate\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"innerTemplate; context:{}\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<mrx-error-message\r\n *ngIf=\"(!isValid || invalid) && isInvalidMessage\"\r\n [invalidMessage]=\"invalidMessage\"\r\n></mrx-error-message>\r\n\r\n<ng-template #fileListTemplate>\r\n <ul class=\"new-custom-file-input\" *ngIf=\"files.length\">\r\n <li\r\n class=\"new-custom-file-input__item\"\r\n *ngFor=\"let file of files; trackBy: trackByFn\"\r\n [ngClass]=\"{'file-error': file.error}\"\r\n [mrxCdkTooltip]=\"getTooltipValue(fileNamePlaceholder ? fileNamePlaceholder : file.name || '')\"\r\n [tooltipPosition]=\"'top-start'\"\r\n >\r\n <a class=\"qq-download-link\" [target]=\"getTarget\" [href]=\"downloadUrl(file)\" *ngIf=\"file.id && isDownloadingFile\"></a>\r\n\r\n <div class=\"qq-file-info\">\r\n <div class=\"d-flex align-items-center\">\r\n <span class=\"mrx-icon icon-file icon-font-24 mr-2\"></span>\r\n <span\r\n class=\"qq-upload-file-selector qq-upload-file\"\r\n [title]=\"fileNamePlaceholder ? fileNamePlaceholder : file.name\"\r\n >{{fileNamePlaceholder ? fileNamePlaceholder : file.name}}</span>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"ng-custom-file-input_progress\" *ngIf=\"file.uploading\">\r\n <span [ngStyle]=\"{width: file.percentage + '%'}\"></span>\r\n </div>\r\n\r\n <span class=\"qq-upload-size-selector qq-upload-size\" *ngIf=\"!file.error\">\r\n {{formatBytes(file.length)}}\r\n </span>\r\n <span\r\n *ngIf=\"!disabled && showDeleteButton && !viewOnly && !file.error\"\r\n (click)=\"delete($event, file)\"\r\n class=\"mrx-icon icon-delete icon-font-24 cursor-pointer\"\r\n aria-label=\"\u0423\u0434\u0430\u043B\u0438\u0442\u044C\"\r\n ></span>\r\n\r\n <div class=\"ng-custom-file-input-error\" *ngIf=\"file.error\">\r\n <span class=\"mrx-icon icon-attention icon-color-red icon-font-16 mr-1\"></span>\r\n <span class=\"color-negative\">{{file.error}}</span>\r\n </div>\r\n\r\n <div\r\n class=\"mrx-icon icon-close icon-font-24 cursor-pointer ml-2\"\r\n *ngIf=\"(file.error && !file.id) || canCancelUploading(file) && !viewOnly\"\r\n (click)=\"clear(file)\"\r\n ></div>\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n</ng-template>\r\n", styles: ["mrx-input-file .new-custom-file-input__item .qq-upload-size-selector{color:var(--neutral-text-tertiary, #71767E)!important}:host::ng-deep .ng-form-file-input{display:flex;flex-direction:column;gap:12px}:host::ng-deep .ng-form-file-input .color-tertiary,:host::ng-deep .ng-form-file-input .color-tertiary *{color:var(--neutral-text-tertiary, #71767E)}.ng-custom-file-input-content{width:100%;height:100%;padding:var(--spacing-4);color:var(--neutral-text-secondary, #636363);cursor:pointer}.ng-custom-file-input-content--placeholder{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-secondary, #636363)}.ng-custom-file-input-content--size,.ng-custom-file-input-content--extensions{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-secondary, #636363)}.new-custom-file-input{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.new-custom-file-input__item{border:1px solid var(--neutral-bg-stroke-default, #DAD5CE);border-radius:var(--border-radius-1);padding:var(--spacing-3);background-color:var(--brand-bg-tertiary-default, #FFF);position:relative}.new-custom-file-input__item:hover .qq-upload-file-selector{color:var(--brand-text-nav-link)!important}.new-custom-file-input__item .qq-download-link{position:absolute;inset:0;border-radius:var(--border-radius-1)}.new-custom-file-input__item .qq-file-info{display:flex;justify-content:space-between;align-items:center}.new-custom-file-input__item .qq-file-info .info{display:flex;align-items:center}.new-custom-file-input__item .qq-file-info .qq-upload-file-selector{margin:0;-webkit-line-clamp:1;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:var(--neutral-text-primary);transition:color .3s}.new-custom-file-input__item .qq-file-info .qq-upload-size-selector{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-secondary, #636363);padding-left:var(--spacing-2);margin-right:var(--spacing-2);white-space:nowrap}.new-custom-file-input .qq-file-info .info{position:relative;z-index:2}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone{background:var(--brand-bg-tertiary-default, #FFF);border-radius:var(--border-radius-1)!important;border:none;background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-default, #DAD5CE),var(--neutral-bg-stroke-default, #DAD5CE) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-default, #DAD5CE) 10px);background-size:1px 100%,100% 1px,1px 100%,100% 1px;background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat}:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:hover,:host::ng-deep .ng-form-file-input .ng-custom-file-input .ngx-file-drop__drop-zone:focus{background-image:repeating-linear-gradient(0deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(90deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(180deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px),repeating-linear-gradient(270deg,var(--neutral-bg-stroke-hover, #BCB5AC),var(--neutral-bg-stroke-hover, #BCB5AC) 6px,transparent 6px,transparent 10px,var(--neutral-bg-stroke-hover, #BCB5AC) 10px)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone{background-color:var(--neutral-bg-disabled, #F4F4F4)}:host::ng-deep .ng-form-file-input .ng-custom-file-input.ng-custom-file-input--disabled .ngx-file-drop__drop-zone .ng-custom-file-input-content{cursor:default}::ng-deep .new-custom-file-input__item.file-error{border-color:var(--system-bg-controls-negative-default, #B83B15)}::ng-deep .ng-custom-file-input-error{display:flex;align-items:center;white-space:nowrap;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)}::ng-deep .ng-form-file-input.mrx-input-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-error .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-negative-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-negative-default, #B83B15),var(--system-bg-controls-negative-default, #B83B15) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-negative-default, #B83B15) 10px)!important}::ng-deep .ng-form-file-input.mrx-input-checked-success .ng-custom-file-input .ngx-file-drop__drop-zone{background-color:var(--system-bg-positive-secondary);background-image:repeating-linear-gradient(0deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(90deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(180deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px),repeating-linear-gradient(270deg,var(--system-bg-controls-positive-default, #108E3A),var(--system-bg-controls-positive-default, #108E3A) 6px,transparent 6px,transparent 10px,var(--system-bg-controls-positive-default, #108E3A) 10px)!important}\n"] }]
14813
14813
  }], ctorParameters: () => [{ type: FileUploadService }], propDecorators: { autoUpload: [{
14814
14814
  type: Input
14815
14815
  }], required: [{