@tilde-nlp/ngx-common 6.1.61 → 6.1.63

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.
@@ -0,0 +1,30 @@
1
+ import { TitleCasePipe } from '@angular/common';
2
+ import { Pipe } from '@angular/core';
3
+ import { HtmlHelper } from '../../helpers';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngx-translate/core";
6
+ export class DomainTranslatePipe {
7
+ constructor(translate) {
8
+ this.translate = translate;
9
+ }
10
+ transform(value, isDomain) {
11
+ if (!isDomain) {
12
+ return value;
13
+ }
14
+ const titleCasePipe = new TitleCasePipe();
15
+ const domainLocalizationKey = HtmlHelper.getLocalizationKey(value);
16
+ const domains = this.translate.instant('DOMAINS');
17
+ return domains[domainLocalizationKey] ?? titleCasePipe.transform(value);
18
+ }
19
+ static { this.ɵfac = function DomainTranslatePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DomainTranslatePipe)(i0.ɵɵdirectiveInject(i1.TranslateService, 16)); }; }
20
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "domainTranslate", type: DomainTranslatePipe, pure: false, standalone: true }); }
21
+ }
22
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DomainTranslatePipe, [{
23
+ type: Pipe,
24
+ args: [{
25
+ name: 'domainTranslate',
26
+ standalone: true,
27
+ pure: false
28
+ }]
29
+ }], () => [{ type: i1.TranslateService }], null); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLXRyYW5zbGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3BpcGVzL2RvbWFpbi10cmFuc2xhdGUvZG9tYWluLXRyYW5zbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUFxQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFHLENBQUM7SUFFcEQsU0FBUyxDQUFDLEtBQWEsRUFBRSxRQUFpQjtRQUN4QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBRUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUMxQyxNQUFNLHFCQUFxQixHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVsRCxPQUFPLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUUsQ0FBQztvSEFkVSxtQkFBbUI7eUZBQW5CLG1CQUFtQjs7aUZBQW5CLG1CQUFtQjtjQUwvQixJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLElBQUksRUFBRSxLQUFLO2FBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaXRsZUNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdG1sSGVscGVyIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZG9tYWluVHJhbnNsYXRlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHB1cmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb21haW5UcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgaXNEb21haW46IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgaWYgKCFpc0RvbWFpbikge1xyXG5cdFx0XHRyZXR1cm4gdmFsdWU7XHJcblx0XHR9XHJcblxyXG4gICAgY29uc3QgdGl0bGVDYXNlUGlwZSA9IG5ldyBUaXRsZUNhc2VQaXBlKCk7XHJcbiAgICBjb25zdCBkb21haW5Mb2NhbGl6YXRpb25LZXkgPSBIdG1sSGVscGVyLmdldExvY2FsaXphdGlvbktleSh2YWx1ZSk7XHJcblxyXG4gICAgY29uc3QgZG9tYWlucyA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0RPTUFJTlMnKTtcclxuXHJcbiAgICByZXR1cm4gZG9tYWluc1tkb21haW5Mb2NhbGl6YXRpb25LZXldID8/IHRpdGxlQ2FzZVBpcGUudHJhbnNmb3JtKHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './domain-translate.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvZG9tYWluLXRyYW5zbGF0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kb21haW4tdHJhbnNsYXRlLnBpcGUnOyJdfQ==
@@ -8,4 +8,6 @@ export * from './sort-by-number';
8
8
  export * from './sort-alphabetically';
9
9
  export * from './sort-language-list';
10
10
  export * from './file-size-label';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbHRlci13aXRoLWhpZ2hsaWdodCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydC10cmFuc2xhdGlvbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtdHJhbnNsYXRpb25zLWJ5LXByb3BlcnR5JztcclxuZXhwb3J0ICogZnJvbSAnLi9sYW5ndWFnZS10cmFuc2xhdGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGUtYWdvJztcclxuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QtbGVuZ3RoJztcclxuZXhwb3J0ICogZnJvbSAnLi9zb3J0LWJ5LW51bWJlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1hbHBoYWJldGljYWxseSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1sYW5ndWFnZS1saXN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLXNpemUtbGFiZWwnO1xyXG4iXX0=
11
+ export * from './domain-translate';
12
+ export * from './sort-domains';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItd2l0aC1oaWdobGlnaHQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtdHJhbnNsYXRpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9zb3J0LXRyYW5zbGF0aW9ucy1ieS1wcm9wZXJ0eSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2UtdHJhbnNsYXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kYXRlLWFnbyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0LWxlbmd0aCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1ieS1udW1iZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtYWxwaGFiZXRpY2FsbHknO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvcnQtbGFuZ3VhZ2UtbGlzdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS1zaXplLWxhYmVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9kb21haW4tdHJhbnNsYXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zb3J0LWRvbWFpbnMnO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './sort-domains.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvc29ydC1kb21haW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NvcnQtZG9tYWlucy5waXBlJzsiXX0=
@@ -0,0 +1,51 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { HtmlHelper } from '../../helpers';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ngx-translate/core";
5
+ /**
6
+ * This is a custom pipe for sorting domains.
7
+ * It prioritizes the most important entries using a specific order:
8
+ * "General" first, followed by LLM-related domains, and then the rest in alphabetical order.
9
+ */
10
+ export class SortDomainsPipe {
11
+ constructor(translate) {
12
+ this.translate = translate;
13
+ }
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ transform(value, isDomainList, key) {
16
+ if (!isDomainList) {
17
+ return value;
18
+ }
19
+ const llmDomainKeys = ['GENERAL_AI', 'PROFESSIONAL_AI', 'ACADEMIC_AI'];
20
+ return value.slice().sort((a, b) => {
21
+ const nameA = HtmlHelper.getLocalizationKey(a[key] ?? a);
22
+ const nameB = HtmlHelper.getLocalizationKey(b[key] ?? b);
23
+ const getPriority = (name) => {
24
+ if (name === 'GENERAL')
25
+ return 0;
26
+ if (llmDomainKeys.includes(name))
27
+ return 1;
28
+ return 2;
29
+ };
30
+ const priorityA = getPriority(nameA);
31
+ const priorityB = getPriority(nameB);
32
+ // First sort by custom priority
33
+ if (priorityA !== priorityB) {
34
+ return priorityA - priorityB;
35
+ }
36
+ const domains = this.translate.instant('DOMAINS');
37
+ // If same priority, sort alphabetically
38
+ return (domains[nameA] ?? nameA).localeCompare(domains[nameB] ?? nameB);
39
+ });
40
+ }
41
+ static { this.ɵfac = function SortDomainsPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SortDomainsPipe)(i0.ɵɵdirectiveInject(i1.TranslateService, 16)); }; }
42
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "sortDomains", type: SortDomainsPipe, pure: true, standalone: true }); }
43
+ }
44
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SortDomainsPipe, [{
45
+ type: Pipe,
46
+ args: [{
47
+ name: 'sortDomains',
48
+ standalone: true,
49
+ }]
50
+ }], () => [{ type: i1.TranslateService }], null); })();
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1kb21haW5zLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvc29ydC1kb21haW5zL3NvcnQtZG9tYWlucy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUczQzs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLGVBQWU7SUFDM0IsWUFBc0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDO0lBRXBELDhEQUE4RDtJQUMvRCxTQUFTLENBQUMsS0FBWSxFQUFFLFlBQXFCLEVBQUUsR0FBVztRQUN6RCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbkIsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFdkUsT0FBTyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDekQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUV6RCxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVksRUFBVSxFQUFFO2dCQUM1QyxJQUFJLElBQUksS0FBSyxTQUFTO29CQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO29CQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxPQUFPLENBQUMsQ0FBQztZQUNWLENBQUMsQ0FBQztZQUVGLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFckMsZ0NBQWdDO1lBQ2hDLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM3QixPQUFPLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDOUIsQ0FBQztZQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWxELHdDQUF3QztZQUN4QyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO2dIQWxDVyxlQUFlO3FGQUFmLGVBQWU7O2lGQUFmLGVBQWU7Y0FKM0IsSUFBSTtlQUFDO2dCQUNMLElBQUksRUFBRSxhQUFhO2dCQUNuQixVQUFVLEVBQUUsSUFBSTthQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHRtbEhlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG4vKipcclxuICogVGhpcyBpcyBhIGN1c3RvbSBwaXBlIGZvciBzb3J0aW5nIGRvbWFpbnMuXHJcbiAqIEl0IHByaW9yaXRpemVzIHRoZSBtb3N0IGltcG9ydGFudCBlbnRyaWVzIHVzaW5nIGEgc3BlY2lmaWMgb3JkZXI6XHJcbiAqIFwiR2VuZXJhbFwiIGZpcnN0LCBmb2xsb3dlZCBieSBMTE0tcmVsYXRlZCBkb21haW5zLCBhbmQgdGhlbiB0aGUgcmVzdCBpbiBhbHBoYWJldGljYWwgb3JkZXIuXHJcbiAqL1xyXG5AUGlwZSh7XHJcblx0bmFtZTogJ3NvcnREb21haW5zJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU29ydERvbWFpbnNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblx0Y29uc3RydWN0b3IgKHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge31cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuXHR0cmFuc2Zvcm0odmFsdWU6IGFueVtdLCBpc0RvbWFpbkxpc3Q6IGJvb2xlYW4sIGtleTogc3RyaW5nKTogYW55W10ge1xyXG5cdFx0aWYgKCFpc0RvbWFpbkxpc3QpIHtcclxuXHRcdFx0cmV0dXJuIHZhbHVlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGxsbURvbWFpbktleXMgPSBbJ0dFTkVSQUxfQUknLCAnUFJPRkVTU0lPTkFMX0FJJywgJ0FDQURFTUlDX0FJJ107XHJcblxyXG5cdFx0cmV0dXJuIHZhbHVlLnNsaWNlKCkuc29ydCgoYSwgYikgPT4ge1xyXG5cdFx0XHRjb25zdCBuYW1lQSA9IEh0bWxIZWxwZXIuZ2V0TG9jYWxpemF0aW9uS2V5KGFba2V5XSA/PyBhKTtcclxuXHRcdFx0Y29uc3QgbmFtZUIgPSBIdG1sSGVscGVyLmdldExvY2FsaXphdGlvbktleShiW2tleV0gPz8gYik7XHJcblxyXG5cdFx0XHRjb25zdCBnZXRQcmlvcml0eSA9IChuYW1lOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xyXG5cdFx0XHRcdGlmIChuYW1lID09PSAnR0VORVJBTCcpIHJldHVybiAwO1xyXG5cdFx0XHRcdGlmIChsbG1Eb21haW5LZXlzLmluY2x1ZGVzKG5hbWUpKSByZXR1cm4gMTtcclxuXHRcdFx0XHRyZXR1cm4gMjtcclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdGNvbnN0IHByaW9yaXR5QSA9IGdldFByaW9yaXR5KG5hbWVBKTtcclxuXHRcdFx0Y29uc3QgcHJpb3JpdHlCID0gZ2V0UHJpb3JpdHkobmFtZUIpO1xyXG5cclxuXHRcdFx0Ly8gRmlyc3Qgc29ydCBieSBjdXN0b20gcHJpb3JpdHlcclxuXHRcdFx0aWYgKHByaW9yaXR5QSAhPT0gcHJpb3JpdHlCKSB7XHJcblx0XHRcdFx0cmV0dXJuIHByaW9yaXR5QSAtIHByaW9yaXR5QjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Y29uc3QgZG9tYWlucyA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0RPTUFJTlMnKTtcclxuXHJcblx0XHRcdC8vIElmIHNhbWUgcHJpb3JpdHksIHNvcnQgYWxwaGFiZXRpY2FsbHlcclxuXHRcdFx0cmV0dXJuIChkb21haW5zW25hbWVBXSA/PyBuYW1lQSkubG9jYWxlQ29tcGFyZShkb21haW5zW25hbWVCXSA/PyBuYW1lQik7XHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIl19
@@ -6,7 +6,7 @@ import * as i2 from '@angular/platform-browser';
6
6
  import { Title } from '@angular/platform-browser';
7
7
  import { Subject, map, Observable, of, take, BehaviorSubject, tap, forkJoin, takeUntil, finalize, catchError, fromEvent, debounceTime } from 'rxjs';
8
8
  import * as i1$2 from '@angular/common';
9
- import { CommonModule, AsyncPipe, DatePipe } from '@angular/common';
9
+ import { CommonModule, TitleCasePipe, AsyncPipe, DatePipe } from '@angular/common';
10
10
  import { FlexLayoutModule } from '@ngbracket/ngx-layout';
11
11
  import * as i2$1 from '@angular/material/button';
12
12
  import { MatButtonModule, MatButton, MatIconButton } from '@angular/material/button';
@@ -1730,6 +1730,78 @@ class SortLanguageListPipe {
1730
1730
  }]
1731
1731
  }], null, null); })();
1732
1732
 
1733
+ class DomainTranslatePipe {
1734
+ constructor(translate) {
1735
+ this.translate = translate;
1736
+ }
1737
+ transform(value, isDomain) {
1738
+ if (!isDomain) {
1739
+ return value;
1740
+ }
1741
+ const titleCasePipe = new TitleCasePipe();
1742
+ const domainLocalizationKey = HtmlHelper.getLocalizationKey(value);
1743
+ const domains = this.translate.instant('DOMAINS');
1744
+ return domains[domainLocalizationKey] ?? titleCasePipe.transform(value);
1745
+ }
1746
+ static { this.ɵfac = function DomainTranslatePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DomainTranslatePipe)(i0.ɵɵdirectiveInject(i1$1.TranslateService, 16)); }; }
1747
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "domainTranslate", type: DomainTranslatePipe, pure: false, standalone: true }); }
1748
+ }
1749
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DomainTranslatePipe, [{
1750
+ type: Pipe,
1751
+ args: [{
1752
+ name: 'domainTranslate',
1753
+ standalone: true,
1754
+ pure: false
1755
+ }]
1756
+ }], () => [{ type: i1$1.TranslateService }], null); })();
1757
+
1758
+ /**
1759
+ * This is a custom pipe for sorting domains.
1760
+ * It prioritizes the most important entries using a specific order:
1761
+ * "General" first, followed by LLM-related domains, and then the rest in alphabetical order.
1762
+ */
1763
+ class SortDomainsPipe {
1764
+ constructor(translate) {
1765
+ this.translate = translate;
1766
+ }
1767
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1768
+ transform(value, isDomainList, key) {
1769
+ if (!isDomainList) {
1770
+ return value;
1771
+ }
1772
+ const llmDomainKeys = ['GENERAL_AI', 'PROFESSIONAL_AI', 'ACADEMIC_AI'];
1773
+ return value.slice().sort((a, b) => {
1774
+ const nameA = HtmlHelper.getLocalizationKey(a[key] ?? a);
1775
+ const nameB = HtmlHelper.getLocalizationKey(b[key] ?? b);
1776
+ const getPriority = (name) => {
1777
+ if (name === 'GENERAL')
1778
+ return 0;
1779
+ if (llmDomainKeys.includes(name))
1780
+ return 1;
1781
+ return 2;
1782
+ };
1783
+ const priorityA = getPriority(nameA);
1784
+ const priorityB = getPriority(nameB);
1785
+ // First sort by custom priority
1786
+ if (priorityA !== priorityB) {
1787
+ return priorityA - priorityB;
1788
+ }
1789
+ const domains = this.translate.instant('DOMAINS');
1790
+ // If same priority, sort alphabetically
1791
+ return (domains[nameA] ?? nameA).localeCompare(domains[nameB] ?? nameB);
1792
+ });
1793
+ }
1794
+ static { this.ɵfac = function SortDomainsPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SortDomainsPipe)(i0.ɵɵdirectiveInject(i1$1.TranslateService, 16)); }; }
1795
+ static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "sortDomains", type: SortDomainsPipe, pure: true, standalone: true }); }
1796
+ }
1797
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SortDomainsPipe, [{
1798
+ type: Pipe,
1799
+ args: [{
1800
+ name: 'sortDomains',
1801
+ standalone: true,
1802
+ }]
1803
+ }], () => [{ type: i1$1.TranslateService }], null); })();
1804
+
1733
1805
  class LanguageTranslateService {
1734
1806
  constructor(translateService) {
1735
1807
  this.translateService = translateService;
@@ -8213,5 +8285,5 @@ class NewFeatureDialogWrapperComponent {
8213
8285
  * Generated bundle index. Do not edit.
8214
8286
  */
8215
8287
 
8216
- export { ALERT_CONFIGURATION_TOKEN, AlertService, AuthHeadersHelper, COLLECTIONS_MENU, ClickOutsideDirective, ClickOutsideModule, CloseButtonComponent, CloseButtonModule, CombinedCollection, CombinedCollectionTooltipKey, CompanyProductComponent, CompanyProductModule, Confirmation, ConfirmationModalComponent, ConfirmationModalModule, ConfirmationService, ConversionHelper, CustomPaginatorInernationalizationHelper, CustomTitleStrategyService, DISABLE_EXPORT_ATTRIBUTE_NAME, DOMService, DateAgoModule, DateAgoPipe, DragAndDropDirective, DragAndDropModule, ERROR_CODES, EngineTermApiService, EngineTermCollectionScope, EngineTermCollectionSource, EngineTermCollectionStatus, EngineTermCollectionSubStatus, ExportFormat, ExtensionDialogComponent, ExtensionDialogModule, ExtensionDialogService, FILE_SIZE_UNIT, FileCategories, FileExtensionHelper, FileExtensions, FileSizeLabelPipe, FileTypeIcons, FileTypes, FileUploadComponent, FileUploadErrorTypeEnum, FileUploadModule, FilterBarComponent, FilterBarModule, FilterWithHighlightModule, FilterWithHighlightPipe, FooterComponent, FooterModule, GlobalMessageComponent, HashHelper, 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, NewFeatureDialogWrapperComponent, NotificationMessageComponent, NotificationMessageModule, NotificationMessageType, NotificationService, OPEN_CLOSE_BTN_ICONS_TOKEN, ObjectLengthModule, ObjectLengthPipe, OpenCloseButtonComponent, OpenCloseButtonModule, OpenExtensionDialogComponent, Operations, PlausibleEventDirective, PlausibleHelper, PlausibleModule, ResolutionHelper, SCREEN_SIZE, SaveFileHelper, SelectLanguageDialogComponent, SidebarComponent, SidebarService, SortAlphabeticallyModule, SortAlphabeticallyPipe, SortByNumberPipe, SortHelper, SortLanguageListPipe, SortTranslationsByPropertyModule, SortTranslationsByPropertyPipe, SortTranslationsModule, SortTranslationsPipe, StatusDisplayComponent, StatusDisplayModule, SubscriptionComponent, SubscriptionPlan, SystemService, TerminologyApiService, TerminologyCollectionService, TerminologyComponent, TerminologyConfigService, TerminologyCreateCollectionComponent, TerminologyModule, TerminologyService, TextToSpeechComponent, TldLoaderComponent, TldLoaderModule, ToastComponent, ToastService, getFileSizeLabel, provideCustomTitleStrategy };
8288
+ export { ALERT_CONFIGURATION_TOKEN, AlertService, AuthHeadersHelper, COLLECTIONS_MENU, ClickOutsideDirective, ClickOutsideModule, CloseButtonComponent, CloseButtonModule, CombinedCollection, CombinedCollectionTooltipKey, CompanyProductComponent, CompanyProductModule, Confirmation, ConfirmationModalComponent, ConfirmationModalModule, ConfirmationService, ConversionHelper, CustomPaginatorInernationalizationHelper, CustomTitleStrategyService, DISABLE_EXPORT_ATTRIBUTE_NAME, DOMService, DateAgoModule, DateAgoPipe, DomainTranslatePipe, DragAndDropDirective, DragAndDropModule, ERROR_CODES, EngineTermApiService, EngineTermCollectionScope, EngineTermCollectionSource, EngineTermCollectionStatus, EngineTermCollectionSubStatus, ExportFormat, ExtensionDialogComponent, ExtensionDialogModule, ExtensionDialogService, FILE_SIZE_UNIT, FileCategories, FileExtensionHelper, FileExtensions, FileSizeLabelPipe, FileTypeIcons, FileTypes, FileUploadComponent, FileUploadErrorTypeEnum, FileUploadModule, FilterBarComponent, FilterBarModule, FilterWithHighlightModule, FilterWithHighlightPipe, FooterComponent, FooterModule, GlobalMessageComponent, HashHelper, 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, NewFeatureDialogWrapperComponent, NotificationMessageComponent, NotificationMessageModule, NotificationMessageType, NotificationService, OPEN_CLOSE_BTN_ICONS_TOKEN, ObjectLengthModule, ObjectLengthPipe, OpenCloseButtonComponent, OpenCloseButtonModule, OpenExtensionDialogComponent, Operations, PlausibleEventDirective, PlausibleHelper, PlausibleModule, ResolutionHelper, SCREEN_SIZE, SaveFileHelper, SelectLanguageDialogComponent, SidebarComponent, SidebarService, SortAlphabeticallyModule, SortAlphabeticallyPipe, SortByNumberPipe, SortDomainsPipe, SortHelper, SortLanguageListPipe, SortTranslationsByPropertyModule, SortTranslationsByPropertyPipe, SortTranslationsModule, SortTranslationsPipe, StatusDisplayComponent, StatusDisplayModule, SubscriptionComponent, SubscriptionPlan, SystemService, TerminologyApiService, TerminologyCollectionService, TerminologyComponent, TerminologyConfigService, TerminologyCreateCollectionComponent, TerminologyModule, TerminologyService, TextToSpeechComponent, TldLoaderComponent, TldLoaderModule, ToastComponent, ToastService, getFileSizeLabel, provideCustomTitleStrategy };
8217
8289
  //# sourceMappingURL=tilde-nlp-ngx-common.mjs.map