@tilde-nlp/ngx-translate 9.0.28 → 9.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -6074,11 +6074,11 @@ class TldLangListComponent {
|
|
|
6074
6074
|
});
|
|
6075
6075
|
}
|
|
6076
6076
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldLangListComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6077
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TldLangListComponent, isStandalone: false, selector: "tld-lang-list", inputs: { disabled: "disabled", pxPerLanguage: "pxPerLanguage", languages: "languages", testId: "testId", selected: "selected", maxDisplayedLanguages: "maxDisplayedLanguages", showDomainsWithLanguageName: "showDomainsWithLanguageName" }, outputs: { onLanguageChange: "onLanguageChange", onDomainChange: "onDomainChange" }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "menu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "openCloseButton", first: true, predicate: OpenCloseButtonComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"row\" class=\"tld-lang-list-wrapper\" fxLayoutAlign=\"start center\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" role=\"list\" class=\"tld-lang-list\"\r\n [ngClass]=\"{'single-element-list': visibleLanguageList.length === 1}\">\r\n <ng-container *ngIf=\"visibleLanguageList.length>1 else singleLanguageList\">\r\n <div role=\"listitem\" *ngFor=\"let language of visibleLanguageList\" class=\"tld-language-list-element\"\r\n [ngClass]=\"{'active accent-color' : isActive(language)}\">\r\n <ng-template [ngTemplateOutlet]=\"languageButton\" [ngTemplateOutletContext]=\"{ language: language }\">\r\n </ng-template>\r\n </div>\r\n <ng-template *ngIf=\"menuLanguageList.length>0\" [ngTemplateOutlet]=\"menuDropDown\" [ngTemplateOutletContext]=\"{ isIcon: true}\"></ng-template>\r\n </ng-container>\r\n </div>\r\n <ng-content></ng-content>\r\n <mat-menu #languageMenu=\"matMenu\" fxLayout=\"column\" class=\"language-menu\">\r\n <ng-container *ngFor=\"let language of menuLanguageList\">\r\n <ng-template [ngTemplateOutlet]=\"languageButton\" [ngTemplateOutletContext]=\"{ language: language }\"></ng-template>\r\n </ng-container>\r\n </mat-menu>\r\n</div>\r\n\r\n<!-- Template for one visible language with menu languages. -->\r\n<ng-template #singleLanguageList>\r\n <ng-container *ngIf=\" menuLanguageList.length > 0 else UnclickableLanguage\">\r\n <ng-template [ngTemplateOutlet]=\"menuDropDown\" [ngTemplateOutletContext]=\"{ isIcon: false}\"></ng-template>\r\n </ng-container>\r\n</ng-template>\r\n<!-- ------------------------ -->\r\n\r\n<!-- Template if only one language is in list and no menu languages. This language needs no cursor or click events.-->\r\n<ng-template #UnclickableLanguage>\r\n <button color=\"primary\" [attr.aria-label]=\"firstVisible.code | languageTranslate\" *ngIf=\"firstVisible\" class=\"language-title no-highlight no-action\">\r\n <ng-template [ngTemplateOutlet]=\"languageNameWithDomain\" [ngTemplateOutletContext]=\"{ language: firstVisible}\"></ng-template>\r\n </button>\r\n</ng-template>\r\n<!-- ------------------------ -->\r\n\r\n<!-- templates for language names and other small repeated parts of this component-->\r\n<ng-template #menuDropDown let-isIcon=\"isIcon\">\r\n <lib-open-close-button [isIcon]=\"isIcon\" [ngClass]=\"{'language-title no-highlight' : !isIcon}\" [disabled]=\"disabled\"\r\n #state=\"matMenuTrigger\" (menuOpened)=\"onMenuOpen()\" [matMenuTriggerFor]=\"languageMenu\" [isOpened]=\"state.menuOpen\"\r\n [ariaLabelCode]=\"menuTriggerAriaCode\">\r\n <ng-template *ngIf=\"!isIcon\" [ngTemplateOutlet]=\"languageNameWithDomain\"\r\n [ngTemplateOutletContext]=\"{ language: firstVisible }\">\r\n </ng-template>\r\n </lib-open-close-button>\r\n</ng-template>\r\n\r\n<ng-template #languageButton let-language=\"language\">\r\n <button fxLayoutAlign=\"start center\" [ngClass]=\"{'active accent-color' : isActive(language)}\" mat-menu-item\r\n *ngIf=\"language\" class=\"language-title\" (click)=\"selectLanguage(language)\" [disabled]=\"disabled\"\r\n [attr.aria-label]=\"language.code | languageTranslate\">\r\n <span>{{ language.code | languageTranslate }}</span> \r\n <span class=\"domain\" *ngIf=\"language.showDomain\"> ({{language.domain | translateDomain}})</span>\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #languageNameWithDomain let-language=\"language\">\r\n <span>{{ language.code | languageTranslate }}</span>\r\n <span fxHide.lt-sm *ngIf=\"language.showDomain\">\r\n <span> (</span>\r\n <span class=\"domain\">{{language.domain | translateDomain}}</span>\r\n <span>)</span>\r\n </span>\r\n</ng-template>\r\n<!-- ------------------------ -->", styles: [".tld-lang-list-wrapper{max-width:100%}.tld-lang-list-wrapper .tld-language-list-element{padding:0 12px}.tld-lang-list:not(.single-element-list) .active .language-title:after{position:absolute;bottom:5px;left:50%;transform:translate(-50%);content:\"\";display:block;width:16px;height:2px}.tld-language-list-element.active .span-block{display:block}.tld-language-list-element.active .domain{display:inline-block;max-width:90px;overflow-x:hidden;text-overflow:ellipsis}.language-title{cursor:pointer;font-size:
|
|
6077
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TldLangListComponent, isStandalone: false, selector: "tld-lang-list", inputs: { disabled: "disabled", pxPerLanguage: "pxPerLanguage", languages: "languages", testId: "testId", selected: "selected", maxDisplayedLanguages: "maxDisplayedLanguages", showDomainsWithLanguageName: "showDomainsWithLanguageName" }, outputs: { onLanguageChange: "onLanguageChange", onDomainChange: "onDomainChange" }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "menu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "openCloseButton", first: true, predicate: OpenCloseButtonComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"row\" class=\"tld-lang-list-wrapper\" fxLayoutAlign=\"start center\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" role=\"list\" class=\"tld-lang-list\"\r\n [ngClass]=\"{'single-element-list': visibleLanguageList.length === 1}\">\r\n <ng-container *ngIf=\"visibleLanguageList.length>1 else singleLanguageList\">\r\n <div role=\"listitem\" *ngFor=\"let language of visibleLanguageList\" class=\"tld-language-list-element\"\r\n [ngClass]=\"{'active accent-color' : isActive(language)}\">\r\n <ng-template [ngTemplateOutlet]=\"languageButton\" [ngTemplateOutletContext]=\"{ language: language }\">\r\n </ng-template>\r\n </div>\r\n <ng-template *ngIf=\"menuLanguageList.length>0\" [ngTemplateOutlet]=\"menuDropDown\" [ngTemplateOutletContext]=\"{ isIcon: true}\"></ng-template>\r\n </ng-container>\r\n </div>\r\n <ng-content></ng-content>\r\n <mat-menu #languageMenu=\"matMenu\" fxLayout=\"column\" class=\"language-menu\">\r\n <ng-container *ngFor=\"let language of menuLanguageList\">\r\n <ng-template [ngTemplateOutlet]=\"languageButton\" [ngTemplateOutletContext]=\"{ language: language }\"></ng-template>\r\n </ng-container>\r\n </mat-menu>\r\n</div>\r\n\r\n<!-- Template for one visible language with menu languages. -->\r\n<ng-template #singleLanguageList>\r\n <ng-container *ngIf=\" menuLanguageList.length > 0 else UnclickableLanguage\">\r\n <ng-template [ngTemplateOutlet]=\"menuDropDown\" [ngTemplateOutletContext]=\"{ isIcon: false}\"></ng-template>\r\n </ng-container>\r\n</ng-template>\r\n<!-- ------------------------ -->\r\n\r\n<!-- Template if only one language is in list and no menu languages. This language needs no cursor or click events.-->\r\n<ng-template #UnclickableLanguage>\r\n <button color=\"primary\" [attr.aria-label]=\"firstVisible.code | languageTranslate\" *ngIf=\"firstVisible\" class=\"language-title no-highlight no-action\">\r\n <ng-template [ngTemplateOutlet]=\"languageNameWithDomain\" [ngTemplateOutletContext]=\"{ language: firstVisible}\"></ng-template>\r\n </button>\r\n</ng-template>\r\n<!-- ------------------------ -->\r\n\r\n<!-- templates for language names and other small repeated parts of this component-->\r\n<ng-template #menuDropDown let-isIcon=\"isIcon\">\r\n <lib-open-close-button [isIcon]=\"isIcon\" [ngClass]=\"{'language-title no-highlight' : !isIcon}\" [disabled]=\"disabled\"\r\n #state=\"matMenuTrigger\" (menuOpened)=\"onMenuOpen()\" [matMenuTriggerFor]=\"languageMenu\" [isOpened]=\"state.menuOpen\"\r\n [ariaLabelCode]=\"menuTriggerAriaCode\">\r\n <ng-template *ngIf=\"!isIcon\" [ngTemplateOutlet]=\"languageNameWithDomain\"\r\n [ngTemplateOutletContext]=\"{ language: firstVisible }\">\r\n </ng-template>\r\n </lib-open-close-button>\r\n</ng-template>\r\n\r\n<ng-template #languageButton let-language=\"language\">\r\n <button fxLayoutAlign=\"start center\" [ngClass]=\"{'active accent-color' : isActive(language)}\" mat-menu-item\r\n *ngIf=\"language\" class=\"language-title\" (click)=\"selectLanguage(language)\" [disabled]=\"disabled\"\r\n [attr.aria-label]=\"language.code | languageTranslate\">\r\n <span>{{ language.code | languageTranslate }}</span> \r\n <span class=\"domain\" *ngIf=\"language.showDomain\"> ({{language.domain | translateDomain}})</span>\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #languageNameWithDomain let-language=\"language\">\r\n <span>{{ language.code | languageTranslate }}</span>\r\n <span fxHide.lt-sm *ngIf=\"language.showDomain\">\r\n <span> (</span>\r\n <span class=\"domain\">{{language.domain | translateDomain}}</span>\r\n <span>)</span>\r\n </span>\r\n</ng-template>\r\n<!-- ------------------------ -->", styles: [".tld-lang-list-wrapper{max-width:100%}.tld-lang-list-wrapper .tld-language-list-element{padding:0 12px}.tld-lang-list:not(.single-element-list) .active .language-title:after{position:absolute;bottom:5px;left:50%;transform:translate(-50%);content:\"\";display:block;width:16px;height:2px}.tld-language-list-element.active .span-block{display:block}.tld-language-list-element.active .domain{display:inline-block;max-width:90px;overflow-x:hidden;text-overflow:ellipsis}.language-title{cursor:pointer;font-size:1rem;font-weight:500;position:relative;background-color:transparent;border:none;font-family:Inter,sans-serif}.language-title.no-highlight.no-action{cursor:default}:host ::ng-deep .open-close-button-content span{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\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: "component", type: i5.OpenCloseButtonComponent, selector: "lib-open-close-button", inputs: ["disableFocusOnAction", "disabled", "isIcon", "ariaLabelCode", "isOpened"] }, { kind: "directive", type: i3.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: i3.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: i5$1.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: i5$1.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: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i5.LanguageTranslatePipe, name: "languageTranslate" }, { kind: "pipe", type: TranslateDomainPipe, name: "translateDomain" }] });
|
|
6078
6078
|
}
|
|
6079
6079
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldLangListComponent, decorators: [{
|
|
6080
6080
|
type: Component,
|
|
6081
|
-
args: [{ selector: 'tld-lang-list', standalone: false, template: "<div fxLayout=\"row\" class=\"tld-lang-list-wrapper\" fxLayoutAlign=\"start center\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" role=\"list\" class=\"tld-lang-list\"\r\n [ngClass]=\"{'single-element-list': visibleLanguageList.length === 1}\">\r\n <ng-container *ngIf=\"visibleLanguageList.length>1 else singleLanguageList\">\r\n <div role=\"listitem\" *ngFor=\"let language of visibleLanguageList\" class=\"tld-language-list-element\"\r\n [ngClass]=\"{'active accent-color' : isActive(language)}\">\r\n <ng-template [ngTemplateOutlet]=\"languageButton\" [ngTemplateOutletContext]=\"{ language: language }\">\r\n </ng-template>\r\n </div>\r\n <ng-template *ngIf=\"menuLanguageList.length>0\" [ngTemplateOutlet]=\"menuDropDown\" [ngTemplateOutletContext]=\"{ isIcon: true}\"></ng-template>\r\n </ng-container>\r\n </div>\r\n <ng-content></ng-content>\r\n <mat-menu #languageMenu=\"matMenu\" fxLayout=\"column\" class=\"language-menu\">\r\n <ng-container *ngFor=\"let language of menuLanguageList\">\r\n <ng-template [ngTemplateOutlet]=\"languageButton\" [ngTemplateOutletContext]=\"{ language: language }\"></ng-template>\r\n </ng-container>\r\n </mat-menu>\r\n</div>\r\n\r\n<!-- Template for one visible language with menu languages. -->\r\n<ng-template #singleLanguageList>\r\n <ng-container *ngIf=\" menuLanguageList.length > 0 else UnclickableLanguage\">\r\n <ng-template [ngTemplateOutlet]=\"menuDropDown\" [ngTemplateOutletContext]=\"{ isIcon: false}\"></ng-template>\r\n </ng-container>\r\n</ng-template>\r\n<!-- ------------------------ -->\r\n\r\n<!-- Template if only one language is in list and no menu languages. This language needs no cursor or click events.-->\r\n<ng-template #UnclickableLanguage>\r\n <button color=\"primary\" [attr.aria-label]=\"firstVisible.code | languageTranslate\" *ngIf=\"firstVisible\" class=\"language-title no-highlight no-action\">\r\n <ng-template [ngTemplateOutlet]=\"languageNameWithDomain\" [ngTemplateOutletContext]=\"{ language: firstVisible}\"></ng-template>\r\n </button>\r\n</ng-template>\r\n<!-- ------------------------ -->\r\n\r\n<!-- templates for language names and other small repeated parts of this component-->\r\n<ng-template #menuDropDown let-isIcon=\"isIcon\">\r\n <lib-open-close-button [isIcon]=\"isIcon\" [ngClass]=\"{'language-title no-highlight' : !isIcon}\" [disabled]=\"disabled\"\r\n #state=\"matMenuTrigger\" (menuOpened)=\"onMenuOpen()\" [matMenuTriggerFor]=\"languageMenu\" [isOpened]=\"state.menuOpen\"\r\n [ariaLabelCode]=\"menuTriggerAriaCode\">\r\n <ng-template *ngIf=\"!isIcon\" [ngTemplateOutlet]=\"languageNameWithDomain\"\r\n [ngTemplateOutletContext]=\"{ language: firstVisible }\">\r\n </ng-template>\r\n </lib-open-close-button>\r\n</ng-template>\r\n\r\n<ng-template #languageButton let-language=\"language\">\r\n <button fxLayoutAlign=\"start center\" [ngClass]=\"{'active accent-color' : isActive(language)}\" mat-menu-item\r\n *ngIf=\"language\" class=\"language-title\" (click)=\"selectLanguage(language)\" [disabled]=\"disabled\"\r\n [attr.aria-label]=\"language.code | languageTranslate\">\r\n <span>{{ language.code | languageTranslate }}</span> \r\n <span class=\"domain\" *ngIf=\"language.showDomain\"> ({{language.domain | translateDomain}})</span>\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #languageNameWithDomain let-language=\"language\">\r\n <span>{{ language.code | languageTranslate }}</span>\r\n <span fxHide.lt-sm *ngIf=\"language.showDomain\">\r\n <span> (</span>\r\n <span class=\"domain\">{{language.domain | translateDomain}}</span>\r\n <span>)</span>\r\n </span>\r\n</ng-template>\r\n<!-- ------------------------ -->", styles: [".tld-lang-list-wrapper{max-width:100%}.tld-lang-list-wrapper .tld-language-list-element{padding:0 12px}.tld-lang-list:not(.single-element-list) .active .language-title:after{position:absolute;bottom:5px;left:50%;transform:translate(-50%);content:\"\";display:block;width:16px;height:2px}.tld-language-list-element.active .span-block{display:block}.tld-language-list-element.active .domain{display:inline-block;max-width:90px;overflow-x:hidden;text-overflow:ellipsis}.language-title{cursor:pointer;font-size:
|
|
6081
|
+
args: [{ selector: 'tld-lang-list', standalone: false, template: "<div fxLayout=\"row\" class=\"tld-lang-list-wrapper\" fxLayoutAlign=\"start center\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" role=\"list\" class=\"tld-lang-list\"\r\n [ngClass]=\"{'single-element-list': visibleLanguageList.length === 1}\">\r\n <ng-container *ngIf=\"visibleLanguageList.length>1 else singleLanguageList\">\r\n <div role=\"listitem\" *ngFor=\"let language of visibleLanguageList\" class=\"tld-language-list-element\"\r\n [ngClass]=\"{'active accent-color' : isActive(language)}\">\r\n <ng-template [ngTemplateOutlet]=\"languageButton\" [ngTemplateOutletContext]=\"{ language: language }\">\r\n </ng-template>\r\n </div>\r\n <ng-template *ngIf=\"menuLanguageList.length>0\" [ngTemplateOutlet]=\"menuDropDown\" [ngTemplateOutletContext]=\"{ isIcon: true}\"></ng-template>\r\n </ng-container>\r\n </div>\r\n <ng-content></ng-content>\r\n <mat-menu #languageMenu=\"matMenu\" fxLayout=\"column\" class=\"language-menu\">\r\n <ng-container *ngFor=\"let language of menuLanguageList\">\r\n <ng-template [ngTemplateOutlet]=\"languageButton\" [ngTemplateOutletContext]=\"{ language: language }\"></ng-template>\r\n </ng-container>\r\n </mat-menu>\r\n</div>\r\n\r\n<!-- Template for one visible language with menu languages. -->\r\n<ng-template #singleLanguageList>\r\n <ng-container *ngIf=\" menuLanguageList.length > 0 else UnclickableLanguage\">\r\n <ng-template [ngTemplateOutlet]=\"menuDropDown\" [ngTemplateOutletContext]=\"{ isIcon: false}\"></ng-template>\r\n </ng-container>\r\n</ng-template>\r\n<!-- ------------------------ -->\r\n\r\n<!-- Template if only one language is in list and no menu languages. This language needs no cursor or click events.-->\r\n<ng-template #UnclickableLanguage>\r\n <button color=\"primary\" [attr.aria-label]=\"firstVisible.code | languageTranslate\" *ngIf=\"firstVisible\" class=\"language-title no-highlight no-action\">\r\n <ng-template [ngTemplateOutlet]=\"languageNameWithDomain\" [ngTemplateOutletContext]=\"{ language: firstVisible}\"></ng-template>\r\n </button>\r\n</ng-template>\r\n<!-- ------------------------ -->\r\n\r\n<!-- templates for language names and other small repeated parts of this component-->\r\n<ng-template #menuDropDown let-isIcon=\"isIcon\">\r\n <lib-open-close-button [isIcon]=\"isIcon\" [ngClass]=\"{'language-title no-highlight' : !isIcon}\" [disabled]=\"disabled\"\r\n #state=\"matMenuTrigger\" (menuOpened)=\"onMenuOpen()\" [matMenuTriggerFor]=\"languageMenu\" [isOpened]=\"state.menuOpen\"\r\n [ariaLabelCode]=\"menuTriggerAriaCode\">\r\n <ng-template *ngIf=\"!isIcon\" [ngTemplateOutlet]=\"languageNameWithDomain\"\r\n [ngTemplateOutletContext]=\"{ language: firstVisible }\">\r\n </ng-template>\r\n </lib-open-close-button>\r\n</ng-template>\r\n\r\n<ng-template #languageButton let-language=\"language\">\r\n <button fxLayoutAlign=\"start center\" [ngClass]=\"{'active accent-color' : isActive(language)}\" mat-menu-item\r\n *ngIf=\"language\" class=\"language-title\" (click)=\"selectLanguage(language)\" [disabled]=\"disabled\"\r\n [attr.aria-label]=\"language.code | languageTranslate\">\r\n <span>{{ language.code | languageTranslate }}</span> \r\n <span class=\"domain\" *ngIf=\"language.showDomain\"> ({{language.domain | translateDomain}})</span>\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #languageNameWithDomain let-language=\"language\">\r\n <span>{{ language.code | languageTranslate }}</span>\r\n <span fxHide.lt-sm *ngIf=\"language.showDomain\">\r\n <span> (</span>\r\n <span class=\"domain\">{{language.domain | translateDomain}}</span>\r\n <span>)</span>\r\n </span>\r\n</ng-template>\r\n<!-- ------------------------ -->", styles: [".tld-lang-list-wrapper{max-width:100%}.tld-lang-list-wrapper .tld-language-list-element{padding:0 12px}.tld-lang-list:not(.single-element-list) .active .language-title:after{position:absolute;bottom:5px;left:50%;transform:translate(-50%);content:\"\";display:block;width:16px;height:2px}.tld-language-list-element.active .span-block{display:block}.tld-language-list-element.active .domain{display:inline-block;max-width:90px;overflow-x:hidden;text-overflow:ellipsis}.language-title{cursor:pointer;font-size:1rem;font-weight:500;position:relative;background-color:transparent;border:none;font-family:Inter,sans-serif}.language-title.no-highlight.no-action{cursor:default}:host ::ng-deep .open-close-button-content span{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
|
|
6082
6082
|
}], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { wrapper: [{
|
|
6083
6083
|
type: ViewChild,
|
|
6084
6084
|
args: ["wrapper"]
|
|
@@ -7340,11 +7340,11 @@ class TldTranslateFileComponent extends TldFileTranslateBaseComponent {
|
|
|
7340
7340
|
this.fileService.download(this.translationFile, fileMeta);
|
|
7341
7341
|
}
|
|
7342
7342
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldTranslateFileComponent, deps: [{ token: TldTranslateFileService }, { token: i2$1.MatDialog }, { token: TldTranslateConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7343
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TldTranslateFileComponent, isStandalone: false, selector: "tld-translate-file", inputs: { translationFile: "translationFile" }, viewQueries: [{ propertyName: "translatorWrapper", first: true, predicate: SourceAndTargetWrapperComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component \r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper class=\"wrapper-paddings\" [clearSourceVisible]=\"true\" (onSourceClear)=\"clearPreview()\">\r\n <ng-container sourceMain>\r\n <div fxLayout=\"column\" fxLayoutAlign=\"start start\" *ngIf=\"sourcePreviewHasHtml; else noPreviewBlock\">\r\n <div [innerHtml]=\"filePreview\" class=\"file-preview\"></div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container targetMain>\r\n <div class=\"target-main\" fxLayout=\"column\">\r\n <div *ngIf=\"showPreview\" [innerHtml]=\"translatedPreview\">\r\n </div>\r\n <div fxLayout=\"column\" fxFlex *ngIf=\"translating\">\r\n <div fxLayoutAlign=\"end center\">\r\n <button mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"action-button cancel-button\">{{'TLD_TRANSLATE.CANCEL_TRANSLATION' | translate}}</button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"center center\" fxLayout=\"column\" role=\"progressbar\">\r\n <tld-loader *ngIf=\"translationStatuss !== errorStatus\"></tld-loader>\r\n <div *ngIf=\"translationStatuss===translatingStatuss\" aria-live=\"polite\">{{progress}}%</div>\r\n <div *ngIf=\"!translationStatuss\">{{'TLD_TRANSLATE.FILE_TANSLATION_STATUSS_QUEUING' | translate}}</div>\r\n <div *ngIf=\"translationStatuss\" aria-live=\"polite\">{{'TLD_TRANSLATE.FILE_TANSLATION_STATUSS_' + translationStatuss | translate}}</div>\r\n </div>\r\n </div>\r\n <tld-translate-file-download-button class=\"download-button\" (tldClick)=\"download($event)\" [file]=\"translationFile\"\r\n *ngIf=\"showPreview\" [disabled]=\"downloading\"></tld-translate-file-download-button>\r\n <tld-translate-button class=\"action-button translate-file-button\" *ngIf=\"!translating && !showPreview\"\r\n fxHide.gt-xs></tld-translate-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container targetActions>\r\n <div class=\"tld-translate-target-footer\" *ngIf=\"translatedPreview\" fxLayoutAlign=\"start center\">\r\n <p class=\"tld-target-preview-message\">{{'TLD_TRANSLATE.FILE_TARGET_PREVIEW_MESSAGE' | translate}}</p>\r\n </div>\r\n </ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<ng-template #noPreviewBlock>\r\n <div class=\"no-preview-wrapper\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <div [innerHtml]=\"filePreview\"></div>\r\n <div>{{loadedFileName}}</div>\r\n <ng-container *ngIf=\"showSourceDownload\">\r\n <ng-container *ngIf=\"sourceDownloadPDF\">\r\n <button mat-flat-button class=\"download-source-button\" (click)=\"downloadSource()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE'|translate}}\r\n </button>\r\n <br />\r\n <div class=\"source-download-help\" fxLayout=\"row\" fxLaouytAlign=\"start start\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_HELP'|translate}}\r\n </div>\r\n <button mat-button color=\"accent\" #pdfConversionButton data-test-id=\"pdf-help-button\"\r\n (click)=\"conversionDialog(pdfConversion)\">{{'TLD_TRANSLATE.PDF_DISCLAIMER_LINK' | translate}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"sourceDownloadImage\">\r\n <button mat-flat-button class=\"download-source-button\" (click)=\"downloadSource()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE'|translate}}\r\n </button>\r\n <br />\r\n <div class=\"source-download-help\" fxLayout=\"row\" fxLaouytAlign=\"start start\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE_HELP'|translate}}\r\n </div>\r\n <button mat-button color=\"accent\" #imageConversionButton data-test-id=\"image-help-button\"\r\n (click)=\"conversionDialog(imageConversion)\">{{'TLD_TRANSLATE.IMAGE_DISCLAIMER_LINK' | translate}}</button>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n</ng-template>", styles: [".target-container,.source-container{position:relative}.tld-translate-target-footer{padding:0 1em}.tld-target-preview-message{color:#5577a9;font-size:12px}.action-button{min-width:100px;max-width:200px}.download-button,.translate-file-button{min-width:100px;max-width:200px;top:5px;position:absolute;left:0;right:0;margin-left:auto;margin-right:auto}.cancel-button{margin:1em 0}.tld-translate-mobile :host ::ng-deep .source-download-help{font-size:small}.tld-translate-mobile :host ::ng-deep .no-preview .type{height:100px;width:100px;font-size:1em}.no-preview-wrapper{height:100%}:host ::ng-deep .no-preview{display:table;margin:auto}:host ::ng-deep .no-preview .type{color:#434242;font-weight:700;text-align:center;margin:auto;position:relative;height:200px;width:200px;background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2016.0.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200\\)%20%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%0A%09%20id%3D%22svg2%22%20inkscape%3Aversion%3D%220.48.5%20r10040%22%20sodipodi%3Adocname%3D%22filetype.svg%22%20xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22%20xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22%20xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22%20xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22%20xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22%0A%09%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%22102.482px%22%0A%09%20height%3D%22136.021px%22%20viewBox%3D%220%200%20102.482%20136.021%22%20enable-background%3D%22new%200%200%20102.482%20136.021%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Csodipodi%3Anamedview%20%20id%3D%22base%22%20fit-margin-bottom%3D%225%22%20fit-margin-right%3D%225%22%20inkscape%3Acurrent-layer%3D%22layer1%22%20inkscape%3Awindow-width%3D%221840%22%20inkscape%3Awindow-x%3D%221271%22%20inkscape%3Apageshadow%3D%222%22%20inkscape%3Apageopacity%3D%220.0%22%20inkscape%3Awindow-height%3D%221051%22%20inkscape%3Awindow-maximized%3D%221%22%20inkscape%3Awindow-y%3D%22-9%22%20inkscape%3Adocument-units%3D%22px%22%20showgrid%3D%22false%22%20inkscape%3Azoom%3D%221.979899%22%20bordercolor%3D%22%23666666%22%20pagecolor%3D%22%23ffffff%22%20inkscape%3Acx%3D%22-15.860958%22%20inkscape%3Acy%3D%22106.2157%22%20borderopacity%3D%221.0%22%20fit-margin-left%3D%225%22%20fit-margin-top%3D%225%22%3E%0A%09%3C%2Fsodipodi%3Anamedview%3E%0A%3Cg%3E%0A%09%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%235D5D5D%22%20stroke-miterlimit%3D%2210%22%20points%3D%2295.116%2C45.071%2065.216%2C45.071%2065.216%2C15.75%20%09%22%2F%3E%0A%09%3Cg%3E%0A%09%09%3Cpath%20fill%3D%22%235D5D5D%22%20d%3D%22M65.151%2C15.834l29.314%2C29.314v75.256H9.085V15.834H65.151%20M65.565%2C14.834H8.085v106.57h87.38v-76.67%0A%09%09%09L65.565%2C14.834L65.565%2C14.834z%22%2F%3E%0A%09%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A);background-position:50%;background-repeat:no-repeat;background-size:contain;font-size:2em;display:table-cell;vertical-align:middle}.achievement-badge{margin:1em}.download-source-button{background-color:#5a6672;color:#fff;margin-top:1em}.source-download-help{word-break:break-word}.target-main{height:100%}.file-preview{word-break:break-word}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TldLoaderComponent, selector: "tld-loader" }, { kind: "component", type: TldTranslateButtonComponent, selector: "tld-translate-button", inputs: ["disabled", "enablePulseAnimation"], outputs: ["clicked"] }, { kind: "component", type: SourceAndTargetWrapperComponent, selector: "tld-source-and-target-wrapper", inputs: ["clearSourceVisible", "clearSourceTooltip", "clearDisabled", "textToSpeechSourceSettings"], outputs: ["onSourceClear"] }, { kind: "directive", type: i3.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: i3.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: i3.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: i5$1.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: "component", type: i1$2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: TldTranslateFileDownloadButtonComponent, selector: "tld-translate-file-download-button", inputs: ["file", "disabled", "sourceDownload"], outputs: ["tldClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
7343
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TldTranslateFileComponent, isStandalone: false, selector: "tld-translate-file", inputs: { translationFile: "translationFile" }, viewQueries: [{ propertyName: "translatorWrapper", first: true, predicate: SourceAndTargetWrapperComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component \r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper class=\"wrapper-paddings\" [clearSourceVisible]=\"true\" (onSourceClear)=\"clearPreview()\">\r\n <ng-container sourceMain>\r\n <div fxLayout=\"column\" fxLayoutAlign=\"start start\" *ngIf=\"sourcePreviewHasHtml; else noPreviewBlock\">\r\n <div [innerHtml]=\"filePreview\" class=\"file-preview\"></div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container targetMain>\r\n <div class=\"target-main\" fxLayout=\"column\">\r\n <div *ngIf=\"showPreview\" [innerHtml]=\"translatedPreview\">\r\n </div>\r\n <div fxLayout=\"column\" fxFlex *ngIf=\"translating\">\r\n <div fxLayoutAlign=\"end center\">\r\n <button mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"action-button cancel-button\">{{'TLD_TRANSLATE.CANCEL_TRANSLATION' | translate}}</button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"center center\" fxLayout=\"column\" role=\"progressbar\">\r\n <tld-loader *ngIf=\"translationStatuss !== errorStatus\"></tld-loader>\r\n <div *ngIf=\"translationStatuss===translatingStatuss\" aria-live=\"polite\">{{progress}}%</div>\r\n <div *ngIf=\"!translationStatuss\">{{'TLD_TRANSLATE.FILE_TANSLATION_STATUSS_QUEUING' | translate}}</div>\r\n <div *ngIf=\"translationStatuss\" aria-live=\"polite\">{{'TLD_TRANSLATE.FILE_TANSLATION_STATUSS_' + translationStatuss | translate}}</div>\r\n </div>\r\n </div>\r\n <tld-translate-file-download-button class=\"download-button\" (tldClick)=\"download($event)\" [file]=\"translationFile\"\r\n *ngIf=\"showPreview\" [disabled]=\"downloading\"></tld-translate-file-download-button>\r\n <tld-translate-button class=\"action-button translate-file-button\" *ngIf=\"!translating && !showPreview\"\r\n fxHide.gt-xs></tld-translate-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container targetActions>\r\n <div class=\"tld-translate-target-footer\" *ngIf=\"translatedPreview\" fxLayoutAlign=\"start center\">\r\n <p class=\"tld-target-preview-message\">{{'TLD_TRANSLATE.FILE_TARGET_PREVIEW_MESSAGE' | translate}}</p>\r\n </div>\r\n </ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<ng-template #noPreviewBlock>\r\n <div class=\"no-preview-wrapper\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <div [innerHtml]=\"filePreview\"></div>\r\n <div>{{loadedFileName}}</div>\r\n <ng-container *ngIf=\"showSourceDownload\">\r\n <ng-container *ngIf=\"sourceDownloadPDF\">\r\n <button mat-flat-button class=\"download-source-button\" (click)=\"downloadSource()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE'|translate}}\r\n </button>\r\n <br />\r\n <div class=\"source-download-help\" fxLayout=\"row\" fxLaouytAlign=\"start start\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_HELP'|translate}}\r\n </div>\r\n <button mat-button color=\"accent\" #pdfConversionButton data-test-id=\"pdf-help-button\"\r\n (click)=\"conversionDialog(pdfConversion)\">{{'TLD_TRANSLATE.PDF_DISCLAIMER_LINK' | translate}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"sourceDownloadImage\">\r\n <button mat-flat-button class=\"download-source-button\" (click)=\"downloadSource()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE'|translate}}\r\n </button>\r\n <br />\r\n <div class=\"source-download-help\" fxLayout=\"row\" fxLaouytAlign=\"start start\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE_HELP'|translate}}\r\n </div>\r\n <button mat-button color=\"accent\" #imageConversionButton data-test-id=\"image-help-button\"\r\n (click)=\"conversionDialog(imageConversion)\">{{'TLD_TRANSLATE.IMAGE_DISCLAIMER_LINK' | translate}}</button>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n</ng-template>", styles: [".target-container,.source-container{position:relative}.tld-translate-target-footer{padding:0 1em}.tld-target-preview-message{color:#5577a9;font-size:.75rem}.action-button{min-width:100px;max-width:200px}.download-button,.translate-file-button{min-width:100px;max-width:200px;top:5px;position:absolute;left:0;right:0;margin-left:auto;margin-right:auto}.cancel-button{margin:1em 0}.tld-translate-mobile :host ::ng-deep .source-download-help{font-size:small}.tld-translate-mobile :host ::ng-deep .no-preview .type{height:100px;width:100px;font-size:1em}.no-preview-wrapper{height:100%}:host ::ng-deep .no-preview{display:table;margin:auto}:host ::ng-deep .no-preview .type{color:#434242;font-weight:700;text-align:center;margin:auto;position:relative;height:200px;width:200px;background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2016.0.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200\\)%20%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%0A%09%20id%3D%22svg2%22%20inkscape%3Aversion%3D%220.48.5%20r10040%22%20sodipodi%3Adocname%3D%22filetype.svg%22%20xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22%20xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22%20xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22%20xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22%20xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22%0A%09%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%22102.482px%22%0A%09%20height%3D%22136.021px%22%20viewBox%3D%220%200%20102.482%20136.021%22%20enable-background%3D%22new%200%200%20102.482%20136.021%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Csodipodi%3Anamedview%20%20id%3D%22base%22%20fit-margin-bottom%3D%225%22%20fit-margin-right%3D%225%22%20inkscape%3Acurrent-layer%3D%22layer1%22%20inkscape%3Awindow-width%3D%221840%22%20inkscape%3Awindow-x%3D%221271%22%20inkscape%3Apageshadow%3D%222%22%20inkscape%3Apageopacity%3D%220.0%22%20inkscape%3Awindow-height%3D%221051%22%20inkscape%3Awindow-maximized%3D%221%22%20inkscape%3Awindow-y%3D%22-9%22%20inkscape%3Adocument-units%3D%22px%22%20showgrid%3D%22false%22%20inkscape%3Azoom%3D%221.979899%22%20bordercolor%3D%22%23666666%22%20pagecolor%3D%22%23ffffff%22%20inkscape%3Acx%3D%22-15.860958%22%20inkscape%3Acy%3D%22106.2157%22%20borderopacity%3D%221.0%22%20fit-margin-left%3D%225%22%20fit-margin-top%3D%225%22%3E%0A%09%3C%2Fsodipodi%3Anamedview%3E%0A%3Cg%3E%0A%09%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%235D5D5D%22%20stroke-miterlimit%3D%2210%22%20points%3D%2295.116%2C45.071%2065.216%2C45.071%2065.216%2C15.75%20%09%22%2F%3E%0A%09%3Cg%3E%0A%09%09%3Cpath%20fill%3D%22%235D5D5D%22%20d%3D%22M65.151%2C15.834l29.314%2C29.314v75.256H9.085V15.834H65.151%20M65.565%2C14.834H8.085v106.57h87.38v-76.67%0A%09%09%09L65.565%2C14.834L65.565%2C14.834z%22%2F%3E%0A%09%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A);background-position:50%;background-repeat:no-repeat;background-size:contain;font-size:2em;display:table-cell;vertical-align:middle}.achievement-badge{margin:1em}.download-source-button{background-color:#5a6672;color:#fff;margin-top:1em}.source-download-help{word-break:break-word}.target-main{height:100%}.file-preview{word-break:break-word}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TldLoaderComponent, selector: "tld-loader" }, { kind: "component", type: TldTranslateButtonComponent, selector: "tld-translate-button", inputs: ["disabled", "enablePulseAnimation"], outputs: ["clicked"] }, { kind: "component", type: SourceAndTargetWrapperComponent, selector: "tld-source-and-target-wrapper", inputs: ["clearSourceVisible", "clearSourceTooltip", "clearDisabled", "textToSpeechSourceSettings"], outputs: ["onSourceClear"] }, { kind: "directive", type: i3.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: i3.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: i3.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: i5$1.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: "component", type: i1$2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: TldTranslateFileDownloadButtonComponent, selector: "tld-translate-file-download-button", inputs: ["file", "disabled", "sourceDownload"], outputs: ["tldClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
7344
7344
|
}
|
|
7345
7345
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldTranslateFileComponent, decorators: [{
|
|
7346
7346
|
type: Component,
|
|
7347
|
-
args: [{ selector: 'tld-translate-file', standalone: false, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component \r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper class=\"wrapper-paddings\" [clearSourceVisible]=\"true\" (onSourceClear)=\"clearPreview()\">\r\n <ng-container sourceMain>\r\n <div fxLayout=\"column\" fxLayoutAlign=\"start start\" *ngIf=\"sourcePreviewHasHtml; else noPreviewBlock\">\r\n <div [innerHtml]=\"filePreview\" class=\"file-preview\"></div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container targetMain>\r\n <div class=\"target-main\" fxLayout=\"column\">\r\n <div *ngIf=\"showPreview\" [innerHtml]=\"translatedPreview\">\r\n </div>\r\n <div fxLayout=\"column\" fxFlex *ngIf=\"translating\">\r\n <div fxLayoutAlign=\"end center\">\r\n <button mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"action-button cancel-button\">{{'TLD_TRANSLATE.CANCEL_TRANSLATION' | translate}}</button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"center center\" fxLayout=\"column\" role=\"progressbar\">\r\n <tld-loader *ngIf=\"translationStatuss !== errorStatus\"></tld-loader>\r\n <div *ngIf=\"translationStatuss===translatingStatuss\" aria-live=\"polite\">{{progress}}%</div>\r\n <div *ngIf=\"!translationStatuss\">{{'TLD_TRANSLATE.FILE_TANSLATION_STATUSS_QUEUING' | translate}}</div>\r\n <div *ngIf=\"translationStatuss\" aria-live=\"polite\">{{'TLD_TRANSLATE.FILE_TANSLATION_STATUSS_' + translationStatuss | translate}}</div>\r\n </div>\r\n </div>\r\n <tld-translate-file-download-button class=\"download-button\" (tldClick)=\"download($event)\" [file]=\"translationFile\"\r\n *ngIf=\"showPreview\" [disabled]=\"downloading\"></tld-translate-file-download-button>\r\n <tld-translate-button class=\"action-button translate-file-button\" *ngIf=\"!translating && !showPreview\"\r\n fxHide.gt-xs></tld-translate-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container targetActions>\r\n <div class=\"tld-translate-target-footer\" *ngIf=\"translatedPreview\" fxLayoutAlign=\"start center\">\r\n <p class=\"tld-target-preview-message\">{{'TLD_TRANSLATE.FILE_TARGET_PREVIEW_MESSAGE' | translate}}</p>\r\n </div>\r\n </ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<ng-template #noPreviewBlock>\r\n <div class=\"no-preview-wrapper\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <div [innerHtml]=\"filePreview\"></div>\r\n <div>{{loadedFileName}}</div>\r\n <ng-container *ngIf=\"showSourceDownload\">\r\n <ng-container *ngIf=\"sourceDownloadPDF\">\r\n <button mat-flat-button class=\"download-source-button\" (click)=\"downloadSource()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE'|translate}}\r\n </button>\r\n <br />\r\n <div class=\"source-download-help\" fxLayout=\"row\" fxLaouytAlign=\"start start\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_HELP'|translate}}\r\n </div>\r\n <button mat-button color=\"accent\" #pdfConversionButton data-test-id=\"pdf-help-button\"\r\n (click)=\"conversionDialog(pdfConversion)\">{{'TLD_TRANSLATE.PDF_DISCLAIMER_LINK' | translate}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"sourceDownloadImage\">\r\n <button mat-flat-button class=\"download-source-button\" (click)=\"downloadSource()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE'|translate}}\r\n </button>\r\n <br />\r\n <div class=\"source-download-help\" fxLayout=\"row\" fxLaouytAlign=\"start start\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE_HELP'|translate}}\r\n </div>\r\n <button mat-button color=\"accent\" #imageConversionButton data-test-id=\"image-help-button\"\r\n (click)=\"conversionDialog(imageConversion)\">{{'TLD_TRANSLATE.IMAGE_DISCLAIMER_LINK' | translate}}</button>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n</ng-template>", styles: [".target-container,.source-container{position:relative}.tld-translate-target-footer{padding:0 1em}.tld-target-preview-message{color:#5577a9;font-size
|
|
7347
|
+
args: [{ selector: 'tld-translate-file', standalone: false, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component \r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper class=\"wrapper-paddings\" [clearSourceVisible]=\"true\" (onSourceClear)=\"clearPreview()\">\r\n <ng-container sourceMain>\r\n <div fxLayout=\"column\" fxLayoutAlign=\"start start\" *ngIf=\"sourcePreviewHasHtml; else noPreviewBlock\">\r\n <div [innerHtml]=\"filePreview\" class=\"file-preview\"></div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container targetMain>\r\n <div class=\"target-main\" fxLayout=\"column\">\r\n <div *ngIf=\"showPreview\" [innerHtml]=\"translatedPreview\">\r\n </div>\r\n <div fxLayout=\"column\" fxFlex *ngIf=\"translating\">\r\n <div fxLayoutAlign=\"end center\">\r\n <button mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"action-button cancel-button\">{{'TLD_TRANSLATE.CANCEL_TRANSLATION' | translate}}</button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"center center\" fxLayout=\"column\" role=\"progressbar\">\r\n <tld-loader *ngIf=\"translationStatuss !== errorStatus\"></tld-loader>\r\n <div *ngIf=\"translationStatuss===translatingStatuss\" aria-live=\"polite\">{{progress}}%</div>\r\n <div *ngIf=\"!translationStatuss\">{{'TLD_TRANSLATE.FILE_TANSLATION_STATUSS_QUEUING' | translate}}</div>\r\n <div *ngIf=\"translationStatuss\" aria-live=\"polite\">{{'TLD_TRANSLATE.FILE_TANSLATION_STATUSS_' + translationStatuss | translate}}</div>\r\n </div>\r\n </div>\r\n <tld-translate-file-download-button class=\"download-button\" (tldClick)=\"download($event)\" [file]=\"translationFile\"\r\n *ngIf=\"showPreview\" [disabled]=\"downloading\"></tld-translate-file-download-button>\r\n <tld-translate-button class=\"action-button translate-file-button\" *ngIf=\"!translating && !showPreview\"\r\n fxHide.gt-xs></tld-translate-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container targetActions>\r\n <div class=\"tld-translate-target-footer\" *ngIf=\"translatedPreview\" fxLayoutAlign=\"start center\">\r\n <p class=\"tld-target-preview-message\">{{'TLD_TRANSLATE.FILE_TARGET_PREVIEW_MESSAGE' | translate}}</p>\r\n </div>\r\n </ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<ng-template #noPreviewBlock>\r\n <div class=\"no-preview-wrapper\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <div [innerHtml]=\"filePreview\"></div>\r\n <div>{{loadedFileName}}</div>\r\n <ng-container *ngIf=\"showSourceDownload\">\r\n <ng-container *ngIf=\"sourceDownloadPDF\">\r\n <button mat-flat-button class=\"download-source-button\" (click)=\"downloadSource()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE'|translate}}\r\n </button>\r\n <br />\r\n <div class=\"source-download-help\" fxLayout=\"row\" fxLaouytAlign=\"start start\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_HELP'|translate}}\r\n </div>\r\n <button mat-button color=\"accent\" #pdfConversionButton data-test-id=\"pdf-help-button\"\r\n (click)=\"conversionDialog(pdfConversion)\">{{'TLD_TRANSLATE.PDF_DISCLAIMER_LINK' | translate}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"sourceDownloadImage\">\r\n <button mat-flat-button class=\"download-source-button\" (click)=\"downloadSource()\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE'|translate}}\r\n </button>\r\n <br />\r\n <div class=\"source-download-help\" fxLayout=\"row\" fxLaouytAlign=\"start start\">\r\n {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE_HELP'|translate}}\r\n </div>\r\n <button mat-button color=\"accent\" #imageConversionButton data-test-id=\"image-help-button\"\r\n (click)=\"conversionDialog(imageConversion)\">{{'TLD_TRANSLATE.IMAGE_DISCLAIMER_LINK' | translate}}</button>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n</ng-template>", styles: [".target-container,.source-container{position:relative}.tld-translate-target-footer{padding:0 1em}.tld-target-preview-message{color:#5577a9;font-size:.75rem}.action-button{min-width:100px;max-width:200px}.download-button,.translate-file-button{min-width:100px;max-width:200px;top:5px;position:absolute;left:0;right:0;margin-left:auto;margin-right:auto}.cancel-button{margin:1em 0}.tld-translate-mobile :host ::ng-deep .source-download-help{font-size:small}.tld-translate-mobile :host ::ng-deep .no-preview .type{height:100px;width:100px;font-size:1em}.no-preview-wrapper{height:100%}:host ::ng-deep .no-preview{display:table;margin:auto}:host ::ng-deep .no-preview .type{color:#434242;font-weight:700;text-align:center;margin:auto;position:relative;height:200px;width:200px;background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generator%3A%20Adobe%20Illustrator%2016.0.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200\\)%20%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%0A%09%20id%3D%22svg2%22%20inkscape%3Aversion%3D%220.48.5%20r10040%22%20sodipodi%3Adocname%3D%22filetype.svg%22%20xmlns%3Asvg%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22%20xmlns%3Asodipodi%3D%22http%3A%2F%2Fsodipodi.sourceforge.net%2FDTD%2Fsodipodi-0.dtd%22%20xmlns%3Acc%3D%22http%3A%2F%2Fcreativecommons.org%2Fns%23%22%20xmlns%3Adc%3D%22http%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%22%20xmlns%3Ainkscape%3D%22http%3A%2F%2Fwww.inkscape.org%2Fnamespaces%2Finkscape%22%0A%09%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%22102.482px%22%0A%09%20height%3D%22136.021px%22%20viewBox%3D%220%200%20102.482%20136.021%22%20enable-background%3D%22new%200%200%20102.482%20136.021%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Csodipodi%3Anamedview%20%20id%3D%22base%22%20fit-margin-bottom%3D%225%22%20fit-margin-right%3D%225%22%20inkscape%3Acurrent-layer%3D%22layer1%22%20inkscape%3Awindow-width%3D%221840%22%20inkscape%3Awindow-x%3D%221271%22%20inkscape%3Apageshadow%3D%222%22%20inkscape%3Apageopacity%3D%220.0%22%20inkscape%3Awindow-height%3D%221051%22%20inkscape%3Awindow-maximized%3D%221%22%20inkscape%3Awindow-y%3D%22-9%22%20inkscape%3Adocument-units%3D%22px%22%20showgrid%3D%22false%22%20inkscape%3Azoom%3D%221.979899%22%20bordercolor%3D%22%23666666%22%20pagecolor%3D%22%23ffffff%22%20inkscape%3Acx%3D%22-15.860958%22%20inkscape%3Acy%3D%22106.2157%22%20borderopacity%3D%221.0%22%20fit-margin-left%3D%225%22%20fit-margin-top%3D%225%22%3E%0A%09%3C%2Fsodipodi%3Anamedview%3E%0A%3Cg%3E%0A%09%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%235D5D5D%22%20stroke-miterlimit%3D%2210%22%20points%3D%2295.116%2C45.071%2065.216%2C45.071%2065.216%2C15.75%20%09%22%2F%3E%0A%09%3Cg%3E%0A%09%09%3Cpath%20fill%3D%22%235D5D5D%22%20d%3D%22M65.151%2C15.834l29.314%2C29.314v75.256H9.085V15.834H65.151%20M65.565%2C14.834H8.085v106.57h87.38v-76.67%0A%09%09%09L65.565%2C14.834L65.565%2C14.834z%22%2F%3E%0A%09%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A);background-position:50%;background-repeat:no-repeat;background-size:contain;font-size:2em;display:table-cell;vertical-align:middle}.achievement-badge{margin:1em}.download-source-button{background-color:#5a6672;color:#fff;margin-top:1em}.source-download-help{word-break:break-word}.target-main{height:100%}.file-preview{word-break:break-word}\n"] }]
|
|
7348
7348
|
}], ctorParameters: () => [{ type: TldTranslateFileService }, { type: i2$1.MatDialog }, { type: TldTranslateConfigService }], propDecorators: { translationFile: [{
|
|
7349
7349
|
type: Input
|
|
7350
7350
|
}], translatorWrapper: [{
|
|
@@ -7962,11 +7962,11 @@ class TldRecordComponent {
|
|
|
7962
7962
|
});
|
|
7963
7963
|
}
|
|
7964
7964
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldRecordComponent, deps: [{ token: AudioRecordService }, { token: TldTranslateSystemManagementService }, { token: TldTranslateConfigService }, { token: TldVoiceInputService }, { token: i5.AlertService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7965
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TldRecordComponent, isStandalone: false, selector: "tld-record", outputs: { record: "record" }, ngImport: i0, template: "<div fxLayout=\"row\" fxFlex>\r\n <ng-container *ngIf=\"!(isRecording || isProcessing)\">\r\n <button [disabled]=\"!hasAnyMicrophone\" mat-button mat-icon-button fxLayoutAlign=\"center center\"\r\n (click)=\"startRecording()\" color=\"accent\" [attr.aria-label]=\"(hasAnyMicrophone?'AUDIO.START':'AUDIO.MIC_NOT_FOUND') | translate\">\r\n <span class=\"material-icons\" *ngIf=\"hasAnyMicrophone\" color=\"accent\" \r\n [matTooltip]=\"'AUDIO.START' | translate\">\r\n mic\r\n </span>\r\n <span class=\"material-icons\" [matTooltip]=\"'AUDIO.MIC_NOT_FOUND' | translate\"\r\n *ngIf=\"!hasAnyMicrophone\">\r\n mic_off\r\n </span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"isRecording || isProcessing\">\r\n <div fxLayout=\"column\">\r\n <button mat-button mat-icon-button fxLayoutAlign=\"center center\" [disabled]=\"!isRecording\"\r\n (click)=\"stopRecording()\" color=\"accent\" [matTooltip]=\"'AUDIO.STOP' | translate\" [attr.aria-label]=\"'AUDIO.STOP' | translate\">\r\n <span class=\"material-icons\">\r\n stop\r\n </span>\r\n </button>\r\n <div class=\"tld-audio-timer\" fxLayoutAlign=\"center center\">\r\n {{recordTimeDate | date:'mm:ss'}}\r\n </div>\r\n </div>\r\n <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"center center\">\r\n <div fxFlex fxLayoutAlign=\"center center\" data-test-id=\"voice-input-info\">\r\n <span *ngIf=\"isRecording\">{{'AUDIO.DESCRIBE_STATE_RECORDING' | translate}}</span>\r\n <span *ngIf=\"isProcessing\">{{'AUDIO.DESCRIBE_STATE_PROCESSING' | translate}}</span>\r\n </div>\r\n <button mat-flat-button color=\"accent\" (click)=\"cancel()\">{{'AUDIO.CANCEL' | translate}}</button>\r\n </div>\r\n </ng-container>\r\n</div>", styles: ["button{border:1px solid rgba(0,0,0,.12)}.tld-audio-timer{font-size
|
|
7965
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TldRecordComponent, isStandalone: false, selector: "tld-record", outputs: { record: "record" }, ngImport: i0, template: "<div fxLayout=\"row\" fxFlex>\r\n <ng-container *ngIf=\"!(isRecording || isProcessing)\">\r\n <button [disabled]=\"!hasAnyMicrophone\" mat-button mat-icon-button fxLayoutAlign=\"center center\"\r\n (click)=\"startRecording()\" color=\"accent\" [attr.aria-label]=\"(hasAnyMicrophone?'AUDIO.START':'AUDIO.MIC_NOT_FOUND') | translate\">\r\n <span class=\"material-icons\" *ngIf=\"hasAnyMicrophone\" color=\"accent\" \r\n [matTooltip]=\"'AUDIO.START' | translate\">\r\n mic\r\n </span>\r\n <span class=\"material-icons\" [matTooltip]=\"'AUDIO.MIC_NOT_FOUND' | translate\"\r\n *ngIf=\"!hasAnyMicrophone\">\r\n mic_off\r\n </span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"isRecording || isProcessing\">\r\n <div fxLayout=\"column\">\r\n <button mat-button mat-icon-button fxLayoutAlign=\"center center\" [disabled]=\"!isRecording\"\r\n (click)=\"stopRecording()\" color=\"accent\" [matTooltip]=\"'AUDIO.STOP' | translate\" [attr.aria-label]=\"'AUDIO.STOP' | translate\">\r\n <span class=\"material-icons\">\r\n stop\r\n </span>\r\n </button>\r\n <div class=\"tld-audio-timer\" fxLayoutAlign=\"center center\">\r\n {{recordTimeDate | date:'mm:ss'}}\r\n </div>\r\n </div>\r\n <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"center center\">\r\n <div fxFlex fxLayoutAlign=\"center center\" data-test-id=\"voice-input-info\">\r\n <span *ngIf=\"isRecording\">{{'AUDIO.DESCRIBE_STATE_RECORDING' | translate}}</span>\r\n <span *ngIf=\"isProcessing\">{{'AUDIO.DESCRIBE_STATE_PROCESSING' | translate}}</span>\r\n </div>\r\n <button mat-flat-button color=\"accent\" (click)=\"cancel()\">{{'AUDIO.CANCEL' | translate}}</button>\r\n </div>\r\n </ng-container>\r\n</div>", styles: ["button{border:1px solid rgba(0,0,0,.12)}.tld-audio-timer{font-size:.625rem}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i3.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: i3.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: i3.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: "component", type: i1$2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
7966
7966
|
}
|
|
7967
7967
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldRecordComponent, decorators: [{
|
|
7968
7968
|
type: Component,
|
|
7969
|
-
args: [{ selector: 'tld-record', standalone: false, template: "<div fxLayout=\"row\" fxFlex>\r\n <ng-container *ngIf=\"!(isRecording || isProcessing)\">\r\n <button [disabled]=\"!hasAnyMicrophone\" mat-button mat-icon-button fxLayoutAlign=\"center center\"\r\n (click)=\"startRecording()\" color=\"accent\" [attr.aria-label]=\"(hasAnyMicrophone?'AUDIO.START':'AUDIO.MIC_NOT_FOUND') | translate\">\r\n <span class=\"material-icons\" *ngIf=\"hasAnyMicrophone\" color=\"accent\" \r\n [matTooltip]=\"'AUDIO.START' | translate\">\r\n mic\r\n </span>\r\n <span class=\"material-icons\" [matTooltip]=\"'AUDIO.MIC_NOT_FOUND' | translate\"\r\n *ngIf=\"!hasAnyMicrophone\">\r\n mic_off\r\n </span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"isRecording || isProcessing\">\r\n <div fxLayout=\"column\">\r\n <button mat-button mat-icon-button fxLayoutAlign=\"center center\" [disabled]=\"!isRecording\"\r\n (click)=\"stopRecording()\" color=\"accent\" [matTooltip]=\"'AUDIO.STOP' | translate\" [attr.aria-label]=\"'AUDIO.STOP' | translate\">\r\n <span class=\"material-icons\">\r\n stop\r\n </span>\r\n </button>\r\n <div class=\"tld-audio-timer\" fxLayoutAlign=\"center center\">\r\n {{recordTimeDate | date:'mm:ss'}}\r\n </div>\r\n </div>\r\n <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"center center\">\r\n <div fxFlex fxLayoutAlign=\"center center\" data-test-id=\"voice-input-info\">\r\n <span *ngIf=\"isRecording\">{{'AUDIO.DESCRIBE_STATE_RECORDING' | translate}}</span>\r\n <span *ngIf=\"isProcessing\">{{'AUDIO.DESCRIBE_STATE_PROCESSING' | translate}}</span>\r\n </div>\r\n <button mat-flat-button color=\"accent\" (click)=\"cancel()\">{{'AUDIO.CANCEL' | translate}}</button>\r\n </div>\r\n </ng-container>\r\n</div>", styles: ["button{border:1px solid rgba(0,0,0,.12)}.tld-audio-timer{font-size
|
|
7969
|
+
args: [{ selector: 'tld-record', standalone: false, template: "<div fxLayout=\"row\" fxFlex>\r\n <ng-container *ngIf=\"!(isRecording || isProcessing)\">\r\n <button [disabled]=\"!hasAnyMicrophone\" mat-button mat-icon-button fxLayoutAlign=\"center center\"\r\n (click)=\"startRecording()\" color=\"accent\" [attr.aria-label]=\"(hasAnyMicrophone?'AUDIO.START':'AUDIO.MIC_NOT_FOUND') | translate\">\r\n <span class=\"material-icons\" *ngIf=\"hasAnyMicrophone\" color=\"accent\" \r\n [matTooltip]=\"'AUDIO.START' | translate\">\r\n mic\r\n </span>\r\n <span class=\"material-icons\" [matTooltip]=\"'AUDIO.MIC_NOT_FOUND' | translate\"\r\n *ngIf=\"!hasAnyMicrophone\">\r\n mic_off\r\n </span>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"isRecording || isProcessing\">\r\n <div fxLayout=\"column\">\r\n <button mat-button mat-icon-button fxLayoutAlign=\"center center\" [disabled]=\"!isRecording\"\r\n (click)=\"stopRecording()\" color=\"accent\" [matTooltip]=\"'AUDIO.STOP' | translate\" [attr.aria-label]=\"'AUDIO.STOP' | translate\">\r\n <span class=\"material-icons\">\r\n stop\r\n </span>\r\n </button>\r\n <div class=\"tld-audio-timer\" fxLayoutAlign=\"center center\">\r\n {{recordTimeDate | date:'mm:ss'}}\r\n </div>\r\n </div>\r\n <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"center center\">\r\n <div fxFlex fxLayoutAlign=\"center center\" data-test-id=\"voice-input-info\">\r\n <span *ngIf=\"isRecording\">{{'AUDIO.DESCRIBE_STATE_RECORDING' | translate}}</span>\r\n <span *ngIf=\"isProcessing\">{{'AUDIO.DESCRIBE_STATE_PROCESSING' | translate}}</span>\r\n </div>\r\n <button mat-flat-button color=\"accent\" (click)=\"cancel()\">{{'AUDIO.CANCEL' | translate}}</button>\r\n </div>\r\n </ng-container>\r\n</div>", styles: ["button{border:1px solid rgba(0,0,0,.12)}.tld-audio-timer{font-size:.625rem}\n"] }]
|
|
7970
7970
|
}], ctorParameters: () => [{ type: AudioRecordService }, { type: TldTranslateSystemManagementService }, { type: TldTranslateConfigService }, { type: TldVoiceInputService }, { type: i5.AlertService }], propDecorators: { record: [{
|
|
7971
7971
|
type: Output
|
|
7972
7972
|
}] } });
|
|
@@ -8937,11 +8937,11 @@ class TldDictionaryComponent {
|
|
|
8937
8937
|
}, {});
|
|
8938
8938
|
}
|
|
8939
8939
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldDictionaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8940
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TldDictionaryComponent, isStandalone: false, selector: "tld-dictionary", inputs: { dictionary: "dictionary" }, ngImport: i0, template: "<div *ngFor=\"let domain of dictionaryGroups | keyvalue\">\r\n\t<div fxFlex fxLayout=\"column\" class=\"dictionary-area\">\r\n\t\t<div fxFlex fxLayout=\"column\">\r\n\t\t\t<p class=\"dictionary-source\">{{ 'DICTIONARY.SOURCE' | translate: { src: domain.key | titlecase } }}</p>\r\n\r\n\t\t\t<div *ngFor=\"let dictionary of domain.value\" class=\"dictionary-target-wrapper\">\r\n\t\t\t\t<a [href]=\"dictionary.collectionUrl\" target=\"_blank\" class=\"dictionary-target-word\">{{ dictionary.targetWord }}</a>\r\n\r\n\t\t\t\t<div class=\"dictionary-word-source\">{{ dictionary.termSource }}</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".dictionary-area{margin-top:1rem}.dictionary-source{font-size:
|
|
8940
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TldDictionaryComponent, isStandalone: false, selector: "tld-dictionary", inputs: { dictionary: "dictionary" }, ngImport: i0, template: "<div *ngFor=\"let domain of dictionaryGroups | keyvalue\">\r\n\t<div fxFlex fxLayout=\"column\" class=\"dictionary-area\">\r\n\t\t<div fxFlex fxLayout=\"column\">\r\n\t\t\t<p class=\"dictionary-source\">{{ 'DICTIONARY.SOURCE' | translate: { src: domain.key | titlecase } }}</p>\r\n\r\n\t\t\t<div *ngFor=\"let dictionary of domain.value\" class=\"dictionary-target-wrapper\">\r\n\t\t\t\t<a [href]=\"dictionary.collectionUrl\" target=\"_blank\" class=\"dictionary-target-word\">{{ dictionary.targetWord }}</a>\r\n\r\n\t\t\t\t<div class=\"dictionary-word-source\">{{ dictionary.termSource }}</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".dictionary-area{margin-top:1rem}.dictionary-source{font-size:1rem}.dictionary-source{font-weight:600}.dictionary-target-wrapper{margin-bottom:.75rem}.dictionary-target-word{font-size:1rem;font-weight:500;text-decoration:underline;color:inherit}.dictionary-word-source{font-size:.75rem;font-style:italic;color:var(--primary);margin-top:.25rem}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.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: i3.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: "pipe", type: i1$1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1$1.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
8941
8941
|
}
|
|
8942
8942
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldDictionaryComponent, decorators: [{
|
|
8943
8943
|
type: Component,
|
|
8944
|
-
args: [{ selector: 'tld-dictionary', standalone: false, template: "<div *ngFor=\"let domain of dictionaryGroups | keyvalue\">\r\n\t<div fxFlex fxLayout=\"column\" class=\"dictionary-area\">\r\n\t\t<div fxFlex fxLayout=\"column\">\r\n\t\t\t<p class=\"dictionary-source\">{{ 'DICTIONARY.SOURCE' | translate: { src: domain.key | titlecase } }}</p>\r\n\r\n\t\t\t<div *ngFor=\"let dictionary of domain.value\" class=\"dictionary-target-wrapper\">\r\n\t\t\t\t<a [href]=\"dictionary.collectionUrl\" target=\"_blank\" class=\"dictionary-target-word\">{{ dictionary.targetWord }}</a>\r\n\r\n\t\t\t\t<div class=\"dictionary-word-source\">{{ dictionary.termSource }}</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".dictionary-area{margin-top:1rem}.dictionary-source{font-size:
|
|
8944
|
+
args: [{ selector: 'tld-dictionary', standalone: false, template: "<div *ngFor=\"let domain of dictionaryGroups | keyvalue\">\r\n\t<div fxFlex fxLayout=\"column\" class=\"dictionary-area\">\r\n\t\t<div fxFlex fxLayout=\"column\">\r\n\t\t\t<p class=\"dictionary-source\">{{ 'DICTIONARY.SOURCE' | translate: { src: domain.key | titlecase } }}</p>\r\n\r\n\t\t\t<div *ngFor=\"let dictionary of domain.value\" class=\"dictionary-target-wrapper\">\r\n\t\t\t\t<a [href]=\"dictionary.collectionUrl\" target=\"_blank\" class=\"dictionary-target-word\">{{ dictionary.targetWord }}</a>\r\n\r\n\t\t\t\t<div class=\"dictionary-word-source\">{{ dictionary.termSource }}</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".dictionary-area{margin-top:1rem}.dictionary-source{font-size:1rem}.dictionary-source{font-weight:600}.dictionary-target-wrapper{margin-bottom:.75rem}.dictionary-target-word{font-size:1rem;font-weight:500;text-decoration:underline;color:inherit}.dictionary-word-source{font-size:.75rem;font-style:italic;color:var(--primary);margin-top:.25rem}\n"] }]
|
|
8945
8945
|
}], propDecorators: { dictionary: [{
|
|
8946
8946
|
type: Input
|
|
8947
8947
|
}] } });
|
|
@@ -9066,7 +9066,7 @@ class RephraseComponent {
|
|
|
9066
9066
|
PlausibleHelper.customEvent(LLMActions.REPHRASE.toLowerCase(), { action: 'copy' });
|
|
9067
9067
|
}
|
|
9068
9068
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RephraseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9069
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.1", type: RephraseComponent, isStandalone: true, selector: "tld-rephrase", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<lib-open-close-button\r\n\t[ngClass.lt-sm]=\"'mobile'\"\r\n\tclass=\"rephrase-menu-btn\"\r\n\t#state=\"matMenuTrigger\"\r\n\t[matMenuTriggerFor]=\"rephraseStylesMenu\"\r\n\t[isOpened]=\"state.menuOpen\"\r\n\t[disabled]=\"disabled()\"\r\n>\r\n\t<span class=\"rephrase-title\">{{ \"TLD_TRANSLATE.REPHRASE.TITLE\" | translate }} ({{ selectedRephrasingStyle() ?? \"TLD_TRANSLATE.REPHRASE.CHOOSE_LABEL\" | translate }})</span>\r\n</lib-open-close-button>\r\n\r\n<mat-menu #rephraseStylesMenu=\"matMenu\" class=\"rephrase-menu\">\r\n\t@for (style of rephraseStyles; track style) {\r\n\t<button mat-menu-item (click)=\"rephrase(style)\">\r\n\t\t{{ \"TLD_TRANSLATE.REPHRASE.STYLES.\" + (style | uppercase) | translate }}\r\n\t</button>\r\n\t}\r\n</mat-menu>\r\n\r\n@if (isLoading()) {\r\n<p class=\"rephrasing\">{{ \"TLD_TRANSLATE.REPHRASE.LOADING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n} @if(!selectedRephrasingStyle()) {\r\n<p class=\"rephrase-hint\">{{ \"TLD_TRANSLATE.REPHRASE.HINT\" | translate }}</p>\r\n}\r\n\r\n<p [innerHTML]=\"markedRephrasedText()\"></p>\r\n\r\n@if (rephrasedText()) {\r\n<button mat-icon-button [ngClass.lt-sm]=\"'rephrase-mobile'\" class=\"rephrase-copy-btn\" (click)=\"copyRephraseText()\" [matTooltip]=\"'TOOLTIPS.COPY' | translate\">\r\n\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n</button>\r\n}\r\n", styles: ["p{margin-top:16px}.rephrase-menu-btn:not(.mobile){margin-left:-8px}.rephrase-title{font-size:
|
|
9069
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.1", type: RephraseComponent, isStandalone: true, selector: "tld-rephrase", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<lib-open-close-button\r\n\t[ngClass.lt-sm]=\"'mobile'\"\r\n\tclass=\"rephrase-menu-btn\"\r\n\t#state=\"matMenuTrigger\"\r\n\t[matMenuTriggerFor]=\"rephraseStylesMenu\"\r\n\t[isOpened]=\"state.menuOpen\"\r\n\t[disabled]=\"disabled()\"\r\n>\r\n\t<span class=\"rephrase-title\">{{ \"TLD_TRANSLATE.REPHRASE.TITLE\" | translate }} ({{ selectedRephrasingStyle() ?? \"TLD_TRANSLATE.REPHRASE.CHOOSE_LABEL\" | translate }})</span>\r\n</lib-open-close-button>\r\n\r\n<mat-menu #rephraseStylesMenu=\"matMenu\" class=\"rephrase-menu\">\r\n\t@for (style of rephraseStyles; track style) {\r\n\t<button mat-menu-item (click)=\"rephrase(style)\">\r\n\t\t{{ \"TLD_TRANSLATE.REPHRASE.STYLES.\" + (style | uppercase) | translate }}\r\n\t</button>\r\n\t}\r\n</mat-menu>\r\n\r\n@if (isLoading()) {\r\n<p class=\"rephrasing\">{{ \"TLD_TRANSLATE.REPHRASE.LOADING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n} @if(!selectedRephrasingStyle()) {\r\n<p class=\"rephrase-hint\">{{ \"TLD_TRANSLATE.REPHRASE.HINT\" | translate }}</p>\r\n}\r\n\r\n<p [innerHTML]=\"markedRephrasedText()\"></p>\r\n\r\n@if (rephrasedText()) {\r\n<button mat-icon-button [ngClass.lt-sm]=\"'rephrase-mobile'\" class=\"rephrase-copy-btn\" (click)=\"copyRephraseText()\" [matTooltip]=\"'TOOLTIPS.COPY' | translate\">\r\n\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n</button>\r\n}\r\n", styles: ["p{margin-top:16px}.rephrase-menu-btn:not(.mobile){margin-left:-8px}.rephrase-title{font-size:1rem;color:var(--base-30)}.rephrase-hint,.rephrasing{font-style:italic;color:var(--base-40)}.rephrase-copy-btn{position:absolute;right:-45px;top:20px}.rephrase-mobile{right:-46px}.mobile.rephrase-menu-btn{display:block;width:fit-content}::ng-deep .cdk-overlay-container .rephrase-menu{margin:8px!important;min-width:175px!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: OpenCloseButtonModule }, { kind: "component", type: i5.OpenCloseButtonComponent, selector: "lib-open-close-button", inputs: ["disableFocusOnAction", "disabled", "isIcon", "ariaLabelCode", "isOpened"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i5$1.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: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
9070
9070
|
}
|
|
9071
9071
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: RephraseComponent, decorators: [{
|
|
9072
9072
|
type: Component,
|
|
@@ -9079,7 +9079,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
|
9079
9079
|
MatIconModule,
|
|
9080
9080
|
MatTooltipModule,
|
|
9081
9081
|
FlexLayoutModule,
|
|
9082
|
-
], template: "<lib-open-close-button\r\n\t[ngClass.lt-sm]=\"'mobile'\"\r\n\tclass=\"rephrase-menu-btn\"\r\n\t#state=\"matMenuTrigger\"\r\n\t[matMenuTriggerFor]=\"rephraseStylesMenu\"\r\n\t[isOpened]=\"state.menuOpen\"\r\n\t[disabled]=\"disabled()\"\r\n>\r\n\t<span class=\"rephrase-title\">{{ \"TLD_TRANSLATE.REPHRASE.TITLE\" | translate }} ({{ selectedRephrasingStyle() ?? \"TLD_TRANSLATE.REPHRASE.CHOOSE_LABEL\" | translate }})</span>\r\n</lib-open-close-button>\r\n\r\n<mat-menu #rephraseStylesMenu=\"matMenu\" class=\"rephrase-menu\">\r\n\t@for (style of rephraseStyles; track style) {\r\n\t<button mat-menu-item (click)=\"rephrase(style)\">\r\n\t\t{{ \"TLD_TRANSLATE.REPHRASE.STYLES.\" + (style | uppercase) | translate }}\r\n\t</button>\r\n\t}\r\n</mat-menu>\r\n\r\n@if (isLoading()) {\r\n<p class=\"rephrasing\">{{ \"TLD_TRANSLATE.REPHRASE.LOADING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n} @if(!selectedRephrasingStyle()) {\r\n<p class=\"rephrase-hint\">{{ \"TLD_TRANSLATE.REPHRASE.HINT\" | translate }}</p>\r\n}\r\n\r\n<p [innerHTML]=\"markedRephrasedText()\"></p>\r\n\r\n@if (rephrasedText()) {\r\n<button mat-icon-button [ngClass.lt-sm]=\"'rephrase-mobile'\" class=\"rephrase-copy-btn\" (click)=\"copyRephraseText()\" [matTooltip]=\"'TOOLTIPS.COPY' | translate\">\r\n\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n</button>\r\n}\r\n", styles: ["p{margin-top:16px}.rephrase-menu-btn:not(.mobile){margin-left:-8px}.rephrase-title{font-size:
|
|
9082
|
+
], template: "<lib-open-close-button\r\n\t[ngClass.lt-sm]=\"'mobile'\"\r\n\tclass=\"rephrase-menu-btn\"\r\n\t#state=\"matMenuTrigger\"\r\n\t[matMenuTriggerFor]=\"rephraseStylesMenu\"\r\n\t[isOpened]=\"state.menuOpen\"\r\n\t[disabled]=\"disabled()\"\r\n>\r\n\t<span class=\"rephrase-title\">{{ \"TLD_TRANSLATE.REPHRASE.TITLE\" | translate }} ({{ selectedRephrasingStyle() ?? \"TLD_TRANSLATE.REPHRASE.CHOOSE_LABEL\" | translate }})</span>\r\n</lib-open-close-button>\r\n\r\n<mat-menu #rephraseStylesMenu=\"matMenu\" class=\"rephrase-menu\">\r\n\t@for (style of rephraseStyles; track style) {\r\n\t<button mat-menu-item (click)=\"rephrase(style)\">\r\n\t\t{{ \"TLD_TRANSLATE.REPHRASE.STYLES.\" + (style | uppercase) | translate }}\r\n\t</button>\r\n\t}\r\n</mat-menu>\r\n\r\n@if (isLoading()) {\r\n<p class=\"rephrasing\">{{ \"TLD_TRANSLATE.REPHRASE.LOADING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n} @if(!selectedRephrasingStyle()) {\r\n<p class=\"rephrase-hint\">{{ \"TLD_TRANSLATE.REPHRASE.HINT\" | translate }}</p>\r\n}\r\n\r\n<p [innerHTML]=\"markedRephrasedText()\"></p>\r\n\r\n@if (rephrasedText()) {\r\n<button mat-icon-button [ngClass.lt-sm]=\"'rephrase-mobile'\" class=\"rephrase-copy-btn\" (click)=\"copyRephraseText()\" [matTooltip]=\"'TOOLTIPS.COPY' | translate\">\r\n\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n</button>\r\n}\r\n", styles: ["p{margin-top:16px}.rephrase-menu-btn:not(.mobile){margin-left:-8px}.rephrase-title{font-size:1rem;color:var(--base-30)}.rephrase-hint,.rephrasing{font-style:italic;color:var(--base-40)}.rephrase-copy-btn{position:absolute;right:-45px;top:20px}.rephrase-mobile{right:-46px}.mobile.rephrase-menu-btn{display:block;width:fit-content}::ng-deep .cdk-overlay-container .rephrase-menu{margin:8px!important;min-width:175px!important}\n"] }]
|
|
9083
9083
|
}] });
|
|
9084
9084
|
|
|
9085
9085
|
class TldTranslateTextComponent {
|
|
@@ -9398,11 +9398,11 @@ class TldTranslateTextComponent {
|
|
|
9398
9398
|
this.markedSummarizedText = null;
|
|
9399
9399
|
}
|
|
9400
9400
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldTranslateTextComponent, deps: [{ token: TldTranslateTextService }, { token: i2$2.Clipboard }, { token: i5.AlertService }, { token: TldTranslateConfigService }, { token: TldScrollService }, { token: TldTranslateSystemManagementService }, { token: AudioRecordService }, { token: TldVoiceInputService }, { token: TldTranslateFileService }, { token: i5$2.LLMService }, { token: i9.KeycloakService }], target: i0.ɵɵFactoryTarget.Component });
|
|
9401
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.1", type: TldTranslateTextComponent, isStandalone: false, selector: "tld-translate-text", inputs: { filePreviewProgress: "filePreviewProgress" }, outputs: { onFileChange: "onFileChange" }, viewQueries: [{ propertyName: "sourceComponent", first: true, predicate: ["sourceComponent"], descendants: true }, { propertyName: "dictateComponent", first: true, predicate: ["dictate"], descendants: true }], ngImport: i0, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component\r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper\r\n\t[textToSpeechSourceSettings]=\"textToSpeechSourceSettings\"\r\n\t[clearSourceVisible]=\"source?.length > 0\"\r\n\t(onSourceClear)=\"clearSource()\"\r\n\t[clearDisabled]=\"textareaDisabled\"\r\n\t[clearSourceTooltip]=\"'TLD_TRANSLATE.CLEAR_SOURCE_TOOLTIP'\"\r\n\t[ngClass]=\"{ 'highlight-active': highlight, 'empty-target': isEmptyTarget }\"\r\n>\r\n\t<div sourceMain class=\"source-main\" fxLayout=\"column\">\r\n\t\t<tld-translate-source [textareaDisabled]=\"textareaDisabled\" #sourceComponent fxFlex [sourceParagraphs]=\"sourceParagraphs\"></tld-translate-source>\r\n\t</div>\r\n\t<ng-container dictation *ngIf=\"audioInputVisible()\">\r\n\t\t<tld-dictate\r\n\t\t\t#dictate\r\n\t\t\t[configuration]=\"dictateConfig\"\r\n\t\t\t[ngClass]=\"{ 'full-width': !fileUpload }\"\r\n\t\t\t(isDictating)=\"dictateStartStop($event)\"\r\n\t\t\t(result)=\"dictateResult($event)\"\r\n\t\t\t(partialResult)=\"dictatePartialResult($event)\"\r\n\t\t\t(onError)=\"dictateError($event)\"\r\n\t\t\t[systemId]=\"onlineAsrSystemId()\"\r\n\t\t>\r\n\t\t</tld-dictate>\r\n\t</ng-container>\r\n\r\n\t<button compactUpload mat-icon-button [matTooltip]=\"'TOOLTIPS.UPLOAD' | translate\" [disabled]=\"fileUploadDisabled\" (click)=\"openFileUpload()\">\r\n\t\t<mat-icon [svgIcon]=\"'upload'\"></mat-icon>\r\n\t</button>\r\n\r\n\t<ng-container sourceActions>\r\n\t\t<div fxLayoutAlign=\"start center\" [class.basic-padding]=\"fileUpload\" fxLayoutGap=\"1em\">\r\n\t\t\t<div [class.hidden]=\"!fileUpload\" class=\"file-upload-wrapper\">\r\n\t\t\t\t<lib-file-upload\r\n\t\t\t\t\t(fileChange)=\"fileChange($event)\"\r\n\t\t\t\t\t[accept]=\"allowedFileTypes\"\r\n\t\t\t\t\t[maxSize]=\"maxFileUploadSize\"\r\n\t\t\t\t\t[uploadIconName]=\"uploadIconName\"\r\n\t\t\t\t\t[extendedAcceptList]=\"extendedFileTypes\"\r\n\t\t\t\t\t[multiple]=\"multipleFiles\"\r\n\t\t\t\t\t(errorEvent)=\"fileUploadError($event)\"\r\n\t\t\t\t\t[filePreviewProgress]=\"filePreviewProgress\"\r\n\t\t\t\t\t[disabled]=\"fileUploadDisabled\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"upload-file-text\">\r\n\t\t\t\t\t\t<span class=\"info\">\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n\t\t\t\t\t\t\t<span> </span>\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span>\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.' + (multipleFiles ? 'FILES' : 'FILE') | translate\" [ngClass.lt-sm]=\"'accent-color'\"></span>\r\n\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t<span class=\"file-upload-extensions text-m\">\r\n\t\t\t\t\t\t\t( <span>{{ visibleExtensions }}.</span> \r\n\t\t\t\t\t\t\t<span *ngIf=\"maxSizeMB\" class=\"file-upload-max-size\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate : { maxSizeMB: maxSizeMB }\"></span> )\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</lib-file-upload>\r\n\t\t\t\t<lib-open-extension-dialog *ngIf=\"showExtensionPopup\" [extensions]=\"allowedTypesWithoutDots\"> </lib-open-extension-dialog>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n\r\n\t<div targetMain class=\"target-main\">\r\n\t\t<ng-container *ngIf=\"isEmptyTarget; else translatedTextBlock\">\r\n\t\t\t<p *ngIf=\"showTargetPlaceholder\" class=\"description-text target-empty\" [innerHtml]=\"'TLD_TRANSLATE.TARGET_DESCRIPTION' | translate\"></p>\r\n\t\t</ng-container>\r\n\t</div>\r\n\r\n\t<ng-container targetActions>\r\n\t\t<div class=\"tld-translate-target-footer basic-padding\" *ngIf=\"showProgressIndicator\">\r\n\t\t\t<progress-indicator (onClose)=\"closeProgressIndicator()\" *ngIf=\"showProgressIndicator\"></progress-indicator>\r\n\t\t</div>\r\n\t</ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<!-- templates used for else blocks in target container -->\r\n<ng-template #translatedTextBlock>\r\n\t<div [class.translated-source-overflow]=\"targetWrapperOverflow\" class=\"translated-source\">\r\n\t\t<ng-container *ngIf=\"!urlToTranslate\">\r\n\t\t\t<div class=\"target-wrapper-action-buttons\">\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated\"\r\n\t\t\t\t\tclass=\"tld-copy-translation\"\r\n\t\t\t\t\t(click)=\"copy()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t\t[attr.aria-describedby]=\"copyMessageId\"\r\n\t\t\t\t\t[attr.Id]=\"copyButtonId\"\r\n\t\t\t\t\t(keydown.Tab)=\"switchFocusFromCopy($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated || translationError\"\r\n\t\t\t\t\tclass=\"tld-refresh-translation\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.REFRESH' | translate\"\r\n\t\t\t\t\t(click)=\"refresh()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REFRESH' | translate\"> refresh </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<div [matTooltip]=\"'TLD_TRANSLATE.REPHRASE.TOOLTIP' | translate\">\r\n\t\t\t\t\t@if (isLlmEnabled && firstParagraphTranslated) {\r\n\t\t\t\t\t<lib-new-feature-dialog-wrapper\r\n\t\t\t\t\t\t#rephraseFeature\r\n\t\t\t\t\t\t[titleLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.TITLE'\"\r\n\t\t\t\t\t\t[descriptionLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.DESCRIPTION'\"\r\n\t\t\t\t\t\t[closeLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.CLOSE'\"\r\n\t\t\t\t\t\t[featureClassName]=\"'tld-rephrase'\"\r\n\t\t\t\t\t\t[featureLocalStorageKey]=\"rephraseFeatureLocalStorageKey\"\r\n\t\t\t\t\t\t[timeout]=\"1000\"\r\n\t\t\t\t\t\t[maxWidth]=\"400\"\r\n\t\t\t\t\t\t[mobileScreenCustomPosition]=\"{autoScroll: true, left: '10px', top: '30%'}\"\r\n\t\t\t\t\t></lib-new-feature-dialog-wrapper>\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\t\tclass=\"tld-rephrase\"\r\n\t\t\t\t\t\t\t[class.rephrase-feature-active]=\"rephraseFeature?.featureActive()\"\r\n\t\t\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing\"\r\n\t\t\t\t\t\t\t(click)=\"showRephraseOptions()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<mat-icon [svgIcon]=\"'rephrase'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REPHRASE' | translate\"></mat-icon>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div [matTooltip]=\"(isTextSummarizable ? 'TOOLTIPS.CREATE_SUMMARY' : 'TLD_TRANSLATE.SUMMARY.DISABLED') | translate\">\r\n\t\t\t\t\t@if (isLlmEnabled && firstParagraphTranslated) {\r\n\t\t\t\t\t<lib-new-feature-dialog-wrapper\r\n\t\t\t\t\t\t#summarizeFeature\r\n\t\t\t\t\t\t[titleLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.TITLE'\"\r\n\t\t\t\t\t\t[descriptionLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.DESCRIPTION'\"\r\n\t\t\t\t\t\t[closeLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.CLOSE'\"\r\n\t\t\t\t\t\t[featureClassName]=\"'tld-create-summary'\"\r\n\t\t\t\t\t\t[featureLocalStorageKey]=\"summarizeFeatureLocalStorageKey\"\r\n\t\t\t\t\t\t[mobileScreenCustomPosition]=\"{autoScroll: true, left: '10px', top: '30%'}\"\r\n\t\t\t\t\t\t[timeout]=\"1000\"\r\n\t\t\t\t\t></lib-new-feature-dialog-wrapper>\r\n\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\tclass=\"tld-create-summary\"\r\n\t\t\t\t\t\t[class.summarize-feature-active]=\"summarizeFeature?.featureActive()\"\r\n\t\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing || !isTextSummarizable\"\r\n\t\t\t\t\t\t(click)=\"createSummary()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<mat-icon [svgIcon]=\"'summarize'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.CREATE_SUMMARY' | translate\"></mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<tld-text-to-speech *ngIf=\"textToSpeechTargetSettings && firstParagraphTranslated\" [settings]=\"textToSpeechTargetSettings\"> </tld-text-to-speech>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"highlight-tree-wrapper\">\r\n\t\t\t\t<tld-highlight-tree *ngFor=\"let paragraph of targetParagraphs\" [highlight]=\"highlight\" [tree]=\"paragraph\"> </tld-highlight-tree>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"isSummarazing || summarizedText\" class=\"summary-wrapper\">\r\n\t\t\t\t<p class=\"summary-title\">{{ \"TLD_TRANSLATE.SUMMARY.TITLE\" | translate }}</p>\r\n\r\n\t\t\t\t<p *ngIf=\"isSummarazing\" class=\"creating-progress\">{{ \"TLD_TRANSLATE.SUMMARY.CREATING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n\r\n\t\t\t\t<p [innerHTML]=\"markedSummarizedText\"></p>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"summarizedText\"\r\n\t\t\t\t\t[ngClass.lt-sm]=\"'summary-mobile'\"\r\n\t\t\t\t\tclass=\"summary-copy-btn\"\r\n\t\t\t\t\t(click)=\"copySummarizedText()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"isRephraseActive\" class=\"rephrase-wrapper\">\r\n\t\t\t\t<tld-rephrase [text]=\"translatedText\" [disabled]=\"isTranslating\" [language]=\"targetLanguage\"></tld-rephrase>\r\n\t\t\t</div>\t\r\n\r\n\t\t\t<div *ngIf=\"firstParagraphTranslated && dictionaryEntry\" class=\"dictionary-wrapper\">\r\n\t\t\t\t<tld-dictionary [dictionary]=\"dictionaryEntry\"></tld-dictionary>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<div *ngIf=\"urlToTranslate\" class=\"target-url-container\">\r\n\t\t\t<a [attr.href]=\"translateUrlRedirect\" target=\"_blank\" fxLayoutAlign=\"start center\" class=\"go-to-webtranslate\">\r\n\t\t\t\t{{ urlToTranslate }}\r\n\t\t\t\t<span class=\"material-icons\" color=\"accent\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.OPEN_IN_NEW'\"> open_in_new </span>\r\n\t\t\t</a>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".hidden{display:none}.go-to-webtranslate{word-break:break-all;display:inline}.basic-padding,.target-empty,.target-translated-text{padding:18px}.source-container{border-right:1px solid #cbd2d9;padding:0;overflow:auto}.target-description{margin-top:0}.translated-source,.highlight-tree-wrapper{min-height:210px}.translated-source{position:relative;overflow-y:auto;overflow-x:hidden;flex:1 1 0!important;padding:18px 48px 18px 18px!important}.translated-source.selectable-sentence{cursor:pointer}::ng-deep .target-highlight .tld-highlight-container{padding:18px}.target-wrapper-action-buttons{position:absolute;top:3px;right:3px}.target-wrapper-action-buttons .tld-copy-translation,.target-wrapper-action-buttons .tld-refresh-translation,.target-wrapper-action-buttons tld-text-to-speech{display:block}.target-empty,.target-translated-text{margin:0}tld-dictionary{overflow-y:auto;flex:1 1 0!important}.source-main,.target-main{height:100%}.upload-file-text{color:var(--base-40);font-size:14px;display:inline-block;text-align:left}.file-upload-wrapper{width:100%}.file-upload-wrapper .file-upload-extensions{font-weight:400}.file-upload-max-size{white-space:nowrap}.dictionary-wrapper{margin-top:2rem;border-top:1px solid var(--base-70)}.rephrase-wrapper,.summary-wrapper{position:relative;margin-top:8px;padding-top:12px;border-top:1px solid var(--base-70)}.summary-title{font-size:16px;margin-bottom:.5rem;font-weight:600}.creating-progress{color:var(--base-40)}:host ::ng-deep .dot-loading{clip-path:inset(0 100% 0 0);animation:loading 1.5s steps(4) infinite}.summary-copy-btn{position:absolute;right:-45px;top:20px}.summary-mobile{right:-46px}::ng-deep .summarize-feature-active,::ng-deep .rephrase-feature-active{z-index:1001;background-color:#fff}@keyframes loading{to{clip-path:inset(0 -34% 0 0)}}\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: "component", type: SourceAndTargetWrapperComponent, selector: "tld-source-and-target-wrapper", inputs: ["clearSourceVisible", "clearSourceTooltip", "clearDisabled", "textToSpeechSourceSettings"], outputs: ["onSourceClear"] }, { kind: "component", type: TldDictateComponent, selector: "tld-dictate", inputs: ["configuration", "systemId"], outputs: ["result", "partialResult", "isDictating", "onError"] }, { kind: "component", type: i5.OpenExtensionDialogComponent, selector: "lib-open-extension-dialog", inputs: ["extensions"] }, { kind: "component", type: TextToSpeechComponent, selector: "tld-text-to-speech", inputs: ["settings"] }, { 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: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.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: i3.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: i3.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: i3.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: i5$1.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: i5$1.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: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.NewFeatureDialogWrapperComponent, selector: "lib-new-feature-dialog-wrapper", inputs: ["titleLocalizationKey", "descriptionLocalizationKey", "closeLocalizationKey", "featureClassName", "featureLocalStorageKey", "timeout", "maxWidth", "mobileScreenCustomPosition"] }, { kind: "component", type: RephraseComponent, selector: "tld-rephrase", inputs: ["text", "language", "disabled"] }, { kind: "component", type: TldTranslateSourceComponent, selector: "tld-translate-source", inputs: ["textareaDisabled", "sourceParagraphs"] }, { kind: "component", type: TldDictionaryComponent, selector: "tld-dictionary", inputs: ["dictionary"] }, { kind: "component", type: HighlightTreeComponent, selector: "tld-highlight-tree", inputs: ["tree", "isSource", "highlight"] }, { kind: "component", type: ProgressIndicatorComponent, selector: "progress-indicator", outputs: ["onClose"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
9401
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.1", type: TldTranslateTextComponent, isStandalone: false, selector: "tld-translate-text", inputs: { filePreviewProgress: "filePreviewProgress" }, outputs: { onFileChange: "onFileChange" }, viewQueries: [{ propertyName: "sourceComponent", first: true, predicate: ["sourceComponent"], descendants: true }, { propertyName: "dictateComponent", first: true, predicate: ["dictate"], descendants: true }], ngImport: i0, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component\r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper\r\n\t[textToSpeechSourceSettings]=\"textToSpeechSourceSettings\"\r\n\t[clearSourceVisible]=\"source?.length > 0\"\r\n\t(onSourceClear)=\"clearSource()\"\r\n\t[clearDisabled]=\"textareaDisabled\"\r\n\t[clearSourceTooltip]=\"'TLD_TRANSLATE.CLEAR_SOURCE_TOOLTIP'\"\r\n\t[ngClass]=\"{ 'highlight-active': highlight, 'empty-target': isEmptyTarget }\"\r\n>\r\n\t<div sourceMain class=\"source-main\" fxLayout=\"column\">\r\n\t\t<tld-translate-source [textareaDisabled]=\"textareaDisabled\" #sourceComponent fxFlex [sourceParagraphs]=\"sourceParagraphs\"></tld-translate-source>\r\n\t</div>\r\n\t<ng-container dictation *ngIf=\"audioInputVisible()\">\r\n\t\t<tld-dictate\r\n\t\t\t#dictate\r\n\t\t\t[configuration]=\"dictateConfig\"\r\n\t\t\t[ngClass]=\"{ 'full-width': !fileUpload }\"\r\n\t\t\t(isDictating)=\"dictateStartStop($event)\"\r\n\t\t\t(result)=\"dictateResult($event)\"\r\n\t\t\t(partialResult)=\"dictatePartialResult($event)\"\r\n\t\t\t(onError)=\"dictateError($event)\"\r\n\t\t\t[systemId]=\"onlineAsrSystemId()\"\r\n\t\t>\r\n\t\t</tld-dictate>\r\n\t</ng-container>\r\n\r\n\t<button compactUpload mat-icon-button [matTooltip]=\"'TOOLTIPS.UPLOAD' | translate\" [disabled]=\"fileUploadDisabled\" (click)=\"openFileUpload()\">\r\n\t\t<mat-icon [svgIcon]=\"'upload'\"></mat-icon>\r\n\t</button>\r\n\r\n\t<ng-container sourceActions>\r\n\t\t<div fxLayoutAlign=\"start center\" [class.basic-padding]=\"fileUpload\" fxLayoutGap=\"1em\">\r\n\t\t\t<div [class.hidden]=\"!fileUpload\" class=\"file-upload-wrapper\">\r\n\t\t\t\t<lib-file-upload\r\n\t\t\t\t\t(fileChange)=\"fileChange($event)\"\r\n\t\t\t\t\t[accept]=\"allowedFileTypes\"\r\n\t\t\t\t\t[maxSize]=\"maxFileUploadSize\"\r\n\t\t\t\t\t[uploadIconName]=\"uploadIconName\"\r\n\t\t\t\t\t[extendedAcceptList]=\"extendedFileTypes\"\r\n\t\t\t\t\t[multiple]=\"multipleFiles\"\r\n\t\t\t\t\t(errorEvent)=\"fileUploadError($event)\"\r\n\t\t\t\t\t[filePreviewProgress]=\"filePreviewProgress\"\r\n\t\t\t\t\t[disabled]=\"fileUploadDisabled\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"upload-file-text\">\r\n\t\t\t\t\t\t<span class=\"info\">\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n\t\t\t\t\t\t\t<span> </span>\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span>\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.' + (multipleFiles ? 'FILES' : 'FILE') | translate\" [ngClass.lt-sm]=\"'accent-color'\"></span>\r\n\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t<span class=\"file-upload-extensions text-m\">\r\n\t\t\t\t\t\t\t( <span>{{ visibleExtensions }}.</span> \r\n\t\t\t\t\t\t\t<span *ngIf=\"maxSizeMB\" class=\"file-upload-max-size\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate : { maxSizeMB: maxSizeMB }\"></span> )\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</lib-file-upload>\r\n\t\t\t\t<lib-open-extension-dialog *ngIf=\"showExtensionPopup\" [extensions]=\"allowedTypesWithoutDots\"> </lib-open-extension-dialog>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n\r\n\t<div targetMain class=\"target-main\">\r\n\t\t<ng-container *ngIf=\"isEmptyTarget; else translatedTextBlock\">\r\n\t\t\t<p *ngIf=\"showTargetPlaceholder\" class=\"description-text target-empty\" [innerHtml]=\"'TLD_TRANSLATE.TARGET_DESCRIPTION' | translate\"></p>\r\n\t\t</ng-container>\r\n\t</div>\r\n\r\n\t<ng-container targetActions>\r\n\t\t<div class=\"tld-translate-target-footer basic-padding\" *ngIf=\"showProgressIndicator\">\r\n\t\t\t<progress-indicator (onClose)=\"closeProgressIndicator()\" *ngIf=\"showProgressIndicator\"></progress-indicator>\r\n\t\t</div>\r\n\t</ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<!-- templates used for else blocks in target container -->\r\n<ng-template #translatedTextBlock>\r\n\t<div [class.translated-source-overflow]=\"targetWrapperOverflow\" class=\"translated-source\">\r\n\t\t<ng-container *ngIf=\"!urlToTranslate\">\r\n\t\t\t<div class=\"target-wrapper-action-buttons\">\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated\"\r\n\t\t\t\t\tclass=\"tld-copy-translation\"\r\n\t\t\t\t\t(click)=\"copy()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t\t[attr.aria-describedby]=\"copyMessageId\"\r\n\t\t\t\t\t[attr.Id]=\"copyButtonId\"\r\n\t\t\t\t\t(keydown.Tab)=\"switchFocusFromCopy($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated || translationError\"\r\n\t\t\t\t\tclass=\"tld-refresh-translation\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.REFRESH' | translate\"\r\n\t\t\t\t\t(click)=\"refresh()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REFRESH' | translate\"> refresh </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<div [matTooltip]=\"'TLD_TRANSLATE.REPHRASE.TOOLTIP' | translate\">\r\n\t\t\t\t\t@if (isLlmEnabled && firstParagraphTranslated) {\r\n\t\t\t\t\t<lib-new-feature-dialog-wrapper\r\n\t\t\t\t\t\t#rephraseFeature\r\n\t\t\t\t\t\t[titleLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.TITLE'\"\r\n\t\t\t\t\t\t[descriptionLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.DESCRIPTION'\"\r\n\t\t\t\t\t\t[closeLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.CLOSE'\"\r\n\t\t\t\t\t\t[featureClassName]=\"'tld-rephrase'\"\r\n\t\t\t\t\t\t[featureLocalStorageKey]=\"rephraseFeatureLocalStorageKey\"\r\n\t\t\t\t\t\t[timeout]=\"1000\"\r\n\t\t\t\t\t\t[maxWidth]=\"400\"\r\n\t\t\t\t\t\t[mobileScreenCustomPosition]=\"{autoScroll: true, left: '10px', top: '30%'}\"\r\n\t\t\t\t\t></lib-new-feature-dialog-wrapper>\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\t\tclass=\"tld-rephrase\"\r\n\t\t\t\t\t\t\t[class.rephrase-feature-active]=\"rephraseFeature?.featureActive()\"\r\n\t\t\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing\"\r\n\t\t\t\t\t\t\t(click)=\"showRephraseOptions()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<mat-icon [svgIcon]=\"'rephrase'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REPHRASE' | translate\"></mat-icon>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div [matTooltip]=\"(isTextSummarizable ? 'TOOLTIPS.CREATE_SUMMARY' : 'TLD_TRANSLATE.SUMMARY.DISABLED') | translate\">\r\n\t\t\t\t\t@if (isLlmEnabled && firstParagraphTranslated) {\r\n\t\t\t\t\t<lib-new-feature-dialog-wrapper\r\n\t\t\t\t\t\t#summarizeFeature\r\n\t\t\t\t\t\t[titleLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.TITLE'\"\r\n\t\t\t\t\t\t[descriptionLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.DESCRIPTION'\"\r\n\t\t\t\t\t\t[closeLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.CLOSE'\"\r\n\t\t\t\t\t\t[featureClassName]=\"'tld-create-summary'\"\r\n\t\t\t\t\t\t[featureLocalStorageKey]=\"summarizeFeatureLocalStorageKey\"\r\n\t\t\t\t\t\t[mobileScreenCustomPosition]=\"{autoScroll: true, left: '10px', top: '30%'}\"\r\n\t\t\t\t\t\t[timeout]=\"1000\"\r\n\t\t\t\t\t></lib-new-feature-dialog-wrapper>\r\n\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\tclass=\"tld-create-summary\"\r\n\t\t\t\t\t\t[class.summarize-feature-active]=\"summarizeFeature?.featureActive()\"\r\n\t\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing || !isTextSummarizable\"\r\n\t\t\t\t\t\t(click)=\"createSummary()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<mat-icon [svgIcon]=\"'summarize'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.CREATE_SUMMARY' | translate\"></mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<tld-text-to-speech *ngIf=\"textToSpeechTargetSettings && firstParagraphTranslated\" [settings]=\"textToSpeechTargetSettings\"> </tld-text-to-speech>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"highlight-tree-wrapper\">\r\n\t\t\t\t<tld-highlight-tree *ngFor=\"let paragraph of targetParagraphs\" [highlight]=\"highlight\" [tree]=\"paragraph\"> </tld-highlight-tree>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"isSummarazing || summarizedText\" class=\"summary-wrapper\">\r\n\t\t\t\t<p class=\"summary-title\">{{ \"TLD_TRANSLATE.SUMMARY.TITLE\" | translate }}</p>\r\n\r\n\t\t\t\t<p *ngIf=\"isSummarazing\" class=\"creating-progress\">{{ \"TLD_TRANSLATE.SUMMARY.CREATING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n\r\n\t\t\t\t<p [innerHTML]=\"markedSummarizedText\"></p>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"summarizedText\"\r\n\t\t\t\t\t[ngClass.lt-sm]=\"'summary-mobile'\"\r\n\t\t\t\t\tclass=\"summary-copy-btn\"\r\n\t\t\t\t\t(click)=\"copySummarizedText()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"isRephraseActive\" class=\"rephrase-wrapper\">\r\n\t\t\t\t<tld-rephrase [text]=\"translatedText\" [disabled]=\"isTranslating\" [language]=\"targetLanguage\"></tld-rephrase>\r\n\t\t\t</div>\t\r\n\r\n\t\t\t<div *ngIf=\"firstParagraphTranslated && dictionaryEntry\" class=\"dictionary-wrapper\">\r\n\t\t\t\t<tld-dictionary [dictionary]=\"dictionaryEntry\"></tld-dictionary>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<div *ngIf=\"urlToTranslate\" class=\"target-url-container\">\r\n\t\t\t<a [attr.href]=\"translateUrlRedirect\" target=\"_blank\" fxLayoutAlign=\"start center\" class=\"go-to-webtranslate\">\r\n\t\t\t\t{{ urlToTranslate }}\r\n\t\t\t\t<span class=\"material-icons\" color=\"accent\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.OPEN_IN_NEW'\"> open_in_new </span>\r\n\t\t\t</a>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".hidden{display:none}.go-to-webtranslate{word-break:break-all;display:inline}.basic-padding,.target-empty,.target-translated-text{padding:18px}.source-container{border-right:1px solid #cbd2d9;padding:0;overflow:auto}.target-description{margin-top:0}.translated-source,.highlight-tree-wrapper{min-height:210px}.translated-source{position:relative;overflow-y:auto;overflow-x:hidden;flex:1 1 0!important;padding:18px 48px 18px 18px!important}.translated-source.selectable-sentence{cursor:pointer}::ng-deep .target-highlight .tld-highlight-container{padding:18px}.target-wrapper-action-buttons{position:absolute;top:3px;right:3px}.target-wrapper-action-buttons .tld-copy-translation,.target-wrapper-action-buttons .tld-refresh-translation,.target-wrapper-action-buttons tld-text-to-speech{display:block}.target-empty,.target-translated-text{margin:0}tld-dictionary{overflow-y:auto;flex:1 1 0!important}.source-main,.target-main{height:100%}.upload-file-text{color:var(--base-40);font-size:.875rem;display:inline-block;text-align:left}.file-upload-wrapper{width:100%}.file-upload-wrapper .file-upload-extensions{font-weight:400}.file-upload-max-size{white-space:nowrap}.dictionary-wrapper{margin-top:2rem;border-top:1px solid var(--base-70)}.rephrase-wrapper,.summary-wrapper{position:relative;margin-top:8px;padding-top:12px;border-top:1px solid var(--base-70)}.summary-title{font-size:1rem;margin-bottom:.5rem;font-weight:600}.creating-progress{color:var(--base-40)}:host ::ng-deep .dot-loading{clip-path:inset(0 100% 0 0);animation:loading 1.5s steps(4) infinite}.summary-copy-btn{position:absolute;right:-45px;top:20px}.summary-mobile{right:-46px}::ng-deep .summarize-feature-active,::ng-deep .rephrase-feature-active{z-index:1001;background-color:#fff}@keyframes loading{to{clip-path:inset(0 -34% 0 0)}}\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: "component", type: SourceAndTargetWrapperComponent, selector: "tld-source-and-target-wrapper", inputs: ["clearSourceVisible", "clearSourceTooltip", "clearDisabled", "textToSpeechSourceSettings"], outputs: ["onSourceClear"] }, { kind: "component", type: TldDictateComponent, selector: "tld-dictate", inputs: ["configuration", "systemId"], outputs: ["result", "partialResult", "isDictating", "onError"] }, { kind: "component", type: i5.OpenExtensionDialogComponent, selector: "lib-open-extension-dialog", inputs: ["extensions"] }, { kind: "component", type: TextToSpeechComponent, selector: "tld-text-to-speech", inputs: ["settings"] }, { 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: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i3.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: i3.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: i3.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: i3.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: i5$1.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: i5$1.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: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.NewFeatureDialogWrapperComponent, selector: "lib-new-feature-dialog-wrapper", inputs: ["titleLocalizationKey", "descriptionLocalizationKey", "closeLocalizationKey", "featureClassName", "featureLocalStorageKey", "timeout", "maxWidth", "mobileScreenCustomPosition"] }, { kind: "component", type: RephraseComponent, selector: "tld-rephrase", inputs: ["text", "language", "disabled"] }, { kind: "component", type: TldTranslateSourceComponent, selector: "tld-translate-source", inputs: ["textareaDisabled", "sourceParagraphs"] }, { kind: "component", type: TldDictionaryComponent, selector: "tld-dictionary", inputs: ["dictionary"] }, { kind: "component", type: HighlightTreeComponent, selector: "tld-highlight-tree", inputs: ["tree", "isSource", "highlight"] }, { kind: "component", type: ProgressIndicatorComponent, selector: "progress-indicator", outputs: ["onClose"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
9402
9402
|
}
|
|
9403
9403
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldTranslateTextComponent, decorators: [{
|
|
9404
9404
|
type: Component,
|
|
9405
|
-
args: [{ selector: 'tld-translate-text', standalone: false, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component\r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper\r\n\t[textToSpeechSourceSettings]=\"textToSpeechSourceSettings\"\r\n\t[clearSourceVisible]=\"source?.length > 0\"\r\n\t(onSourceClear)=\"clearSource()\"\r\n\t[clearDisabled]=\"textareaDisabled\"\r\n\t[clearSourceTooltip]=\"'TLD_TRANSLATE.CLEAR_SOURCE_TOOLTIP'\"\r\n\t[ngClass]=\"{ 'highlight-active': highlight, 'empty-target': isEmptyTarget }\"\r\n>\r\n\t<div sourceMain class=\"source-main\" fxLayout=\"column\">\r\n\t\t<tld-translate-source [textareaDisabled]=\"textareaDisabled\" #sourceComponent fxFlex [sourceParagraphs]=\"sourceParagraphs\"></tld-translate-source>\r\n\t</div>\r\n\t<ng-container dictation *ngIf=\"audioInputVisible()\">\r\n\t\t<tld-dictate\r\n\t\t\t#dictate\r\n\t\t\t[configuration]=\"dictateConfig\"\r\n\t\t\t[ngClass]=\"{ 'full-width': !fileUpload }\"\r\n\t\t\t(isDictating)=\"dictateStartStop($event)\"\r\n\t\t\t(result)=\"dictateResult($event)\"\r\n\t\t\t(partialResult)=\"dictatePartialResult($event)\"\r\n\t\t\t(onError)=\"dictateError($event)\"\r\n\t\t\t[systemId]=\"onlineAsrSystemId()\"\r\n\t\t>\r\n\t\t</tld-dictate>\r\n\t</ng-container>\r\n\r\n\t<button compactUpload mat-icon-button [matTooltip]=\"'TOOLTIPS.UPLOAD' | translate\" [disabled]=\"fileUploadDisabled\" (click)=\"openFileUpload()\">\r\n\t\t<mat-icon [svgIcon]=\"'upload'\"></mat-icon>\r\n\t</button>\r\n\r\n\t<ng-container sourceActions>\r\n\t\t<div fxLayoutAlign=\"start center\" [class.basic-padding]=\"fileUpload\" fxLayoutGap=\"1em\">\r\n\t\t\t<div [class.hidden]=\"!fileUpload\" class=\"file-upload-wrapper\">\r\n\t\t\t\t<lib-file-upload\r\n\t\t\t\t\t(fileChange)=\"fileChange($event)\"\r\n\t\t\t\t\t[accept]=\"allowedFileTypes\"\r\n\t\t\t\t\t[maxSize]=\"maxFileUploadSize\"\r\n\t\t\t\t\t[uploadIconName]=\"uploadIconName\"\r\n\t\t\t\t\t[extendedAcceptList]=\"extendedFileTypes\"\r\n\t\t\t\t\t[multiple]=\"multipleFiles\"\r\n\t\t\t\t\t(errorEvent)=\"fileUploadError($event)\"\r\n\t\t\t\t\t[filePreviewProgress]=\"filePreviewProgress\"\r\n\t\t\t\t\t[disabled]=\"fileUploadDisabled\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"upload-file-text\">\r\n\t\t\t\t\t\t<span class=\"info\">\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n\t\t\t\t\t\t\t<span> </span>\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span>\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.' + (multipleFiles ? 'FILES' : 'FILE') | translate\" [ngClass.lt-sm]=\"'accent-color'\"></span>\r\n\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t<span class=\"file-upload-extensions text-m\">\r\n\t\t\t\t\t\t\t( <span>{{ visibleExtensions }}.</span> \r\n\t\t\t\t\t\t\t<span *ngIf=\"maxSizeMB\" class=\"file-upload-max-size\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate : { maxSizeMB: maxSizeMB }\"></span> )\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</lib-file-upload>\r\n\t\t\t\t<lib-open-extension-dialog *ngIf=\"showExtensionPopup\" [extensions]=\"allowedTypesWithoutDots\"> </lib-open-extension-dialog>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n\r\n\t<div targetMain class=\"target-main\">\r\n\t\t<ng-container *ngIf=\"isEmptyTarget; else translatedTextBlock\">\r\n\t\t\t<p *ngIf=\"showTargetPlaceholder\" class=\"description-text target-empty\" [innerHtml]=\"'TLD_TRANSLATE.TARGET_DESCRIPTION' | translate\"></p>\r\n\t\t</ng-container>\r\n\t</div>\r\n\r\n\t<ng-container targetActions>\r\n\t\t<div class=\"tld-translate-target-footer basic-padding\" *ngIf=\"showProgressIndicator\">\r\n\t\t\t<progress-indicator (onClose)=\"closeProgressIndicator()\" *ngIf=\"showProgressIndicator\"></progress-indicator>\r\n\t\t</div>\r\n\t</ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<!-- templates used for else blocks in target container -->\r\n<ng-template #translatedTextBlock>\r\n\t<div [class.translated-source-overflow]=\"targetWrapperOverflow\" class=\"translated-source\">\r\n\t\t<ng-container *ngIf=\"!urlToTranslate\">\r\n\t\t\t<div class=\"target-wrapper-action-buttons\">\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated\"\r\n\t\t\t\t\tclass=\"tld-copy-translation\"\r\n\t\t\t\t\t(click)=\"copy()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t\t[attr.aria-describedby]=\"copyMessageId\"\r\n\t\t\t\t\t[attr.Id]=\"copyButtonId\"\r\n\t\t\t\t\t(keydown.Tab)=\"switchFocusFromCopy($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated || translationError\"\r\n\t\t\t\t\tclass=\"tld-refresh-translation\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.REFRESH' | translate\"\r\n\t\t\t\t\t(click)=\"refresh()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REFRESH' | translate\"> refresh </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<div [matTooltip]=\"'TLD_TRANSLATE.REPHRASE.TOOLTIP' | translate\">\r\n\t\t\t\t\t@if (isLlmEnabled && firstParagraphTranslated) {\r\n\t\t\t\t\t<lib-new-feature-dialog-wrapper\r\n\t\t\t\t\t\t#rephraseFeature\r\n\t\t\t\t\t\t[titleLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.TITLE'\"\r\n\t\t\t\t\t\t[descriptionLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.DESCRIPTION'\"\r\n\t\t\t\t\t\t[closeLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.CLOSE'\"\r\n\t\t\t\t\t\t[featureClassName]=\"'tld-rephrase'\"\r\n\t\t\t\t\t\t[featureLocalStorageKey]=\"rephraseFeatureLocalStorageKey\"\r\n\t\t\t\t\t\t[timeout]=\"1000\"\r\n\t\t\t\t\t\t[maxWidth]=\"400\"\r\n\t\t\t\t\t\t[mobileScreenCustomPosition]=\"{autoScroll: true, left: '10px', top: '30%'}\"\r\n\t\t\t\t\t></lib-new-feature-dialog-wrapper>\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\t\tclass=\"tld-rephrase\"\r\n\t\t\t\t\t\t\t[class.rephrase-feature-active]=\"rephraseFeature?.featureActive()\"\r\n\t\t\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing\"\r\n\t\t\t\t\t\t\t(click)=\"showRephraseOptions()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<mat-icon [svgIcon]=\"'rephrase'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REPHRASE' | translate\"></mat-icon>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div [matTooltip]=\"(isTextSummarizable ? 'TOOLTIPS.CREATE_SUMMARY' : 'TLD_TRANSLATE.SUMMARY.DISABLED') | translate\">\r\n\t\t\t\t\t@if (isLlmEnabled && firstParagraphTranslated) {\r\n\t\t\t\t\t<lib-new-feature-dialog-wrapper\r\n\t\t\t\t\t\t#summarizeFeature\r\n\t\t\t\t\t\t[titleLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.TITLE'\"\r\n\t\t\t\t\t\t[descriptionLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.DESCRIPTION'\"\r\n\t\t\t\t\t\t[closeLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.CLOSE'\"\r\n\t\t\t\t\t\t[featureClassName]=\"'tld-create-summary'\"\r\n\t\t\t\t\t\t[featureLocalStorageKey]=\"summarizeFeatureLocalStorageKey\"\r\n\t\t\t\t\t\t[mobileScreenCustomPosition]=\"{autoScroll: true, left: '10px', top: '30%'}\"\r\n\t\t\t\t\t\t[timeout]=\"1000\"\r\n\t\t\t\t\t></lib-new-feature-dialog-wrapper>\r\n\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\tclass=\"tld-create-summary\"\r\n\t\t\t\t\t\t[class.summarize-feature-active]=\"summarizeFeature?.featureActive()\"\r\n\t\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing || !isTextSummarizable\"\r\n\t\t\t\t\t\t(click)=\"createSummary()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<mat-icon [svgIcon]=\"'summarize'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.CREATE_SUMMARY' | translate\"></mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<tld-text-to-speech *ngIf=\"textToSpeechTargetSettings && firstParagraphTranslated\" [settings]=\"textToSpeechTargetSettings\"> </tld-text-to-speech>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"highlight-tree-wrapper\">\r\n\t\t\t\t<tld-highlight-tree *ngFor=\"let paragraph of targetParagraphs\" [highlight]=\"highlight\" [tree]=\"paragraph\"> </tld-highlight-tree>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"isSummarazing || summarizedText\" class=\"summary-wrapper\">\r\n\t\t\t\t<p class=\"summary-title\">{{ \"TLD_TRANSLATE.SUMMARY.TITLE\" | translate }}</p>\r\n\r\n\t\t\t\t<p *ngIf=\"isSummarazing\" class=\"creating-progress\">{{ \"TLD_TRANSLATE.SUMMARY.CREATING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n\r\n\t\t\t\t<p [innerHTML]=\"markedSummarizedText\"></p>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"summarizedText\"\r\n\t\t\t\t\t[ngClass.lt-sm]=\"'summary-mobile'\"\r\n\t\t\t\t\tclass=\"summary-copy-btn\"\r\n\t\t\t\t\t(click)=\"copySummarizedText()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"isRephraseActive\" class=\"rephrase-wrapper\">\r\n\t\t\t\t<tld-rephrase [text]=\"translatedText\" [disabled]=\"isTranslating\" [language]=\"targetLanguage\"></tld-rephrase>\r\n\t\t\t</div>\t\r\n\r\n\t\t\t<div *ngIf=\"firstParagraphTranslated && dictionaryEntry\" class=\"dictionary-wrapper\">\r\n\t\t\t\t<tld-dictionary [dictionary]=\"dictionaryEntry\"></tld-dictionary>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<div *ngIf=\"urlToTranslate\" class=\"target-url-container\">\r\n\t\t\t<a [attr.href]=\"translateUrlRedirect\" target=\"_blank\" fxLayoutAlign=\"start center\" class=\"go-to-webtranslate\">\r\n\t\t\t\t{{ urlToTranslate }}\r\n\t\t\t\t<span class=\"material-icons\" color=\"accent\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.OPEN_IN_NEW'\"> open_in_new </span>\r\n\t\t\t</a>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".hidden{display:none}.go-to-webtranslate{word-break:break-all;display:inline}.basic-padding,.target-empty,.target-translated-text{padding:18px}.source-container{border-right:1px solid #cbd2d9;padding:0;overflow:auto}.target-description{margin-top:0}.translated-source,.highlight-tree-wrapper{min-height:210px}.translated-source{position:relative;overflow-y:auto;overflow-x:hidden;flex:1 1 0!important;padding:18px 48px 18px 18px!important}.translated-source.selectable-sentence{cursor:pointer}::ng-deep .target-highlight .tld-highlight-container{padding:18px}.target-wrapper-action-buttons{position:absolute;top:3px;right:3px}.target-wrapper-action-buttons .tld-copy-translation,.target-wrapper-action-buttons .tld-refresh-translation,.target-wrapper-action-buttons tld-text-to-speech{display:block}.target-empty,.target-translated-text{margin:0}tld-dictionary{overflow-y:auto;flex:1 1 0!important}.source-main,.target-main{height:100%}.upload-file-text{color:var(--base-40);font-size:14px;display:inline-block;text-align:left}.file-upload-wrapper{width:100%}.file-upload-wrapper .file-upload-extensions{font-weight:400}.file-upload-max-size{white-space:nowrap}.dictionary-wrapper{margin-top:2rem;border-top:1px solid var(--base-70)}.rephrase-wrapper,.summary-wrapper{position:relative;margin-top:8px;padding-top:12px;border-top:1px solid var(--base-70)}.summary-title{font-size:16px;margin-bottom:.5rem;font-weight:600}.creating-progress{color:var(--base-40)}:host ::ng-deep .dot-loading{clip-path:inset(0 100% 0 0);animation:loading 1.5s steps(4) infinite}.summary-copy-btn{position:absolute;right:-45px;top:20px}.summary-mobile{right:-46px}::ng-deep .summarize-feature-active,::ng-deep .rephrase-feature-active{z-index:1001;background-color:#fff}@keyframes loading{to{clip-path:inset(0 -34% 0 0)}}\n"] }]
|
|
9405
|
+
args: [{ selector: 'tld-translate-text', standalone: false, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component\r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper\r\n\t[textToSpeechSourceSettings]=\"textToSpeechSourceSettings\"\r\n\t[clearSourceVisible]=\"source?.length > 0\"\r\n\t(onSourceClear)=\"clearSource()\"\r\n\t[clearDisabled]=\"textareaDisabled\"\r\n\t[clearSourceTooltip]=\"'TLD_TRANSLATE.CLEAR_SOURCE_TOOLTIP'\"\r\n\t[ngClass]=\"{ 'highlight-active': highlight, 'empty-target': isEmptyTarget }\"\r\n>\r\n\t<div sourceMain class=\"source-main\" fxLayout=\"column\">\r\n\t\t<tld-translate-source [textareaDisabled]=\"textareaDisabled\" #sourceComponent fxFlex [sourceParagraphs]=\"sourceParagraphs\"></tld-translate-source>\r\n\t</div>\r\n\t<ng-container dictation *ngIf=\"audioInputVisible()\">\r\n\t\t<tld-dictate\r\n\t\t\t#dictate\r\n\t\t\t[configuration]=\"dictateConfig\"\r\n\t\t\t[ngClass]=\"{ 'full-width': !fileUpload }\"\r\n\t\t\t(isDictating)=\"dictateStartStop($event)\"\r\n\t\t\t(result)=\"dictateResult($event)\"\r\n\t\t\t(partialResult)=\"dictatePartialResult($event)\"\r\n\t\t\t(onError)=\"dictateError($event)\"\r\n\t\t\t[systemId]=\"onlineAsrSystemId()\"\r\n\t\t>\r\n\t\t</tld-dictate>\r\n\t</ng-container>\r\n\r\n\t<button compactUpload mat-icon-button [matTooltip]=\"'TOOLTIPS.UPLOAD' | translate\" [disabled]=\"fileUploadDisabled\" (click)=\"openFileUpload()\">\r\n\t\t<mat-icon [svgIcon]=\"'upload'\"></mat-icon>\r\n\t</button>\r\n\r\n\t<ng-container sourceActions>\r\n\t\t<div fxLayoutAlign=\"start center\" [class.basic-padding]=\"fileUpload\" fxLayoutGap=\"1em\">\r\n\t\t\t<div [class.hidden]=\"!fileUpload\" class=\"file-upload-wrapper\">\r\n\t\t\t\t<lib-file-upload\r\n\t\t\t\t\t(fileChange)=\"fileChange($event)\"\r\n\t\t\t\t\t[accept]=\"allowedFileTypes\"\r\n\t\t\t\t\t[maxSize]=\"maxFileUploadSize\"\r\n\t\t\t\t\t[uploadIconName]=\"uploadIconName\"\r\n\t\t\t\t\t[extendedAcceptList]=\"extendedFileTypes\"\r\n\t\t\t\t\t[multiple]=\"multipleFiles\"\r\n\t\t\t\t\t(errorEvent)=\"fileUploadError($event)\"\r\n\t\t\t\t\t[filePreviewProgress]=\"filePreviewProgress\"\r\n\t\t\t\t\t[disabled]=\"fileUploadDisabled\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"upload-file-text\">\r\n\t\t\t\t\t\t<span class=\"info\">\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n\t\t\t\t\t\t\t<span> </span>\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span>\r\n\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.' + (multipleFiles ? 'FILES' : 'FILE') | translate\" [ngClass.lt-sm]=\"'accent-color'\"></span>\r\n\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t<span class=\"file-upload-extensions text-m\">\r\n\t\t\t\t\t\t\t( <span>{{ visibleExtensions }}.</span> \r\n\t\t\t\t\t\t\t<span *ngIf=\"maxSizeMB\" class=\"file-upload-max-size\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate : { maxSizeMB: maxSizeMB }\"></span> )\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</lib-file-upload>\r\n\t\t\t\t<lib-open-extension-dialog *ngIf=\"showExtensionPopup\" [extensions]=\"allowedTypesWithoutDots\"> </lib-open-extension-dialog>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n\r\n\t<div targetMain class=\"target-main\">\r\n\t\t<ng-container *ngIf=\"isEmptyTarget; else translatedTextBlock\">\r\n\t\t\t<p *ngIf=\"showTargetPlaceholder\" class=\"description-text target-empty\" [innerHtml]=\"'TLD_TRANSLATE.TARGET_DESCRIPTION' | translate\"></p>\r\n\t\t</ng-container>\r\n\t</div>\r\n\r\n\t<ng-container targetActions>\r\n\t\t<div class=\"tld-translate-target-footer basic-padding\" *ngIf=\"showProgressIndicator\">\r\n\t\t\t<progress-indicator (onClose)=\"closeProgressIndicator()\" *ngIf=\"showProgressIndicator\"></progress-indicator>\r\n\t\t</div>\r\n\t</ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<!-- templates used for else blocks in target container -->\r\n<ng-template #translatedTextBlock>\r\n\t<div [class.translated-source-overflow]=\"targetWrapperOverflow\" class=\"translated-source\">\r\n\t\t<ng-container *ngIf=\"!urlToTranslate\">\r\n\t\t\t<div class=\"target-wrapper-action-buttons\">\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated\"\r\n\t\t\t\t\tclass=\"tld-copy-translation\"\r\n\t\t\t\t\t(click)=\"copy()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t\t[attr.aria-describedby]=\"copyMessageId\"\r\n\t\t\t\t\t[attr.Id]=\"copyButtonId\"\r\n\t\t\t\t\t(keydown.Tab)=\"switchFocusFromCopy($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated || translationError\"\r\n\t\t\t\t\tclass=\"tld-refresh-translation\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.REFRESH' | translate\"\r\n\t\t\t\t\t(click)=\"refresh()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REFRESH' | translate\"> refresh </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<div [matTooltip]=\"'TLD_TRANSLATE.REPHRASE.TOOLTIP' | translate\">\r\n\t\t\t\t\t@if (isLlmEnabled && firstParagraphTranslated) {\r\n\t\t\t\t\t<lib-new-feature-dialog-wrapper\r\n\t\t\t\t\t\t#rephraseFeature\r\n\t\t\t\t\t\t[titleLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.TITLE'\"\r\n\t\t\t\t\t\t[descriptionLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.DESCRIPTION'\"\r\n\t\t\t\t\t\t[closeLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.CLOSE'\"\r\n\t\t\t\t\t\t[featureClassName]=\"'tld-rephrase'\"\r\n\t\t\t\t\t\t[featureLocalStorageKey]=\"rephraseFeatureLocalStorageKey\"\r\n\t\t\t\t\t\t[timeout]=\"1000\"\r\n\t\t\t\t\t\t[maxWidth]=\"400\"\r\n\t\t\t\t\t\t[mobileScreenCustomPosition]=\"{autoScroll: true, left: '10px', top: '30%'}\"\r\n\t\t\t\t\t></lib-new-feature-dialog-wrapper>\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\t\tclass=\"tld-rephrase\"\r\n\t\t\t\t\t\t\t[class.rephrase-feature-active]=\"rephraseFeature?.featureActive()\"\r\n\t\t\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing\"\r\n\t\t\t\t\t\t\t(click)=\"showRephraseOptions()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<mat-icon [svgIcon]=\"'rephrase'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REPHRASE' | translate\"></mat-icon>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div [matTooltip]=\"(isTextSummarizable ? 'TOOLTIPS.CREATE_SUMMARY' : 'TLD_TRANSLATE.SUMMARY.DISABLED') | translate\">\r\n\t\t\t\t\t@if (isLlmEnabled && firstParagraphTranslated) {\r\n\t\t\t\t\t<lib-new-feature-dialog-wrapper\r\n\t\t\t\t\t\t#summarizeFeature\r\n\t\t\t\t\t\t[titleLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.TITLE'\"\r\n\t\t\t\t\t\t[descriptionLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.DESCRIPTION'\"\r\n\t\t\t\t\t\t[closeLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.CLOSE'\"\r\n\t\t\t\t\t\t[featureClassName]=\"'tld-create-summary'\"\r\n\t\t\t\t\t\t[featureLocalStorageKey]=\"summarizeFeatureLocalStorageKey\"\r\n\t\t\t\t\t\t[mobileScreenCustomPosition]=\"{autoScroll: true, left: '10px', top: '30%'}\"\r\n\t\t\t\t\t\t[timeout]=\"1000\"\r\n\t\t\t\t\t></lib-new-feature-dialog-wrapper>\r\n\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\tclass=\"tld-create-summary\"\r\n\t\t\t\t\t\t[class.summarize-feature-active]=\"summarizeFeature?.featureActive()\"\r\n\t\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing || !isTextSummarizable\"\r\n\t\t\t\t\t\t(click)=\"createSummary()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<mat-icon [svgIcon]=\"'summarize'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.CREATE_SUMMARY' | translate\"></mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<tld-text-to-speech *ngIf=\"textToSpeechTargetSettings && firstParagraphTranslated\" [settings]=\"textToSpeechTargetSettings\"> </tld-text-to-speech>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"highlight-tree-wrapper\">\r\n\t\t\t\t<tld-highlight-tree *ngFor=\"let paragraph of targetParagraphs\" [highlight]=\"highlight\" [tree]=\"paragraph\"> </tld-highlight-tree>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"isSummarazing || summarizedText\" class=\"summary-wrapper\">\r\n\t\t\t\t<p class=\"summary-title\">{{ \"TLD_TRANSLATE.SUMMARY.TITLE\" | translate }}</p>\r\n\r\n\t\t\t\t<p *ngIf=\"isSummarazing\" class=\"creating-progress\">{{ \"TLD_TRANSLATE.SUMMARY.CREATING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n\r\n\t\t\t\t<p [innerHTML]=\"markedSummarizedText\"></p>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"summarizedText\"\r\n\t\t\t\t\t[ngClass.lt-sm]=\"'summary-mobile'\"\r\n\t\t\t\t\tclass=\"summary-copy-btn\"\r\n\t\t\t\t\t(click)=\"copySummarizedText()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"isRephraseActive\" class=\"rephrase-wrapper\">\r\n\t\t\t\t<tld-rephrase [text]=\"translatedText\" [disabled]=\"isTranslating\" [language]=\"targetLanguage\"></tld-rephrase>\r\n\t\t\t</div>\t\r\n\r\n\t\t\t<div *ngIf=\"firstParagraphTranslated && dictionaryEntry\" class=\"dictionary-wrapper\">\r\n\t\t\t\t<tld-dictionary [dictionary]=\"dictionaryEntry\"></tld-dictionary>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<div *ngIf=\"urlToTranslate\" class=\"target-url-container\">\r\n\t\t\t<a [attr.href]=\"translateUrlRedirect\" target=\"_blank\" fxLayoutAlign=\"start center\" class=\"go-to-webtranslate\">\r\n\t\t\t\t{{ urlToTranslate }}\r\n\t\t\t\t<span class=\"material-icons\" color=\"accent\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.OPEN_IN_NEW'\"> open_in_new </span>\r\n\t\t\t</a>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".hidden{display:none}.go-to-webtranslate{word-break:break-all;display:inline}.basic-padding,.target-empty,.target-translated-text{padding:18px}.source-container{border-right:1px solid #cbd2d9;padding:0;overflow:auto}.target-description{margin-top:0}.translated-source,.highlight-tree-wrapper{min-height:210px}.translated-source{position:relative;overflow-y:auto;overflow-x:hidden;flex:1 1 0!important;padding:18px 48px 18px 18px!important}.translated-source.selectable-sentence{cursor:pointer}::ng-deep .target-highlight .tld-highlight-container{padding:18px}.target-wrapper-action-buttons{position:absolute;top:3px;right:3px}.target-wrapper-action-buttons .tld-copy-translation,.target-wrapper-action-buttons .tld-refresh-translation,.target-wrapper-action-buttons tld-text-to-speech{display:block}.target-empty,.target-translated-text{margin:0}tld-dictionary{overflow-y:auto;flex:1 1 0!important}.source-main,.target-main{height:100%}.upload-file-text{color:var(--base-40);font-size:.875rem;display:inline-block;text-align:left}.file-upload-wrapper{width:100%}.file-upload-wrapper .file-upload-extensions{font-weight:400}.file-upload-max-size{white-space:nowrap}.dictionary-wrapper{margin-top:2rem;border-top:1px solid var(--base-70)}.rephrase-wrapper,.summary-wrapper{position:relative;margin-top:8px;padding-top:12px;border-top:1px solid var(--base-70)}.summary-title{font-size:1rem;margin-bottom:.5rem;font-weight:600}.creating-progress{color:var(--base-40)}:host ::ng-deep .dot-loading{clip-path:inset(0 100% 0 0);animation:loading 1.5s steps(4) infinite}.summary-copy-btn{position:absolute;right:-45px;top:20px}.summary-mobile{right:-46px}::ng-deep .summarize-feature-active,::ng-deep .rephrase-feature-active{z-index:1001;background-color:#fff}@keyframes loading{to{clip-path:inset(0 -34% 0 0)}}\n"] }]
|
|
9406
9406
|
}], ctorParameters: () => [{ type: TldTranslateTextService }, { type: i2$2.Clipboard }, { type: i5.AlertService }, { type: TldTranslateConfigService }, { type: TldScrollService }, { type: TldTranslateSystemManagementService }, { type: AudioRecordService }, { type: TldVoiceInputService }, { type: TldTranslateFileService }, { type: i5$2.LLMService }, { type: i9.KeycloakService }], propDecorators: { sourceComponent: [{
|
|
9407
9407
|
type: ViewChild,
|
|
9408
9408
|
args: ["sourceComponent"]
|
|
@@ -9945,11 +9945,11 @@ class TranslationSystemPickerComponent {
|
|
|
9945
9945
|
});
|
|
9946
9946
|
}
|
|
9947
9947
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TranslationSystemPickerComponent, deps: [{ token: TranslationSystemPickerService }, { token: TldTranslateSystemManagementService }, { token: TldTranslateFileService }, { token: TldTranslateTextService }, { token: TldTranslateConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
9948
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TranslationSystemPickerComponent, isStandalone: false, selector: "tld-translation-system-picker", inputs: { isCollectionsActivated: "isCollectionsActivated" }, ngImport: i0, template: "<div fxFlex fxLayout=\"row\">\r\n <ng-container *ngIf=\"isDataLoaded\">\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: sourceLanguage, localizationKey: 'SYSTEM_PICKER.SOURCE', isOpened: isSourceOpened, isSource: true, ariaLabelCode: sourceAriaLabel }\">\r\n </ng-container>\r\n <button [disabled]=\"!canSwap\" class=\"swap-languages-button\" mat-icon-button (click)=\"swap()\"\r\n aria-label=\"swap languages\" color=\"primary\" matTooltip=\"{{'TOOLTIPS.SWAP_LANGUAGES' | translate}}\">\r\n <span class=\"material-icons\" aria-hidden=\"false\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SWAP_LANGUAGES' | translate\">swap_horiz</span>\r\n </button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: targetLanguage, localizationKey: 'SYSTEM_PICKER.TARGET', isOpened: isTargetOpened, isSource: false, ariaLabelCode: targetAriaLabel}\">\r\n </ng-container>\r\n\r\n <div fxFlex fxLayoutAlign=\"end center\">\r\n <div *ngIf=\"collectionsVisible\" #collectionWrapper class=\"terminology-wrapper\">\r\n <lib-terminology [system]=\"system\"></lib-terminology>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #languageName let-language=\"language\" let-showDomain=\"showDomain\" let-detectedLanguage=\"detectedLanguage\">\r\n <span>{{ (detectedLanguage && !showDomain ? detectedLanguage : language.lang) | languageTranslate }}</span>\r\n <span fxHide.lt-md *ngIf=\"detectedLanguage && !showDomain\"> - {{'SYSTEM_PICKER.DETECTED' | translate}}</span>\r\n <ng-container *ngIf=\"showDomain && domainLength>1\">\r\n <span class=\"domain\">({{('DOMAINS.'+(activeDomainLocalizationKey | uppercase)) | translate: {default: activeDomainKey | titlecase} }})</span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #openedDropdown let-localizationKey=\"localizationKey\">\r\n {{localizationKey | translate}}\r\n</ng-template>\r\n\r\n<!--Template for language dropdown trigger. Same as for target and source with different params-->\r\n<ng-template #languageDropdownTrigger let-language=\"language\" let-isOpened=\"isOpened\" let-placeholder=\"localizationKey\"\r\n let-isSource=\"isSource\" let-ariaLabelCode=\"ariaLabelCode\">\r\n <lib-open-close-button [disabled]=\"isFileTranslating\" class=\"system-picker-button\" [ngClass]=\"isSource? 'source': 'target'\"\r\n [ngClass.lt-sm]=\"'system-picker-button-mobile'\" (click)=\"isSource ? sourceClick($event) : targetClick($event)\"\r\n [disableFocusOnAction]=\"true\" [isOpened]=\"isOpened\" [class.opened]=\"isOpened\" [ariaLabelCode]=\"ariaLabelCode\">\r\n <span [ngClass.lt-sm]=\"'mobile-domain-container'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"isOpened && isSource || isOpened && !isSource && !isTargetReselected ? openedDropdown : languageName; context: { language: language, localizationKey: placeholder, showDomain: !isSource, detectedLanguage: system.detectedLanguage }\">\r\n </ng-container>\r\n </span>\r\n </lib-open-close-button>\r\n</ng-template>\r\n", styles: [":host{display:flex}.swap-languages-button{color:var(--base-30)!important}.source{margin-left:.3em}.system-picker-button.system-picker-button-mobile{margin-left:.2em}.target{margin-left:8px}:host ::ng-deep .open-close-button-content{color:var(--base-30)}.mobile-domain-container{display:flex}.mobile-domain-container .domain{display:none}.domain{display:inline-block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.terminology-wrapper{margin-right:.3rem}:host ::ng-deep .system-picker-button-mobile{display:flex;align-items:center;max-height:46px;height:100%;max-width:120px;width:100%;background-color:var(--base-95)!important;border-radius:8px}:host ::ng-deep .system-picker-button-mobile span{font-size
|
|
9948
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TranslationSystemPickerComponent, isStandalone: false, selector: "tld-translation-system-picker", inputs: { isCollectionsActivated: "isCollectionsActivated" }, ngImport: i0, template: "<div fxFlex fxLayout=\"row\">\r\n <ng-container *ngIf=\"isDataLoaded\">\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: sourceLanguage, localizationKey: 'SYSTEM_PICKER.SOURCE', isOpened: isSourceOpened, isSource: true, ariaLabelCode: sourceAriaLabel }\">\r\n </ng-container>\r\n <button [disabled]=\"!canSwap\" class=\"swap-languages-button\" mat-icon-button (click)=\"swap()\"\r\n aria-label=\"swap languages\" color=\"primary\" matTooltip=\"{{'TOOLTIPS.SWAP_LANGUAGES' | translate}}\">\r\n <span class=\"material-icons\" aria-hidden=\"false\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SWAP_LANGUAGES' | translate\">swap_horiz</span>\r\n </button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: targetLanguage, localizationKey: 'SYSTEM_PICKER.TARGET', isOpened: isTargetOpened, isSource: false, ariaLabelCode: targetAriaLabel}\">\r\n </ng-container>\r\n\r\n <div fxFlex fxLayoutAlign=\"end center\">\r\n <div *ngIf=\"collectionsVisible\" #collectionWrapper class=\"terminology-wrapper\">\r\n <lib-terminology [system]=\"system\"></lib-terminology>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #languageName let-language=\"language\" let-showDomain=\"showDomain\" let-detectedLanguage=\"detectedLanguage\">\r\n <span>{{ (detectedLanguage && !showDomain ? detectedLanguage : language.lang) | languageTranslate }}</span>\r\n <span fxHide.lt-md *ngIf=\"detectedLanguage && !showDomain\"> - {{'SYSTEM_PICKER.DETECTED' | translate}}</span>\r\n <ng-container *ngIf=\"showDomain && domainLength>1\">\r\n <span class=\"domain\">({{('DOMAINS.'+(activeDomainLocalizationKey | uppercase)) | translate: {default: activeDomainKey | titlecase} }})</span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #openedDropdown let-localizationKey=\"localizationKey\">\r\n {{localizationKey | translate}}\r\n</ng-template>\r\n\r\n<!--Template for language dropdown trigger. Same as for target and source with different params-->\r\n<ng-template #languageDropdownTrigger let-language=\"language\" let-isOpened=\"isOpened\" let-placeholder=\"localizationKey\"\r\n let-isSource=\"isSource\" let-ariaLabelCode=\"ariaLabelCode\">\r\n <lib-open-close-button [disabled]=\"isFileTranslating\" class=\"system-picker-button\" [ngClass]=\"isSource? 'source': 'target'\"\r\n [ngClass.lt-sm]=\"'system-picker-button-mobile'\" (click)=\"isSource ? sourceClick($event) : targetClick($event)\"\r\n [disableFocusOnAction]=\"true\" [isOpened]=\"isOpened\" [class.opened]=\"isOpened\" [ariaLabelCode]=\"ariaLabelCode\">\r\n <span [ngClass.lt-sm]=\"'mobile-domain-container'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"isOpened && isSource || isOpened && !isSource && !isTargetReselected ? openedDropdown : languageName; context: { language: language, localizationKey: placeholder, showDomain: !isSource, detectedLanguage: system.detectedLanguage }\">\r\n </ng-container>\r\n </span>\r\n </lib-open-close-button>\r\n</ng-template>\r\n", styles: [":host{display:flex}.swap-languages-button{color:var(--base-30)!important}.source{margin-left:.3em}.system-picker-button.system-picker-button-mobile{margin-left:.2em}.target{margin-left:8px}:host ::ng-deep .open-close-button-content{color:var(--base-30)}.mobile-domain-container{display:flex}.mobile-domain-container .domain{display:none}.domain{display:inline-block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.terminology-wrapper{margin-right:.3rem}:host ::ng-deep .system-picker-button-mobile{display:flex;align-items:center;max-height:46px;height:100%;max-width:120px;width:100%;background-color:var(--base-95)!important;border-radius:8px}:host ::ng-deep .system-picker-button-mobile span{font-size:.75rem;text-align:center;line-height:16px}:host ::ng-deep .system-picker-button-mobile .material-icons{display:none!important}:host ::ng-deep .opened .open-close-button-content,.opened button{color:var(--accent)!important}:host ::ng-deep .open-close-button-content{white-space:nowrap;overflow:hidden}:host ::ng-deep .system-picker-button-mobile span{white-space:wrap;overflow:hidden;text-align:center;max-height:46px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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: i3.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: i3.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: i3.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: i5$1.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: i5$1.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.OpenCloseButtonComponent, selector: "lib-open-close-button", inputs: ["disableFocusOnAction", "disabled", "isIcon", "ariaLabelCode", "isOpened"] }, { kind: "component", type: i5.TerminologyComponent, selector: "lib-terminology", inputs: ["selectedCollectionId", "system", "disabled", "storeSelectedInLocalStorage", "setSelectedFromLocalStorage", "showMenuIconOnMobile"], outputs: ["glossarySelectEvent", "menuToggleEvent"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: i1$1.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i1$1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.LanguageTranslatePipe, name: "languageTranslate" }] });
|
|
9949
9949
|
}
|
|
9950
9950
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TranslationSystemPickerComponent, decorators: [{
|
|
9951
9951
|
type: Component,
|
|
9952
|
-
args: [{ selector: 'tld-translation-system-picker', standalone: false, template: "<div fxFlex fxLayout=\"row\">\r\n <ng-container *ngIf=\"isDataLoaded\">\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: sourceLanguage, localizationKey: 'SYSTEM_PICKER.SOURCE', isOpened: isSourceOpened, isSource: true, ariaLabelCode: sourceAriaLabel }\">\r\n </ng-container>\r\n <button [disabled]=\"!canSwap\" class=\"swap-languages-button\" mat-icon-button (click)=\"swap()\"\r\n aria-label=\"swap languages\" color=\"primary\" matTooltip=\"{{'TOOLTIPS.SWAP_LANGUAGES' | translate}}\">\r\n <span class=\"material-icons\" aria-hidden=\"false\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SWAP_LANGUAGES' | translate\">swap_horiz</span>\r\n </button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: targetLanguage, localizationKey: 'SYSTEM_PICKER.TARGET', isOpened: isTargetOpened, isSource: false, ariaLabelCode: targetAriaLabel}\">\r\n </ng-container>\r\n\r\n <div fxFlex fxLayoutAlign=\"end center\">\r\n <div *ngIf=\"collectionsVisible\" #collectionWrapper class=\"terminology-wrapper\">\r\n <lib-terminology [system]=\"system\"></lib-terminology>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #languageName let-language=\"language\" let-showDomain=\"showDomain\" let-detectedLanguage=\"detectedLanguage\">\r\n <span>{{ (detectedLanguage && !showDomain ? detectedLanguage : language.lang) | languageTranslate }}</span>\r\n <span fxHide.lt-md *ngIf=\"detectedLanguage && !showDomain\"> - {{'SYSTEM_PICKER.DETECTED' | translate}}</span>\r\n <ng-container *ngIf=\"showDomain && domainLength>1\">\r\n <span class=\"domain\">({{('DOMAINS.'+(activeDomainLocalizationKey | uppercase)) | translate: {default: activeDomainKey | titlecase} }})</span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #openedDropdown let-localizationKey=\"localizationKey\">\r\n {{localizationKey | translate}}\r\n</ng-template>\r\n\r\n<!--Template for language dropdown trigger. Same as for target and source with different params-->\r\n<ng-template #languageDropdownTrigger let-language=\"language\" let-isOpened=\"isOpened\" let-placeholder=\"localizationKey\"\r\n let-isSource=\"isSource\" let-ariaLabelCode=\"ariaLabelCode\">\r\n <lib-open-close-button [disabled]=\"isFileTranslating\" class=\"system-picker-button\" [ngClass]=\"isSource? 'source': 'target'\"\r\n [ngClass.lt-sm]=\"'system-picker-button-mobile'\" (click)=\"isSource ? sourceClick($event) : targetClick($event)\"\r\n [disableFocusOnAction]=\"true\" [isOpened]=\"isOpened\" [class.opened]=\"isOpened\" [ariaLabelCode]=\"ariaLabelCode\">\r\n <span [ngClass.lt-sm]=\"'mobile-domain-container'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"isOpened && isSource || isOpened && !isSource && !isTargetReselected ? openedDropdown : languageName; context: { language: language, localizationKey: placeholder, showDomain: !isSource, detectedLanguage: system.detectedLanguage }\">\r\n </ng-container>\r\n </span>\r\n </lib-open-close-button>\r\n</ng-template>\r\n", styles: [":host{display:flex}.swap-languages-button{color:var(--base-30)!important}.source{margin-left:.3em}.system-picker-button.system-picker-button-mobile{margin-left:.2em}.target{margin-left:8px}:host ::ng-deep .open-close-button-content{color:var(--base-30)}.mobile-domain-container{display:flex}.mobile-domain-container .domain{display:none}.domain{display:inline-block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.terminology-wrapper{margin-right:.3rem}:host ::ng-deep .system-picker-button-mobile{display:flex;align-items:center;max-height:46px;height:100%;max-width:120px;width:100%;background-color:var(--base-95)!important;border-radius:8px}:host ::ng-deep .system-picker-button-mobile span{font-size
|
|
9952
|
+
args: [{ selector: 'tld-translation-system-picker', standalone: false, template: "<div fxFlex fxLayout=\"row\">\r\n <ng-container *ngIf=\"isDataLoaded\">\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: sourceLanguage, localizationKey: 'SYSTEM_PICKER.SOURCE', isOpened: isSourceOpened, isSource: true, ariaLabelCode: sourceAriaLabel }\">\r\n </ng-container>\r\n <button [disabled]=\"!canSwap\" class=\"swap-languages-button\" mat-icon-button (click)=\"swap()\"\r\n aria-label=\"swap languages\" color=\"primary\" matTooltip=\"{{'TOOLTIPS.SWAP_LANGUAGES' | translate}}\">\r\n <span class=\"material-icons\" aria-hidden=\"false\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SWAP_LANGUAGES' | translate\">swap_horiz</span>\r\n </button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: targetLanguage, localizationKey: 'SYSTEM_PICKER.TARGET', isOpened: isTargetOpened, isSource: false, ariaLabelCode: targetAriaLabel}\">\r\n </ng-container>\r\n\r\n <div fxFlex fxLayoutAlign=\"end center\">\r\n <div *ngIf=\"collectionsVisible\" #collectionWrapper class=\"terminology-wrapper\">\r\n <lib-terminology [system]=\"system\"></lib-terminology>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #languageName let-language=\"language\" let-showDomain=\"showDomain\" let-detectedLanguage=\"detectedLanguage\">\r\n <span>{{ (detectedLanguage && !showDomain ? detectedLanguage : language.lang) | languageTranslate }}</span>\r\n <span fxHide.lt-md *ngIf=\"detectedLanguage && !showDomain\"> - {{'SYSTEM_PICKER.DETECTED' | translate}}</span>\r\n <ng-container *ngIf=\"showDomain && domainLength>1\">\r\n <span class=\"domain\">({{('DOMAINS.'+(activeDomainLocalizationKey | uppercase)) | translate: {default: activeDomainKey | titlecase} }})</span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #openedDropdown let-localizationKey=\"localizationKey\">\r\n {{localizationKey | translate}}\r\n</ng-template>\r\n\r\n<!--Template for language dropdown trigger. Same as for target and source with different params-->\r\n<ng-template #languageDropdownTrigger let-language=\"language\" let-isOpened=\"isOpened\" let-placeholder=\"localizationKey\"\r\n let-isSource=\"isSource\" let-ariaLabelCode=\"ariaLabelCode\">\r\n <lib-open-close-button [disabled]=\"isFileTranslating\" class=\"system-picker-button\" [ngClass]=\"isSource? 'source': 'target'\"\r\n [ngClass.lt-sm]=\"'system-picker-button-mobile'\" (click)=\"isSource ? sourceClick($event) : targetClick($event)\"\r\n [disableFocusOnAction]=\"true\" [isOpened]=\"isOpened\" [class.opened]=\"isOpened\" [ariaLabelCode]=\"ariaLabelCode\">\r\n <span [ngClass.lt-sm]=\"'mobile-domain-container'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"isOpened && isSource || isOpened && !isSource && !isTargetReselected ? openedDropdown : languageName; context: { language: language, localizationKey: placeholder, showDomain: !isSource, detectedLanguage: system.detectedLanguage }\">\r\n </ng-container>\r\n </span>\r\n </lib-open-close-button>\r\n</ng-template>\r\n", styles: [":host{display:flex}.swap-languages-button{color:var(--base-30)!important}.source{margin-left:.3em}.system-picker-button.system-picker-button-mobile{margin-left:.2em}.target{margin-left:8px}:host ::ng-deep .open-close-button-content{color:var(--base-30)}.mobile-domain-container{display:flex}.mobile-domain-container .domain{display:none}.domain{display:inline-block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.terminology-wrapper{margin-right:.3rem}:host ::ng-deep .system-picker-button-mobile{display:flex;align-items:center;max-height:46px;height:100%;max-width:120px;width:100%;background-color:var(--base-95)!important;border-radius:8px}:host ::ng-deep .system-picker-button-mobile span{font-size:.75rem;text-align:center;line-height:16px}:host ::ng-deep .system-picker-button-mobile .material-icons{display:none!important}:host ::ng-deep .opened .open-close-button-content,.opened button{color:var(--accent)!important}:host ::ng-deep .open-close-button-content{white-space:nowrap;overflow:hidden}:host ::ng-deep .system-picker-button-mobile span{white-space:wrap;overflow:hidden;text-align:center;max-height:46px}\n"] }]
|
|
9953
9953
|
}], ctorParameters: () => [{ type: TranslationSystemPickerService }, { type: TldTranslateSystemManagementService }, { type: TldTranslateFileService }, { type: TldTranslateTextService }, { type: TldTranslateConfigService }], propDecorators: { isCollectionsActivated: [{
|
|
9954
9954
|
type: Input
|
|
9955
9955
|
}] } });
|
|
@@ -11140,7 +11140,7 @@ class TldTranslateWebsiteComponent {
|
|
|
11140
11140
|
};
|
|
11141
11141
|
}
|
|
11142
11142
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: TldTranslateWebsiteComponent, deps: [{ token: i1.TranslateService }, { token: TldTranslateConfigService }, { token: TldTranslateButtonService }, { token: i5.AlertService }, { token: i5$4.Router }, { token: i5$4.ActivatedRoute }, { token: TldTranslateSystemManagementService }, { token: i5.TerminologyService }, { token: TldTranslateWebService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
11143
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TldTranslateWebsiteComponent, isStandalone: false, selector: "tld-translate-website", inputs: { product: "product", company: "company" }, outputs: { onError: "onError" }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true }, { propertyName: "urlInputField", first: true, predicate: ["url"], descendants: true }], ngImport: i0, template: "<div id=\"widget\" class=\"tld-translate-web\">\r\n <div class=\"translate-container-header\">\r\n <a href=\"/\" id=\"home-link\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <img [src]=\"logoLocation\" alt=\"logo\">\r\n <lib-company-product *ngIf=\"company && product\" [company]=\"company\" [product]=\"product\"></lib-company-product>\r\n </a>\r\n <div [ngClass.lt-sm]=\"'tld-translate-mobile'\">\r\n <div fxLayout=\"row\" class=\"address-wrapper\">\r\n <a (click)=\"goToHome()\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </a>\r\n <mat-form-field fxFlex=\"100%\" class=\"address-input\" appearance=\"outline\" color=\"accent\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <input matInput [placeholder]=\"'WEBTRANSLATE.SEARCH' | translate\" type=\"url\" #url class=\"url\" autofocus=\"autofocus\" [(ngModel)]=\"urlToTranslate\"\r\n (keyup.enter)=\"loadButtonClicked()\" />\r\n\r\n <mat-icon *ngIf=\"urlToTranslate\" [inline]=\"true\" (click)=\"clearUrlToTranslate()\">close</mat-icon>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center\" class=\"tld-translate-switcher-wrapper\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxFlex>\r\n <tld-translate-switcher\r\n *ngIf=\"switcherOptions\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"\r\n [useParentWidth]=\"useParentWidth\"\r\n [disabled]=\"actionButtonDisabled\"\r\n [settings]=\"switcherOptions\"\r\n [showTranslateButton]=\"false\"\r\n [hideOnSmallScreens]=\"false\"\r\n [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\"\r\n [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n (onDomainChange)=\"systemChange($event)\"\r\n (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\"\r\n (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\">\r\n </tld-translate-switcher>\r\n <div fxFlexAlign=\"center\" class=\"action-btn-wrapper\">\r\n <tld-translate-button\r\n *ngIf=\"showTranslateBtn\"\r\n class=\"switcher-translate-button\"\r\n [disabled]=\"actionButtonDisabled || !urlToTranslate\">\r\n </tld-translate-button>\r\n <button *ngIf=\"showCancel\" mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"cancel-button\">{{'WEBTRANSLATE.CANCEL' | translate}}</button>\r\n <button *ngIf=\"showRestore\" mat-flat-button color=\"accent\" (click)=\"restore()\"\r\n class=\"restore-button\">{{'WEBTRANSLATE.RESTORE' | translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [class.h-full]=\"!showEmptyView\" id=\"website-frame-container\">\r\n <mat-progress-bar *ngIf=\"showProgress\" color=\"accent\" [mode]=\"mode\" [value]=\"progressValue\">\r\n </mat-progress-bar>\r\n <lib-tld-notification-message [@openCloseAnimation] *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\"></lib-tld-notification-message>\r\n \r\n <iframe *ngIf=\"!showEmptyView; else emptyView\" #iframe id=\"letsmt-translate-page-iframe\" name=\"letsmtTranslatePageIframe\" src=\"about:blank\"></iframe>\r\n </div>\r\n\r\n <ng-template #emptyView>\r\n <lib-status-display [config]=\"emptyViewConfig\"></lib-status-display>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;height:100%;overflow-y:hidden}.tld-translate-web{height:100%}.tld-translate-switcher-wrapper{padding:0 .5em;margin-left:auto;margin-right:auto;padding-bottom:.5rem}.translate-container-header{padding:.6em 1em 0;box-sizing:border-box;background-color:var(--base-95)}#widget .translate-container-header{width:100%;margin-left:auto;margin-right:auto}#letsmt-translate-page-iframe{width:100%;height:100%;border:0}.h-full{height:100%}#website-frame-container{border-top:solid 1px var(--base-70)}#home-link{position:absolute;left:.75em;top:.2em;display:flex;flex-direction:row;text-decoration:none}#home-link img{margin-right:.75em;max-height:5.5em}@media screen and (max-width: 73em){#home-link{display:none}}.address-wrapper{max-width:60em;margin-left:auto;margin-right:auto}.address-wrapper mat-icon{margin-right:0!important}.address-wrapper a{margin-top:8px}.cancel-button,.restore-button{min-width:100px;height:36px;align-self:center}.address-input{padding-left:.9em;padding-right:.65em;width:100%}.switcher-translate-button{margin-left:.25rem}:host ::ng-deep .mat-mdc-text-field-wrapper{background-color:var(--base-100)}:host ::ng-deep .status-display-wrapper{margin:8rem 0!important}\n"], dependencies: [{ 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: "component", type: TldTranslateSwitcherComponent, selector: "tld-translate-switcher", inputs: ["buttonDisabled", "showTranslateButton", "hideOnSmallScreens", "disabled", "hideLangMenuLabels", "maxDisplayedLanguages", "collections", "showDomainsWithLanguageName", "isCollectionsActivated", "useParentWidth", "loader", "settings"], outputs: ["onDomainChange", "onActionClick", "onSourceLanguageChange", "onTargetLanguageChange", "onLanguageSwap", "onVendorChange"] }, { kind: "component", type: TldTranslateButtonComponent, selector: "tld-translate-button", inputs: ["disabled", "enablePulseAnimation"], outputs: ["clicked"] }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i5.CompanyProductComponent, selector: "lib-company-product", inputs: ["company", "product"] }, { kind: "component", type: i1$2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.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: i3.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: i3.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i3.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: i5$1.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.StatusDisplayComponent, selector: "lib-status-display", inputs: ["config"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], animations: [
|
|
11143
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.1", type: TldTranslateWebsiteComponent, isStandalone: false, selector: "tld-translate-website", inputs: { product: "product", company: "company" }, outputs: { onError: "onError" }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true }, { propertyName: "urlInputField", first: true, predicate: ["url"], descendants: true }], ngImport: i0, template: "<div id=\"widget\" class=\"tld-translate-web\">\r\n <div class=\"translate-container-header\">\r\n <a href=\"/\" id=\"home-link\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <img [src]=\"logoLocation\" alt=\"logo\">\r\n <lib-company-product *ngIf=\"company && product\" [company]=\"company\" [product]=\"product\"></lib-company-product>\r\n </a>\r\n <div [ngClass.lt-sm]=\"'tld-translate-mobile'\">\r\n <div fxLayout=\"row\" class=\"address-wrapper\">\r\n <button class=\"btn-back\" mat-icon-button (click)=\"goToHome()\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n <mat-form-field fxFlex=\"100%\" class=\"address-input\" appearance=\"outline\" color=\"accent\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <input matInput [placeholder]=\"'WEBTRANSLATE.SEARCH' | translate\" type=\"url\" #url class=\"url\" autofocus=\"autofocus\" [(ngModel)]=\"urlToTranslate\"\r\n (keyup.enter)=\"loadButtonClicked()\" />\r\n\r\n <button *ngIf=\"urlToTranslate\" (click)=\"clearUrlToTranslate()\" mat-icon-button>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center\" class=\"tld-translate-switcher-wrapper\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxFlex>\r\n <tld-translate-switcher\r\n *ngIf=\"switcherOptions\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"\r\n [useParentWidth]=\"useParentWidth\"\r\n [disabled]=\"actionButtonDisabled\"\r\n [settings]=\"switcherOptions\"\r\n [showTranslateButton]=\"false\"\r\n [hideOnSmallScreens]=\"false\"\r\n [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\"\r\n [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n (onDomainChange)=\"systemChange($event)\"\r\n (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\"\r\n (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\">\r\n </tld-translate-switcher>\r\n <div fxFlexAlign=\"center\" class=\"action-btn-wrapper\">\r\n <tld-translate-button\r\n *ngIf=\"showTranslateBtn\"\r\n class=\"switcher-translate-button\"\r\n [disabled]=\"actionButtonDisabled || !urlToTranslate\">\r\n </tld-translate-button>\r\n <button *ngIf=\"showCancel\" mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"cancel-button\">{{'WEBTRANSLATE.CANCEL' | translate}}</button>\r\n <button *ngIf=\"showRestore\" mat-flat-button color=\"accent\" (click)=\"restore()\"\r\n class=\"restore-button\">{{'WEBTRANSLATE.RESTORE' | translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [class.h-full]=\"!showEmptyView\" id=\"website-frame-container\">\r\n <mat-progress-bar *ngIf=\"showProgress\" color=\"accent\" [mode]=\"mode\" [value]=\"progressValue\">\r\n </mat-progress-bar>\r\n <lib-tld-notification-message [@openCloseAnimation] *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\"></lib-tld-notification-message>\r\n \r\n <iframe *ngIf=\"!showEmptyView; else emptyView\" #iframe id=\"letsmt-translate-page-iframe\" name=\"letsmtTranslatePageIframe\" src=\"about:blank\"></iframe>\r\n </div>\r\n\r\n <ng-template #emptyView>\r\n <lib-status-display [config]=\"emptyViewConfig\"></lib-status-display>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;height:100%;overflow-y:hidden}.tld-translate-web{height:100%}.tld-translate-switcher-wrapper{padding:0 .5em;margin-left:auto;margin-right:auto;padding-bottom:.5rem}.translate-container-header{padding:.6em 1em 0;box-sizing:border-box;background-color:var(--base-95)}#widget .translate-container-header{width:100%;margin-left:auto;margin-right:auto}#letsmt-translate-page-iframe{width:100%;height:100%;border:0}.h-full{height:100%}#website-frame-container{border-top:solid 1px var(--base-70)}#home-link{position:absolute;left:.75em;top:.2em;display:flex;flex-direction:row;text-decoration:none}#home-link img{margin-right:.75em;max-height:5.5em}@media screen and (max-width: 73em){#home-link{display:none}}.address-wrapper{max-width:60em;margin-left:auto;margin-right:auto}.address-wrapper mat-icon{margin-right:0!important}.address-wrapper a,.btn-back{margin-top:8px}.cancel-button,.restore-button{min-width:100px;height:36px;align-self:center}.address-input{padding-left:.9em;padding-right:.65em;width:100%}.switcher-translate-button{margin-left:.25rem}:host ::ng-deep .mat-mdc-text-field-wrapper{display:flex;align-items:center;background-color:var(--base-100);height:56px!important}:host ::ng-deep .status-display-wrapper{margin:8rem 0!important}\n"], dependencies: [{ 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: "component", type: TldTranslateSwitcherComponent, selector: "tld-translate-switcher", inputs: ["buttonDisabled", "showTranslateButton", "hideOnSmallScreens", "disabled", "hideLangMenuLabels", "maxDisplayedLanguages", "collections", "showDomainsWithLanguageName", "isCollectionsActivated", "useParentWidth", "loader", "settings"], outputs: ["onDomainChange", "onActionClick", "onSourceLanguageChange", "onTargetLanguageChange", "onLanguageSwap", "onVendorChange"] }, { kind: "component", type: TldTranslateButtonComponent, selector: "tld-translate-button", inputs: ["disabled", "enablePulseAnimation"], outputs: ["clicked"] }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i5.CompanyProductComponent, selector: "lib-company-product", inputs: ["company", "product"] }, { kind: "component", type: i1$2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1$2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i4$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.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: i3.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: i3.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i3.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: i5$1.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.StatusDisplayComponent, selector: "lib-status-display", inputs: ["config"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], animations: [
|
|
11144
11144
|
trigger('openCloseAnimation', [
|
|
11145
11145
|
transition(':enter', [
|
|
11146
11146
|
style({ height: 0 }),
|
|
@@ -11160,7 +11160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
|
11160
11160
|
]),
|
|
11161
11161
|
transition(':leave', animate(500, style({ height: 0 })))
|
|
11162
11162
|
])
|
|
11163
|
-
], standalone: false, template: "<div id=\"widget\" class=\"tld-translate-web\">\r\n <div class=\"translate-container-header\">\r\n <a href=\"/\" id=\"home-link\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <img [src]=\"logoLocation\" alt=\"logo\">\r\n <lib-company-product *ngIf=\"company && product\" [company]=\"company\" [product]=\"product\"></lib-company-product>\r\n </a>\r\n <div [ngClass.lt-sm]=\"'tld-translate-mobile'\">\r\n <div fxLayout=\"row\" class=\"address-wrapper\">\r\n <
|
|
11163
|
+
], standalone: false, template: "<div id=\"widget\" class=\"tld-translate-web\">\r\n <div class=\"translate-container-header\">\r\n <a href=\"/\" id=\"home-link\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <img [src]=\"logoLocation\" alt=\"logo\">\r\n <lib-company-product *ngIf=\"company && product\" [company]=\"company\" [product]=\"product\"></lib-company-product>\r\n </a>\r\n <div [ngClass.lt-sm]=\"'tld-translate-mobile'\">\r\n <div fxLayout=\"row\" class=\"address-wrapper\">\r\n <button class=\"btn-back\" mat-icon-button (click)=\"goToHome()\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n <mat-form-field fxFlex=\"100%\" class=\"address-input\" appearance=\"outline\" color=\"accent\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <input matInput [placeholder]=\"'WEBTRANSLATE.SEARCH' | translate\" type=\"url\" #url class=\"url\" autofocus=\"autofocus\" [(ngModel)]=\"urlToTranslate\"\r\n (keyup.enter)=\"loadButtonClicked()\" />\r\n\r\n <button *ngIf=\"urlToTranslate\" (click)=\"clearUrlToTranslate()\" mat-icon-button>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center\" class=\"tld-translate-switcher-wrapper\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxFlex>\r\n <tld-translate-switcher\r\n *ngIf=\"switcherOptions\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"\r\n [useParentWidth]=\"useParentWidth\"\r\n [disabled]=\"actionButtonDisabled\"\r\n [settings]=\"switcherOptions\"\r\n [showTranslateButton]=\"false\"\r\n [hideOnSmallScreens]=\"false\"\r\n [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\"\r\n [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n (onDomainChange)=\"systemChange($event)\"\r\n (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\"\r\n (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\">\r\n </tld-translate-switcher>\r\n <div fxFlexAlign=\"center\" class=\"action-btn-wrapper\">\r\n <tld-translate-button\r\n *ngIf=\"showTranslateBtn\"\r\n class=\"switcher-translate-button\"\r\n [disabled]=\"actionButtonDisabled || !urlToTranslate\">\r\n </tld-translate-button>\r\n <button *ngIf=\"showCancel\" mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"cancel-button\">{{'WEBTRANSLATE.CANCEL' | translate}}</button>\r\n <button *ngIf=\"showRestore\" mat-flat-button color=\"accent\" (click)=\"restore()\"\r\n class=\"restore-button\">{{'WEBTRANSLATE.RESTORE' | translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [class.h-full]=\"!showEmptyView\" id=\"website-frame-container\">\r\n <mat-progress-bar *ngIf=\"showProgress\" color=\"accent\" [mode]=\"mode\" [value]=\"progressValue\">\r\n </mat-progress-bar>\r\n <lib-tld-notification-message [@openCloseAnimation] *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\"></lib-tld-notification-message>\r\n \r\n <iframe *ngIf=\"!showEmptyView; else emptyView\" #iframe id=\"letsmt-translate-page-iframe\" name=\"letsmtTranslatePageIframe\" src=\"about:blank\"></iframe>\r\n </div>\r\n\r\n <ng-template #emptyView>\r\n <lib-status-display [config]=\"emptyViewConfig\"></lib-status-display>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;height:100%;overflow-y:hidden}.tld-translate-web{height:100%}.tld-translate-switcher-wrapper{padding:0 .5em;margin-left:auto;margin-right:auto;padding-bottom:.5rem}.translate-container-header{padding:.6em 1em 0;box-sizing:border-box;background-color:var(--base-95)}#widget .translate-container-header{width:100%;margin-left:auto;margin-right:auto}#letsmt-translate-page-iframe{width:100%;height:100%;border:0}.h-full{height:100%}#website-frame-container{border-top:solid 1px var(--base-70)}#home-link{position:absolute;left:.75em;top:.2em;display:flex;flex-direction:row;text-decoration:none}#home-link img{margin-right:.75em;max-height:5.5em}@media screen and (max-width: 73em){#home-link{display:none}}.address-wrapper{max-width:60em;margin-left:auto;margin-right:auto}.address-wrapper mat-icon{margin-right:0!important}.address-wrapper a,.btn-back{margin-top:8px}.cancel-button,.restore-button{min-width:100px;height:36px;align-self:center}.address-input{padding-left:.9em;padding-right:.65em;width:100%}.switcher-translate-button{margin-left:.25rem}:host ::ng-deep .mat-mdc-text-field-wrapper{display:flex;align-items:center;background-color:var(--base-100);height:56px!important}:host ::ng-deep .status-display-wrapper{margin:8rem 0!important}\n"] }]
|
|
11164
11164
|
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: TldTranslateConfigService }, { type: TldTranslateButtonService }, { type: i5.AlertService }, { type: i5$4.Router }, { type: i5$4.ActivatedRoute }, { type: TldTranslateSystemManagementService }, { type: i5.TerminologyService }, { type: TldTranslateWebService }, { type: i0.Renderer2 }], propDecorators: { iframe: [{
|
|
11165
11165
|
type: ViewChild,
|
|
11166
11166
|
args: ['iframe']
|
|
@@ -11190,7 +11190,6 @@ class TldWebModule {
|
|
|
11190
11190
|
MatProgressBarModule,
|
|
11191
11191
|
MatInputModule,
|
|
11192
11192
|
MatTooltipModule,
|
|
11193
|
-
MatButtonModule,
|
|
11194
11193
|
FlexLayoutModule,
|
|
11195
11194
|
MatFormFieldModule,
|
|
11196
11195
|
StatusDisplayModule], exports: [TldTranslateWebsiteComponent] });
|
|
@@ -11207,7 +11206,6 @@ class TldWebModule {
|
|
|
11207
11206
|
MatProgressBarModule,
|
|
11208
11207
|
MatInputModule,
|
|
11209
11208
|
MatTooltipModule,
|
|
11210
|
-
MatButtonModule,
|
|
11211
11209
|
FlexLayoutModule,
|
|
11212
11210
|
MatFormFieldModule,
|
|
11213
11211
|
StatusDisplayModule] });
|
|
@@ -11230,7 +11228,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
|
11230
11228
|
MatProgressBarModule,
|
|
11231
11229
|
MatInputModule,
|
|
11232
11230
|
MatTooltipModule,
|
|
11233
|
-
MatButtonModule,
|
|
11234
11231
|
FlexLayoutModule,
|
|
11235
11232
|
MatFormFieldModule,
|
|
11236
11233
|
StatusDisplayModule
|
|
@@ -11313,12 +11310,12 @@ const DOWNLOAD = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xm
|
|
|
11313
11310
|
`;
|
|
11314
11311
|
const SOUND = `
|
|
11315
11312
|
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
11316
|
-
<path d="M16.0996 20.101C19.2741 18.7086 21.499 15.6827 21.499 12.0006C21.499 8.31848 19.2741 5.29252 16.0996 3.90015V5.70024C18.248 6.94771 19.6989 9.34273 19.6989 12.0006C19.6989 14.6584 18.248 17.0534 16.0996 18.3009V20.101Z" fill="
|
|
11317
|
-
<path d="M16.0997 7.5006V16.5011C17.2022 15.511 17.8998 13.5948 17.8998 12.0008C17.8998 10.4069 17.2022 8.49065 16.0997 7.5006ZM5.29912 16.5011H7.72654L12.9 19.9501C13.0356 20.0406 13.1932 20.0925 13.356 20.1005C13.5188 20.1084 13.6807 20.072 13.8244 19.9951C13.968 19.9181 14.0881 19.8037 14.1718 19.6639C14.2555 19.5241 14.2997 19.3642 14.2996 19.2012V4.80046C14.2995 4.63766 14.2553 4.47792 14.1716 4.33827C14.0879 4.19863 13.9679 4.08429 13.8244 4.00745C13.6808 3.9306 13.5192 3.89413 13.3565 3.90191C13.1939 3.90969 13.0365 3.96143 12.9009 4.05162L7.72654 7.5006H5.29912C4.30637 7.5006 3.49902 8.30795 3.49902 9.3007V14.701C3.49902 15.6937 4.30637 16.5011 5.29912 16.5011ZM5.29912 9.3007H7.99926C8.02896 9.3007 8.05416 9.2863 8.08296 9.2836C8.20281 9.27202 8.31911 9.23652 8.42498 9.17919C8.44838 9.16569 8.47628 9.16389 8.49879 9.14949L12.4995 6.48175V17.5199L8.49879 14.8522C8.47628 14.8369 8.44838 14.8342 8.42498 14.8225C8.31856 14.7649 8.20162 14.7294 8.08116 14.7181C8.05236 14.7154 8.02806 14.701 7.99926 14.701H5.29912V9.3007Z" fill="
|
|
11313
|
+
<path d="M16.0996 20.101C19.2741 18.7086 21.499 15.6827 21.499 12.0006C21.499 8.31848 19.2741 5.29252 16.0996 3.90015V5.70024C18.248 6.94771 19.6989 9.34273 19.6989 12.0006C19.6989 14.6584 18.248 17.0534 16.0996 18.3009V20.101Z" fill="currentColor"/>
|
|
11314
|
+
<path d="M16.0997 7.5006V16.5011C17.2022 15.511 17.8998 13.5948 17.8998 12.0008C17.8998 10.4069 17.2022 8.49065 16.0997 7.5006ZM5.29912 16.5011H7.72654L12.9 19.9501C13.0356 20.0406 13.1932 20.0925 13.356 20.1005C13.5188 20.1084 13.6807 20.072 13.8244 19.9951C13.968 19.9181 14.0881 19.8037 14.1718 19.6639C14.2555 19.5241 14.2997 19.3642 14.2996 19.2012V4.80046C14.2995 4.63766 14.2553 4.47792 14.1716 4.33827C14.0879 4.19863 13.9679 4.08429 13.8244 4.00745C13.6808 3.9306 13.5192 3.89413 13.3565 3.90191C13.1939 3.90969 13.0365 3.96143 12.9009 4.05162L7.72654 7.5006H5.29912C4.30637 7.5006 3.49902 8.30795 3.49902 9.3007V14.701C3.49902 15.6937 4.30637 16.5011 5.29912 16.5011ZM5.29912 9.3007H7.99926C8.02896 9.3007 8.05416 9.2863 8.08296 9.2836C8.20281 9.27202 8.31911 9.23652 8.42498 9.17919C8.44838 9.16569 8.47628 9.16389 8.49879 9.14949L12.4995 6.48175V17.5199L8.49879 14.8522C8.47628 14.8369 8.44838 14.8342 8.42498 14.8225C8.31856 14.7649 8.20162 14.7294 8.08116 14.7181C8.05236 14.7154 8.02806 14.701 7.99926 14.701H5.29912V9.3007Z" fill="currentColor"/>
|
|
11318
11315
|
</svg>
|
|
11319
11316
|
`;
|
|
11320
11317
|
const UPLOAD = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
11321
|
-
<path d="M18 15.0001V18.0001H6V15.0001H4V18.0001C4 19.1001 4.9 20.0001 6 20.0001H18C19.1 20.0001 20 19.1001 20 18.0001V15.0001H18ZM7 9.00012L8.41 10.4101L11 7.83012V16.0001H13V7.83012L15.59 10.4101L17 9.00012L12 4.00012L7 9.00012Z" fill="
|
|
11318
|
+
<path d="M18 15.0001V18.0001H6V15.0001H4V18.0001C4 19.1001 4.9 20.0001 6 20.0001H18C19.1 20.0001 20 19.1001 20 18.0001V15.0001H18ZM7 9.00012L8.41 10.4101L11 7.83012V16.0001H13V7.83012L15.59 10.4101L17 9.00012L12 4.00012L7 9.00012Z" fill="currentColor"/>
|
|
11322
11319
|
</svg>
|
|
11323
11320
|
`;
|
|
11324
11321
|
|