import { Component, Input } from '@angular/core';
import { NotificationMessageType } from '@tilde-nlp/ngx-common';
import { take } from 'rxjs/operators';
import { TldFileTranslateBaseComponent } from '../tld-file-translate-base.component';
import { AUTO_LANGUAGE_DETECTION_KEY } from '../../tld-common/models/auto-language-detection-key.const';
import { FileCategory } from '../services/api/models/file-category.model';
import * as i0 from "@angular/core";
import * as i1 from "../services/tld-translate-file.service";
import * as i2 from "../../tld-common/services";
import * as i3 from "@angular/material/dialog";
import * as i4 from "../../tld-common/components/translate-button/tld-translate-button.service";
import * as i5 from "@tilde-nlp/ngx-common";
import * as i6 from "@angular/common";
import * as i7 from "../../tld-common/components/translate-button/translate-button.component";
import * as i8 from "@ngbracket/ngx-layout/flex";
import * as i9 from "@ngbracket/ngx-layout/extended";
import * as i10 from "../../../components/shared/vendor-disclaimer/vendor-disclaimer.component";
import * as i11 from "@angular/material/progress-bar";
import * as i12 from "@angular/material/button";
import * as i13 from "../download-button/download-button.component";
import * as i14 from "@ngx-translate/core";
export class TldTranslateFileMultipleComponent extends TldFileTranslateBaseComponent {
    fileService;
    config;
    dialog;
    translateButtonService;
    systemManagementService;
    alertService;
    constructor(fileService, config, dialog, translateButtonService, systemManagementService, alertService) {
        super(dialog, config, fileService);
        this.fileService = fileService;
        this.config = config;
        this.dialog = dialog;
        this.translateButtonService = translateButtonService;
        this.systemManagementService = systemManagementService;
        this.alertService = alertService;
    }
    translationFiles;
    allowedFileTypes;
    allowedFileTypesAuthUser;
    maxFileUploadSize;
    multipleFiles;
    extendedFileTypes;
    showVendorNotification;
    isSelectLanguageWarningAdded = false;
    get isAutoSourceLangEnabled() {
        const isSourceLangAuto = this.systemManagementService.getActiveSystemObj().sourceLanguage === AUTO_LANGUAGE_DETECTION_KEY;
        if (isSourceLangAuto) {
            if (this.isSelectLanguageWarningAdded) {
                return true;
            }
            this.isSelectLanguageWarningAdded = true;
            this.alertService.warning('FILE_UPLOAD.SELECT_LANGUAGE_WARNING', null, true);
        }
        else {
            this.isSelectLanguageWarningAdded = false;
            this.alertService.deleteMessage(NotificationMessageType.WARNING, 'FILE_UPLOAD.SELECT_LANGUAGE_WARNING', null, true);
        }
        return isSourceLangAuto;
    }
    get translationStarted() {
        return this.fileService.translationStarted;
    }
    get disableAppendFiles() {
        return this.fileService?.translationStarted || this.fileService.translationFiles?.length >= this.config.fileConfig.numberOfFilesAllowed;
    }
    get isAuth() {
        return this.config?.coreConfig?.isAuth;
    }
    get translatedFilesCount() {
        return this.fileService?.translatedCount || 0;
    }
    get maxFileCount() {
        return this.config.fileConfig.numberOfFilesAllowed;
    }
    get fileCount() {
        return this.translationFiles?.length || 0;
    }
    get disableTranslateButton() {
        return this.fileService.disableTranslateButton || this.isAutoSourceLangEnabled;
    }
    ngOnInit() {
        this.allowedFileTypes = this.config.fileConfig.allowedFileTypes;
        this.extendedFileTypes = this.config.fileConfig.extendedFileTypes;
        this.maxFileUploadSize = this.config.fileConfig.maxSize;
        this.multipleFiles = this.config.fileConfig.numberOfFilesAllowed > 1;
        this.fileService.onFilesUploaded().pipe(take(1)).subscribe(() => { this.translateButtonService.pulseButton(); });
    }
    download(file, fileMeta) {
        if (!fileMeta) {
            fileMeta = file.availableExtensions?.find((file) => file.category === FileCategory.TRANSLATED) ?? file.availableExtensions?.[0];
        }
        this.fileService.download(file, fileMeta);
    }
    fileChange(files) {
        for (var i = 0; i < files.length; i++) {
            this.fileService.loadFilePreview(files[i]);
        }
    }
    remove(file) {
        if (this.translationFiles.length === 1) {
            this.clearAll();
        }
        else {
            this.fileService.remove(file);
        }
    }
    fileUploadError(error) {
        this.fileService.fileUploadError(error);
    }
    // no need to handle translation, since it is happening in translate button component, but this method is for custom action
    translateButtonClick() {
        const vendor = this.systemManagementService.activeVendor;
        this.showVendorNotification = this.config.fileConfig.progressIndicatorTitleVisibleForVendors.includes(vendor);
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateFileMultipleComponent, deps: [{ token: i1.TldTranslateFileService }, { token: i2.TldTranslateConfigService }, { token: i3.MatDialog }, { token: i4.TldTranslateButtonService }, { token: i2.TldTranslateSystemManagementService }, { token: i5.AlertService }], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldTranslateFileMultipleComponent, selector: "tld-translate-file-multiple", inputs: { translationFiles: "translationFiles" }, usesInheritance: true, ngImport: i0, template: "<div class=\"tld-translate-file-container\" [ngClass.xs]=\"'tld-multiple-mobile'\" fxLayout=\"column\" fxFlex fxLayoutAlign=\"start center\">\r\n\t<div class=\"cdk-visually-hidden\" aria-live=\"polite\">\r\n\t\t{{ \"MULTIPLE_FILES.SCREEN_READER_ANNOUNCEMENT\" | translate : { translated: translatedFilesCount, total: fileCount } }}\r\n\t</div>\r\n\t<div fxLayout=\"column\" fxLayoutGap=\"0.5rem\" fxFlex class=\"multiple-files-body\">\r\n\t\t<div *ngFor=\"let file of translationFiles\" class=\"file-row\" [ngClass.gt-sm]=\"'extra-width'\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutAlign.xs=\"flex-start center\">\r\n\t\t\t<div fxLayout=\"column\" fxFlex>\r\n\t\t\t\t<div fxLayout=\"row\" fxLayoutAlign.xs=\"space-between center\" fxLayoutAlign=\"space-between center\">\r\n\t\t\t\t\t<div class=\"file-name\">\r\n\t\t\t\t\t\t{{ file.originalFileName }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div fxLayout=\"row\" class=\"file-actions\">\r\n\t\t\t\t\t\t<tld-translate-file-download-button\r\n\t\t\t\t\t\t\t(tldClick)=\"download(file, $event)\"\r\n\t\t\t\t\t\t\t*ngIf=\"file.downloadAvailable\"\r\n\t\t\t\t\t\t\t[sourceDownload]=\"true\"\r\n\t\t\t\t\t\t\t[disabled]=\"file.isDownloading\"\r\n\t\t\t\t\t\t\t[file]=\"file\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</tld-translate-file-download-button>\r\n\t\t\t\t\t\t<tld-close-button *ngIf=\"!file.downloadAvailable\" [tooltip]=\"'FILE_UPLOAD.CLEAR'\" (tldClick)=\"remove(file)\"></tld-close-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<mat-progress-bar *ngIf=\"file.translationStatuss === translatingStatuss\" color=\"accent\" mode=\"determinate\" [value]=\"file.progress\"></mat-progress-bar>\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"progress-message text-s\"\r\n\t\t\t\t\t*ngIf=\"\r\n\t\t\t\t\t\tfile.translationStatuss !== errorTranslatingStatuss && file.translationStatuss !== completedTranslatingStatuss && file.translationStatuss !== uploadedTranslatingStatuss\r\n\t\t\t\t\t\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ \"MULTIPLE_FILES.STATUSS_\" + file.translationStatuss | translate : { percent: file.progress } }}\r\n\t\t\t\t</div>\r\n\t\t\t\t<ng-container *ngIf=\"file.messages.length > 0\">\r\n\t\t\t\t\t<lib-inline-message *ngFor=\"let message of file.messages\" [message]=\"message\"></lib-inline-message>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<lib-file-upload\r\n\t\t\t*ngIf=\"!translationStarted\"\r\n\t\t\tclass=\"tld-append-files\"\r\n\t\t\t(fileChange)=\"fileChange($event)\"\r\n\t\t\t[accept]=\"allowedFileTypes\"\r\n\t\t\t[maxSize]=\"maxFileUploadSize\"\r\n\t\t\t[multiple]=\"multipleFiles\"\r\n\t\t\t[disabled]=\"disableAppendFiles\"\r\n\t\t\t(errorEvent)=\"fileUploadError($event)\"\r\n\t\t\t[extendedAcceptList]=\"extendedFileTypes\"\r\n\t\t>\r\n\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n\t\t\t<span>&nbsp;</span>\r\n\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span> ({{ fileCount }}/{{ maxFileCount }})\r\n\t\t</lib-file-upload>\r\n\r\n    <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayout.xs=\"column\" fxLayuotGap.xs=\"1rem\" class=\"button-container\">\r\n      <tld-translate-button [disabled]=\"disableTranslateButton\" (clicked)=\"translateButtonClick()\" *ngIf=\"!translationStarted\"></tld-translate-button>\r\n      <button (click)=\"clearAll()\" mat-stroked-button color=\"accent\" class=\"cancel-button border-accent\">{{ \"MULTIPLE_FILES.CLEAR_ALL\" | translate }}</button>\r\n    </div>\r\n\t</div>\r\n\t<ng-container *ngIf=\"sourceDownloadPDF\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"conversionMessage; context: { messageKey: 'MULTIPLE_FILES.PDF_DISCLAIMER', dialogParams: pdfConversion, buttonText: 'MULTIPLE_FILES.PDF_DISCLAIMER_LINK' }\"\r\n\t\t>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf=\"sourceDownloadImage\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\tconversionMessage;\r\n\t\t\t\tcontext: { messageKey: 'MULTIPLE_FILES.IMAGE_DISCLAIMER', dialogParams: imageConversion, buttonText: 'MULTIPLE_FILES.IMAGE_DISCLAIMER_LINK' }\r\n\t\t\t\"\r\n\t\t>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf=\"showVendorNotification\">\r\n\t\t<vendor-disclaimer></vendor-disclaimer>\r\n\t</ng-container>\r\n</div>\r\n\r\n<ng-template #conversionMessage let-messageKey=\"messageKey\" let-dialogParams=\"dialogParams\" let-buttonText=\"buttonText\">\r\n\t<p class=\"conversion-disclaimer text-m\" [ngClass.gt-sm]=\"'conversion-info-margins-gt-sm'\">\r\n\t\t<span class=\"material-icons\"> info </span>\r\n\t\t<span>\r\n\t\t\t{{ messageKey | translate }}\r\n\t\t</span>\r\n\t\t<button class=\"conversion-message-action text-m-semi-bold\" (click)=\"conversionDialog(dialogParams)\">{{ buttonText | translate }}</button>\r\n\t</p></ng-template\r\n>\r\n", styles: [".semi-bold,.text-s-semi-bold,.text-m-semi-bold,.text-l-semi-bold,.text-xl-semi-bold,.text-2-xl,.text-3-xl,.text-4-xl{font-weight:600}@media (min-width: 600px){.text-4-xl{font-size:2.75rem;line-height:3.375rem}}@media (min-width: 0) and (max-width: 599.9px){.text-4-xl{font-size:2rem;line-height:2.625rem}}.text-3-xl{font-size:2rem;line-height:2.625rem}.text-2-xl{font-size:1.5rem;line-height:2.125rem}.text-xl,.text-xl-semi-bold{font-size:1.25rem;line-height:2rem}.text-l,.cancel-button,.text-l-semi-bold{font-size:1rem;line-height:1.625rem}.text-m,.text-m-semi-bold{font-size:.875rem;line-height:1.4375rem}.text-s,.text-s-semi-bold{font-size:.75rem;line-height:1.25rem}.tld-translate-file-container{padding:3em;width:100%}.tld-translate-file-container .file-row{min-height:4rem;width:100%;padding:.5em 0;border-bottom:1px solid var(--base-70)}.tld-translate-file-container .file-row .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tld-translate-file-container .file-row lib-inline-message{margin-top:.5rem}.tld-translate-file-container .file-row .file-actions{margin-left:.5rem}.tld-append-files{font-size:1em;margin-top:1rem}:host ::ng-deep .tld-append-files .upload-button{justify-content:center!important;min-height:3.5rem!important;color:var(--base-40)}.conversion-disclaimer.conversion-info-margins-gt-sm{margin:.5em 20%}.conversion-disclaimer:not(.conversion-info-margins-gt-sm){text-align:center}tld-translate-button{margin-right:4px}.tld-multiple-mobile{padding:1rem}.tld-multiple-mobile tld-translate-button{margin:1rem 0 .25rem;width:100%}.tld-multiple-mobile .file-row,.tld-multiple-mobile .multiple-files-body,.tld-multiple-mobile .cancel-button,.tld-multiple-mobile .button-container{width:100%}.button-container{margin-top:24px}.multiple-files-body ::ng-deep lib-file-upload .file-upload .upload-button{text-align:center}.download-file{cursor:pointer}.material-icons{vertical-align:middle;color:var(--base-40)}.conversion-message-action{background:transparent;color:var(--accent);border:none;cursor:pointer}.extra-width{min-width:30rem}.progress-message{color:var(--base-40)}mat-progress-bar{margin:.375rem 0}.cancel-button{padding:.375rem 1.5rem}vendor-disclaimer{margin-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.TldTranslateButtonComponent, selector: "tld-translate-button", inputs: ["disabled", "enablePulseAnimation"], outputs: ["clicked"] }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: "  [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md],  [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md],  [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm],  [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutGapDirective, selector: "  [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md],  [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md],  [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm],  [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutAlignDirective, selector: "  [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md],  [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md],  [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm],  [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i8.DefaultFlexDirective, selector: "  [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md],  [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md],  [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm],  [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i9.DefaultShowHideDirective, selector: "  [fxShow], [fxShow.print],  [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl],  [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl],  [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg],  [fxHide], [fxHide.print],  [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl],  [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl],  [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i9.DefaultClassDirective, selector: "  [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl],  [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl],  [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i5.InlineMessageComponent, selector: "lib-inline-message", inputs: ["iconName", "message"] }, { kind: "component", type: i10.VendorDisclaimerComponent, selector: "vendor-disclaimer" }, { kind: "component", type: i5.FileUploadComponent, selector: "lib-file-upload", inputs: ["accept", "useCompactUpload", "maxSize", "multiple", "filePreviewProgress", "allowEmpty", "disabled", "dragZoneLabel", "uploadIconName", "uploadButtonLabel", "openExtensionPopupLabel", "minSupportedFormatCount", "extendedAcceptList"], outputs: ["fileChange", "errorEvent"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i12.MatButton, selector: "    button[mat-button], button[mat-raised-button], button[mat-flat-button],    button[mat-stroked-button]  ", exportAs: ["matButton"] }, { kind: "component", type: i13.TldTranslateFileDownloadButtonComponent, selector: "tld-translate-file-download-button", inputs: ["file", "disabled", "sourceDownload"], outputs: ["tldClick"] }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateFileMultipleComponent, decorators: [{
            type: Component,
            args: [{ selector: 'tld-translate-file-multiple', template: "<div class=\"tld-translate-file-container\" [ngClass.xs]=\"'tld-multiple-mobile'\" fxLayout=\"column\" fxFlex fxLayoutAlign=\"start center\">\r\n\t<div class=\"cdk-visually-hidden\" aria-live=\"polite\">\r\n\t\t{{ \"MULTIPLE_FILES.SCREEN_READER_ANNOUNCEMENT\" | translate : { translated: translatedFilesCount, total: fileCount } }}\r\n\t</div>\r\n\t<div fxLayout=\"column\" fxLayoutGap=\"0.5rem\" fxFlex class=\"multiple-files-body\">\r\n\t\t<div *ngFor=\"let file of translationFiles\" class=\"file-row\" [ngClass.gt-sm]=\"'extra-width'\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutAlign.xs=\"flex-start center\">\r\n\t\t\t<div fxLayout=\"column\" fxFlex>\r\n\t\t\t\t<div fxLayout=\"row\" fxLayoutAlign.xs=\"space-between center\" fxLayoutAlign=\"space-between center\">\r\n\t\t\t\t\t<div class=\"file-name\">\r\n\t\t\t\t\t\t{{ file.originalFileName }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div fxLayout=\"row\" class=\"file-actions\">\r\n\t\t\t\t\t\t<tld-translate-file-download-button\r\n\t\t\t\t\t\t\t(tldClick)=\"download(file, $event)\"\r\n\t\t\t\t\t\t\t*ngIf=\"file.downloadAvailable\"\r\n\t\t\t\t\t\t\t[sourceDownload]=\"true\"\r\n\t\t\t\t\t\t\t[disabled]=\"file.isDownloading\"\r\n\t\t\t\t\t\t\t[file]=\"file\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</tld-translate-file-download-button>\r\n\t\t\t\t\t\t<tld-close-button *ngIf=\"!file.downloadAvailable\" [tooltip]=\"'FILE_UPLOAD.CLEAR'\" (tldClick)=\"remove(file)\"></tld-close-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<mat-progress-bar *ngIf=\"file.translationStatuss === translatingStatuss\" color=\"accent\" mode=\"determinate\" [value]=\"file.progress\"></mat-progress-bar>\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"progress-message text-s\"\r\n\t\t\t\t\t*ngIf=\"\r\n\t\t\t\t\t\tfile.translationStatuss !== errorTranslatingStatuss && file.translationStatuss !== completedTranslatingStatuss && file.translationStatuss !== uploadedTranslatingStatuss\r\n\t\t\t\t\t\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ \"MULTIPLE_FILES.STATUSS_\" + file.translationStatuss | translate : { percent: file.progress } }}\r\n\t\t\t\t</div>\r\n\t\t\t\t<ng-container *ngIf=\"file.messages.length > 0\">\r\n\t\t\t\t\t<lib-inline-message *ngFor=\"let message of file.messages\" [message]=\"message\"></lib-inline-message>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<lib-file-upload\r\n\t\t\t*ngIf=\"!translationStarted\"\r\n\t\t\tclass=\"tld-append-files\"\r\n\t\t\t(fileChange)=\"fileChange($event)\"\r\n\t\t\t[accept]=\"allowedFileTypes\"\r\n\t\t\t[maxSize]=\"maxFileUploadSize\"\r\n\t\t\t[multiple]=\"multipleFiles\"\r\n\t\t\t[disabled]=\"disableAppendFiles\"\r\n\t\t\t(errorEvent)=\"fileUploadError($event)\"\r\n\t\t\t[extendedAcceptList]=\"extendedFileTypes\"\r\n\t\t>\r\n\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n\t\t\t<span>&nbsp;</span>\r\n\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span> ({{ fileCount }}/{{ maxFileCount }})\r\n\t\t</lib-file-upload>\r\n\r\n    <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayout.xs=\"column\" fxLayuotGap.xs=\"1rem\" class=\"button-container\">\r\n      <tld-translate-button [disabled]=\"disableTranslateButton\" (clicked)=\"translateButtonClick()\" *ngIf=\"!translationStarted\"></tld-translate-button>\r\n      <button (click)=\"clearAll()\" mat-stroked-button color=\"accent\" class=\"cancel-button border-accent\">{{ \"MULTIPLE_FILES.CLEAR_ALL\" | translate }}</button>\r\n    </div>\r\n\t</div>\r\n\t<ng-container *ngIf=\"sourceDownloadPDF\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"conversionMessage; context: { messageKey: 'MULTIPLE_FILES.PDF_DISCLAIMER', dialogParams: pdfConversion, buttonText: 'MULTIPLE_FILES.PDF_DISCLAIMER_LINK' }\"\r\n\t\t>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf=\"sourceDownloadImage\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\tconversionMessage;\r\n\t\t\t\tcontext: { messageKey: 'MULTIPLE_FILES.IMAGE_DISCLAIMER', dialogParams: imageConversion, buttonText: 'MULTIPLE_FILES.IMAGE_DISCLAIMER_LINK' }\r\n\t\t\t\"\r\n\t\t>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf=\"showVendorNotification\">\r\n\t\t<vendor-disclaimer></vendor-disclaimer>\r\n\t</ng-container>\r\n</div>\r\n\r\n<ng-template #conversionMessage let-messageKey=\"messageKey\" let-dialogParams=\"dialogParams\" let-buttonText=\"buttonText\">\r\n\t<p class=\"conversion-disclaimer text-m\" [ngClass.gt-sm]=\"'conversion-info-margins-gt-sm'\">\r\n\t\t<span class=\"material-icons\"> info </span>\r\n\t\t<span>\r\n\t\t\t{{ messageKey | translate }}\r\n\t\t</span>\r\n\t\t<button class=\"conversion-message-action text-m-semi-bold\" (click)=\"conversionDialog(dialogParams)\">{{ buttonText | translate }}</button>\r\n\t</p></ng-template\r\n>\r\n", styles: [".semi-bold,.text-s-semi-bold,.text-m-semi-bold,.text-l-semi-bold,.text-xl-semi-bold,.text-2-xl,.text-3-xl,.text-4-xl{font-weight:600}@media (min-width: 600px){.text-4-xl{font-size:2.75rem;line-height:3.375rem}}@media (min-width: 0) and (max-width: 599.9px){.text-4-xl{font-size:2rem;line-height:2.625rem}}.text-3-xl{font-size:2rem;line-height:2.625rem}.text-2-xl{font-size:1.5rem;line-height:2.125rem}.text-xl,.text-xl-semi-bold{font-size:1.25rem;line-height:2rem}.text-l,.cancel-button,.text-l-semi-bold{font-size:1rem;line-height:1.625rem}.text-m,.text-m-semi-bold{font-size:.875rem;line-height:1.4375rem}.text-s,.text-s-semi-bold{font-size:.75rem;line-height:1.25rem}.tld-translate-file-container{padding:3em;width:100%}.tld-translate-file-container .file-row{min-height:4rem;width:100%;padding:.5em 0;border-bottom:1px solid var(--base-70)}.tld-translate-file-container .file-row .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tld-translate-file-container .file-row lib-inline-message{margin-top:.5rem}.tld-translate-file-container .file-row .file-actions{margin-left:.5rem}.tld-append-files{font-size:1em;margin-top:1rem}:host ::ng-deep .tld-append-files .upload-button{justify-content:center!important;min-height:3.5rem!important;color:var(--base-40)}.conversion-disclaimer.conversion-info-margins-gt-sm{margin:.5em 20%}.conversion-disclaimer:not(.conversion-info-margins-gt-sm){text-align:center}tld-translate-button{margin-right:4px}.tld-multiple-mobile{padding:1rem}.tld-multiple-mobile tld-translate-button{margin:1rem 0 .25rem;width:100%}.tld-multiple-mobile .file-row,.tld-multiple-mobile .multiple-files-body,.tld-multiple-mobile .cancel-button,.tld-multiple-mobile .button-container{width:100%}.button-container{margin-top:24px}.multiple-files-body ::ng-deep lib-file-upload .file-upload .upload-button{text-align:center}.download-file{cursor:pointer}.material-icons{vertical-align:middle;color:var(--base-40)}.conversion-message-action{background:transparent;color:var(--accent);border:none;cursor:pointer}.extra-width{min-width:30rem}.progress-message{color:var(--base-40)}mat-progress-bar{margin:.375rem 0}.cancel-button{padding:.375rem 1.5rem}vendor-disclaimer{margin-bottom:1rem}\n"] }]
        }], ctorParameters: () => [{ type: i1.TldTranslateFileService }, { type: i2.TldTranslateConfigService }, { type: i3.MatDialog }, { type: i4.TldTranslateButtonService }, { type: i2.TldTranslateSystemManagementService }, { type: i5.AlertService }], propDecorators: { translationFiles: [{
                type: Input
            }] } });
//# sourceMappingURL=data:application/json;base64, 