@tilde-nlp/ngx-common 6.1.9 → 6.1.11

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.
Files changed (25) hide show
  1. package/esm2022/lib/core/index.mjs +2 -1
  2. package/esm2022/lib/core/localization/index.mjs +2 -0
  3. package/esm2022/lib/core/localization/missing-translation-handler.service.mjs +21 -0
  4. package/esm2022/lib/file-upload/file-upload.component.mjs +2 -2
  5. package/esm2022/lib/pipes/index.mjs +2 -1
  6. package/esm2022/lib/pipes/language-translate/language-translate.module.mjs +4 -4
  7. package/esm2022/lib/pipes/language-translate/language-translate.pipe.mjs +3 -2
  8. package/esm2022/lib/pipes/sort-language-list/index.mjs +3 -0
  9. package/esm2022/lib/pipes/sort-language-list/models/index.mjs +2 -0
  10. package/esm2022/lib/pipes/sort-language-list/models/translated-language.model.mjs +2 -0
  11. package/esm2022/lib/pipes/sort-language-list/sort-language-list.pipe.mjs +58 -0
  12. package/fesm2022/tilde-nlp-ngx-common.mjs +81 -8
  13. package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -1
  14. package/lib/core/index.d.ts +1 -0
  15. package/lib/core/localization/index.d.ts +1 -0
  16. package/lib/core/localization/missing-translation-handler.service.d.ts +8 -0
  17. package/lib/pipes/index.d.ts +1 -0
  18. package/lib/pipes/language-translate/language-translate.module.d.ts +1 -1
  19. package/lib/pipes/language-translate/language-translate.pipe.d.ts +2 -2
  20. package/lib/pipes/sort-language-list/index.d.ts +2 -0
  21. package/lib/pipes/sort-language-list/models/index.d.ts +1 -0
  22. package/lib/pipes/sort-language-list/models/translated-language.model.d.ts +4 -0
  23. package/lib/pipes/sort-language-list/sort-language-list.pipe.d.ts +10 -0
  24. package/package.json +1 -1
  25. package/web-components/main.js +12 -12
@@ -1,3 +1,4 @@
1
1
  export * from './auth';
2
2
  export * from './title-strategy';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcclxuZXhwb3J0ICogZnJvbSAnLi90aXRsZS1zdHJhdGVneSc7XHJcbiJdfQ==
3
+ export * from './localization';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RpdGxlLXN0cmF0ZWd5JztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24nO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './missing-translation-handler.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvY29yZS9sb2NhbGl6YXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWlzc2luZy10cmFuc2xhdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MissingTranslationHandlerService {
4
+ constructor() { }
5
+ handle(params) {
6
+ if (params.interpolateParams) {
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ return params.interpolateParams["default"] || params.key;
9
+ }
10
+ return params.key;
11
+ }
12
+ static { this.ɵfac = function MissingTranslationHandlerService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MissingTranslationHandlerService)(); }; }
13
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MissingTranslationHandlerService, factory: MissingTranslationHandlerService.ɵfac, providedIn: 'root' }); }
14
+ }
15
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MissingTranslationHandlerService, [{
16
+ type: Injectable,
17
+ args: [{
18
+ providedIn: 'root'
19
+ }]
20
+ }], () => [], null); })();
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzc2luZy10cmFuc2xhdGlvbi1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvY29yZS9sb2NhbGl6YXRpb24vbWlzc2luZy10cmFuc2xhdGlvbi1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxnQkFBZSxDQUFDO0lBRWhCLE1BQU0sQ0FBQyxNQUF1QztRQUM1QyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzdCLDhEQUE4RDtZQUM5RCxPQUFRLE1BQU0sQ0FBQyxpQkFBeUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztpSUFUVSxnQ0FBZ0M7dUVBQWhDLGdDQUFnQyxXQUFoQyxnQ0FBZ0MsbUJBSC9CLE1BQU07O2lGQUdQLGdDQUFnQztjQUo1QyxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsIE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXJQYXJhbXMgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyU2VydmljZSBpbXBsZW1lbnRzIE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIge1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgaGFuZGxlKHBhcmFtczogTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlclBhcmFtcykge1xyXG4gICAgaWYgKHBhcmFtcy5pbnRlcnBvbGF0ZVBhcmFtcykge1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICByZXR1cm4gKHBhcmFtcy5pbnRlcnBvbGF0ZVBhcmFtcyBhcyBhbnkpW1wiZGVmYXVsdFwiXSB8fCBwYXJhbXMua2V5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhcmFtcy5rZXk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -217,11 +217,11 @@ export class FileUploadComponent {
217
217
  i0.ɵɵproperty("ngIf", ctx.useCompactUpload)("ngIfElse", regularUpload_r9);
218
218
  i0.ɵɵadvance(3);
219
219
  i0.ɵɵproperty("accept", ctx.allowedExtensions)("multiple", ctx.multiple)("disabled", ctx.disabled);
220
- } }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatProgressBar, i3.DefaultShowHideDirective, i3.DefaultClassDirective, i4.MatButton, i5.DragAndDropDirective, i6.MatIcon, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{justify-content:start;min-height:80px;padding:15px 20px!important}.file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%]{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{font-weight:400}.file-upload[_ngcontent-%COMP%] .supported-formats-btn[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload[_ngcontent-%COMP%] .disabled-upload-zone[_ngcontent-%COMP%]{cursor:not-allowed}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-label[_ngcontent-%COMP%]:not(.file-upload-mobile){margin-top:10px}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]:hover{text-decoration:underline}.file-upload[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{border:1px solid var(--base-65);padding:10px 15px!important}.disabled[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{pointer-events:none!important;text-decoration:none!important;color:var(--base-40)}.native-file-input[_ngcontent-%COMP%]{display:none}"] }); }
220
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.MatProgressBar, i3.DefaultShowHideDirective, i3.DefaultClassDirective, i4.MatButton, i5.DragAndDropDirective, i6.MatIcon, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{justify-content:start;min-height:80px;padding:15px 20px!important}.file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;align-items:center;width:100%;padding:42px 0}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%]{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{font-weight:400}.file-upload[_ngcontent-%COMP%] .supported-formats-btn[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload[_ngcontent-%COMP%] .disabled-upload-zone[_ngcontent-%COMP%]{cursor:not-allowed}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-label[_ngcontent-%COMP%]:not(.file-upload-mobile){margin-top:10px}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]:hover{text-decoration:underline}.file-upload[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{border:1px solid var(--base-65);padding:10px 15px!important}.disabled[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{pointer-events:none!important;text-decoration:none!important;color:var(--base-40)}.native-file-input[_ngcontent-%COMP%]{display:none}"] }); }
221
221
  }
222
222
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileUploadComponent, [{
223
223
  type: Component,
224
- args: [{ selector: 'lib-file-upload', template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\" [class.disabled]=\"disabled\">\r\n <mat-progress-bar \r\n *ngIf=\"filePreviewProgress\"\r\n color=\"primary\" \r\n class=\"tld-file-upload-progress\" \r\n [value]=\"filePreviewProgress\"\r\n >\r\n </mat-progress-bar>\r\n\r\n <ng-container *ngIf=\"useCompactUpload; else regularUpload\">\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button text-l\"\r\n >\r\n <mat-icon *ngIf=\"uploadIconName\">{{uploadIconName}}</mat-icon>\r\n <ng-content></ng-content>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #regularUpload>\r\n <div class=\"upload-zone\" tldDragAndDrop (fileDropped)=\"onFileDrop($event)\" [class.disabled-upload-zone]=\"disabled\">\r\n <mat-icon svgIcon=\"file_upload_icon\"></mat-icon>\r\n\r\n \r\n <div class=\"upload-zone-labels\">\r\n <a color=\"primary-accent-darker\" class=\"file-upload--btn\" (click)=\"fileInput.click()\">{{ uploadButtonLabel }}</a>\r\n \r\n <span fxHide.lt-sm class=\"upload-label\" [innerHTML]=\"dragZoneLabel\"></span>\r\n \r\n <p class=\"upload-zone-formats\">\r\n (<span *ngFor=\"let format of accept; let i = index\"\r\n >{{ format\r\n }}{{ accept.length - 1 === i ? \".\" : \", \" }}</span\r\n >\r\n\r\n <span *ngIf=\"maxSize\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate: { maxSize: maxSizeLabel }\"></span>)\r\n </p>\r\n \r\n @if (accept.length > minSupportedFormatCount) {\r\n <a class=\"supported-formats-btn\" (click)=\"openSupportedFormatModal()\">{{openExtensionPopupLabel}}</a>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<input \r\n #fileInput \r\n type=\"file\" \r\n name=\"files\" \r\n class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" \r\n [multiple]=\"multiple\" \r\n [disabled]=\"disabled\"\r\n (change)=\"handleFileInput($event)\" \r\n/>\r\n", styles: [":host{width:100%}.file-upload{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload .upload-button,.file-upload .upload-zone{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload .upload-button{justify-content:start;min-height:80px;padding:15px 20px!important}.file-upload .upload-zone{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload .upload-zone-labels{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload .upload-zone-labels .upload-zone-formats{font-weight:400}.file-upload .supported-formats-btn{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload .disabled-upload-zone{cursor:not-allowed}.file-upload .file-upload--btn,.file-upload .upload-label:not(.file-upload-mobile){margin-top:10px}.file-upload .file-upload--btn{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload .file-upload--btn:hover{text-decoration:underline}.file-upload .upload-zone-formats{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile .upload-button{border:1px solid var(--base-65);padding:10px 15px!important}.disabled .file-upload--btn{pointer-events:none!important;text-decoration:none!important;color:var(--base-40)}.native-file-input{display:none}\n"] }]
224
+ args: [{ selector: 'lib-file-upload', template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\" [class.disabled]=\"disabled\">\r\n <mat-progress-bar \r\n *ngIf=\"filePreviewProgress\"\r\n color=\"primary\" \r\n class=\"tld-file-upload-progress\" \r\n [value]=\"filePreviewProgress\"\r\n >\r\n </mat-progress-bar>\r\n\r\n <ng-container *ngIf=\"useCompactUpload; else regularUpload\">\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button text-l\"\r\n >\r\n <mat-icon *ngIf=\"uploadIconName\">{{uploadIconName}}</mat-icon>\r\n <ng-content></ng-content>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #regularUpload>\r\n <div class=\"upload-zone\" tldDragAndDrop (fileDropped)=\"onFileDrop($event)\" [class.disabled-upload-zone]=\"disabled\">\r\n <mat-icon svgIcon=\"file_upload_icon\"></mat-icon>\r\n\r\n \r\n <div class=\"upload-zone-labels\">\r\n <a color=\"primary-accent-darker\" class=\"file-upload--btn\" (click)=\"fileInput.click()\">{{ uploadButtonLabel }}</a>\r\n \r\n <span fxHide.lt-sm class=\"upload-label\" [innerHTML]=\"dragZoneLabel\"></span>\r\n \r\n <p class=\"upload-zone-formats\">\r\n (<span *ngFor=\"let format of accept; let i = index\"\r\n >{{ format\r\n }}{{ accept.length - 1 === i ? \".\" : \", \" }}</span\r\n >\r\n\r\n <span *ngIf=\"maxSize\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate: { maxSize: maxSizeLabel }\"></span>)\r\n </p>\r\n \r\n @if (accept.length > minSupportedFormatCount) {\r\n <a class=\"supported-formats-btn\" (click)=\"openSupportedFormatModal()\">{{openExtensionPopupLabel}}</a>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<input \r\n #fileInput \r\n type=\"file\" \r\n name=\"files\" \r\n class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" \r\n [multiple]=\"multiple\" \r\n [disabled]=\"disabled\"\r\n (change)=\"handleFileInput($event)\" \r\n/>\r\n", styles: [":host{width:100%}.file-upload{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload .upload-button,.file-upload .upload-zone{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload .upload-button{justify-content:start;min-height:80px;padding:15px 20px!important}.file-upload .upload-zone{flex-direction:column;justify-content:center;align-items:center;width:100%;padding:42px 0}.file-upload .upload-zone-labels{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload .upload-zone-labels .upload-zone-formats{font-weight:400}.file-upload .supported-formats-btn{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload .disabled-upload-zone{cursor:not-allowed}.file-upload .file-upload--btn,.file-upload .upload-label:not(.file-upload-mobile){margin-top:10px}.file-upload .file-upload--btn{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload .file-upload--btn:hover{text-decoration:underline}.file-upload .upload-zone-formats{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile .upload-button{border:1px solid var(--base-65);padding:10px 15px!important}.disabled .file-upload--btn{pointer-events:none!important;text-decoration:none!important;color:var(--base-40)}.native-file-input{display:none}\n"] }]
225
225
  }], () => [], { fileInput: [{
226
226
  type: ViewChild,
227
227
  args: ['fileInput']
@@ -6,4 +6,5 @@ export * from './date-ago';
6
6
  export * from './object-length';
7
7
  export * from './sort-by-number';
8
8
  export * from './sort-alphabetically';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLXdpdGgtaGlnaGxpZ2h0JztcclxuZXhwb3J0ICogZnJvbSAnLi9zb3J0LXRyYW5zbGF0aW9ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydC10cmFuc2xhdGlvbnMtYnktcHJvcGVydHknO1xyXG5leHBvcnQgKiBmcm9tICcuL2xhbmd1YWdlLXRyYW5zbGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1hZ28nO1xyXG5leHBvcnQgKiBmcm9tICcuL29iamVjdC1sZW5ndGgnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtYnktbnVtYmVyJ1xyXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtYWxwaGFiZXRpY2FsbHknIl19
9
+ export * from './sort-language-list';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItd2l0aC1oaWdobGlnaHQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtdHJhbnNsYXRpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9zb3J0LXRyYW5zbGF0aW9ucy1ieS1wcm9wZXJ0eSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2UtdHJhbnNsYXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kYXRlLWFnbyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0LWxlbmd0aCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1ieS1udW1iZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtYWxwaGFiZXRpY2FsbHknO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtbGFuZ3VhZ2UtbGlzdCc7XHJcbiJdfQ==
@@ -10,10 +10,10 @@ export class LanguageTranslateModule {
10
10
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageTranslateModule, [{
11
11
  type: NgModule,
12
12
  args: [{
13
- declarations: [LanguageTranslatePipe],
14
- imports: [CommonModule],
13
+ declarations: [],
14
+ imports: [LanguageTranslatePipe, CommonModule],
15
15
  exports: [LanguageTranslatePipe]
16
16
  }]
17
17
  }], null, null); })();
18
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(LanguageTranslateModule, { declarations: [LanguageTranslatePipe], imports: [CommonModule], exports: [LanguageTranslatePipe] }); })();
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtdHJhbnNsYXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9waXBlcy9sYW5ndWFnZS10cmFuc2xhdGUvbGFuZ3VhZ2UtdHJhbnNsYXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFPbEUsTUFBTSxPQUFPLHVCQUF1Qjt3SEFBdkIsdUJBQXVCO21FQUF2Qix1QkFBdUI7dUVBSHhCLFlBQVk7O2lGQUdYLHVCQUF1QjtjQUxuQyxRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQ3JDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7YUFDakM7O3dGQUNZLHVCQUF1QixtQkFKbkIscUJBQXFCLGFBQzFCLFlBQVksYUFDWixxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBMYW5ndWFnZVRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuL2xhbmd1YWdlLXRyYW5zbGF0ZS5waXBlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbTGFuZ3VhZ2VUcmFuc2xhdGVQaXBlXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBleHBvcnRzOiBbTGFuZ3VhZ2VUcmFuc2xhdGVQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VUcmFuc2xhdGVNb2R1bGUge31cclxuIl19
18
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(LanguageTranslateModule, { imports: [LanguageTranslatePipe, CommonModule], exports: [LanguageTranslatePipe] }); })();
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtdHJhbnNsYXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9waXBlcy9sYW5ndWFnZS10cmFuc2xhdGUvbGFuZ3VhZ2UtdHJhbnNsYXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFPbEUsTUFBTSxPQUFPLHVCQUF1Qjt3SEFBdkIsdUJBQXVCO21FQUF2Qix1QkFBdUI7dUVBSEQsWUFBWTs7aUZBR2xDLHVCQUF1QjtjQUxuQyxRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLFlBQVksQ0FBQztnQkFDOUMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7YUFDakM7O3dGQUNZLHVCQUF1QixjQUh4QixxQkFBcUIsRUFBRSxZQUFZLGFBQ25DLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IExhbmd1YWdlVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4vbGFuZ3VhZ2UtdHJhbnNsYXRlLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtMYW5ndWFnZVRyYW5zbGF0ZVBpcGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0xhbmd1YWdlVHJhbnNsYXRlUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIExhbmd1YWdlVHJhbnNsYXRlTW9kdWxlIHsgfVxyXG4iXX0=
@@ -87,13 +87,14 @@ export class LanguageTranslatePipe {
87
87
  return text.charAt(0).toUpperCase() + text.slice(1);
88
88
  }
89
89
  static { this.ɵfac = function LanguageTranslatePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LanguageTranslatePipe)(i0.ɵɵdirectiveInject(i1.TranslateService, 16)); }; }
90
- static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "languageTranslate", type: LanguageTranslatePipe, pure: false }); }
90
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "languageTranslate", type: LanguageTranslatePipe, pure: false, standalone: true }); }
91
91
  }
92
92
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageTranslatePipe, [{
93
93
  type: Pipe,
94
94
  args: [{
95
95
  name: 'languageTranslate',
96
96
  pure: false,
97
+ standalone: true
97
98
  }]
98
99
  }], () => [{ type: i1.TranslateService }], null); })();
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtdHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvbGFuZ3VhZ2UtdHJhbnNsYXRlL2xhbmd1YWdlLXRyYW5zbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFPcEQ7OztFQUdFO0FBQ0YsTUFBTSxPQUFPLHFCQUFxQjtJQU9oQyxZQUE2QixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQU52Qyw2QkFBd0IsR0FBRyxXQUFXLENBQUM7UUFJaEQscUJBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFHbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7SUFDbkQsQ0FBQztJQUVELFNBQVMsQ0FBQyxZQUFvQixFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQ2hELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztR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QUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sSUFBSSxLQUFLLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRU8seUJBQXlCLENBQUMsWUFBb0I7UUFDcEQsNkRBQTZEO1FBQzdELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUM5RCxPQUFPLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sMkJBQTJCLENBQUMsWUFBb0I7UUFDdEQsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUFZO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7c0hBdEdVLHFCQUFxQjsyRkFBckIscUJBQXFCOztpRkFBckIscUJBQXFCO2NBUmpDLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixJQUFJLEVBQUUsS0FBSzthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2xhbmd1YWdlVHJhbnNsYXRlJyxcclxuICBwdXJlOiBmYWxzZSxcclxufSlcclxuLyoqXHJcbiAgVGhpcyBwaXBlIHNlYXJjaGVzIGZvciBhIGxhbmd1YWdlIGNvZGUgdHJhbnNsYXRpb24gd2l0aGluIG91ciBKU09OIGZpbGVzLiBcclxuICBJZiB0aGUgdHJhbnNsYXRpb24gZm9yIGEgZ2l2ZW4gbGFuZ3VhZ2UgY29kZSBpcyBub3QgZm91bmQgdGhlcmUsIGl0IHJldHJpZXZlcyBpdCBmcm9tIHRoZSBicm93c2VyJ3MgSW50bCBvYmplY3QuXHJcbiovXHJcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZVRyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGxhbmd1YWdlc0xvY2FsaXphdGlvbktleSA9ICdMQU5HVUFHRVMnO1xyXG5cclxuICBwcml2YXRlIGxhc3RVaUxhbmd1YWdlOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgdHJhbnNsYXRpb25DYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy50cmFuc2xhdGlvbkNhY2hlLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMubGFzdFVpTGFuZ3VhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZztcclxuICAgIH0pO1xyXG4gICAgdGhpcy5sYXN0VWlMYW5ndWFnZSA9IHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKGZ1bGxMYW5nQ29kZTogc3RyaW5nLCBoaWRlUmVnaW9uID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFmdWxsTGFuZ0NvZGUpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmxhc3RVaUxhbmd1YWdlICE9PSB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykge1xyXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uQ2FjaGUuY2xlYXIoKTtcclxuICAgICAgdGhpcy5sYXN0VWlMYW5ndWFnZSA9IHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7ZnVsbExhbmdDb2RlfToke2hpZGVSZWdpb259YDtcclxuXHJcbiAgICBpZiAodGhpcy50cmFuc2xhdGlvbkNhY2hlLmhhcyhjYWNoZUtleSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25DYWNoZS5nZXQoY2FjaGVLZXkpITtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsYW5nQ29kZVdpdGhvdXRSZWdpb24gPSB0aGlzLmdldExhbmd1YWdlRnJvbUxhbmd1YWdlQ29kZShmdWxsTGFuZ0NvZGUpO1xyXG4gICAgY29uc3QgaXNDb2RlQW5kUmVnaW9uU2FtZSA9IHRoaXMuaXNMYW5ndWFnZUNvZGVTYW1lQXNSZWdpb24oZnVsbExhbmdDb2RlKTtcclxuICAgIGNvbnN0IGxhbmdDb2RlRm9yVHJhbnNsYXRpb24gPSBpc0NvZGVBbmRSZWdpb25TYW1lID8gbGFuZ0NvZGVXaXRob3V0UmVnaW9uIDogZnVsbExhbmdDb2RlO1xyXG5cclxuICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gdGhpcy5nZXRUcmFuc2xhdGlvbihsYW5nQ29kZUZvclRyYW5zbGF0aW9uLCBoaWRlUmVnaW9uKTtcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uQ2FjaGUuc2V0KGNhY2hlS2V5LCB0cmFuc2xhdGlvbik7XHJcblxyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUcmFuc2xhdGlvbihsYW5nQ29kZTogc3RyaW5nLCBoaWRlUmVnaW9uPzogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBsYW5ndWFnZVRyYW5zbGF0aW9ucyA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5sYW5ndWFnZXNMb2NhbGl6YXRpb25LZXkpO1xyXG4gICAgbGV0IHRyYW5zbGF0aW9uID1cclxuICAgICAgLyoqXHJcbiAgICAgICAgICBlLmcuIEluIGNhc2Ugd2UgbmVlZCB0byBkaXNwbGF5IFwiZW4tR0JcIiBsYW5ndWFnZSBjb2RlIGFzIFwiQnJpdGlzaFwiIHdlIGNhbiBkbyB0aGlzXHJcbiAgICAgICAgYnkgYWRkaW5nIFwiRU5fR0JcIjogXCJCcml0aXNoXCIgaW4gbG9jYWxpemF0aW9uIGZpbGVzIHVuZGVyIFwiTEFOR1VBR0VTXCIga2V5LiBcclxuICAgICAgKi9cclxuICAgICAgbGFuZ3VhZ2VUcmFuc2xhdGlvbnNbbGFuZ0NvZGUudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJ18nKV0gPz9cclxuICAgICAgdGhpcy5nZXRMYW5ndWFnZVRyYW5zbGF0aW9uRnJvbUxhbmd1YWdlQ29kZSh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZywgbGFuZ0NvZGUpO1xyXG5cclxuICAgIGlmIChoaWRlUmVnaW9uKSB7XHJcbiAgICAgIHRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb24uc3BsaXQoJygnKVswXS50cmltKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRMYW5ndWFnZVRyYW5zbGF0aW9uRnJvbUxhbmd1YWdlQ29kZShjdXJyZW50TGFuZzogc3RyaW5nLCBjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2VOYW1lc0luQ3VycmVudExhbmcgPSBuZXcgSW50bC5EaXNwbGF5TmFtZXMoW2N1cnJlbnRMYW5nXSwgeyB0eXBlOiAnbGFuZ3VhZ2UnIH0pO1xyXG4gICAgY29uc3QgcmVnaW9uTmFtZXNJbkN1cnJlbnRMYW5nID0gbmV3IEludGwuRGlzcGxheU5hbWVzKFtjdXJyZW50TGFuZ10sIHsgdHlwZTogJ3JlZ2lvbicgfSk7XHJcblxyXG4gICAgbGV0IHRyYW5zbGF0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgbGFuZ3VhZ2UgPSB0aGlzLmdldExhbmd1YWdlRnJvbUxhbmd1YWdlQ29kZShjb2RlKTtcclxuICAgICAgY29uc3QgcmVnaW9uID0gdGhpcy5nZXRSZWdpb25Gcm9tTGFuZ3VhZ2VDb2RlKGNvZGUpO1xyXG5cclxuICAgICAgY29uc3QgbGFuZ3VhZ2V0cmFuc2xhdGlvbiA9IGxhbmd1YWdlTmFtZXNJbkN1cnJlbnRMYW5nLm9mKGxhbmd1YWdlKTtcclxuICAgICAgY29uc3QgcmVnaW9uVHJhbnNsYXRpb24gPSByZWdpb25OYW1lc0luQ3VycmVudExhbmcub2YocmVnaW9uKTtcclxuXHJcbiAgICAgIHRyYW5zbGF0aW9uID0gYCR7bGFuZ3VhZ2V0cmFuc2xhdGlvbn0gKCR7cmVnaW9uVHJhbnNsYXRpb259KWA7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0cmFuc2xhdGlvbiA9IGxhbmd1YWdlTmFtZXNJbkN1cnJlbnRMYW5nLm9mKGNvZGUpIGFzIHN0cmluZztcclxuICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgcmV0dXJuIGNvZGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5jYXBpdGFsaXplRmlyc3RMZXR0ZXIodHJhbnNsYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0xhbmd1YWdlQ29kZVNhbWVBc1JlZ2lvbihmdWxsTGFuZ0NvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgW2NvZGUsIHJlZ2lvbiwgZXh0cmFdID0gZnVsbExhbmdDb2RlLnNwbGl0KCctJyk7XHJcbiAgICByZXR1cm4gY29kZSA9PT0gcmVnaW9uPy50b0xvd2VyQ2FzZSgpICYmICFleHRyYTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UmVnaW9uRnJvbUxhbmd1YWdlQ29kZShmdWxsTGFuZ0NvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXHJcbiAgICBjb25zdCBbX2NvZGUsIHJlZ2lvbiwgZXh0cmFdID0gZnVsbExhbmdDb2RlLnNwbGl0KCctJyk7XHJcbiAgICBjb25zdCByZWdpb25Db2RlID0gZXh0cmEgPyBgJHtyZWdpb259LSR7ZXh0cmF9YCA6IGAke3JlZ2lvbn1gO1xyXG4gICAgcmV0dXJuIHJlZ2lvbkNvZGUudG9VcHBlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TGFuZ3VhZ2VGcm9tTGFuZ3VhZ2VDb2RlKGZ1bGxMYW5nQ29kZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBmdWxsTGFuZ0NvZGUuc3BsaXQoJy0nKVswXS50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYXBpdGFsaXplRmlyc3RMZXR0ZXIodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0ZXh0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGV4dC5zbGljZSgxKTtcclxuICB9XHJcbn1cclxuIl19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtdHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvbGFuZ3VhZ2UtdHJhbnNsYXRlL2xhbmd1YWdlLXRyYW5zbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFRcEQ7OztFQUdFO0FBQ0YsTUFBTSxPQUFPLHFCQUFxQjtJQU9oQyxZQUE2QixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQU52Qyw2QkFBd0IsR0FBRyxXQUFXLENBQUM7UUFJdkMscUJBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFHNUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7SUFDbkQsQ0FBQztJQUVELFNBQVMsQ0FBQyxZQUFvQixFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQ2hELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztR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QUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sSUFBSSxLQUFLLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRU8seUJBQXlCLENBQUMsWUFBb0I7UUFDcEQsNkRBQTZEO1FBQzdELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUM5RCxPQUFPLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8sMkJBQTJCLENBQUMsWUFBb0I7UUFDdEQsT0FBTyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUFZO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7c0hBdEdVLHFCQUFxQjsyRkFBckIscUJBQXFCOztpRkFBckIscUJBQXFCO2NBVGpDLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixJQUFJLEVBQUUsS0FBSztnQkFDWCxVQUFVLEVBQUUsSUFBSTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdsYW5ndWFnZVRyYW5zbGF0ZScsXHJcbiAgcHVyZTogZmFsc2UsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG4vKipcclxuICBUaGlzIHBpcGUgc2VhcmNoZXMgZm9yIGEgbGFuZ3VhZ2UgY29kZSB0cmFuc2xhdGlvbiB3aXRoaW4gb3VyIEpTT04gZmlsZXMuXHJcbiAgSWYgdGhlIHRyYW5zbGF0aW9uIGZvciBhIGdpdmVuIGxhbmd1YWdlIGNvZGUgaXMgbm90IGZvdW5kIHRoZXJlLCBpdCByZXRyaWV2ZXMgaXQgZnJvbSB0aGUgYnJvd3NlcidzIEludGwgb2JqZWN0LlxyXG4qL1xyXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsYW5ndWFnZXNMb2NhbGl6YXRpb25LZXkgPSAnTEFOR1VBR0VTJztcclxuXHJcbiAgcHJpdmF0ZSBsYXN0VWlMYW5ndWFnZTogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRpb25DYWNoZS5jbGVhcigpO1xyXG4gICAgICB0aGlzLmxhc3RVaUxhbmd1YWdlID0gdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmc7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubGFzdFVpTGFuZ3VhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZztcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybShmdWxsTGFuZ0NvZGU6IHN0cmluZywgaGlkZVJlZ2lvbiA9IGZhbHNlKTogc3RyaW5nIHtcclxuICAgIGlmICghZnVsbExhbmdDb2RlKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5sYXN0VWlMYW5ndWFnZSAhPT0gdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcpIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGlvbkNhY2hlLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMubGFzdFVpTGFuZ3VhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjYWNoZUtleSA9IGAke2Z1bGxMYW5nQ29kZX06JHtoaWRlUmVnaW9ufWA7XHJcblxyXG4gICAgaWYgKHRoaXMudHJhbnNsYXRpb25DYWNoZS5oYXMoY2FjaGVLZXkpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uQ2FjaGUuZ2V0KGNhY2hlS2V5KSE7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGFuZ0NvZGVXaXRob3V0UmVnaW9uID0gdGhpcy5nZXRMYW5ndWFnZUZyb21MYW5ndWFnZUNvZGUoZnVsbExhbmdDb2RlKTtcclxuICAgIGNvbnN0IGlzQ29kZUFuZFJlZ2lvblNhbWUgPSB0aGlzLmlzTGFuZ3VhZ2VDb2RlU2FtZUFzUmVnaW9uKGZ1bGxMYW5nQ29kZSk7XHJcbiAgICBjb25zdCBsYW5nQ29kZUZvclRyYW5zbGF0aW9uID0gaXNDb2RlQW5kUmVnaW9uU2FtZSA/IGxhbmdDb2RlV2l0aG91dFJlZ2lvbiA6IGZ1bGxMYW5nQ29kZTtcclxuXHJcbiAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRoaXMuZ2V0VHJhbnNsYXRpb24obGFuZ0NvZGVGb3JUcmFuc2xhdGlvbiwgaGlkZVJlZ2lvbik7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGlvbkNhY2hlLnNldChjYWNoZUtleSwgdHJhbnNsYXRpb24pO1xyXG5cclxuICAgIHJldHVybiB0cmFuc2xhdGlvbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRpb24obGFuZ0NvZGU6IHN0cmluZywgaGlkZVJlZ2lvbj86IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2VUcmFuc2xhdGlvbnMgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRoaXMubGFuZ3VhZ2VzTG9jYWxpemF0aW9uS2V5KTtcclxuICAgIGxldCB0cmFuc2xhdGlvbiA9XHJcbiAgICAgIC8qKlxyXG4gICAgICAgICAgZS5nLiBJbiBjYXNlIHdlIG5lZWQgdG8gZGlzcGxheSBcImVuLUdCXCIgbGFuZ3VhZ2UgY29kZSBhcyBcIkJyaXRpc2hcIiB3ZSBjYW4gZG8gdGhpc1xyXG4gICAgICAgIGJ5IGFkZGluZyBcIkVOX0dCXCI6IFwiQnJpdGlzaFwiIGluIGxvY2FsaXphdGlvbiBmaWxlcyB1bmRlciBcIkxBTkdVQUdFU1wiIGtleS5cclxuICAgICAgKi9cclxuICAgICAgbGFuZ3VhZ2VUcmFuc2xhdGlvbnNbbGFuZ0NvZGUudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJ18nKV0gPz9cclxuICAgICAgdGhpcy5nZXRMYW5ndWFnZVRyYW5zbGF0aW9uRnJvbUxhbmd1YWdlQ29kZSh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZywgbGFuZ0NvZGUpO1xyXG5cclxuICAgIGlmIChoaWRlUmVnaW9uKSB7XHJcbiAgICAgIHRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb24uc3BsaXQoJygnKVswXS50cmltKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRMYW5ndWFnZVRyYW5zbGF0aW9uRnJvbUxhbmd1YWdlQ29kZShjdXJyZW50TGFuZzogc3RyaW5nLCBjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2VOYW1lc0luQ3VycmVudExhbmcgPSBuZXcgSW50bC5EaXNwbGF5TmFtZXMoW2N1cnJlbnRMYW5nXSwgeyB0eXBlOiAnbGFuZ3VhZ2UnIH0pO1xyXG4gICAgY29uc3QgcmVnaW9uTmFtZXNJbkN1cnJlbnRMYW5nID0gbmV3IEludGwuRGlzcGxheU5hbWVzKFtjdXJyZW50TGFuZ10sIHsgdHlwZTogJ3JlZ2lvbicgfSk7XHJcblxyXG4gICAgbGV0IHRyYW5zbGF0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgbGFuZ3VhZ2UgPSB0aGlzLmdldExhbmd1YWdlRnJvbUxhbmd1YWdlQ29kZShjb2RlKTtcclxuICAgICAgY29uc3QgcmVnaW9uID0gdGhpcy5nZXRSZWdpb25Gcm9tTGFuZ3VhZ2VDb2RlKGNvZGUpO1xyXG5cclxuICAgICAgY29uc3QgbGFuZ3VhZ2V0cmFuc2xhdGlvbiA9IGxhbmd1YWdlTmFtZXNJbkN1cnJlbnRMYW5nLm9mKGxhbmd1YWdlKTtcclxuICAgICAgY29uc3QgcmVnaW9uVHJhbnNsYXRpb24gPSByZWdpb25OYW1lc0luQ3VycmVudExhbmcub2YocmVnaW9uKTtcclxuXHJcbiAgICAgIHRyYW5zbGF0aW9uID0gYCR7bGFuZ3VhZ2V0cmFuc2xhdGlvbn0gKCR7cmVnaW9uVHJhbnNsYXRpb259KWA7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0cmFuc2xhdGlvbiA9IGxhbmd1YWdlTmFtZXNJbkN1cnJlbnRMYW5nLm9mKGNvZGUpIGFzIHN0cmluZztcclxuICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgcmV0dXJuIGNvZGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5jYXBpdGFsaXplRmlyc3RMZXR0ZXIodHJhbnNsYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0xhbmd1YWdlQ29kZVNhbWVBc1JlZ2lvbihmdWxsTGFuZ0NvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgW2NvZGUsIHJlZ2lvbiwgZXh0cmFdID0gZnVsbExhbmdDb2RlLnNwbGl0KCctJyk7XHJcbiAgICByZXR1cm4gY29kZSA9PT0gcmVnaW9uPy50b0xvd2VyQ2FzZSgpICYmICFleHRyYTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UmVnaW9uRnJvbUxhbmd1YWdlQ29kZShmdWxsTGFuZ0NvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXHJcbiAgICBjb25zdCBbX2NvZGUsIHJlZ2lvbiwgZXh0cmFdID0gZnVsbExhbmdDb2RlLnNwbGl0KCctJyk7XHJcbiAgICBjb25zdCByZWdpb25Db2RlID0gZXh0cmEgPyBgJHtyZWdpb259LSR7ZXh0cmF9YCA6IGAke3JlZ2lvbn1gO1xyXG4gICAgcmV0dXJuIHJlZ2lvbkNvZGUudG9VcHBlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TGFuZ3VhZ2VGcm9tTGFuZ3VhZ2VDb2RlKGZ1bGxMYW5nQ29kZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBmdWxsTGFuZ0NvZGUuc3BsaXQoJy0nKVswXS50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYXBpdGFsaXplRmlyc3RMZXR0ZXIodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0ZXh0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGV4dC5zbGljZSgxKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './models';
2
+ export * from './sort-language-list.pipe';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvc29ydC1sYW5ndWFnZS1saXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1sYW5ndWFnZS1saXN0LnBpcGUnO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './translated-language.model';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvc29ydC1sYW5ndWFnZS1saXN0L21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGVkLWxhbmd1YWdlLm1vZGVsJztcclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlZC1sYW5ndWFnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9waXBlcy9zb3J0LWxhbmd1YWdlLWxpc3QvbW9kZWxzL3RyYW5zbGF0ZWQtbGFuZ3VhZ2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHJhbnNsYXRlZExhbmd1YWdlPFQ+e1xyXG4gIHZhbHVlOiBUO1xyXG4gIHRyYW5zbGF0aW9uOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,58 @@
1
+ import { Pipe, inject } from '@angular/core';
2
+ import { TranslateService } from '@ngx-translate/core';
3
+ import { map } from 'rxjs';
4
+ import { LanguageTranslateService } from '../../services/language-translate';
5
+ import * as i0 from "@angular/core";
6
+ export class SortLanguageListPipe {
7
+ #translateService = inject(TranslateService);
8
+ #languageTranslationService = inject(LanguageTranslateService);
9
+ transform(list, key) {
10
+ const keyParts = key?.split(".");
11
+ // do some random stream so method gets called first time when transform is executed
12
+ return this.#translateService.stream("languages").pipe(map(() => {
13
+ if (!list) {
14
+ return [];
15
+ }
16
+ const translatedLanguages = list
17
+ .map(language => {
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ let languageCode;
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ let objValue = language;
22
+ if (keyParts?.length) {
23
+ for (const element of keyParts) {
24
+ const keyPart = element;
25
+ if (!objValue) {
26
+ console.error(`Can't find value for sort language pipe ${key}`, language);
27
+ break;
28
+ }
29
+ objValue = objValue[keyPart];
30
+ }
31
+ languageCode = objValue;
32
+ }
33
+ else {
34
+ languageCode = language;
35
+ }
36
+ return {
37
+ value: language, translation: this.#languageTranslationService.getLanguageCodeTranslation(languageCode, false)
38
+ };
39
+ })
40
+ .sort((a, b) => {
41
+ const translationA = a.translation.toLowerCase();
42
+ const translationB = b.translation.toLowerCase();
43
+ return translationA.localeCompare(translationB);
44
+ });
45
+ return translatedLanguages;
46
+ }));
47
+ }
48
+ static { this.ɵfac = function SortLanguageListPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SortLanguageListPipe)(); }; }
49
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "sortLanguageList", type: SortLanguageListPipe, pure: true, standalone: true }); }
50
+ }
51
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SortLanguageListPipe, [{
52
+ type: Pipe,
53
+ args: [{
54
+ name: 'sortLanguageList',
55
+ standalone: true
56
+ }]
57
+ }], null, null); })();
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1sYW5ndWFnZS1saXN0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvc29ydC1sYW5ndWFnZS1saXN0L3NvcnQtbGFuZ3VhZ2UtbGlzdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQU83RSxNQUFNLE9BQU8sb0JBQW9CO0lBQ3RCLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLDJCQUEyQixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRXhFLFNBQVMsQ0FBSSxJQUFTLEVBQUUsR0FBWTtRQUNsQyxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLG9GQUFvRjtRQUNwRixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUNwRCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNWLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUVELE1BQU0sbUJBQW1CLEdBQTRCLElBQUk7aUJBQ3RELEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDZCw4REFBOEQ7Z0JBQzlELElBQUksWUFBb0IsQ0FBQztnQkFDekIsOERBQThEO2dCQUM5RCxJQUFJLFFBQVEsR0FBUSxRQUFRLENBQUM7Z0JBRTdCLElBQUksUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUNyQixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO3dCQUMvQixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUM7d0JBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzs0QkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLDJDQUEyQyxHQUFHLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQzs0QkFDMUUsTUFBTTt3QkFDUixDQUFDO3dCQUNELFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQy9CLENBQUM7b0JBQ0QsWUFBWSxHQUFHLFFBQVEsQ0FBQztnQkFDMUIsQ0FBQztxQkFDSSxDQUFDO29CQUNKLFlBQVksR0FBRyxRQUFrQixDQUFDO2dCQUNwQyxDQUFDO2dCQUVELE9BQU87b0JBQ0wsS0FBSyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUM7aUJBQy9HLENBQUE7WUFDSCxDQUFDLENBQUM7aUJBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNiLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pELE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sWUFBWSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNsRCxDQUFDLENBQUMsQ0FBQztZQUNMLE9BQU8sbUJBQW1CLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7cUhBL0NVLG9CQUFvQjswRkFBcEIsb0JBQW9COztpRkFBcEIsb0JBQW9CO2NBSmhDLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixVQUFVLEVBQUUsSUFBSTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZVRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYW5ndWFnZS10cmFuc2xhdGUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVkTGFuZ3VhZ2UgfSBmcm9tICcuL21vZGVscy90cmFuc2xhdGVkLWxhbmd1YWdlLm1vZGVsJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc29ydExhbmd1YWdlTGlzdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU29ydExhbmd1YWdlTGlzdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICByZWFkb25seSAjdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuICByZWFkb25seSAjbGFuZ3VhZ2VUcmFuc2xhdGlvblNlcnZpY2UgPSBpbmplY3QoTGFuZ3VhZ2VUcmFuc2xhdGVTZXJ2aWNlKTtcclxuXHJcbiAgdHJhbnNmb3JtPFQ+KGxpc3Q6IFRbXSwga2V5Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxUcmFuc2xhdGVkTGFuZ3VhZ2U8VD5bXT4ge1xyXG4gICAgY29uc3Qga2V5UGFydHMgPSBrZXk/LnNwbGl0KFwiLlwiKTtcclxuICAgIC8vIGRvIHNvbWUgcmFuZG9tIHN0cmVhbSBzbyBtZXRob2QgZ2V0cyBjYWxsZWQgZmlyc3QgdGltZSB3aGVuIHRyYW5zZm9ybSBpcyBleGVjdXRlZFxyXG4gICAgcmV0dXJuIHRoaXMuI3RyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKFwibGFuZ3VhZ2VzXCIpLnBpcGUoXHJcbiAgICAgIG1hcCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFsaXN0KSB7XHJcbiAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0cmFuc2xhdGVkTGFuZ3VhZ2VzOiBUcmFuc2xhdGVkTGFuZ3VhZ2U8VD5bXSA9IGxpc3RcclxuICAgICAgICAgIC5tYXAobGFuZ3VhZ2UgPT4ge1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgICAgICBsZXQgbGFuZ3VhZ2VDb2RlOiBzdHJpbmc7XHJcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgICAgIGxldCBvYmpWYWx1ZTogYW55ID0gbGFuZ3VhZ2U7XHJcblxyXG4gICAgICAgICAgICBpZiAoa2V5UGFydHM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBrZXlQYXJ0cykge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qga2V5UGFydCA9IGVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICBpZiAoIW9ialZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYENhbid0IGZpbmQgdmFsdWUgZm9yIHNvcnQgbGFuZ3VhZ2UgcGlwZSAke2tleX1gLCBsYW5ndWFnZSk7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgb2JqVmFsdWUgPSBvYmpWYWx1ZVtrZXlQYXJ0XTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgbGFuZ3VhZ2VDb2RlID0gb2JqVmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgbGFuZ3VhZ2VDb2RlID0gbGFuZ3VhZ2UgYXMgc3RyaW5nO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIHZhbHVlOiBsYW5ndWFnZSwgdHJhbnNsYXRpb246IHRoaXMuI2xhbmd1YWdlVHJhbnNsYXRpb25TZXJ2aWNlLmdldExhbmd1YWdlQ29kZVRyYW5zbGF0aW9uKGxhbmd1YWdlQ29kZSwgZmFsc2UpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbkEgPSBhLnRyYW5zbGF0aW9uLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uQiA9IGIudHJhbnNsYXRpb24udG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uQS5sb2NhbGVDb21wYXJlKHRyYW5zbGF0aW9uQik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdHJhbnNsYXRlZExhbmd1YWdlcztcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, EventEmitter, Component, Output, Input, ViewChild, NgModule, Optional, Inject, Pipe, Directive, HostListener, HostBinding, inject, ViewChildren, ElementRef, ContentChildren, ContentChild, InjectionToken } from '@angular/core';
2
+ import { Injectable, EventEmitter, Component, Output, Input, ViewChild, NgModule, Optional, Inject, Pipe, inject, Directive, HostListener, HostBinding, ViewChildren, ElementRef, ContentChildren, ContentChild, InjectionToken } from '@angular/core';
3
3
  import * as i1 from '@angular/material/icon';
4
4
  import { MatIconModule, MatIcon } from '@angular/material/icon';
5
5
  import * as i2 from '@angular/platform-browser';
@@ -1281,13 +1281,14 @@ class LanguageTranslatePipe {
1281
1281
  return text.charAt(0).toUpperCase() + text.slice(1);
1282
1282
  }
1283
1283
  static { this.ɵfac = function LanguageTranslatePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LanguageTranslatePipe)(i0.ɵɵdirectiveInject(i1$1.TranslateService, 16)); }; }
1284
- static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "languageTranslate", type: LanguageTranslatePipe, pure: false }); }
1284
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "languageTranslate", type: LanguageTranslatePipe, pure: false, standalone: true }); }
1285
1285
  }
1286
1286
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageTranslatePipe, [{
1287
1287
  type: Pipe,
1288
1288
  args: [{
1289
1289
  name: 'languageTranslate',
1290
1290
  pure: false,
1291
+ standalone: true
1291
1292
  }]
1292
1293
  }], () => [{ type: i1$1.TranslateService }], null); })();
1293
1294
 
@@ -1299,12 +1300,12 @@ class LanguageTranslateModule {
1299
1300
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LanguageTranslateModule, [{
1300
1301
  type: NgModule,
1301
1302
  args: [{
1302
- declarations: [LanguageTranslatePipe],
1303
- imports: [CommonModule],
1303
+ declarations: [],
1304
+ imports: [LanguageTranslatePipe, CommonModule],
1304
1305
  exports: [LanguageTranslatePipe]
1305
1306
  }]
1306
1307
  }], null, null); })();
1307
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(LanguageTranslateModule, { declarations: [LanguageTranslatePipe], imports: [CommonModule], exports: [LanguageTranslatePipe] }); })();
1308
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(LanguageTranslateModule, { imports: [LanguageTranslatePipe, CommonModule], exports: [LanguageTranslatePipe] }); })();
1308
1309
 
1309
1310
  const DateAgoSettingsToken = "DATE_AGO_SETTINGS";
1310
1311
 
@@ -1530,6 +1531,59 @@ class SortAlphabeticallyModule {
1530
1531
  }], null, null); })();
1531
1532
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SortAlphabeticallyModule, { declarations: [SortAlphabeticallyPipe], imports: [CommonModule], exports: [SortAlphabeticallyPipe] }); })();
1532
1533
 
1534
+ class SortLanguageListPipe {
1535
+ #translateService = inject(TranslateService);
1536
+ #languageTranslationService = inject(LanguageTranslateService);
1537
+ transform(list, key) {
1538
+ const keyParts = key?.split(".");
1539
+ // do some random stream so method gets called first time when transform is executed
1540
+ return this.#translateService.stream("languages").pipe(map(() => {
1541
+ if (!list) {
1542
+ return [];
1543
+ }
1544
+ const translatedLanguages = list
1545
+ .map(language => {
1546
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1547
+ let languageCode;
1548
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1549
+ let objValue = language;
1550
+ if (keyParts?.length) {
1551
+ for (const element of keyParts) {
1552
+ const keyPart = element;
1553
+ if (!objValue) {
1554
+ console.error(`Can't find value for sort language pipe ${key}`, language);
1555
+ break;
1556
+ }
1557
+ objValue = objValue[keyPart];
1558
+ }
1559
+ languageCode = objValue;
1560
+ }
1561
+ else {
1562
+ languageCode = language;
1563
+ }
1564
+ return {
1565
+ value: language, translation: this.#languageTranslationService.getLanguageCodeTranslation(languageCode, false)
1566
+ };
1567
+ })
1568
+ .sort((a, b) => {
1569
+ const translationA = a.translation.toLowerCase();
1570
+ const translationB = b.translation.toLowerCase();
1571
+ return translationA.localeCompare(translationB);
1572
+ });
1573
+ return translatedLanguages;
1574
+ }));
1575
+ }
1576
+ static { this.ɵfac = function SortLanguageListPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SortLanguageListPipe)(); }; }
1577
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "sortLanguageList", type: SortLanguageListPipe, pure: true, standalone: true }); }
1578
+ }
1579
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SortLanguageListPipe, [{
1580
+ type: Pipe,
1581
+ args: [{
1582
+ name: 'sortLanguageList',
1583
+ standalone: true
1584
+ }]
1585
+ }], null, null); })();
1586
+
1533
1587
  class LanguageTranslateService {
1534
1588
  constructor(translateService) {
1535
1589
  this.translateService = translateService;
@@ -2938,11 +2992,11 @@ class FileUploadComponent {
2938
2992
  i0.ɵɵproperty("ngIf", ctx.useCompactUpload)("ngIfElse", regularUpload_r9);
2939
2993
  i0.ɵɵadvance(3);
2940
2994
  i0.ɵɵproperty("accept", ctx.allowedExtensions)("multiple", ctx.multiple)("disabled", ctx.disabled);
2941
- } }, dependencies: [i1$2.NgForOf, i1$2.NgIf, i2$3.MatProgressBar, i3.DefaultShowHideDirective, i3.DefaultClassDirective, i5.MatButton, DragAndDropDirective, i1.MatIcon, i1$1.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{justify-content:start;min-height:80px;padding:15px 20px!important}.file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%]{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{font-weight:400}.file-upload[_ngcontent-%COMP%] .supported-formats-btn[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload[_ngcontent-%COMP%] .disabled-upload-zone[_ngcontent-%COMP%]{cursor:not-allowed}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-label[_ngcontent-%COMP%]:not(.file-upload-mobile){margin-top:10px}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]:hover{text-decoration:underline}.file-upload[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{border:1px solid var(--base-65);padding:10px 15px!important}.disabled[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{pointer-events:none!important;text-decoration:none!important;color:var(--base-40)}.native-file-input[_ngcontent-%COMP%]{display:none}"] }); }
2995
+ } }, dependencies: [i1$2.NgForOf, i1$2.NgIf, i2$3.MatProgressBar, i3.DefaultShowHideDirective, i3.DefaultClassDirective, i5.MatButton, DragAndDropDirective, i1.MatIcon, i1$1.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%}.file-upload[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{justify-content:start;min-height:80px;padding:15px 20px!important}.file-upload[_ngcontent-%COMP%] .upload-zone[_ngcontent-%COMP%]{flex-direction:column;justify-content:center;align-items:center;width:100%;padding:42px 0}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%]{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload[_ngcontent-%COMP%] .upload-zone-labels[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{font-weight:400}.file-upload[_ngcontent-%COMP%] .supported-formats-btn[_ngcontent-%COMP%]{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload[_ngcontent-%COMP%] .disabled-upload-zone[_ngcontent-%COMP%]{cursor:not-allowed}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%], .file-upload[_ngcontent-%COMP%] .upload-label[_ngcontent-%COMP%]:not(.file-upload-mobile){margin-top:10px}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]:hover{text-decoration:underline}.file-upload[_ngcontent-%COMP%] .upload-zone-formats[_ngcontent-%COMP%]{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile[_ngcontent-%COMP%] .upload-button[_ngcontent-%COMP%]{border:1px solid var(--base-65);padding:10px 15px!important}.disabled[_ngcontent-%COMP%] .file-upload--btn[_ngcontent-%COMP%]{pointer-events:none!important;text-decoration:none!important;color:var(--base-40)}.native-file-input[_ngcontent-%COMP%]{display:none}"] }); }
2942
2996
  }
2943
2997
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileUploadComponent, [{
2944
2998
  type: Component,
2945
- args: [{ selector: 'lib-file-upload', template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\" [class.disabled]=\"disabled\">\r\n <mat-progress-bar \r\n *ngIf=\"filePreviewProgress\"\r\n color=\"primary\" \r\n class=\"tld-file-upload-progress\" \r\n [value]=\"filePreviewProgress\"\r\n >\r\n </mat-progress-bar>\r\n\r\n <ng-container *ngIf=\"useCompactUpload; else regularUpload\">\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button text-l\"\r\n >\r\n <mat-icon *ngIf=\"uploadIconName\">{{uploadIconName}}</mat-icon>\r\n <ng-content></ng-content>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #regularUpload>\r\n <div class=\"upload-zone\" tldDragAndDrop (fileDropped)=\"onFileDrop($event)\" [class.disabled-upload-zone]=\"disabled\">\r\n <mat-icon svgIcon=\"file_upload_icon\"></mat-icon>\r\n\r\n \r\n <div class=\"upload-zone-labels\">\r\n <a color=\"primary-accent-darker\" class=\"file-upload--btn\" (click)=\"fileInput.click()\">{{ uploadButtonLabel }}</a>\r\n \r\n <span fxHide.lt-sm class=\"upload-label\" [innerHTML]=\"dragZoneLabel\"></span>\r\n \r\n <p class=\"upload-zone-formats\">\r\n (<span *ngFor=\"let format of accept; let i = index\"\r\n >{{ format\r\n }}{{ accept.length - 1 === i ? \".\" : \", \" }}</span\r\n >\r\n\r\n <span *ngIf=\"maxSize\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate: { maxSize: maxSizeLabel }\"></span>)\r\n </p>\r\n \r\n @if (accept.length > minSupportedFormatCount) {\r\n <a class=\"supported-formats-btn\" (click)=\"openSupportedFormatModal()\">{{openExtensionPopupLabel}}</a>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<input \r\n #fileInput \r\n type=\"file\" \r\n name=\"files\" \r\n class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" \r\n [multiple]=\"multiple\" \r\n [disabled]=\"disabled\"\r\n (change)=\"handleFileInput($event)\" \r\n/>\r\n", styles: [":host{width:100%}.file-upload{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload .upload-button,.file-upload .upload-zone{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload .upload-button{justify-content:start;min-height:80px;padding:15px 20px!important}.file-upload .upload-zone{flex-direction:column;justify-content:center;align-items:center;max-width:600px;width:100%;padding:42px 0}.file-upload .upload-zone-labels{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload .upload-zone-labels .upload-zone-formats{font-weight:400}.file-upload .supported-formats-btn{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload .disabled-upload-zone{cursor:not-allowed}.file-upload .file-upload--btn,.file-upload .upload-label:not(.file-upload-mobile){margin-top:10px}.file-upload .file-upload--btn{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload .file-upload--btn:hover{text-decoration:underline}.file-upload .upload-zone-formats{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile .upload-button{border:1px solid var(--base-65);padding:10px 15px!important}.disabled .file-upload--btn{pointer-events:none!important;text-decoration:none!important;color:var(--base-40)}.native-file-input{display:none}\n"] }]
2999
+ args: [{ selector: 'lib-file-upload', template: "<div class=\"file-upload\" [ngClass.lt-sm]=\"'file-upload-mobile'\" [class.disabled]=\"disabled\">\r\n <mat-progress-bar \r\n *ngIf=\"filePreviewProgress\"\r\n color=\"primary\" \r\n class=\"tld-file-upload-progress\" \r\n [value]=\"filePreviewProgress\"\r\n >\r\n </mat-progress-bar>\r\n\r\n <ng-container *ngIf=\"useCompactUpload; else regularUpload\">\r\n <button tldDragAndDrop #inputButton mat-button (fileDropped)=\"onFileDrop($event)\" [disabled]=\"disabled\" type=\"button\"\r\n (click)=\"fileInput.click()\" class=\"upload-button text-l\"\r\n >\r\n <mat-icon *ngIf=\"uploadIconName\">{{uploadIconName}}</mat-icon>\r\n <ng-content></ng-content>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-template #regularUpload>\r\n <div class=\"upload-zone\" tldDragAndDrop (fileDropped)=\"onFileDrop($event)\" [class.disabled-upload-zone]=\"disabled\">\r\n <mat-icon svgIcon=\"file_upload_icon\"></mat-icon>\r\n\r\n \r\n <div class=\"upload-zone-labels\">\r\n <a color=\"primary-accent-darker\" class=\"file-upload--btn\" (click)=\"fileInput.click()\">{{ uploadButtonLabel }}</a>\r\n \r\n <span fxHide.lt-sm class=\"upload-label\" [innerHTML]=\"dragZoneLabel\"></span>\r\n \r\n <p class=\"upload-zone-formats\">\r\n (<span *ngFor=\"let format of accept; let i = index\"\r\n >{{ format\r\n }}{{ accept.length - 1 === i ? \".\" : \", \" }}</span\r\n >\r\n\r\n <span *ngIf=\"maxSize\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate: { maxSize: maxSizeLabel }\"></span>)\r\n </p>\r\n \r\n @if (accept.length > minSupportedFormatCount) {\r\n <a class=\"supported-formats-btn\" (click)=\"openSupportedFormatModal()\">{{openExtensionPopupLabel}}</a>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<input \r\n #fileInput \r\n type=\"file\" \r\n name=\"files\" \r\n class=\"native-file-input\"\r\n [accept]=\"allowedExtensions\" \r\n [multiple]=\"multiple\" \r\n [disabled]=\"disabled\"\r\n (change)=\"handleFileInput($event)\" \r\n/>\r\n", styles: [":host{width:100%}.file-upload{display:flex;flex-direction:column;justify-content:center;text-align:center}.file-upload .upload-button,.file-upload .upload-zone{display:flex;border-radius:16px;border:1px dashed var(--base-65)}.file-upload .upload-button{justify-content:start;min-height:80px;padding:15px 20px!important}.file-upload .upload-zone{flex-direction:column;justify-content:center;align-items:center;width:100%;padding:42px 0}.file-upload .upload-zone-labels{margin-top:10px;font-size:16px;font-weight:600;line-height:24px;text-align:center}.file-upload .upload-zone-labels .upload-zone-formats{font-weight:400}.file-upload .supported-formats-btn{cursor:pointer;color:var(--primary-accent-darker);font-weight:400}.file-upload .disabled-upload-zone{cursor:not-allowed}.file-upload .file-upload--btn,.file-upload .upload-label:not(.file-upload-mobile){margin-top:10px}.file-upload .file-upload--btn{cursor:pointer;align-self:center;max-width:fit-content;color:var(--primary-accent-darker)}.file-upload .file-upload--btn:hover{text-decoration:underline}.file-upload .upload-zone-formats{margin:10px 0 4px;color:var(--base-40)}.file-upload-mobile .upload-button{border:1px solid var(--base-65);padding:10px 15px!important}.disabled .file-upload--btn{pointer-events:none!important;text-decoration:none!important;color:var(--base-40)}.native-file-input{display:none}\n"] }]
2946
3000
  }], () => [], { fileInput: [{
2947
3001
  type: ViewChild,
2948
3002
  args: ['fileInput']
@@ -7235,6 +7289,25 @@ const provideCustomTitleStrategy = () => {
7235
7289
  };
7236
7290
  };
7237
7291
 
7292
+ class MissingTranslationHandlerService {
7293
+ constructor() { }
7294
+ handle(params) {
7295
+ if (params.interpolateParams) {
7296
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7297
+ return params.interpolateParams["default"] || params.key;
7298
+ }
7299
+ return params.key;
7300
+ }
7301
+ static { this.ɵfac = function MissingTranslationHandlerService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MissingTranslationHandlerService)(); }; }
7302
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MissingTranslationHandlerService, factory: MissingTranslationHandlerService.ɵfac, providedIn: 'root' }); }
7303
+ }
7304
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MissingTranslationHandlerService, [{
7305
+ type: Injectable,
7306
+ args: [{
7307
+ providedIn: 'root'
7308
+ }]
7309
+ }], () => [], null); })();
7310
+
7238
7311
  /*
7239
7312
  * Public API Surface of ngx-common
7240
7313
  */
@@ -7243,5 +7316,5 @@ const provideCustomTitleStrategy = () => {
7243
7316
  * Generated bundle index. Do not edit.
7244
7317
  */
7245
7318
 
7246
- export { ALERT_CONFIGURATION_TOKEN, AlertService, AuthHeadersHelper, COLLECTIONS_MENU, ClickOutsideDirective, ClickOutsideModule, CloseButtonComponent, CloseButtonModule, CombinedCollection, CombinedCollectionTooltipKey, CompanyProductComponent, CompanyProductModule, Confirmation, ConfirmationModalComponent, ConfirmationModalModule, ConfirmationService, ConversionHelper, CustomTitleStrategyService, DISABLE_EXPORT_ATTRIBUTE_NAME, DOMService, DateAgoModule, DateAgoPipe, DragAndDropDirective, DragAndDropModule, ERROR_CODES, EngineTermApiService, EngineTermCollectionScope, EngineTermCollectionSource, EngineTermCollectionStatus, EngineTermCollectionSubStatus, ExportFormat, ExtensionDialogComponent, ExtensionDialogModule, ExtensionDialogService, FileCategories, FileExtensionHelper, FileExtensions, FileTypeIcons, FileTypes, FileUploadComponent, FileUploadErrorTypeEnum, FileUploadModule, FilterBarComponent, FilterBarModule, FilterWithHighlightModule, FilterWithHighlightPipe, FooterComponent, FooterModule, HtmlElementParseHelper, HtmlHelper, IconService, InlineMessageComponent, InlineMessageIconPosition, InlineMessageModule, InlineMessageType, LAST_USED_SYSTEM_LOCAL_STORAGE_KEY, LLMComponent, LLMModule, LLM_CONFIGURATION_TOKEN, LanguageTranslateModule, LanguageTranslatePipe, LanguageTranslateService, MatButtonLoadingDirective, MatButtonLoadingModule, MissingTranslationHelper, MtCollectionStatus, MultiFunctionalTableComponent, MultiFunctionalTableModule, NotificationMessageComponent, NotificationMessageModule, NotificationMessageType, NotificationService, OPEN_CLOSE_BTN_ICONS_TOKEN, ObjectLengthModule, ObjectLengthPipe, OpenCloseButtonComponent, OpenCloseButtonModule, OpenExtensionDialogComponent, Operations, PlausibleEventDirective, PlausibleHelper, PlausibleModule, ResolutionHelper, SCREEN_SIZE, SaveFileHelper, SidebarComponent, SidebarService, SortAlphabeticallyModule, SortAlphabeticallyPipe, SortByNumberPipe, SortHelper, SortTranslationsByPropertyModule, SortTranslationsByPropertyPipe, SortTranslationsModule, SortTranslationsPipe, StatusDisplayComponent, StatusDisplayModule, SubscriptionPlan, SystemService, TerminologyApiService, TerminologyCollectionService, TerminologyComponent, TerminologyConfigService, TerminologyCreateCollectionComponent, TerminologyModule, TerminologyService, TextToSpeechComponent, TldLoaderComponent, TldLoaderModule, ToastComponent, ToastService, provideCustomTitleStrategy };
7319
+ export { ALERT_CONFIGURATION_TOKEN, AlertService, AuthHeadersHelper, COLLECTIONS_MENU, ClickOutsideDirective, ClickOutsideModule, CloseButtonComponent, CloseButtonModule, CombinedCollection, CombinedCollectionTooltipKey, CompanyProductComponent, CompanyProductModule, Confirmation, ConfirmationModalComponent, ConfirmationModalModule, ConfirmationService, ConversionHelper, CustomTitleStrategyService, DISABLE_EXPORT_ATTRIBUTE_NAME, DOMService, DateAgoModule, DateAgoPipe, DragAndDropDirective, DragAndDropModule, ERROR_CODES, EngineTermApiService, EngineTermCollectionScope, EngineTermCollectionSource, EngineTermCollectionStatus, EngineTermCollectionSubStatus, ExportFormat, ExtensionDialogComponent, ExtensionDialogModule, ExtensionDialogService, FileCategories, FileExtensionHelper, FileExtensions, FileTypeIcons, FileTypes, FileUploadComponent, FileUploadErrorTypeEnum, FileUploadModule, FilterBarComponent, FilterBarModule, FilterWithHighlightModule, FilterWithHighlightPipe, FooterComponent, FooterModule, HtmlElementParseHelper, HtmlHelper, IconService, InlineMessageComponent, InlineMessageIconPosition, InlineMessageModule, InlineMessageType, LAST_USED_SYSTEM_LOCAL_STORAGE_KEY, LLMComponent, LLMModule, LLM_CONFIGURATION_TOKEN, LanguageTranslateModule, LanguageTranslatePipe, LanguageTranslateService, MatButtonLoadingDirective, MatButtonLoadingModule, MissingTranslationHandlerService, MissingTranslationHelper, MtCollectionStatus, MultiFunctionalTableComponent, MultiFunctionalTableModule, NotificationMessageComponent, NotificationMessageModule, NotificationMessageType, NotificationService, OPEN_CLOSE_BTN_ICONS_TOKEN, ObjectLengthModule, ObjectLengthPipe, OpenCloseButtonComponent, OpenCloseButtonModule, OpenExtensionDialogComponent, Operations, PlausibleEventDirective, PlausibleHelper, PlausibleModule, ResolutionHelper, SCREEN_SIZE, SaveFileHelper, SidebarComponent, SidebarService, SortAlphabeticallyModule, SortAlphabeticallyPipe, SortByNumberPipe, SortHelper, SortLanguageListPipe, SortTranslationsByPropertyModule, SortTranslationsByPropertyPipe, SortTranslationsModule, SortTranslationsPipe, StatusDisplayComponent, StatusDisplayModule, SubscriptionPlan, SystemService, TerminologyApiService, TerminologyCollectionService, TerminologyComponent, TerminologyConfigService, TerminologyCreateCollectionComponent, TerminologyModule, TerminologyService, TextToSpeechComponent, TldLoaderComponent, TldLoaderModule, ToastComponent, ToastService, provideCustomTitleStrategy };
7247
7320
  //# sourceMappingURL=tilde-nlp-ngx-common.mjs.map