@alfresco/aca-content 7.3.0 → 7.4.0-22991957830

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.
@@ -1,12 +1,12 @@
1
1
  import { DomSanitizer, HammerModule } from '@angular/platform-browser';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, Injectable, DestroyRef, ViewEncapsulation, Component, SecurityContext, NgZone, RendererFactory2, Inject, InjectionToken, Input, EventEmitter, HostListener, Output, Directive, ViewChild, QueryList, ViewChildren, Injector, NgModule, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Pipe, ElementRef, ContentChildren } from '@angular/core';
3
+ import { inject, Injectable, DestroyRef, ViewEncapsulation, Component, SecurityContext, NgZone, RendererFactory2, Inject, InjectionToken, Input, EventEmitter, HostListener, Output, Directive, ViewChild, QueryList, ViewChildren, Injector, NgModule, ChangeDetectionStrategy, ChangeDetectorRef, Optional, ElementRef, Pipe, ContentChildren } from '@angular/core';
4
4
  import * as i2 from '@alfresco/adf-core';
5
5
  import { FileSizePipe, DIALOG_COMPONENT_DATA, TimeAgoPipe, LocalizedDatePipe, IconComponent, NotificationService, TranslationService, ConfirmDialogComponent, DialogComponent, DialogSize, FileUtils, LogoutDirective, UserPreferencesService, AppConfigValues, UnsavedChangesDialogComponent, AvatarComponent, ShowHeaderMode, PaginationComponent, DataColumnListComponent, DataColumnComponent, CustomEmptyContentTemplateDirective, EmptyContentComponent, DateColumnHeaderComponent, ViewerToolbarComponent, InfoDrawerButtonsDirective, AuthenticationService, ViewerModule, DataTableSchema, DATATABLE_DIRECTIVES, TEMPLATE_DIRECTIVES, DataTableComponent, AuthGuard, UnsavedChangesGuard, UserPreferenceValues, provideTranslations, NotificationHistoryComponent, LanguagePickerComponent, AuthGuardEcm } from '@alfresco/adf-core';
6
6
  import * as i1 from '@alfresco/adf-content-services';
7
7
  import { DocumentListService, ContentVersionService, DownloadZipDialogComponent, NodeAction, ContentNodeDialogService, ContentNodeSelectorComponent, ContentService, NodesApiService, NodeAspectService, NewVersionUploaderService, NewVersionUploaderDataAction, ShareDialogComponent, FolderDialogComponent, LibraryDialogComponent, RenditionService, SearchQueryBuilderService, UploadService, FileModel, AlfrescoApiService, SearchAiService, NameColumnComponent, NodeCommentsComponent, ContentMetadataComponent, VersionManagerComponent, LibraryFavoriteDirective, NodeFavoriteDirective, LibraryMembershipDirective, BreadcrumbComponent, UploadDragAreaComponent, DocumentListComponent, forbidOnlySpaces, AlfrescoViewerComponent, SearchFormComponent, ResetSearchDirective, SearchFilterChipsComponent, PermissionListComponent, AlfrescoViewerModule, AutoFocusDirective, UploadModule, TagNodeListComponent, ContentModule, TrashcanNameColumnComponent, LibraryStatusColumnComponent, LibraryRoleColumnComponent, LibraryNameColumnComponent } from '@alfresco/adf-content-services';
8
8
  import * as i1$1 from '@alfresco/aca-shared';
9
- import { ContentApiService, NodePermissionService, AppHookService, AppSettingsService, AppExtensionService, isLocked, LockedByComponent, UserProfileService, PageComponent, GenericErrorComponent, ContextActionsDirective, InfoDrawerComponent, PaginationDirective, PageLayoutComponent, ToolbarComponent, noWhitespaceValidator, noLeadingTrailingOperatorsValidator, AppSharedRuleGuard, PluginEnabledGuard, ExtensionsDataLoaderGuard, ToolbarMenuItemComponent, DocumentBasePageService, provideContentAppExtensions } from '@alfresco/aca-shared';
9
+ import { ContentApiService, NodePermissionService, AppHookService, AppSettingsService, AppExtensionService, isLocked, LockedByComponent, UserProfileService, PageComponent, GenericErrorComponent, ContextActionsDirective, InfoDrawerComponent, PaginationDirective, PageLayoutComponent, ToolbarComponent, AppSharedRuleGuard, PluginEnabledGuard, ExtensionsDataLoaderGuard, ToolbarMenuItemComponent, DocumentBasePageService, provideContentAppExtensions } from '@alfresco/aca-shared';
10
10
  import * as rules from '@alfresco/aca-shared/rules';
11
11
  import * as i1$5 from '@ngrx/store';
12
12
  import { Store, createSelector, provideStore } from '@ngrx/store';
@@ -15,14 +15,14 @@ export { INITIAL_APP_STATE } from '@alfresco/aca-shared/store';
15
15
  import { provideRouterStore, FullRouterStateSerializer } from '@ngrx/router-store';
16
16
  import * as i4$2 from '@ngrx/effects';
17
17
  import { Actions, createEffect, ofType, provideEffects } from '@ngrx/effects';
18
- import { map, mergeMap, catchError, take, first, delay, switchMap, expand, concatMap, tap, debounceTime, filter, distinctUntilChanged, startWith, toArray, retry, finalize, shareReplay } from 'rxjs/operators';
18
+ import { map, mergeMap, catchError, take, first, delay, switchMap, expand, concatMap, tap, debounceTime, filter, distinctUntilChanged, startWith as startWith$1, toArray, retry, finalize, shareReplay } from 'rxjs/operators';
19
19
  import * as i1$2 from '@angular/material/dialog';
20
20
  import { MatDialog, MAT_DIALOG_DATA, MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
21
- import { of, Subject, zip, from, timer, EMPTY, forkJoin, fromEvent, take as take$1, catchError as catchError$1, BehaviorSubject, Observable, combineLatest, filter as filter$1, withLatestFrom, map as map$1, startWith as startWith$1, ReplaySubject, switchMap as switchMap$1, throwError } from 'rxjs';
21
+ import { of, Subject, zip, from, timer, EMPTY, forkJoin, fromEvent, take as take$1, catchError as catchError$1, BehaviorSubject, Observable, filter as filter$1, withLatestFrom, map as map$1, startWith, combineLatest, ReplaySubject, switchMap as switchMap$1, throwError } from 'rxjs';
22
22
  import * as i9 from '@alfresco/js-api';
23
23
  import { NodesApi, SitePaging, SizeDetails, SearchApi, QueriesApi, Pagination, PeopleApi, SharedlinksApi } from '@alfresco/js-api';
24
24
  import * as i1$4 from '@angular/router';
25
- import { ActivatedRoute, Router, NavigationEnd, PRIMARY_OUTLET, NavigationStart, NavigationSkipped, RouterModule, provideRouter } from '@angular/router';
25
+ import { ActivatedRoute, Router, NavigationEnd, PRIMARY_OUTLET, NavigationSkipped, NavigationStart, RouterModule, provideRouter } from '@angular/router';
26
26
  import * as i1$3 from '@angular/common';
27
27
  import { CommonModule, NgOptimizedImage, NgForOf, AsyncPipe, NgIf, TitleCasePipe } from '@angular/common';
28
28
  import * as i6 from '@angular/material/divider';
@@ -30,20 +30,20 @@ import { MatDividerModule } from '@angular/material/divider';
30
30
  import * as i4$3 from '@ngx-translate/core';
31
31
  import { TranslateService, TranslatePipe } from '@ngx-translate/core';
32
32
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
33
- import * as i6$1 from '@angular/forms';
34
- import { Validators, ReactiveFormsModule, UntypedFormGroup, UntypedFormControl, FormsModule, FormControl, TouchedChangeEvent, StatusChangeEvent, FormGroup } from '@angular/forms';
33
+ import * as i3 from '@angular/forms';
34
+ import { Validators, ReactiveFormsModule, UntypedFormGroup, UntypedFormControl, FormsModule, FormControl, FormGroup } from '@angular/forms';
35
35
  import * as i8 from '@angular/material/form-field';
36
36
  import { MatFormFieldModule } from '@angular/material/form-field';
37
37
  import * as i8$1 from '@angular/material/input';
38
38
  import { MatInputModule } from '@angular/material/input';
39
- import * as i6$2 from '@angular/material/button';
39
+ import * as i6$1 from '@angular/material/button';
40
40
  import { MatButtonModule } from '@angular/material/button';
41
41
  import * as i1$6 from '@angular/cdk/overlay';
42
- import { OverlayConfig } from '@angular/cdk/overlay';
42
+ import { OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
43
43
  import { ComponentPortal } from '@angular/cdk/portal';
44
- import * as i3 from '@angular/material/menu';
44
+ import * as i3$1 from '@angular/material/menu';
45
45
  import { MatMenuModule, MatMenuTrigger, MatMenu, MatMenuItem } from '@angular/material/menu';
46
- import * as i6$3 from '@alfresco/adf-extensions';
46
+ import * as i6$2 from '@alfresco/adf-extensions';
47
47
  import { DynamicExtensionComponent, ContentActionType, DynamicColumnComponent, provideAppExtensions, provideExtensions } from '@alfresco/adf-extensions';
48
48
  import * as i5 from '@angular/cdk/bidi';
49
49
  import * as i4 from '@angular/material/icon';
@@ -53,16 +53,17 @@ import { MatCardModule } from '@angular/material/card';
53
53
  import { MatOptionModule } from '@angular/material/core';
54
54
  import * as i10 from '@angular/material/select';
55
55
  import { MatSelectModule } from '@angular/material/select';
56
- import * as i5$1 from '@alfresco/aca-content/viewer';
56
+ import * as i5$2 from '@alfresco/aca-content/viewer';
57
57
  import { PreviewComponent } from '@alfresco/aca-content/viewer';
58
- import * as i6$4 from '@angular/material/progress-spinner';
58
+ import * as i6$3 from '@angular/material/progress-spinner';
59
59
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
60
- import * as i14 from '@angular/cdk/a11y';
61
- import { A11yModule } from '@angular/cdk/a11y';
60
+ import { A11yModule, ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
62
61
  import * as i12 from '@angular/material/tooltip';
63
62
  import { MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY, MatTooltipModule, MAT_TOOLTIP_DEFAULT_OPTIONS } from '@angular/material/tooltip';
64
- import * as i15 from '@angular/material/checkbox';
63
+ import * as i5$1 from '@angular/material/checkbox';
65
64
  import { MatCheckboxModule } from '@angular/material/checkbox';
65
+ import * as i6$4 from '@angular/material/radio';
66
+ import { MatRadioModule } from '@angular/material/radio';
66
67
  import { merge } from 'rxjs/internal/observable/merge';
67
68
  import * as i6$5 from '@angular/material/progress-bar';
68
69
  import { MatProgressBarModule } from '@angular/material/progress-bar';
@@ -75,7 +76,7 @@ import * as i11 from 'ngx-markdown';
75
76
  import { MarkedRenderer, MarkdownModule, provideMarkdown, MARKED_OPTIONS } from 'ngx-markdown';
76
77
  import { Clipboard } from '@angular/cdk/clipboard';
77
78
  import { provideFolderRulesExtension } from '@alfresco/aca-content/folder-rules';
78
- import * as i3$1 from '@angular/material/expansion';
79
+ import * as i3$2 from '@angular/material/expansion';
79
80
  import { MatExpansionModule } from '@angular/material/expansion';
80
81
 
81
82
  /*!
@@ -2685,63 +2686,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
2685
2686
  type: Injectable
2686
2687
  }] });
2687
2688
 
2688
- /*!
2689
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
2690
- *
2691
- * Alfresco Example Content Application
2692
- *
2693
- * This file is part of the Alfresco Example Content Application.
2694
- * If the software was purchased under a paid Alfresco license, the terms of
2695
- * the paid license agreement will prevail. Otherwise, the software is
2696
- * provided under the following open source license terms:
2697
- *
2698
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
2699
- * it under the terms of the GNU Lesser General Public License as published by
2700
- * the Free Software Foundation, either version 3 of the License, or
2701
- * (at your option) any later version.
2702
- *
2703
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
2704
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
2705
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2706
- * GNU Lesser General Public License for more details.
2707
- *
2708
- * You should have received a copy of the GNU Lesser General Public License
2709
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2710
- */
2711
- class SearchNavigationService {
2712
- router;
2713
- _previousRoute = '';
2714
- get previousRoute() {
2715
- return this._previousRoute;
2716
- }
2717
- constructor(router) {
2718
- this.router = router;
2719
- }
2720
- saveRoute(route) {
2721
- this._previousRoute = route;
2722
- }
2723
- navigateBack() {
2724
- if (this.previousRoute) {
2725
- this.router.navigate([this.previousRoute]);
2726
- }
2727
- else {
2728
- this.router.navigate(['/personal-files']);
2729
- }
2730
- }
2731
- navigateToSearch() {
2732
- this.saveRoute(this.router.url);
2733
- this.router.navigate(['/search']);
2734
- }
2735
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchNavigationService, deps: [{ token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2736
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchNavigationService, providedIn: 'root' });
2737
- }
2738
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchNavigationService, decorators: [{
2739
- type: Injectable,
2740
- args: [{
2741
- providedIn: 'root'
2742
- }]
2743
- }], ctorParameters: () => [{ type: i1$4.Router }] });
2744
-
2745
2689
  /*!
2746
2690
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
2747
2691
  *
@@ -2911,6 +2855,84 @@ function trimUserQuery(userQuery) {
2911
2855
  return trimmedQuery?.replace(/\)$/, '') ?? '';
2912
2856
  }
2913
2857
 
2858
+ /*!
2859
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
2860
+ *
2861
+ * Alfresco Example Content Application
2862
+ *
2863
+ * This file is part of the Alfresco Example Content Application.
2864
+ * If the software was purchased under a paid Alfresco license, the terms of
2865
+ * the paid license agreement will prevail. Otherwise, the software is
2866
+ * provided under the following open source license terms:
2867
+ *
2868
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
2869
+ * it under the terms of the GNU Lesser General Public License as published by
2870
+ * the Free Software Foundation, either version 3 of the License, or
2871
+ * (at your option) any later version.
2872
+ *
2873
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
2874
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
2875
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2876
+ * GNU Lesser General Public License for more details.
2877
+ *
2878
+ * You should have received a copy of the GNU Lesser General Public License
2879
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
2880
+ */
2881
+ class SearchNavigationService {
2882
+ router;
2883
+ _previousRoute = '';
2884
+ get previousRoute() {
2885
+ return this._previousRoute;
2886
+ }
2887
+ get onLibrariesSearchResults() {
2888
+ return this.router?.url.indexOf('/search-libraries') === 0;
2889
+ }
2890
+ get onSearchResults() {
2891
+ return !this.onLibrariesSearchResults && this.router?.url.indexOf('/search') === 0;
2892
+ }
2893
+ constructor(router) {
2894
+ this.router = router;
2895
+ }
2896
+ saveRoute(route) {
2897
+ this._previousRoute = route;
2898
+ }
2899
+ navigateBack() {
2900
+ if (this.previousRoute) {
2901
+ this.router.navigate([this.previousRoute]);
2902
+ }
2903
+ else {
2904
+ this.router.navigate(['/personal-files']);
2905
+ }
2906
+ }
2907
+ navigateToSearch() {
2908
+ this.saveRoute(this.router.url);
2909
+ this.router.navigate(['/search']);
2910
+ }
2911
+ getUrlSearchTerm() {
2912
+ if (!this.onSearchResults && !this.onLibrariesSearchResults) {
2913
+ return '';
2914
+ }
2915
+ const urlTree = this.router.parseUrl(this.router.url);
2916
+ const urlSegmentGroup = urlTree.root.children[PRIMARY_OUTLET];
2917
+ if (urlSegmentGroup) {
2918
+ const urlSegments = urlSegmentGroup.segments;
2919
+ return extractSearchedWordFromEncodedQuery(urlSegments[0].parameters['q']);
2920
+ }
2921
+ return '';
2922
+ }
2923
+ isSameSearchTerm(searchedWord) {
2924
+ return searchedWord === this.getUrlSearchTerm();
2925
+ }
2926
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchNavigationService, deps: [{ token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Injectable });
2927
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchNavigationService, providedIn: 'root' });
2928
+ }
2929
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchNavigationService, decorators: [{
2930
+ type: Injectable,
2931
+ args: [{
2932
+ providedIn: 'root'
2933
+ }]
2934
+ }], ctorParameters: () => [{ type: i1$4.Router }] });
2935
+
2914
2936
  /*!
2915
2937
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
2916
2938
  *
@@ -3323,13 +3345,13 @@ class CreateFromTemplateDialogComponent {
3323
3345
  };
3324
3346
  }
3325
3347
  }
3326
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CreateFromTemplateDialogComponent, deps: [{ token: i2.TranslationService }, { token: i1$5.Store }, { token: i6$1.UntypedFormBuilder }, { token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
3327
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CreateFromTemplateDialogComponent, isStandalone: true, selector: "app-create-from-template-dialog", ngImport: i0, template: "<h2 mat-dialog-title [innerHTML]=\"title\" class=\"app-create-from-template-title\" data-automation-id=\"create-from-template-title\"></h2>\n<div mat-dialog-content class=\"app-create-from-template-content\">\n <form [formGroup]=\"form\" novalidate>\n <mat-form-field class=\"app-create-from-template-field\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.NAME' | translate }}</mat-label>\n <input\n cdkFocusInitial\n matInput\n formControlName=\"name\"\n required\n />\n\n <mat-error *ngIf=\"form.controls['name'].errors?.message\" data-automation-id=\"create-from-template-field-error\">\n {{ form.controls['name'].errors?.message | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-create-from-template-field\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.TITLE' | translate }}</mat-label>\n <input\n matInput\n formControlName=\"title\"\n />\n\n <mat-error *ngIf=\"form.controls['title'].hasError('maxlength')\" data-automation-id=\"create-from-template-field-error\">\n {{ 'NODE_FROM_TEMPLATE.FORM.ERRORS.TITLE_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-create-from-template-field app-create-from-template-field-description\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.DESCRIPTION' | translate }}</mat-label>\n <textarea\n matInput\n rows=\"2\"\n formControlName=\"description\"\n ></textarea>\n\n <mat-error *ngIf=\"form.controls['description'].hasError('maxlength')\" data-automation-id=\"create-from-template-field-error\">\n {{ 'NODE_FROM_TEMPLATE.FORM.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n</div>\n<div mat-dialog-actions class=\"app-create-from-template-footer\">\n <button mat-button mat-dialog-close data-automation-id=\"create-from-template-dialog-cancel-button\">\n {{ 'NODE_FROM_TEMPLATE.CANCEL' | translate }}\n </button>\n <button\n class=\"app-create-from-template-footer-create-button\"\n [disabled]=\"form.invalid\"\n mat-button\n (click)=\"onSubmit()\"\n data-automation-id=\"create-from-template-dialog-create-button\"\n >\n {{ 'NODE_FROM_TEMPLATE.CREATE' | translate }}\n </button>\n</div>\n", styles: ["app-create-from-template-dialog{overflow:visible;display:block;margin-left:-24px;margin-right:-24px}app-create-from-template-dialog .app-create-from-template-title{margin-left:24px;margin-right:24px;font-size:20px;font-style:normal;font-stretch:normal;line-height:1.6;letter-spacing:-.5px;color:var(--theme-text-bold-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}app-create-from-template-dialog .app-create-from-template-field{width:100%;margin-bottom:15px}app-create-from-template-dialog .app-create-from-template-content{margin:0 2px;overflow:hidden}app-create-from-template-dialog .app-create-from-template-content form:first-child{margin-top:5px}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mdc-floating-label{-webkit-font-smoothing:subpixel-antialiased}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mat-mdc-form-field-error-wrapper{font-size:10.5px;-webkit-font-smoothing:subpixel-antialiased}app-create-from-template-dialog .app-create-from-template-footer{padding:8px 22px;display:flex;justify-content:flex-end;color:var(--theme-secondary-text-color)}app-create-from-template-dialog .app-create-from-template-footer button{text-transform:uppercase;font-weight:400}app-create-from-template-dialog .app-create-from-template-footer-create-button[disabled]{opacity:.6}app-create-from-template-dialog .app-create-from-template-footer-create-button:enabled{color:var(--theme-accent-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
3348
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CreateFromTemplateDialogComponent, deps: [{ token: i2.TranslationService }, { token: i1$5.Store }, { token: i3.UntypedFormBuilder }, { token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
3349
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CreateFromTemplateDialogComponent, isStandalone: true, selector: "app-create-from-template-dialog", ngImport: i0, template: "<h2 mat-dialog-title [innerHTML]=\"title\" class=\"app-create-from-template-title\" data-automation-id=\"create-from-template-title\"></h2>\n<div mat-dialog-content class=\"app-create-from-template-content\">\n <form [formGroup]=\"form\" novalidate>\n <mat-form-field class=\"app-create-from-template-field\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.NAME' | translate }}</mat-label>\n <input\n cdkFocusInitial\n matInput\n formControlName=\"name\"\n required\n />\n\n <mat-error *ngIf=\"form.controls['name'].errors?.message\" data-automation-id=\"create-from-template-field-error\">\n {{ form.controls['name'].errors?.message | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-create-from-template-field\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.TITLE' | translate }}</mat-label>\n <input\n matInput\n formControlName=\"title\"\n />\n\n <mat-error *ngIf=\"form.controls['title'].hasError('maxlength')\" data-automation-id=\"create-from-template-field-error\">\n {{ 'NODE_FROM_TEMPLATE.FORM.ERRORS.TITLE_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-create-from-template-field app-create-from-template-field-description\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.DESCRIPTION' | translate }}</mat-label>\n <textarea\n matInput\n rows=\"2\"\n formControlName=\"description\"\n ></textarea>\n\n <mat-error *ngIf=\"form.controls['description'].hasError('maxlength')\" data-automation-id=\"create-from-template-field-error\">\n {{ 'NODE_FROM_TEMPLATE.FORM.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n</div>\n<div mat-dialog-actions class=\"app-create-from-template-footer\">\n <button mat-button mat-dialog-close data-automation-id=\"create-from-template-dialog-cancel-button\">\n {{ 'NODE_FROM_TEMPLATE.CANCEL' | translate }}\n </button>\n <button\n class=\"app-create-from-template-footer-create-button\"\n [disabled]=\"form.invalid\"\n mat-button\n (click)=\"onSubmit()\"\n data-automation-id=\"create-from-template-dialog-create-button\"\n >\n {{ 'NODE_FROM_TEMPLATE.CREATE' | translate }}\n </button>\n</div>\n", styles: ["app-create-from-template-dialog{overflow:visible;display:block;margin-left:-24px;margin-right:-24px}app-create-from-template-dialog .app-create-from-template-title{margin-left:24px;margin-right:24px;font-size:20px;font-style:normal;font-stretch:normal;line-height:1.6;letter-spacing:-.5px;color:var(--theme-text-bold-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}app-create-from-template-dialog .app-create-from-template-field{width:100%;margin-bottom:15px}app-create-from-template-dialog .app-create-from-template-content{margin:0 2px;overflow:hidden}app-create-from-template-dialog .app-create-from-template-content form:first-child{margin-top:5px}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mdc-floating-label{-webkit-font-smoothing:subpixel-antialiased}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mat-mdc-form-field-error-wrapper{font-size:10.5px;-webkit-font-smoothing:subpixel-antialiased}app-create-from-template-dialog .app-create-from-template-footer{padding:8px 22px;display:flex;justify-content:flex-end;color:var(--theme-secondary-text-color)}app-create-from-template-dialog .app-create-from-template-footer button{text-transform:uppercase;font-weight:400}app-create-from-template-dialog .app-create-from-template-footer-create-button[disabled]{opacity:.6}app-create-from-template-dialog .app-create-from-template-footer-create-button:enabled{color:var(--theme-accent-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
3328
3350
  }
3329
3351
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CreateFromTemplateDialogComponent, decorators: [{
3330
3352
  type: Component,
3331
3353
  args: [{ imports: [CommonModule, TranslatePipe, MatDialogModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, MatButtonModule], selector: 'app-create-from-template-dialog', encapsulation: ViewEncapsulation.None, template: "<h2 mat-dialog-title [innerHTML]=\"title\" class=\"app-create-from-template-title\" data-automation-id=\"create-from-template-title\"></h2>\n<div mat-dialog-content class=\"app-create-from-template-content\">\n <form [formGroup]=\"form\" novalidate>\n <mat-form-field class=\"app-create-from-template-field\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.NAME' | translate }}</mat-label>\n <input\n cdkFocusInitial\n matInput\n formControlName=\"name\"\n required\n />\n\n <mat-error *ngIf=\"form.controls['name'].errors?.message\" data-automation-id=\"create-from-template-field-error\">\n {{ form.controls['name'].errors?.message | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-create-from-template-field\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.TITLE' | translate }}</mat-label>\n <input\n matInput\n formControlName=\"title\"\n />\n\n <mat-error *ngIf=\"form.controls['title'].hasError('maxlength')\" data-automation-id=\"create-from-template-field-error\">\n {{ 'NODE_FROM_TEMPLATE.FORM.ERRORS.TITLE_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-create-from-template-field app-create-from-template-field-description\">\n <mat-label>{{ 'NODE_FROM_TEMPLATE.FORM.PLACEHOLDER.DESCRIPTION' | translate }}</mat-label>\n <textarea\n matInput\n rows=\"2\"\n formControlName=\"description\"\n ></textarea>\n\n <mat-error *ngIf=\"form.controls['description'].hasError('maxlength')\" data-automation-id=\"create-from-template-field-error\">\n {{ 'NODE_FROM_TEMPLATE.FORM.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n</div>\n<div mat-dialog-actions class=\"app-create-from-template-footer\">\n <button mat-button mat-dialog-close data-automation-id=\"create-from-template-dialog-cancel-button\">\n {{ 'NODE_FROM_TEMPLATE.CANCEL' | translate }}\n </button>\n <button\n class=\"app-create-from-template-footer-create-button\"\n [disabled]=\"form.invalid\"\n mat-button\n (click)=\"onSubmit()\"\n data-automation-id=\"create-from-template-dialog-create-button\"\n >\n {{ 'NODE_FROM_TEMPLATE.CREATE' | translate }}\n </button>\n</div>\n", styles: ["app-create-from-template-dialog{overflow:visible;display:block;margin-left:-24px;margin-right:-24px}app-create-from-template-dialog .app-create-from-template-title{margin-left:24px;margin-right:24px;font-size:20px;font-style:normal;font-stretch:normal;line-height:1.6;letter-spacing:-.5px;color:var(--theme-text-bold-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}app-create-from-template-dialog .app-create-from-template-field{width:100%;margin-bottom:15px}app-create-from-template-dialog .app-create-from-template-content{margin:0 2px;overflow:hidden}app-create-from-template-dialog .app-create-from-template-content form:first-child{margin-top:5px}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mdc-floating-label{-webkit-font-smoothing:subpixel-antialiased}app-create-from-template-dialog .app-create-from-template-content .app-create-from-template-field .mat-mdc-form-field-error-wrapper{font-size:10.5px;-webkit-font-smoothing:subpixel-antialiased}app-create-from-template-dialog .app-create-from-template-footer{padding:8px 22px;display:flex;justify-content:flex-end;color:var(--theme-secondary-text-color)}app-create-from-template-dialog .app-create-from-template-footer button{text-transform:uppercase;font-weight:400}app-create-from-template-dialog .app-create-from-template-footer-create-button[disabled]{opacity:.6}app-create-from-template-dialog .app-create-from-template-footer-create-button:enabled{color:var(--theme-accent-color)}\n"] }]
3332
- }], ctorParameters: () => [{ type: i2.TranslationService }, { type: i1$5.Store }, { type: i6$1.UntypedFormBuilder }, { type: i1$2.MatDialogRef }, { type: i9.Node, decorators: [{
3354
+ }], ctorParameters: () => [{ type: i2.TranslationService }, { type: i1$5.Store }, { type: i3.UntypedFormBuilder }, { type: i1$2.MatDialogRef }, { type: i9.Node, decorators: [{
3333
3355
  type: Inject,
3334
3356
  args: [MAT_DIALOG_DATA]
3335
3357
  }] }] });
@@ -3679,7 +3701,7 @@ class ContextMenuItemComponent {
3679
3701
  return obj.id;
3680
3702
  }
3681
3703
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ContextMenuItemComponent, deps: [{ token: i1$1.AppExtensionService }], target: i0.ɵɵFactoryTarget.Component });
3682
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: ContextMenuItemComponent, isStandalone: true, selector: "app-context-menu-item", inputs: { actionRef: "actionRef" }, host: { classAttribute: "app-context-menu-item" }, ngImport: i0, template: "<div class=\"aca-context-menu\">\n <ng-container [ngSwitch]=\"actionRef.type\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <button mat-menu-item [id]=\"actionRef.id\" [matMenuTriggerFor]=\"childMenu\">\n <adf-icon [value]=\"actionRef.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"actionRef.id + '-label'\">{{ actionRef.title | translate }}</span>\n </button>\n\n <mat-menu #childMenu=\"matMenu\">\n <ng-container *ngFor=\"let child of actionRef.children; trackBy: trackByActionId\">\n <app-context-menu-item [actionRef]=\"child\" />\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <mat-divider aria-hidden=\"true\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'custom'\">\n <adf-dynamic-component [data]=\"actionRef.data\" [id]=\"actionRef.component\" />\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button mat-menu-item [id]=\"actionRef.id\" (click)=\"runAction()\">\n <adf-icon [value]=\"actionRef.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"actionRef.id + '-label'\">{{ actionRef.title | translate }}</span>\n </button>\n </ng-container>\n </ng-container>\n</div>\n", dependencies: [{ kind: "component", type: ContextMenuItemComponent, selector: "app-context-menu-item", inputs: ["actionRef"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
3704
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: ContextMenuItemComponent, isStandalone: true, selector: "app-context-menu-item", inputs: { actionRef: "actionRef" }, host: { classAttribute: "app-context-menu-item" }, ngImport: i0, template: "<div class=\"aca-context-menu\">\n <ng-container [ngSwitch]=\"actionRef.type\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <button mat-menu-item [id]=\"actionRef.id\" [matMenuTriggerFor]=\"childMenu\">\n <adf-icon [value]=\"actionRef.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"actionRef.id + '-label'\">{{ actionRef.title | translate }}</span>\n </button>\n\n <mat-menu #childMenu=\"matMenu\">\n <ng-container *ngFor=\"let child of actionRef.children; trackBy: trackByActionId\">\n <app-context-menu-item [actionRef]=\"child\" />\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <mat-divider aria-hidden=\"true\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'custom'\">\n <adf-dynamic-component [data]=\"actionRef.data\" [id]=\"actionRef.component\" />\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button mat-menu-item [id]=\"actionRef.id\" (click)=\"runAction()\">\n <adf-icon [value]=\"actionRef.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"actionRef.id + '-label'\">{{ actionRef.title | translate }}</span>\n </button>\n </ng-container>\n </ng-container>\n</div>\n", dependencies: [{ kind: "component", type: ContextMenuItemComponent, selector: "app-context-menu-item", inputs: ["actionRef"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
3683
3705
  }
3684
3706
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ContextMenuItemComponent, decorators: [{
3685
3707
  type: Component,
@@ -3890,7 +3912,7 @@ class ContextMenuComponent extends BaseContextMenuDirective {
3890
3912
  return orderedItems;
3891
3913
  }
3892
3914
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ContextMenuComponent, deps: [{ token: ContextMenuOverlayRef }, { token: i1$1.AppExtensionService }, { token: CONTEXT_MENU_DIRECTION }], target: i0.ɵɵFactoryTarget.Component });
3893
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: ContextMenuComponent, isStandalone: true, selector: "aca-context-menu", host: { classAttribute: "aca-context-menu-holder" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "dynamicExtensionComponents", predicate: DynamicExtensionComponent, descendants: true }, { propertyName: "matMenuItems", predicate: MatMenuItem, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [dir]=\"direction\">\n <div style=\"visibility: hidden;\" [matMenuTriggerFor]=\"rootMenu\"></div>\n\n <mat-menu #rootMenu=\"matMenu\" class=\"aca-context-menu\" hasBackdrop=\"false\" acaContextMenuOutsideEvent (clickOutside)=\"onClickOutsideEvent()\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\" [ngSwitch]=\"entry.type\">\n <ng-container *ngSwitchDefault>\n <button mat-menu-item [id]=\"entry.id\" (click)=\"runAction(entry)\">\n <adf-icon [value]=\"entry.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"entry.id + '-label'\">{{ entry.title | translate }}</span>\n </button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <mat-divider aria-hidden=\"true\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'menu'\">\n <button mat-menu-item [id]=\"entry.id\" [matMenuTriggerFor]=\"childMenu\">\n <adf-icon [value]=\"entry.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"entry.id + '-label'\">{{ entry.title | translate }}</span>\n </button>\n\n <mat-menu #childMenu=\"matMenu\">\n <ng-container *ngFor=\"let child of entry.children; trackBy: trackByActionId\">\n <app-context-menu-item [actionRef]=\"child\" />\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'custom'\">\n <adf-dynamic-component [data]=\"entry.data\" [id]=\"entry.component\" />\n </ng-container>\n </ng-container>\n </mat-menu>\n</div>\n", styles: [".aca-context-menu .app-context-menu-item--icon{display:inline-flex;vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i5.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: ContextMenuItemComponent, selector: "app-context-menu-item", inputs: ["actionRef"] }, { kind: "directive", type: OutsideEventDirective, selector: "[acaContextMenuOutsideEvent]", inputs: ["focusTargetSelector"], outputs: ["clickOutside"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
3915
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: ContextMenuComponent, isStandalone: true, selector: "aca-context-menu", host: { classAttribute: "aca-context-menu-holder" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "dynamicExtensionComponents", predicate: DynamicExtensionComponent, descendants: true }, { propertyName: "matMenuItems", predicate: MatMenuItem, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [dir]=\"direction\">\n <div style=\"visibility: hidden;\" [matMenuTriggerFor]=\"rootMenu\"></div>\n\n <mat-menu #rootMenu=\"matMenu\" class=\"aca-context-menu\" hasBackdrop=\"false\" acaContextMenuOutsideEvent (clickOutside)=\"onClickOutsideEvent()\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\" [ngSwitch]=\"entry.type\">\n <ng-container *ngSwitchDefault>\n <button mat-menu-item [id]=\"entry.id\" (click)=\"runAction(entry)\">\n <adf-icon [value]=\"entry.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"entry.id + '-label'\">{{ entry.title | translate }}</span>\n </button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <mat-divider aria-hidden=\"true\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'menu'\">\n <button mat-menu-item [id]=\"entry.id\" [matMenuTriggerFor]=\"childMenu\">\n <adf-icon [value]=\"entry.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"entry.id + '-label'\">{{ entry.title | translate }}</span>\n </button>\n\n <mat-menu #childMenu=\"matMenu\">\n <ng-container *ngFor=\"let child of entry.children; trackBy: trackByActionId\">\n <app-context-menu-item [actionRef]=\"child\" />\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'custom'\">\n <adf-dynamic-component [data]=\"entry.data\" [id]=\"entry.component\" />\n </ng-container>\n </ng-container>\n </mat-menu>\n</div>\n", styles: [".aca-context-menu .app-context-menu-item--icon{display:inline-flex;vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i5.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: ContextMenuItemComponent, selector: "app-context-menu-item", inputs: ["actionRef"] }, { kind: "directive", type: OutsideEventDirective, selector: "[acaContextMenuOutsideEvent]", inputs: ["focusTargetSelector"], outputs: ["clickOutside"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
3894
3916
  }
3895
3917
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ContextMenuComponent, decorators: [{
3896
3918
  type: Component,
@@ -3977,7 +3999,7 @@ class CustomContextMenuComponent extends BaseContextMenuDirective {
3977
3999
  setTimeout(() => this.trigger.openMenu(), 0);
3978
4000
  }
3979
4001
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CustomContextMenuComponent, deps: [{ token: ContextMenuOverlayRef }, { token: i1$1.AppExtensionService }, { token: CONTEXT_MENU_DIRECTION }, { token: CONTEXT_MENU_CUSTOM_ACTIONS }], target: i0.ɵɵFactoryTarget.Component });
3980
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CustomContextMenuComponent, isStandalone: true, selector: "aca-custom-context-menu", host: { classAttribute: "aca-context-menu-holder" }, usesInheritance: true, ngImport: i0, template: "<div [dir]=\"direction\">\n <div style=\"visibility: hidden;\" [matMenuTriggerFor]=\"rootMenu\"></div>\n\n <mat-menu #rootMenu=\"matMenu\" class=\"aca-context-menu\" hasBackdrop=\"false\" acaContextMenuOutsideEvent (clickOutside)=\"onClickOutsideEvent()\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\" [ngSwitch]=\"entry.type\">\n <ng-container *ngSwitchDefault>\n <button mat-menu-item [id]=\"entry.id\" (click)=\"runAction(entry)\">\n <adf-icon [value]=\"entry.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"entry.id + '-label'\">{{ entry.title | translate }}</span>\n </button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <mat-divider aria-hidden=\"true\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'menu'\">\n <button mat-menu-item [id]=\"entry.id\" [matMenuTriggerFor]=\"childMenu\">\n <adf-icon [value]=\"entry.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"entry.id + '-label'\">{{ entry.title | translate }}</span>\n </button>\n\n <mat-menu #childMenu=\"matMenu\">\n <ng-container *ngFor=\"let child of entry.children; trackBy: trackByActionId\">\n <app-context-menu-item [actionRef]=\"child\" />\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'custom'\">\n <adf-dynamic-component [data]=\"entry.data\" [id]=\"entry.component\" />\n </ng-container>\n </ng-container>\n </mat-menu>\n</div>\n", styles: [".aca-context-menu .app-context-menu-item--icon{display:inline-flex;vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i5.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: ContextMenuItemComponent, selector: "app-context-menu-item", inputs: ["actionRef"] }, { kind: "directive", type: OutsideEventDirective, selector: "[acaContextMenuOutsideEvent]", inputs: ["focusTargetSelector"], outputs: ["clickOutside"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
4002
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: CustomContextMenuComponent, isStandalone: true, selector: "aca-custom-context-menu", host: { classAttribute: "aca-context-menu-holder" }, usesInheritance: true, ngImport: i0, template: "<div [dir]=\"direction\">\n <div style=\"visibility: hidden;\" [matMenuTriggerFor]=\"rootMenu\"></div>\n\n <mat-menu #rootMenu=\"matMenu\" class=\"aca-context-menu\" hasBackdrop=\"false\" acaContextMenuOutsideEvent (clickOutside)=\"onClickOutsideEvent()\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\" [ngSwitch]=\"entry.type\">\n <ng-container *ngSwitchDefault>\n <button mat-menu-item [id]=\"entry.id\" (click)=\"runAction(entry)\">\n <adf-icon [value]=\"entry.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"entry.id + '-label'\">{{ entry.title | translate }}</span>\n </button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <mat-divider aria-hidden=\"true\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'menu'\">\n <button mat-menu-item [id]=\"entry.id\" [matMenuTriggerFor]=\"childMenu\">\n <adf-icon [value]=\"entry.icon\" class=\"app-context-menu-item--icon\" />\n <span [attr.data-automation-id]=\"entry.id + '-label'\">{{ entry.title | translate }}</span>\n </button>\n\n <mat-menu #childMenu=\"matMenu\">\n <ng-container *ngFor=\"let child of entry.children; trackBy: trackByActionId\">\n <app-context-menu-item [actionRef]=\"child\" />\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'custom'\">\n <adf-dynamic-component [data]=\"entry.data\" [id]=\"entry.component\" />\n </ng-container>\n </ng-container>\n </mat-menu>\n</div>\n", styles: [".aca-context-menu .app-context-menu-item--icon{display:inline-flex;vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i5.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: ContextMenuItemComponent, selector: "app-context-menu-item", inputs: ["actionRef"] }, { kind: "directive", type: OutsideEventDirective, selector: "[acaContextMenuOutsideEvent]", inputs: ["focusTargetSelector"], outputs: ["clickOutside"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
3981
4003
  }
3982
4004
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: CustomContextMenuComponent, decorators: [{
3983
4005
  type: Component,
@@ -4582,7 +4604,7 @@ class LocationLinkComponent {
4582
4604
  this.nodeLocation$.next(result);
4583
4605
  }
4584
4606
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: LocationLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4585
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: LocationLinkComponent, isStandalone: true, selector: "aca-location-link", inputs: { context: "context", showLocation: "showLocation" }, host: { listeners: { "mouseenter": "onMouseEnter()" }, classAttribute: "aca-location-link adf-location-cell adf-datatable-content-cell" }, ngImport: i0, template: "@if (hasPrimaryParentPath) {\n <a\n href=\"#\"\n [title]=\"nodeLocation$ | async\"\n (click)=\"goToLocation($event)\"\n (keydown.enter)=\"goToLocation($event)\"\n class=\"adf-datatable-cell-value\"\n [innerHTML]=\"displayText | async | translate\">\n </a>\n} @else {\n <div>\n <span\n class=\"adf-datatable-cell-value\"\n [title]=\"'APP.BROWSE.SEARCH.UNKNOWN_LOCATION' | translate\">\n {{ 'APP.BROWSE.SEARCH.UNKNOWN_LOCATION' | translate }}\n </span>\n <button mat-icon-button\n [title]=\"'APP.BROWSE.SEARCH.VIEW_ADDITIONAL_LOCATIONS' | translate\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.VIEW_ADDITIONAL_LOCATIONS' | translate\"\n class=\"aca-location-link-info-btn\"\n (click)=\"openAdditionalLocationReferencesDialog()\">\n <mat-icon>info</mat-icon>\n </button>\n </div>\n}\n", styles: [".aca-location-link-unknown{display:flex;align-items:center;font-size:12px}.aca-location-link-unknown .adf-datatable-cell-value:hover{color:var(--theme-foreground-text-color);text-decoration:none}.aca-location-link .aca-location-link-info-btn{--mdc-icon-button-state-layer-size: 24px;--mdc-icon-button-icon-size: 24px;color:var(--theme-foreground-text-color);padding:0;margin-left:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4607
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: LocationLinkComponent, isStandalone: true, selector: "aca-location-link", inputs: { context: "context", showLocation: "showLocation" }, host: { listeners: { "mouseenter": "onMouseEnter()" }, classAttribute: "aca-location-link adf-location-cell adf-datatable-content-cell" }, ngImport: i0, template: "@if (hasPrimaryParentPath) {\n <a\n href=\"#\"\n [title]=\"nodeLocation$ | async\"\n (click)=\"goToLocation($event)\"\n (keydown.enter)=\"goToLocation($event)\"\n class=\"adf-datatable-cell-value\"\n [innerHTML]=\"displayText | async | translate\">\n </a>\n} @else {\n <div>\n <span\n class=\"adf-datatable-cell-value\"\n [title]=\"'APP.BROWSE.SEARCH.UNKNOWN_LOCATION' | translate\">\n {{ 'APP.BROWSE.SEARCH.UNKNOWN_LOCATION' | translate }}\n </span>\n <button mat-icon-button\n [title]=\"'APP.BROWSE.SEARCH.VIEW_ADDITIONAL_LOCATIONS' | translate\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.VIEW_ADDITIONAL_LOCATIONS' | translate\"\n class=\"aca-location-link-info-btn\"\n (click)=\"openAdditionalLocationReferencesDialog()\">\n <mat-icon>info</mat-icon>\n </button>\n </div>\n}\n", styles: [".aca-location-link-unknown{display:flex;align-items:center;font-size:12px}.aca-location-link-unknown .adf-datatable-cell-value:hover{color:var(--theme-foreground-text-color);text-decoration:none}.aca-location-link .aca-location-link-info-btn{--mdc-icon-button-state-layer-size: 24px;--mdc-icon-button-icon-size: 24px;color:var(--theme-foreground-text-color);padding:0;margin-left:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4586
4608
  }
4587
4609
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: LocationLinkComponent, decorators: [{
4588
4610
  type: Component,
@@ -4636,7 +4658,7 @@ class LogoutComponent {
4636
4658
  <mat-icon>exit_to_app</mat-icon>
4637
4659
  <span>{{ 'APP.SIGN_OUT' | translate }}</span>
4638
4660
  </button>
4639
- `, isInline: true, dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: LogoutDirective, selector: "[adf-logout]", inputs: ["redirectUri", "enableRedirect"] }], encapsulation: i0.ViewEncapsulation.None });
4661
+ `, isInline: true, dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: LogoutDirective, selector: "[adf-logout]", inputs: ["redirectUri", "enableRedirect"] }], encapsulation: i0.ViewEncapsulation.None });
4640
4662
  }
4641
4663
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: LogoutComponent, decorators: [{
4642
4664
  type: Component,
@@ -4707,7 +4729,7 @@ class ToggleSharedComponent {
4707
4729
  }));
4708
4730
  }
4709
4731
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ToggleSharedComponent, deps: [{ token: i1$5.Store }], target: i0.ɵɵFactoryTarget.Component });
4710
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: ToggleSharedComponent, isStandalone: true, selector: "app-toggle-shared", inputs: { data: "data" }, viewQueries: [{ propertyName: "menuItem", first: true, predicate: MatMenuItem, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"selectionState\">\n <ng-container *ngIf=\"!data.iconButton\">\n <button mat-menu-item data-automation-id=\"share-action-button\" (click)=\"editSharedNode(selectionState, '.adf-context-menu-source')\">\n <mat-icon>link</mat-icon>\n <span>{{ (isShared ? 'APP.ACTIONS.SHARE_EDIT' : 'APP.ACTIONS.SHARE') | translate }}</span>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"data.iconButton\">\n <button\n mat-icon-button\n data-automation-id=\"share-action-button\"\n (click)=\"editSharedNode(selectionState, '#share-action-button')\"\n [attr.aria-label]=\"selectionLabel | translate\"\n [attr.title]=\"selectionLabel | translate\"\n id=\"share-action-button\"\n >\n <mat-icon>link</mat-icon>\n </button>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
4732
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: ToggleSharedComponent, isStandalone: true, selector: "app-toggle-shared", inputs: { data: "data" }, viewQueries: [{ propertyName: "menuItem", first: true, predicate: MatMenuItem, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"selectionState\">\n <ng-container *ngIf=\"!data.iconButton\">\n <button mat-menu-item data-automation-id=\"share-action-button\" (click)=\"editSharedNode(selectionState, '.adf-context-menu-source')\">\n <mat-icon>link</mat-icon>\n <span>{{ (isShared ? 'APP.ACTIONS.SHARE_EDIT' : 'APP.ACTIONS.SHARE') | translate }}</span>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"data.iconButton\">\n <button\n mat-icon-button\n data-automation-id=\"share-action-button\"\n (click)=\"editSharedNode(selectionState, '#share-action-button')\"\n [attr.aria-label]=\"selectionLabel | translate\"\n [attr.title]=\"selectionLabel | translate\"\n id=\"share-action-button\"\n >\n <mat-icon>link</mat-icon>\n </button>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
4711
4733
  }
4712
4734
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ToggleSharedComponent, decorators: [{
4713
4735
  type: Component,
@@ -5088,7 +5110,7 @@ class LibraryMetadataFormComponent {
5088
5110
  return control.value.length && !control.value.trim() ? { empty: true } : null;
5089
5111
  }
5090
5112
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: LibraryMetadataFormComponent, deps: [{ token: i1.AlfrescoApiService }, { token: i1$5.Store }, { token: i1$1.AppHookService }], target: i0.ɵɵFactoryTarget.Component });
5091
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: LibraryMetadataFormComponent, isStandalone: true, selector: "app-library-metadata-form", inputs: { node: "node" }, viewQueries: [{ propertyName: "libraryNameInput", first: true, predicate: ["libraryNameInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (node) {\n<mat-card appearance=\"raised\">\n <mat-card-content>\n <form [formGroup]=\"form\" autocomplete=\"off\">\n <mat-form-field data-automation-id=\"library-name-properties-wrapper\" class=\"app-library-metadata-form-field\">\n <mat-label>{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}</mat-label>\n <input\n #libraryNameInput\n data-automation-id=\"app-library-metadata-form-name-input\"\n matInput\n required\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\"\n formControlName=\"title\"\n [errorStateMatcher]=\"matcher\"\n />\n @if (libraryTitleExists) {\n <mat-hint data-automation-id=\"app-library-metadata-form-name-hint\">{{ 'LIBRARY.HINTS.SITE_TITLE_EXISTS' | translate }}</mat-hint>\n }\n <mat-error data-automation-id=\"app-library-metadata-form-name-error\">\n {{ titleErrorTranslationKey | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field data-automation-id=\"library-id-properties-wrapper\" class=\"app-library-metadata-form-field\">\n <mat-label>{{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}</mat-label>\n <input matInput placeholder=\"{{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\" formControlName=\"id\" />\n </mat-form-field>\n\n <mat-form-field data-automation-id=\"library-visibility-properties-wrapper\" class=\"app-library-metadata-form-field\">\n <mat-label>{{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}</mat-label>\n <mat-select placeholder=\"{{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\" formControlName=\"visibility\">\n <mat-option [value]=\"type.value\" [attr.data-automation-id]=\"'library-visibility-option-' + type.value\" *ngFor=\"let type of libraryType\">\n {{ type.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field data-automation-id=\"library-description-properties-wrapper\" class=\"app-library-metadata-form-field\">\n <mat-label>{{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}</mat-label>\n <textarea\n matInput\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\"\n rows=\"3\"\n formControlName=\"description\"\n [errorStateMatcher]=\"matcher\"\n ></textarea>\n <mat-error>\n {{ 'LIBRARY.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n </mat-card-content>\n\n @if (canUpdateLibrary) {\n <mat-card-actions align=\"end\">\n @if (form.enabled) {\n <button\n data-automation-id=\"app-library-metadata-form-cancel-button\"\n mat-button\n (click)=\"cancel()\">\n {{ 'LIBRARY.DIALOG.CANCEL' | translate }}\n </button>\n <button mat-button color=\"primary\" [disabled]=\"form.invalid || form.pristine\" (click)=\"update()\">\n {{ 'LIBRARY.DIALOG.UPDATE' | translate }}\n </button>\n } @else {\n <button\n mat-button\n color=\"primary\"\n (click)=\"toggleEdit()\"\n data-automation-id=\"app-library-metadata-form-edit-button\">\n {{ 'LIBRARY.DIALOG.EDIT' | translate }}\n </button>\n }\n </mat-card-actions>\n }\n</mat-card>\n}\n", styles: ["app-library-metadata-form .app-library-metadata-form-field{width:100%;margin-bottom:15px}\n"], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4$1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4$1.MatCardContent, selector: "mat-card-content" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None });
5113
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: LibraryMetadataFormComponent, isStandalone: true, selector: "app-library-metadata-form", inputs: { node: "node" }, viewQueries: [{ propertyName: "libraryNameInput", first: true, predicate: ["libraryNameInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (node) {\n<mat-card appearance=\"raised\">\n <mat-card-content>\n <form [formGroup]=\"form\" autocomplete=\"off\">\n <mat-form-field data-automation-id=\"library-name-properties-wrapper\" class=\"app-library-metadata-form-field\">\n <mat-label>{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}</mat-label>\n <input\n #libraryNameInput\n data-automation-id=\"app-library-metadata-form-name-input\"\n matInput\n required\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\"\n formControlName=\"title\"\n [errorStateMatcher]=\"matcher\"\n />\n @if (libraryTitleExists) {\n <mat-hint data-automation-id=\"app-library-metadata-form-name-hint\">{{ 'LIBRARY.HINTS.SITE_TITLE_EXISTS' | translate }}</mat-hint>\n }\n <mat-error data-automation-id=\"app-library-metadata-form-name-error\">\n {{ titleErrorTranslationKey | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field data-automation-id=\"library-id-properties-wrapper\" class=\"app-library-metadata-form-field\">\n <mat-label>{{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}</mat-label>\n <input matInput placeholder=\"{{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\" formControlName=\"id\" />\n </mat-form-field>\n\n <mat-form-field data-automation-id=\"library-visibility-properties-wrapper\" class=\"app-library-metadata-form-field\">\n <mat-label>{{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}</mat-label>\n <mat-select placeholder=\"{{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\" formControlName=\"visibility\">\n <mat-option [value]=\"type.value\" [attr.data-automation-id]=\"'library-visibility-option-' + type.value\" *ngFor=\"let type of libraryType\">\n {{ type.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field data-automation-id=\"library-description-properties-wrapper\" class=\"app-library-metadata-form-field\">\n <mat-label>{{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}</mat-label>\n <textarea\n matInput\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\"\n rows=\"3\"\n formControlName=\"description\"\n [errorStateMatcher]=\"matcher\"\n ></textarea>\n <mat-error>\n {{ 'LIBRARY.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n </mat-card-content>\n\n @if (canUpdateLibrary) {\n <mat-card-actions align=\"end\">\n @if (form.enabled) {\n <button\n data-automation-id=\"app-library-metadata-form-cancel-button\"\n mat-button\n (click)=\"cancel()\">\n {{ 'LIBRARY.DIALOG.CANCEL' | translate }}\n </button>\n <button mat-button color=\"primary\" [disabled]=\"form.invalid || form.pristine\" (click)=\"update()\">\n {{ 'LIBRARY.DIALOG.UPDATE' | translate }}\n </button>\n } @else {\n <button\n mat-button\n color=\"primary\"\n (click)=\"toggleEdit()\"\n data-automation-id=\"app-library-metadata-form-edit-button\">\n {{ 'LIBRARY.DIALOG.EDIT' | translate }}\n </button>\n }\n </mat-card-actions>\n }\n</mat-card>\n}\n", styles: ["app-library-metadata-form .app-library-metadata-form-field{width:100%;margin-bottom:15px}\n"], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4$1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4$1.MatCardContent, selector: "mat-card-content" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None });
5092
5114
  }
5093
5115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: LibraryMetadataFormComponent, decorators: [{
5094
5116
  type: Component,
@@ -5243,7 +5265,7 @@ class MetadataTabComponent {
5243
5265
  ? this.permission.check(node, ['update'])
5244
5266
  : false);
5245
5267
  }
5246
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MetadataTabComponent, deps: [{ token: i1$1.NodePermissionService }, { token: i1$1.AppExtensionService }, { token: i2.AppConfigService }, { token: i2.NotificationService }, { token: i1.ContentMetadataService }, { token: i4$2.Actions }, { token: i1.TagService }, { token: i1.CategoryService }, { token: i1$5.Store }, { token: i6$3.ExtensionService }], target: i0.ɵɵFactoryTarget.Component });
5268
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: MetadataTabComponent, deps: [{ token: i1$1.NodePermissionService }, { token: i1$1.AppExtensionService }, { token: i2.AppConfigService }, { token: i2.NotificationService }, { token: i1.ContentMetadataService }, { token: i4$2.Actions }, { token: i1.TagService }, { token: i1.CategoryService }, { token: i1$5.Store }, { token: i6$2.ExtensionService }], target: i0.ɵɵFactoryTarget.Component });
5247
5269
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: MetadataTabComponent, isStandalone: true, selector: "app-metadata-tab", inputs: { node: "node" }, host: { classAttribute: "app-metadata-tab" }, ngImport: i0, template: `
5248
5270
  <adf-content-metadata
5249
5271
  [readOnly]="readOnly"
@@ -5269,7 +5291,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
5269
5291
  [displayAspect]="metadataAspect"
5270
5292
  />
5271
5293
  `, encapsulation: ViewEncapsulation.None, host: { class: 'app-metadata-tab' }, styles: [".app-metadata-tab .adf-dynamic-chip-list-chip{background-color:var(--theme-background-card-colour);border:1px solid var(--theme-text-color);border-radius:10px;color:var(--theme-text-color)}\n"] }]
5272
- }], ctorParameters: () => [{ type: i1$1.NodePermissionService }, { type: i1$1.AppExtensionService }, { type: i2.AppConfigService }, { type: i2.NotificationService }, { type: i1.ContentMetadataService }, { type: i4$2.Actions }, { type: i1.TagService }, { type: i1.CategoryService }, { type: i1$5.Store }, { type: i6$3.ExtensionService }], propDecorators: { node: [{
5294
+ }], ctorParameters: () => [{ type: i1$1.NodePermissionService }, { type: i1$1.AppExtensionService }, { type: i2.AppConfigService }, { type: i2.NotificationService }, { type: i1.ContentMetadataService }, { type: i4$2.Actions }, { type: i1.TagService }, { type: i1.CategoryService }, { type: i1$5.Store }, { type: i6$2.ExtensionService }], propDecorators: { node: [{
5273
5295
  type: Input
5274
5296
  }] } });
5275
5297
 
@@ -5468,7 +5490,7 @@ class ToggleEditOfflineComponent {
5468
5490
  <mat-icon>{{ isNodeLocked ? 'cancel' : 'edit' }}</mat-icon>
5469
5491
  <span>{{ (isNodeLocked ? 'APP.ACTIONS.EDIT_OFFLINE_CANCEL' : 'APP.ACTIONS.EDIT_OFFLINE') | translate }}</span>
5470
5492
  </button>
5471
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
5493
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
5472
5494
  }
5473
5495
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ToggleEditOfflineComponent, decorators: [{
5474
5496
  type: Component,
@@ -5557,7 +5579,7 @@ class ToggleFavoriteLibraryComponent {
5557
5579
  <mat-icon class="app-context-menu-item--icon">{{ library.isFavorite ? 'star' : 'star_border' }}</mat-icon>
5558
5580
  <span>{{ (library.isFavorite ? 'APP.ACTIONS.REMOVE_FAVORITE' : 'APP.ACTIONS.FAVORITE') | translate }}</span>
5559
5581
  </button>
5560
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: LibraryFavoriteDirective, selector: "[adf-favorite-library]", inputs: ["adf-favorite-library"], outputs: ["toggle", "error"], exportAs: ["favoriteLibrary"] }], encapsulation: i0.ViewEncapsulation.None });
5582
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: LibraryFavoriteDirective, selector: "[adf-favorite-library]", inputs: ["adf-favorite-library"], outputs: ["toggle", "error"], exportAs: ["favoriteLibrary"] }], encapsulation: i0.ViewEncapsulation.None });
5561
5583
  }
5562
5584
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ToggleFavoriteLibraryComponent, decorators: [{
5563
5585
  type: Component,
@@ -5639,7 +5661,7 @@ class ToggleFavoriteComponent {
5639
5661
  <mat-icon class="app-context-menu-item--icon">{{ favorites.hasFavorites() ? 'star' : 'star_border' }}</mat-icon>
5640
5662
  <span>{{ (favorites.hasFavorites() ? 'APP.ACTIONS.REMOVE_FAVORITE' : 'APP.ACTIONS.FAVORITE') | translate }}</span>
5641
5663
  </button>
5642
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: NodeFavoriteDirective, selector: "[adf-node-favorite]", inputs: ["adf-node-favorite"], outputs: ["toggle", "error"], exportAs: ["adfFavorite"] }], encapsulation: i0.ViewEncapsulation.None });
5664
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: NodeFavoriteDirective, selector: "[adf-node-favorite]", inputs: ["adf-node-favorite"], outputs: ["toggle", "error"], exportAs: ["adfFavorite"] }], encapsulation: i0.ViewEncapsulation.None });
5643
5665
  }
5644
5666
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ToggleFavoriteComponent, decorators: [{
5645
5667
  type: Component,
@@ -5707,7 +5729,7 @@ class ToggleInfoDrawerComponent {
5707
5729
  >
5708
5730
  <mat-icon>view_sidebar</mat-icon>
5709
5731
  </button>
5710
- `, isInline: true, styles: [".app-toggle-info-drawer button:focus{border:2px solid var(--theme-blue-button-color);border-radius:6px;outline:none;background-color:var(--theme-selected-background-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
5732
+ `, isInline: true, styles: [".app-toggle-info-drawer button:focus{border:2px solid var(--theme-blue-button-color);border-radius:6px;outline:none;background-color:var(--theme-selected-background-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None });
5711
5733
  }
5712
5734
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ToggleInfoDrawerComponent, decorators: [{
5713
5735
  type: Component,
@@ -5789,7 +5811,7 @@ class ToggleJoinLibraryButtonComponent {
5789
5811
  <mat-icon *ngIf="membership.isJoinRequested | async">cancel</mat-icon>
5790
5812
  <mat-icon *ngIf="!(membership.isJoinRequested | async)">library_add</mat-icon>
5791
5813
  </button>
5792
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: LibraryMembershipDirective, selector: "[adf-library-membership]", inputs: ["adf-library-membership", "isAdmin"], outputs: ["toggle", "error"], exportAs: ["libraryMembership"] }], encapsulation: i0.ViewEncapsulation.None });
5814
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: LibraryMembershipDirective, selector: "[adf-library-membership]", inputs: ["adf-library-membership", "isAdmin"], outputs: ["toggle", "error"], exportAs: ["libraryMembership"] }], encapsulation: i0.ViewEncapsulation.None });
5793
5815
  }
5794
5816
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ToggleJoinLibraryButtonComponent, decorators: [{
5795
5817
  type: Component,
@@ -5857,7 +5879,7 @@ class ToggleJoinLibraryMenuComponent extends ToggleJoinLibraryButtonComponent {
5857
5879
  <mat-icon>{{ (membership.isJoinRequested | async) ? 'cancel' : 'library_add' }}</mat-icon>
5858
5880
  <span>{{ (membership.isJoinRequested | async) ? ('APP.ACTIONS.CANCEL_JOIN' | translate) : ('APP.ACTIONS.JOIN' | translate) }}</span>
5859
5881
  </button>
5860
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: LibraryMembershipDirective, selector: "[adf-library-membership]", inputs: ["adf-library-membership", "isAdmin"], outputs: ["toggle", "error"], exportAs: ["libraryMembership"] }], encapsulation: i0.ViewEncapsulation.None });
5882
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: LibraryMembershipDirective, selector: "[adf-library-membership]", inputs: ["adf-library-membership", "isAdmin"], outputs: ["toggle", "error"], exportAs: ["libraryMembership"] }], encapsulation: i0.ViewEncapsulation.None });
5861
5883
  }
5862
5884
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ToggleJoinLibraryMenuComponent, decorators: [{
5863
5885
  type: Component,
@@ -5959,7 +5981,7 @@ class ViewNodeComponent {
5959
5981
  <mat-icon>visibility</mat-icon>
5960
5982
  <span>{{ data.title | translate }}</span>
5961
5983
  </button>
5962
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: MatDialogModule }], encapsulation: i0.ViewEncapsulation.None });
5984
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "ngmodule", type: MatDialogModule }], encapsulation: i0.ViewEncapsulation.None });
5963
5985
  }
5964
5986
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ViewNodeComponent, decorators: [{
5965
5987
  type: Component,
@@ -6355,7 +6377,7 @@ class SearchAiInputComponent {
6355
6377
  }
6356
6378
  }
6357
6379
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchAiInputComponent, deps: [{ token: i1$5.Store }, { token: i1.SearchAiService }, { token: i2.NotificationService }, { token: i1.AgentService }, { token: i2.UserPreferencesService }, { token: i4$3.TranslateService }, { token: ModalAiService }], target: i0.ɵɵFactoryTarget.Component });
6358
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchAiInputComponent, isStandalone: true, selector: "aca-search-ai-input", inputs: { placeholder: "placeholder", agentId: "agentId", usedInAiResultsPage: "usedInAiResultsPage", searchTerm: "searchTerm" }, providers: [{ provide: MAT_TOOLTIP_DEFAULT_OPTIONS, useValue: MatTooltipOptions }], ngImport: i0, template: "<div class=\"aca-search-ai-input-agent-container\">\n <mat-select\n [formControl]=\"agentControl\"\n class=\"aca-search-ai-input-agent-select\"\n panelClass=\"aca-search-ai-input-agent-select-options aca-search-ai-input-agent-select-agents\"\n data-automation-id=\"aca-search-ai-agents-select\"\n [hideSingleSelectionIndicator]=\"true\">\n <mat-select-trigger class=\"aca-search-ai-input-agent-select-displayed-value\">\n <adf-avatar\n [src]=\"agentControl.value?.avatarUrl\"\n [initials]=\"initialsByAgentId[agentControl.value?.id]\"\n size=\"26px\" />\n <span class=\"aca-search-ai-input-agent-select-displayed-value-text\">{{ agentControl.value?.name }}</span>\n </mat-select-trigger>\n <mat-option\n *ngFor=\"let agent of agents\"\n [value]=\"agent\"\n class=\"aca-search-ai-input-agent-select-options-option\"\n [attr.data-automation-id]=\"'aca-search-ai-input-agent-' + agent.id\"><div class=\"aca-search-ai-input-agent-select-options-option-content\">\n <adf-avatar [src]=\"agent?.avatarUrl\" [initials]=\"initialsByAgentId[agent.id]\" />\n <span class=\"aca-search-ai-input-agent-select-options-option-content-text\" [matTooltip]=\"agent.name\" [matTooltipPosition]=\"'right'\">{{ agent.name }}</span>\n </div>\n </mat-option>\n </mat-select>\n\n <div class=\"aca-search-ai-input-agent-popup-hover-card\">\n <mat-card class=\"aca-search-ai-input-agent-popup-hover-card-container\">\n <mat-card-title class=\"aca-search-ai-input-agent-popup-hover-card-container-title\">\n <adf-avatar\n [initials]=\"initialsByAgentId[agentControl.value?.id]\"\n [src]=\"agentControl.value?.avatarUrl\"\n size=\"50px\" />\n <span class=\"aca-search-ai-input-agent-popup-hover-card-container-title-name\"\n [matTooltipPosition]=\"'right'\"\n [matTooltip]=\"agentControl.value?.name\">\n {{ agentControl.value?.name }}\n </span>\n </mat-card-title>\n <mat-card-content class=\"aca-search-ai-input-agent-popup-hover-card-container-content\">\n {{ agentControl.value?.description }}\n </mat-card-content>\n </mat-card>\n </div>\n</div>\n<input\n class=\"aca-search-ai-input-text\"\n matInput\n [formControl]=\"queryControl\"\n data-automation-id=\"aca-search-ai-input\"\n [placeholder]=\"placeholder | translate\"\n (keyup.enter)=\"onSearchSubmit()\"/>\n<button\n mat-flat-button\n color=\"primary\"\n class=\"aca-search-ai-asking-button\"\n (click)=\"onSearchSubmit()\"\n [disabled]=\"!queryControl.value\"\n data-automation-id=\"aca-search-ai-asking-button\">\n <adf-icon [value]=\"'adf:three_magic_stars_ai'\" />\n <span class=\"aca-search-ai-asking-button-label\">{{ 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.ASK_BUTTON_LABEL' | translate }}</span>\n</button>\n", styles: ["aca-search-ai-input{width:100%;display:flex;align-items:center}aca-search-ai-input .aca-search-ai-input-text{margin-top:4px;flex:1;font-size:20px;margin-right:167px;border:none;outline:none}aca-search-ai-input .aca-search-ai-input-text:focus::placeholder{color:var(--theme-primary-color)}aca-search-ai-input .aca-search-ai-asking-button{display:flex;align-items:center;padding-left:0;padding-right:12px;height:32px;border-radius:6px;width:92px;font-weight:600}aca-search-ai-input .aca-search-ai-asking-button-label{vertical-align:super}aca-search-ai-input .aca-search-ai-asking-button adf-icon{margin-bottom:3px;margin-right:7px}aca-search-ai-input .aca-search-ai-asking-button adf-icon svg{width:34px;height:34px;margin-left:-6px;margin-top:-4px}aca-search-ai-input .aca-search-ai-input-agent-select{width:149px;height:35px;align-content:center;border-radius:16px;padding-left:3px;padding-right:10px;background-color:var(--theme-grey-text-background-color);color:var(--theme-text-light-color);font-size:15px;margin-right:26px}aca-search-ai-input .aca-search-ai-input-agent-select .mat-mdc-select-trigger{height:auto;margin-top:4px}aca-search-ai-input .aca-search-ai-input-agent-select:focus{outline:-webkit-focus-ring-color auto 1px}aca-search-ai-input .aca-search-ai-input-agent-select-displayed-value{display:flex;align-items:center}aca-search-ai-input .aca-search-ai-input-agent-select-displayed-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}aca-search-ai-input .aca-search-ai-input-agent-select adf-avatar{margin-left:2px;margin-right:6px;padding-top:1px;padding-bottom:3px}aca-search-ai-input .aca-search-ai-input-agent-select adf-avatar .adf-avatar__image{cursor:pointer}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel{margin-top:9px}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel .aca-search-ai-input-agent-select-options-option{padding-left:11px;padding-right:11px}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel .aca-search-ai-input-agent-select-options-option-content{display:flex;align-items:center;padding-top:1px;padding-bottom:1px}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel .aca-search-ai-input-agent-select-options-option-content-text{width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel .aca-search-ai-input-agent-select-options-option adf-avatar{margin-right:12px;padding-left:1px}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel .aca-search-ai-input-agent-select-options-option adf-avatar .adf-avatar__image{cursor:pointer}.aca-search-ai-input-agent-container{position:relative}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card{display:none;position:absolute;left:0;z-index:1}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container{width:315px;height:fit-content;border-radius:12px;margin-top:4px}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container-title{display:flex;align-items:center;font-size:20px;font-weight:700;padding:16px 16px 8px;gap:4px}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container-title-name{margin:0 12px}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container-title img{height:50px;width:50px;min-width:50px;min-height:50px}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:14px}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container-content{display:flex;color:var(--theme-content-color);text-align:justify;text-justify:inter-word}.aca-search-ai-input-agent-container:hover .aca-search-ai-input-agent-popup-hover-card{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i10.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "component", type: AvatarComponent, selector: "adf-avatar", inputs: ["src", "initials", "tooltip", "size", "cursor"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4$1.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], encapsulation: i0.ViewEncapsulation.None });
6380
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchAiInputComponent, isStandalone: true, selector: "aca-search-ai-input", inputs: { placeholder: "placeholder", agentId: "agentId", usedInAiResultsPage: "usedInAiResultsPage", searchTerm: "searchTerm" }, providers: [{ provide: MAT_TOOLTIP_DEFAULT_OPTIONS, useValue: MatTooltipOptions }], ngImport: i0, template: "<div class=\"aca-search-ai-input-agent-container\">\n <mat-select\n [formControl]=\"agentControl\"\n class=\"aca-search-ai-input-agent-select\"\n panelClass=\"aca-search-ai-input-agent-select-options aca-search-ai-input-agent-select-agents\"\n data-automation-id=\"aca-search-ai-agents-select\"\n [hideSingleSelectionIndicator]=\"true\">\n <mat-select-trigger class=\"aca-search-ai-input-agent-select-displayed-value\">\n <adf-avatar\n [src]=\"agentControl.value?.avatarUrl\"\n [initials]=\"initialsByAgentId[agentControl.value?.id]\"\n size=\"26px\" />\n <span class=\"aca-search-ai-input-agent-select-displayed-value-text\">{{ agentControl.value?.name }}</span>\n </mat-select-trigger>\n <mat-option\n *ngFor=\"let agent of agents\"\n [value]=\"agent\"\n class=\"aca-search-ai-input-agent-select-options-option\"\n [attr.data-automation-id]=\"'aca-search-ai-input-agent-' + agent.id\"><div class=\"aca-search-ai-input-agent-select-options-option-content\">\n <adf-avatar [src]=\"agent?.avatarUrl\" [initials]=\"initialsByAgentId[agent.id]\" />\n <span class=\"aca-search-ai-input-agent-select-options-option-content-text\" [matTooltip]=\"agent.name\" [matTooltipPosition]=\"'right'\">{{ agent.name }}</span>\n </div>\n </mat-option>\n </mat-select>\n\n <div class=\"aca-search-ai-input-agent-popup-hover-card\">\n <mat-card class=\"aca-search-ai-input-agent-popup-hover-card-container\">\n <mat-card-title class=\"aca-search-ai-input-agent-popup-hover-card-container-title\">\n <adf-avatar\n [initials]=\"initialsByAgentId[agentControl.value?.id]\"\n [src]=\"agentControl.value?.avatarUrl\"\n size=\"50px\" />\n <span class=\"aca-search-ai-input-agent-popup-hover-card-container-title-name\"\n [matTooltipPosition]=\"'right'\"\n [matTooltip]=\"agentControl.value?.name\">\n {{ agentControl.value?.name }}\n </span>\n </mat-card-title>\n <mat-card-content class=\"aca-search-ai-input-agent-popup-hover-card-container-content\">\n {{ agentControl.value?.description }}\n </mat-card-content>\n </mat-card>\n </div>\n</div>\n<input\n class=\"aca-search-ai-input-text\"\n matInput\n [formControl]=\"queryControl\"\n data-automation-id=\"aca-search-ai-input\"\n [placeholder]=\"placeholder | translate\"\n (keyup.enter)=\"onSearchSubmit()\"/>\n<button\n mat-flat-button\n color=\"primary\"\n class=\"aca-search-ai-asking-button\"\n (click)=\"onSearchSubmit()\"\n [disabled]=\"!queryControl.value\"\n data-automation-id=\"aca-search-ai-asking-button\">\n <adf-icon [value]=\"'adf:three_magic_stars_ai'\" />\n <span class=\"aca-search-ai-asking-button-label\">{{ 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.ASK_BUTTON_LABEL' | translate }}</span>\n</button>\n", styles: ["aca-search-ai-input{width:100%;display:flex;align-items:center}aca-search-ai-input .aca-search-ai-input-text{margin-top:4px;flex:1;font-size:20px;margin-right:167px;border:none;outline:none}aca-search-ai-input .aca-search-ai-input-text:focus::placeholder{color:var(--theme-primary-color)}aca-search-ai-input .aca-search-ai-asking-button{display:flex;align-items:center;padding-left:0;padding-right:12px;height:32px;border-radius:6px;width:92px;font-weight:600}aca-search-ai-input .aca-search-ai-asking-button-label{vertical-align:super}aca-search-ai-input .aca-search-ai-asking-button adf-icon{margin-bottom:3px;margin-right:7px}aca-search-ai-input .aca-search-ai-asking-button adf-icon svg{width:34px;height:34px;margin-left:-6px;margin-top:-4px}aca-search-ai-input .aca-search-ai-input-agent-select{width:149px;height:35px;align-content:center;border-radius:16px;padding-left:3px;padding-right:10px;background-color:var(--theme-grey-text-background-color);color:var(--theme-text-light-color);font-size:15px;margin-right:26px}aca-search-ai-input .aca-search-ai-input-agent-select .mat-mdc-select-trigger{height:auto;margin-top:4px}aca-search-ai-input .aca-search-ai-input-agent-select:focus{outline:-webkit-focus-ring-color auto 1px}aca-search-ai-input .aca-search-ai-input-agent-select-displayed-value{display:flex;align-items:center}aca-search-ai-input .aca-search-ai-input-agent-select-displayed-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}aca-search-ai-input .aca-search-ai-input-agent-select adf-avatar{margin-left:2px;margin-right:6px;padding-top:1px;padding-bottom:3px}aca-search-ai-input .aca-search-ai-input-agent-select adf-avatar .adf-avatar__image{cursor:pointer}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel{margin-top:9px}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel .aca-search-ai-input-agent-select-options-option{padding-left:11px;padding-right:11px}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel .aca-search-ai-input-agent-select-options-option-content{display:flex;align-items:center;padding-top:1px;padding-bottom:1px}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel .aca-search-ai-input-agent-select-options-option-content-text{width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel .aca-search-ai-input-agent-select-options-option adf-avatar{margin-right:12px;padding-left:1px}.aca-search-ai-input-agent-select-options.aca-search-ai-input-agent-select-agents.mat-mdc-select-panel .aca-search-ai-input-agent-select-options-option adf-avatar .adf-avatar__image{cursor:pointer}.aca-search-ai-input-agent-container{position:relative}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card{display:none;position:absolute;left:0;z-index:1}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container{width:315px;height:fit-content;border-radius:12px;margin-top:4px}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container-title{display:flex;align-items:center;font-size:20px;font-weight:700;padding:16px 16px 8px;gap:4px}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container-title-name{margin:0 12px}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container-title img{height:50px;width:50px;min-width:50px;min-height:50px}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:14px}.aca-search-ai-input-agent-container .aca-search-ai-input-agent-popup-hover-card-container-content{display:flex;color:var(--theme-content-color);text-align:justify;text-justify:inter-word}.aca-search-ai-input-agent-container:hover .aca-search-ai-input-agent-popup-hover-card{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i10.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "component", type: AvatarComponent, selector: "adf-avatar", inputs: ["src", "initials", "tooltip", "size", "cursor"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4$1.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i4$1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], encapsulation: i0.ViewEncapsulation.None });
6359
6381
  }
6360
6382
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchAiInputComponent, decorators: [{
6361
6383
  type: Component,
@@ -6430,7 +6452,7 @@ class SearchAiInputContainerComponent {
6430
6452
  this.searchNavigationService.navigateToPreviousRouteOrCloseInput();
6431
6453
  }
6432
6454
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchAiInputContainerComponent, deps: [{ token: i1.SearchAiService }, { token: SearchAiNavigationService }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Component });
6433
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchAiInputContainerComponent, isStandalone: true, selector: "aca-search-ai-input-container", inputs: { placeholder: "placeholder", agentId: "agentId", usedInAiResultsPage: "usedInAiResultsPage" }, ngImport: i0, template: "<aca-search-ai-input\n [searchTerm]=\"(inputState$ | async).searchTerm\"\n [placeholder]=\"placeholder\"\n [agentId]=\"agentId\"\n [usedInAiResultsPage]=\"usedInAiResultsPage\" />\n<mat-divider\n [vertical]=\"true\"\n aria-hidden=\"true\"\n class=\"aca-search-ai-input-container-divider\" />\n<button\n mat-icon-button\n (click)=\"leaveSearchInput()\"\n data-automation-id=\"aca-search-ai-input-container-leaving-search-button\"\n [title]=\"(isKnowledgeRetrievalPage ? 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.HIDE_ANSWER' : 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.HIDE_INPUT') | translate\"\n class=\"aca-search-ai-input-container-close\">\n <mat-icon>close</mat-icon>\n</button>\n", styles: ["aca-search-ai-input-container{display:flex;flex-direction:row;flex:1;align-items:center;width:100%}aca-search-ai-input-container .aca-search-ai-input-container-divider{height:24px;margin-left:30px;margin-right:7px;background:var(--adf-theme-foreground-text-color-025)}aca-search-ai-input-container .aca-search-ai-input-container-close{display:flex}\n"], dependencies: [{ kind: "component", type: SearchAiInputComponent, selector: "aca-search-ai-input", inputs: ["placeholder", "agentId", "usedInAiResultsPage", "searchTerm"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
6455
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchAiInputContainerComponent, isStandalone: true, selector: "aca-search-ai-input-container", inputs: { placeholder: "placeholder", agentId: "agentId", usedInAiResultsPage: "usedInAiResultsPage" }, ngImport: i0, template: "<aca-search-ai-input\n [searchTerm]=\"(inputState$ | async).searchTerm\"\n [placeholder]=\"placeholder\"\n [agentId]=\"agentId\"\n [usedInAiResultsPage]=\"usedInAiResultsPage\" />\n<mat-divider\n [vertical]=\"true\"\n aria-hidden=\"true\"\n class=\"aca-search-ai-input-container-divider\" />\n<button\n mat-icon-button\n (click)=\"leaveSearchInput()\"\n data-automation-id=\"aca-search-ai-input-container-leaving-search-button\"\n [title]=\"(isKnowledgeRetrievalPage ? 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.HIDE_ANSWER' : 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.HIDE_INPUT') | translate\"\n class=\"aca-search-ai-input-container-close\">\n <mat-icon>close</mat-icon>\n</button>\n", styles: ["aca-search-ai-input-container{display:flex;flex-direction:row;flex:1;align-items:center;width:100%}aca-search-ai-input-container .aca-search-ai-input-container-divider{height:24px;margin-left:30px;margin-right:7px;background:var(--adf-theme-foreground-text-color-025)}aca-search-ai-input-container .aca-search-ai-input-container-close{display:flex}\n"], dependencies: [{ kind: "component", type: SearchAiInputComponent, selector: "aca-search-ai-input", inputs: ["placeholder", "agentId", "usedInAiResultsPage", "searchTerm"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
6434
6456
  }
6435
6457
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchAiInputContainerComponent, decorators: [{
6436
6458
  type: Component,
@@ -6751,7 +6773,7 @@ class FilesComponent extends PageComponent {
6751
6773
  }
6752
6774
  }
6753
6775
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: FilesComponent, deps: [{ token: i1$1.ContentApiService }, { token: NodeActionsService }, { token: i1$4.ActivatedRoute }, { token: i1.SearchHeaderQueryBuilderService }], target: i0.ɵɵFactoryTarget.Component });
6754
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: FilesComponent, isStandalone: true, selector: "aca-files", usesInheritance: true, ngImport: i0, template: "<aca-page-layout [hasError]=\"!isValidPath\">\n <div class=\"aca-page-layout-header\">\n <aca-search-ai-input-container\n *ngIf=\"searchAiInputState.active; else header\"\n [agentId]=\"searchAiInputState.selectedAgentId\" />\n <ng-template #header>\n <div class=\"aca-header-container\">\n <adf-breadcrumb\n [root]=\"title\"\n [folderNode]=\"node\"\n [selectedRowItemsCount]=\"selectedRowItemsCount\" [maxItems]=\"isSmallScreen ? 1 : 0\"\n (navigate)=\"onBreadcrumbNavigate($event)\" />\n <aca-toolbar [items]=\"actions\" />\n </div>\n </ng-template>\n </div>\n\n <div class=\"aca-page-layout-error\">\n <aca-generic-error [text]=\"errorTranslationKey\" />\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\" *ngIf=\"!(showLoader$ | async)\">\n <adf-upload-drag-area [rootFolderId]=\"node?.id\" [disabled]=\"!canUpload\" (updateFileVersion)=\"onUploadNewVersion($event)\">\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [currentFolderId]=\"node?.id\"\n [loading]=\"true\"\n [showHeader]=\"showHeader\"\n [node]=\"nodeResult\"\n [allowDropFiles]=\"true\"\n [displayCheckboxesOnHover]=\"true\"\n [preselectNodes]=\"selectedNodesState?.nodes\"\n [navigate]=\"false\"\n [sorting]=\"['name', 'asc']\"\n [imageResolver]=\"imageResolver\"\n [headerFilters]=\"true\"\n [filterValue]=\"queryParams\"\n [isDataProvidedExternally]=\"!!queryParams\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n [displayDragAndDropHint]=\"canUpload\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n (selectedItemsCountChanged)=\"onSelectedItemsCountChanged($event)\"\n (filterSelection)=\"onFilterSelected($event)\"\n (error)=\"onError($event)\"\n >\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template *ngIf=\"isFilterHeaderActive\">\n <ng-container>\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_FILTER_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination acaPagination [target]=\"documentList\" />\n </adf-upload-drag-area>\n </div>\n\n <mat-progress-spinner *ngIf=\"showLoader$ | async\"\n id=\"adf-document-list-loading\"\n class=\"adf-document-list-loading-margin\"\n [color]=\"'primary'\"\n [mode]=\"'indeterminate'\" />\n\n <div class=\"aca-sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.last\" />\n </div>\n </div>\n</aca-page-layout>\n", styles: [".adf-document-list-loading-margin{margin:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: GenericErrorComponent, selector: "aca-generic-error", inputs: ["text"] }, { kind: "directive", type: DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable", "customActions"], exportAs: ["acaContextActions"] }, { kind: "component", type: PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i6$4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "directive", type: PaginationDirective, selector: "[acaPagination]" }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: SearchAiInputContainerComponent, selector: "aca-search-ai-input-container", inputs: ["placeholder", "agentId", "usedInAiResultsPage"] }, { kind: "component", type: DynamicColumnComponent, selector: "adf-dynamic-column", inputs: ["id", "context"] }, { kind: "component", type: BreadcrumbComponent, selector: "adf-breadcrumb", inputs: ["folderNode", "root", "rootId", "target", "transform", "maxItems", "selectedRowItemsCount", "readOnly"], outputs: ["navigate"] }, { kind: "component", type: UploadDragAreaComponent, selector: "adf-upload-drag-area" }, { kind: "component", type: DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "filters", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems", "columnsPresetKey", "setColumnsVisibility", "setColumnsWidths", "setColumnsOrder", "maxColumnsVisible", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover", "displayDragAndDropHint", "isDataProvidedExternally"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection", "columnsWidthChanged", "columnsVisibilityChanged", "columnsOrderChanged", "selectedItemsCountChanged"] }, { kind: "component", type: DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "subtitle", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "directive", type: CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }], encapsulation: i0.ViewEncapsulation.None });
6776
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: FilesComponent, isStandalone: true, selector: "aca-files", usesInheritance: true, ngImport: i0, template: "<aca-page-layout [hasError]=\"!isValidPath\">\n <div class=\"aca-page-layout-header\">\n <aca-search-ai-input-container\n *ngIf=\"searchAiInputState.active; else header\"\n [agentId]=\"searchAiInputState.selectedAgentId\" />\n <ng-template #header>\n <div class=\"aca-header-container\">\n <adf-breadcrumb\n [root]=\"title\"\n [folderNode]=\"node\"\n [selectedRowItemsCount]=\"selectedRowItemsCount\" [maxItems]=\"isSmallScreen ? 1 : 0\"\n (navigate)=\"onBreadcrumbNavigate($event)\" />\n <aca-toolbar [items]=\"actions\" />\n </div>\n </ng-template>\n </div>\n\n <div class=\"aca-page-layout-error\">\n <aca-generic-error [text]=\"errorTranslationKey\" />\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\" *ngIf=\"!(showLoader$ | async)\">\n <adf-upload-drag-area [rootFolderId]=\"node?.id\" [disabled]=\"!canUpload\" (updateFileVersion)=\"onUploadNewVersion($event)\">\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [currentFolderId]=\"node?.id\"\n [loading]=\"true\"\n [showHeader]=\"showHeader\"\n [node]=\"nodeResult\"\n [allowDropFiles]=\"true\"\n [displayCheckboxesOnHover]=\"true\"\n [preselectNodes]=\"selectedNodesState?.nodes\"\n [navigate]=\"false\"\n [sorting]=\"['name', 'asc']\"\n [imageResolver]=\"imageResolver\"\n [headerFilters]=\"true\"\n [filterValue]=\"queryParams\"\n [isDataProvidedExternally]=\"!!queryParams\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n [displayDragAndDropHint]=\"canUpload\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n (selectedItemsCountChanged)=\"onSelectedItemsCountChanged($event)\"\n (filterSelection)=\"onFilterSelected($event)\"\n (error)=\"onError($event)\"\n >\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template *ngIf=\"isFilterHeaderActive\">\n <ng-container>\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_FILTER_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination acaPagination [target]=\"documentList\" />\n </adf-upload-drag-area>\n </div>\n\n <mat-progress-spinner *ngIf=\"showLoader$ | async\"\n id=\"adf-document-list-loading\"\n class=\"adf-document-list-loading-margin\"\n [color]=\"'primary'\"\n [mode]=\"'indeterminate'\" />\n\n <div class=\"aca-sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.last\" />\n </div>\n </div>\n</aca-page-layout>\n", styles: [".adf-document-list-loading-margin{margin:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: GenericErrorComponent, selector: "aca-generic-error", inputs: ["text"] }, { kind: "directive", type: DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable", "customActions"], exportAs: ["acaContextActions"] }, { kind: "component", type: PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i6$3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "directive", type: PaginationDirective, selector: "[acaPagination]" }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: SearchAiInputContainerComponent, selector: "aca-search-ai-input-container", inputs: ["placeholder", "agentId", "usedInAiResultsPage"] }, { kind: "component", type: DynamicColumnComponent, selector: "adf-dynamic-column", inputs: ["id", "context"] }, { kind: "component", type: BreadcrumbComponent, selector: "adf-breadcrumb", inputs: ["folderNode", "root", "rootId", "target", "transform", "maxItems", "selectedRowItemsCount", "readOnly"], outputs: ["navigate"] }, { kind: "component", type: UploadDragAreaComponent, selector: "adf-upload-drag-area" }, { kind: "component", type: DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "filters", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems", "columnsPresetKey", "setColumnsVisibility", "setColumnsWidths", "setColumnsOrder", "maxColumnsVisible", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover", "displayDragAndDropHint", "isDataProvidedExternally"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection", "columnsWidthChanged", "columnsVisibilityChanged", "columnsOrderChanged", "selectedItemsCountChanged"] }, { kind: "component", type: DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "subtitle", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "directive", type: CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }], encapsulation: i0.ViewEncapsulation.None });
6755
6777
  }
6756
6778
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: FilesComponent, decorators: [{
6757
6779
  type: Component,
@@ -7009,126 +7031,136 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
7009
7031
  * You should have received a copy of the GNU Lesser General Public License
7010
7032
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
7011
7033
  */
7012
- class SearchInputControlComponent {
7013
- destroyRef = inject(DestroyRef);
7014
- route = inject(ActivatedRoute);
7015
- router = inject(Router);
7016
- /** Type of the input field to render, e.g. "search" or "text" (default). */
7017
- inputType = 'text';
7018
- /**
7019
- * Indicates whether the search is constrained by libraries.
7020
- * If true, specific error messaging or validation behavior may be triggered.
7021
- */
7022
- hasLibrariesConstraint = false;
7023
- /** Emitted when the search is submitted pressing ENTER button.
7024
- * The search term is provided as value of the event.
7025
- */
7026
- // eslint-disable-next-line @angular-eslint/no-output-native
7027
- submit = new EventEmitter();
7028
- /** Emitted when the search term is changed. The search term is provided
7029
- * in the 'value' property of the returned object. If the term is less
7030
- * than three characters in length then the term is truncated to an empty
7031
- * string.
7032
- */
7033
- searchChange = new EventEmitter();
7034
- /** Emitted when the input control has a validation error. */
7035
- validationError = new EventEmitter();
7036
- searchInput;
7037
- searchFieldFormControl = new FormControl('', [Validators.required, noWhitespaceValidator(), noLeadingTrailingOperatorsValidator()]);
7038
- get searchTerm() {
7039
- return this.searchFieldFormControl.value.replace('text:', 'TEXT:');
7040
- }
7041
- set searchTerm(value) {
7042
- this.searchFieldFormControl.setValue(value);
7034
+ class SearchFilterService {
7035
+ queryBuilder;
7036
+ searchInMode = 'content';
7037
+ filesChecked = true;
7038
+ foldersChecked = true;
7039
+ searchOptions = [
7040
+ {
7041
+ id: SearchOptionIds.Files,
7042
+ key: 'SEARCH.INPUT.FILES',
7043
+ value: false,
7044
+ shouldDisable: () => this.isLibrariesChecked()
7045
+ },
7046
+ {
7047
+ id: SearchOptionIds.Folders,
7048
+ key: 'SEARCH.INPUT.FOLDERS',
7049
+ value: false,
7050
+ shouldDisable: () => this.isLibrariesChecked()
7051
+ },
7052
+ {
7053
+ id: SearchOptionIds.Libraries,
7054
+ key: 'SEARCH.INPUT.LIBRARIES',
7055
+ value: false,
7056
+ shouldDisable: () => this.isContentChecked()
7057
+ }
7058
+ ];
7059
+ constructor(queryBuilder) {
7060
+ this.queryBuilder = queryBuilder;
7043
7061
  }
7044
- ngOnInit() {
7045
- this.searchFieldFormControl.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((searchTermValue) => {
7046
- this.searchFieldFormControl.markAsTouched();
7047
- this.searchChange.emit(searchTermValue);
7048
- });
7049
- this.searchFieldFormControl.events.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
7050
- if (event instanceof TouchedChangeEvent || event instanceof StatusChangeEvent) {
7051
- if (this.searchFieldFormControl.touched) {
7052
- this.emitValidationError();
7053
- }
7054
- else {
7055
- this.validationError.emit('');
7056
- }
7057
- }
7058
- });
7059
- combineLatest([
7060
- this.route.queryParams,
7061
- this.router.events.pipe(filter((e) => e instanceof NavigationStart), startWith(null))
7062
- ])
7063
- .pipe(takeUntilDestroyed(this.destroyRef))
7064
- .subscribe(([params]) => {
7065
- if (params['q'] && !this.searchFieldFormControl.value) {
7066
- setTimeout(() => this.searchFieldFormControl.setValue('*'));
7067
- }
7068
- });
7062
+ isFilesChecked() {
7063
+ return this.getOptionValue(SearchOptionIds.Files);
7069
7064
  }
7070
- ngOnChanges(changes) {
7071
- if (changes['hasLibrariesConstraint'] && !changes['hasLibrariesConstraint'].firstChange) {
7072
- this.emitValidationError();
7073
- }
7065
+ isFoldersChecked() {
7066
+ return this.getOptionValue(SearchOptionIds.Folders);
7074
7067
  }
7075
- searchSubmit() {
7076
- this.searchFieldFormControl.markAsTouched();
7077
- const trimmedTerm = this.searchTerm?.trim();
7078
- if (this.searchFieldFormControl.valid && trimmedTerm) {
7079
- this.submit.emit(trimmedTerm);
7080
- }
7068
+ isLibrariesChecked() {
7069
+ return this.getOptionValue(SearchOptionIds.Libraries);
7081
7070
  }
7082
- clear() {
7083
- this.searchTerm = '';
7084
- this.searchChange.emit('');
7071
+ isContentChecked() {
7072
+ return this.isFilesChecked() || this.isFoldersChecked();
7085
7073
  }
7086
- onBlur() {
7087
- this.searchFieldFormControl.markAsUntouched();
7074
+ getSearchInLabel() {
7075
+ if (this.searchInMode === SearchOptionIds.Libraries) {
7076
+ return 'SEARCH.INPUT.LIBRARIES';
7077
+ }
7078
+ if (this.filesChecked === this.foldersChecked) {
7079
+ return 'SEARCH.INPUT.FILES_AND_FOLDERS';
7080
+ }
7081
+ if (this.filesChecked) {
7082
+ return 'SEARCH.INPUT.FILES';
7083
+ }
7084
+ if (this.foldersChecked) {
7085
+ return 'SEARCH.INPUT.FOLDERS';
7086
+ }
7087
+ return 'SEARCH.INPUT.FILES_AND_FOLDERS';
7088
7088
  }
7089
- isTermTooShort() {
7090
- return this.searchTerm.trim()?.length < 2;
7089
+ validateSearchTerm(term) {
7090
+ if (!term) {
7091
+ return 'SEARCH.INPUT.REQUIRED';
7092
+ }
7093
+ if (/^\s+$/.test(term)) {
7094
+ return 'SEARCH.INPUT.WHITESPACE';
7095
+ }
7096
+ const words = term.trim().split(/\s+/);
7097
+ if (isOperator(words[0]) || isOperator(words[words.length - 1])) {
7098
+ return 'SEARCH.INPUT.OPERATORS';
7099
+ }
7100
+ if (/^[+\-|!(){}[\]^"~*?:\\/]/.test(term) || /[+\-|!(){}[\]^"~*?:\\/]$/.test(term)) {
7101
+ return 'SEARCH.INPUT.OPERATORS';
7102
+ }
7103
+ if (this.searchInMode === SearchOptionIds.Libraries && term.length < 2) {
7104
+ return 'SEARCH.INPUT.MIN_LENGTH';
7105
+ }
7106
+ return null;
7091
7107
  }
7092
- emitValidationError() {
7093
- const errors = this.searchFieldFormControl.errors;
7094
- if (errors?.whitespace) {
7095
- this.validationError.emit('SEARCH.INPUT.WHITESPACE');
7108
+ syncSearchOptionsFromState() {
7109
+ const filesOption = this.searchOptions.find((opt) => opt.id === SearchOptionIds.Files);
7110
+ const foldersOption = this.searchOptions.find((opt) => opt.id === SearchOptionIds.Folders);
7111
+ const librariesOption = this.searchOptions.find((opt) => opt.id === SearchOptionIds.Libraries);
7112
+ if (this.searchInMode === SearchOptionIds.Libraries) {
7113
+ filesOption.value = false;
7114
+ foldersOption.value = false;
7115
+ librariesOption.value = true;
7096
7116
  }
7097
- else if (errors?.operators) {
7098
- this.validationError.emit('SEARCH.INPUT.OPERATORS');
7117
+ else {
7118
+ filesOption.value = this.filesChecked && !this.foldersChecked;
7119
+ foldersOption.value = this.foldersChecked && !this.filesChecked;
7120
+ librariesOption.value = false;
7099
7121
  }
7100
- else if (errors?.required) {
7101
- this.validationError.emit('SEARCH.INPUT.REQUIRED');
7122
+ }
7123
+ applyContentFilters() {
7124
+ this.syncSearchOptionsFromState();
7125
+ if (this.isLibrariesChecked()) {
7126
+ this.removeContentFilters();
7127
+ return;
7128
+ }
7129
+ if (this.isFoldersChecked() && !this.isFilesChecked()) {
7130
+ this.setContentFilter(SearchOptionIds.Folders);
7102
7131
  }
7103
- else if (this.hasLibrariesConstraint && this.isTermTooShort()) {
7104
- this.validationError.emit('SEARCH.INPUT.MIN_LENGTH');
7132
+ else if (this.isFilesChecked() && !this.isFoldersChecked()) {
7133
+ this.setContentFilter(SearchOptionIds.Files);
7105
7134
  }
7106
7135
  else {
7107
- this.validationError.emit('');
7136
+ this.removeContentFilters();
7108
7137
  }
7109
7138
  }
7110
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchInputControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7111
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchInputControlComponent, isStandalone: true, selector: "app-search-input-control", inputs: { inputType: "inputType", hasLibrariesConstraint: "hasLibrariesConstraint" }, outputs: { submit: "submit", searchChange: "searchChange", validationError: "validationError" }, host: { classAttribute: "app-search-control" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-search-container\">\n <mat-form-field class=\"app-input-form-field\">\n\n <button\n mat-icon-button\n matPrefix\n class=\"app-search-button\"\n (click)=\"searchSubmit()\"\n (keydown.enter)=\"searchSubmit()\"\n [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\"\n >\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n\n <input\n matInput\n #searchInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"inputType\"\n id=\"app-control-input\"\n [formControl]=\"searchFieldFormControl\"\n (keydown.enter)=\"searchSubmit()\"\n (blur)=\"onBlur()\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n autocomplete=\"off\"\n />\n\n <div matSuffix>\n <button\n mat-icon-button\n (click)=\"clear()\"\n [attr.aria-label]=\"'COMMON.CLEAR' | translate\"\n [attr.title]=\"'COMMON.CLEAR' | translate\"\n class=\"app-search-input-control-clear-button\">\n <mat-icon *ngIf=\"searchFieldFormControl.value.length\" class=\"app-suffix-icon\">clear</mat-icon>\n </button>\n </div>\n </mat-form-field>\n</div>\n", styles: [".app-search-container{font-size:16px;box-sizing:border-box;height:64px;display:flex;flex-direction:row;align-items:center}.app-search-container .app-suffix-icon{width:18px;height:18px;font-size:18px}.app-search-container .mdc-notched-outline{display:none}.app-search-container .app-input-form-field{letter-spacing:-.7px;font-size:16px;width:100%;height:64px;line-height:32px}.app-search-container .app-input-form-field-input{letter-spacing:-.7px}.app-search-container .app-input-form-field .app-search-input-control-clear-button{margin-right:1.5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None });
7139
+ removeContentFilters() {
7140
+ this.queryBuilder.removeFilterQuery(`+TYPE:'cm:${SearchOptionIds.Files}'`);
7141
+ this.queryBuilder.removeFilterQuery(`+TYPE:'cm:${SearchOptionIds.Folders}'`);
7142
+ }
7143
+ initForLibrariesRoute() {
7144
+ this.searchInMode = SearchOptionIds.Libraries;
7145
+ this.filesChecked = false;
7146
+ this.foldersChecked = false;
7147
+ }
7148
+ getOptionValue(optionId) {
7149
+ const item = this.searchOptions.find((opt) => opt.id === optionId);
7150
+ return !!item && item.value;
7151
+ }
7152
+ setContentFilter(option) {
7153
+ const oppositeOption = option === SearchOptionIds.Folders ? SearchOptionIds.Files : SearchOptionIds.Folders;
7154
+ this.queryBuilder.addFilterQuery(`+TYPE:'cm:${option}'`);
7155
+ this.queryBuilder.removeFilterQuery(`+TYPE:'cm:${oppositeOption}'`);
7156
+ }
7157
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchFilterService, deps: [{ token: i1.SearchQueryBuilderService }], target: i0.ɵɵFactoryTarget.Injectable });
7158
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchFilterService, providedIn: 'root' });
7112
7159
  }
7113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchInputControlComponent, decorators: [{
7114
- type: Component,
7115
- args: [{ imports: [CommonModule, TranslatePipe, MatButtonModule, MatIconModule, MatFormFieldModule, MatInputModule, FormsModule, ReactiveFormsModule], selector: 'app-search-input-control', encapsulation: ViewEncapsulation.None, host: { class: 'app-search-control' }, template: "<div class=\"app-search-container\">\n <mat-form-field class=\"app-input-form-field\">\n\n <button\n mat-icon-button\n matPrefix\n class=\"app-search-button\"\n (click)=\"searchSubmit()\"\n (keydown.enter)=\"searchSubmit()\"\n [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\"\n >\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n\n <input\n matInput\n #searchInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"inputType\"\n id=\"app-control-input\"\n [formControl]=\"searchFieldFormControl\"\n (keydown.enter)=\"searchSubmit()\"\n (blur)=\"onBlur()\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n autocomplete=\"off\"\n />\n\n <div matSuffix>\n <button\n mat-icon-button\n (click)=\"clear()\"\n [attr.aria-label]=\"'COMMON.CLEAR' | translate\"\n [attr.title]=\"'COMMON.CLEAR' | translate\"\n class=\"app-search-input-control-clear-button\">\n <mat-icon *ngIf=\"searchFieldFormControl.value.length\" class=\"app-suffix-icon\">clear</mat-icon>\n </button>\n </div>\n </mat-form-field>\n</div>\n", styles: [".app-search-container{font-size:16px;box-sizing:border-box;height:64px;display:flex;flex-direction:row;align-items:center}.app-search-container .app-suffix-icon{width:18px;height:18px;font-size:18px}.app-search-container .mdc-notched-outline{display:none}.app-search-container .app-input-form-field{letter-spacing:-.7px;font-size:16px;width:100%;height:64px;line-height:32px}.app-search-container .app-input-form-field-input{letter-spacing:-.7px}.app-search-container .app-input-form-field .app-search-input-control-clear-button{margin-right:1.5px}\n"] }]
7116
- }], propDecorators: { inputType: [{
7117
- type: Input
7118
- }], hasLibrariesConstraint: [{
7119
- type: Input
7120
- }],
7121
- // eslint-disable-next-line @angular-eslint/no-output-native
7122
- submit: [{
7123
- type: Output
7124
- }], searchChange: [{
7125
- type: Output
7126
- }], validationError: [{
7127
- type: Output
7128
- }], searchInput: [{
7129
- type: ViewChild,
7130
- args: ['searchInput', { static: true }]
7131
- }] } });
7160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchFilterService, decorators: [{
7161
+ type: Injectable,
7162
+ args: [{ providedIn: 'root' }]
7163
+ }], ctorParameters: () => [{ type: i1.SearchQueryBuilderService }] });
7132
7164
 
7133
7165
  /*!
7134
7166
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -7239,259 +7271,331 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
7239
7271
  * You should have received a copy of the GNU Lesser General Public License
7240
7272
  * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
7241
7273
  */
7242
- class SearchInputComponent {
7274
+ class SearchExecutionService {
7275
+ store;
7243
7276
  queryBuilder;
7244
7277
  queryLibrariesBuilder;
7278
+ filterService;
7279
+ searchNavigationService;
7280
+ constructor(store, queryBuilder, queryLibrariesBuilder, filterService, searchNavigationService) {
7281
+ this.store = store;
7282
+ this.queryBuilder = queryBuilder;
7283
+ this.queryLibrariesBuilder = queryLibrariesBuilder;
7284
+ this.filterService = filterService;
7285
+ this.searchNavigationService = searchNavigationService;
7286
+ }
7287
+ execute(searchedWord) {
7288
+ if (!searchedWord?.trim()) {
7289
+ return;
7290
+ }
7291
+ this.filterService.applyContentFilters();
7292
+ if (this.filterService.isLibrariesChecked()) {
7293
+ this.executeLibrariesSearch(searchedWord);
7294
+ }
7295
+ else {
7296
+ this.executeContentSearch(searchedWord);
7297
+ }
7298
+ }
7299
+ executeLibrariesSearch(searchedWord) {
7300
+ if (this.searchNavigationService.onLibrariesSearchResults && this.searchNavigationService.isSameSearchTerm(searchedWord)) {
7301
+ this.queryLibrariesBuilder.update();
7302
+ }
7303
+ else {
7304
+ this.store.dispatch(new SearchByTermAction(searchedWord, this.filterService.searchOptions));
7305
+ }
7306
+ }
7307
+ executeContentSearch(searchedWord) {
7308
+ if (this.searchNavigationService.onSearchResults && this.searchNavigationService.isSameSearchTerm(searchedWord)) {
7309
+ this.queryBuilder.update();
7310
+ }
7311
+ else {
7312
+ this.store.dispatch(new SearchByTermAction(searchedWord, this.filterService.searchOptions));
7313
+ }
7314
+ }
7315
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchExecutionService, deps: [{ token: i1$5.Store }, { token: i1.SearchQueryBuilderService }, { token: SearchLibrariesQueryBuilderService }, { token: SearchFilterService }, { token: SearchNavigationService }], target: i0.ɵɵFactoryTarget.Injectable });
7316
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchExecutionService, providedIn: 'root' });
7317
+ }
7318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchExecutionService, decorators: [{
7319
+ type: Injectable,
7320
+ args: [{ providedIn: 'root' }]
7321
+ }], ctorParameters: () => [{ type: i1$5.Store }, { type: i1.SearchQueryBuilderService }, { type: SearchLibrariesQueryBuilderService }, { type: SearchFilterService }, { type: SearchNavigationService }] });
7322
+
7323
+ /*!
7324
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
7325
+ *
7326
+ * Alfresco Example Content Application
7327
+ *
7328
+ * This file is part of the Alfresco Example Content Application.
7329
+ * If the software was purchased under a paid Alfresco license, the terms of
7330
+ * the paid license agreement will prevail. Otherwise, the software is
7331
+ * provided under the following open source license terms:
7332
+ *
7333
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
7334
+ * it under the terms of the GNU Lesser General Public License as published by
7335
+ * the Free Software Foundation, either version 3 of the License, or
7336
+ * (at your option) any later version.
7337
+ *
7338
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
7339
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
7340
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7341
+ * GNU Lesser General Public License for more details.
7342
+ *
7343
+ * You should have received a copy of the GNU Lesser General Public License
7344
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
7345
+ */
7346
+ class SearchInMenuComponent {
7347
+ SearchOptionIds = SearchOptionIds;
7348
+ filtersApplied = new EventEmitter();
7349
+ searchInPanel;
7350
+ triggerButton;
7351
+ isOpen = false;
7352
+ searchInMode = 'content';
7353
+ filesChecked = true;
7354
+ foldersChecked = true;
7355
+ filterService = inject(SearchFilterService);
7356
+ focusTrapFactory = inject(ConfigurableFocusTrapFactory);
7357
+ focusTrap;
7358
+ pendingSearchInMode = 'content';
7359
+ pendingFilesChecked = true;
7360
+ pendingFoldersChecked = true;
7361
+ ngOnInit() {
7362
+ this.initializeSavedValues();
7363
+ }
7364
+ toggle() {
7365
+ if (this.isOpen) {
7366
+ this.close();
7367
+ }
7368
+ else {
7369
+ this.open();
7370
+ }
7371
+ }
7372
+ open() {
7373
+ this.isOpen = true;
7374
+ setTimeout(() => {
7375
+ if (this.searchInPanel) {
7376
+ this.focusTrap = this.focusTrapFactory.create(this.searchInPanel.nativeElement);
7377
+ this.focusTrap.focusInitialElement();
7378
+ }
7379
+ });
7380
+ }
7381
+ close() {
7382
+ this.searchInMode = this.pendingSearchInMode;
7383
+ this.filesChecked = this.pendingFilesChecked;
7384
+ this.foldersChecked = this.pendingFoldersChecked;
7385
+ this.destroyFocusTrap();
7386
+ this.isOpen = false;
7387
+ this.focusTrigger();
7388
+ }
7389
+ onPanelDetached() {
7390
+ this.destroyFocusTrap();
7391
+ this.isOpen = false;
7392
+ }
7393
+ onSearchInModeChange() {
7394
+ if (this.searchInMode === SearchOptionIds.Libraries) {
7395
+ this.filesChecked = false;
7396
+ this.foldersChecked = false;
7397
+ }
7398
+ else {
7399
+ this.filesChecked = true;
7400
+ this.foldersChecked = true;
7401
+ }
7402
+ }
7403
+ onFilesCheckedChange() {
7404
+ if (!this.filesChecked && !this.foldersChecked) {
7405
+ this.foldersChecked = true;
7406
+ }
7407
+ }
7408
+ onFoldersCheckedChange() {
7409
+ if (!this.filesChecked && !this.foldersChecked) {
7410
+ this.filesChecked = true;
7411
+ }
7412
+ }
7413
+ apply() {
7414
+ this.commitToService();
7415
+ this.pendingSearchInMode = this.searchInMode;
7416
+ this.pendingFilesChecked = this.filesChecked;
7417
+ this.pendingFoldersChecked = this.foldersChecked;
7418
+ this.destroyFocusTrap();
7419
+ this.isOpen = false;
7420
+ this.focusTrigger();
7421
+ this.filtersApplied.emit();
7422
+ }
7423
+ reset() {
7424
+ this.searchInMode = 'content';
7425
+ this.filesChecked = true;
7426
+ this.foldersChecked = true;
7427
+ }
7428
+ destroyFocusTrap() {
7429
+ if (this.focusTrap) {
7430
+ this.focusTrap.destroy();
7431
+ this.focusTrap = null;
7432
+ }
7433
+ }
7434
+ initializeSavedValues() {
7435
+ this.searchInMode = this.filterService.searchInMode;
7436
+ this.filesChecked = this.filterService.filesChecked;
7437
+ this.foldersChecked = this.filterService.foldersChecked;
7438
+ this.pendingSearchInMode = this.searchInMode;
7439
+ this.pendingFilesChecked = this.filesChecked;
7440
+ this.pendingFoldersChecked = this.foldersChecked;
7441
+ }
7442
+ commitToService() {
7443
+ this.filterService.searchInMode = this.searchInMode;
7444
+ this.filterService.filesChecked = this.filesChecked;
7445
+ this.filterService.foldersChecked = this.foldersChecked;
7446
+ }
7447
+ focusTrigger() {
7448
+ setTimeout(() => this.triggerButton?.nativeElement?.focus());
7449
+ }
7450
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchInMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7451
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: SearchInMenuComponent, isStandalone: true, selector: "aca-search-in-menu", outputs: { filtersApplied: "filtersApplied" }, viewQueries: [{ propertyName: "searchInPanel", first: true, predicate: ["searchInPanel"], descendants: true }, { propertyName: "triggerButton", first: true, predicate: ["overlayOrigin"], descendants: true, read: ElementRef }], ngImport: i0, template: "<button\n mat-stroked-button\n class=\"aca-search-input--search-in-button\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n (click)=\"toggle()\"\n [title]=\"'SEARCH.INPUT.SEARCH_IN' | translate\"\n [attr.aria-label]=\"'SEARCH.INPUT.SEARCH_IN' | translate\"\n [attr.aria-expanded]=\"isOpen\"\n aria-haspopup=\"dialog\"\n>\n {{ 'SEARCH.INPUT.IN_PREFIX' | translate }}: {{ filterService.getSearchInLabel() | translate }}\n <mat-icon iconPositionEnd>keyboard_arrow_down</mat-icon>\n</button>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"close()\"\n (detach)=\"onPanelDetached()\">\n <fieldset\n #searchInPanel\n class=\"aca-search-in-panel\"\n role=\"group\"\n [attr.aria-label]=\"'SEARCH.INPUT.SEARCH_IN' | translate\"\n (keydown.escape)=\"close()\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"aca-search-in-panel__header\">\n <span class=\"aca-search-in-panel__title\" id=\"searchInTitle\">{{ 'SEARCH.INPUT.SEARCH_IN' | translate }}</span>\n <button mat-icon-button (click)=\"close()\" [title]=\"'COMMON.CLOSE' | translate\" [attr.aria-label]=\"'COMMON.CLOSE' | translate\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <div class=\"aca-search-in-panel__content\">\n <mat-radio-group [(ngModel)]=\"searchInMode\" (change)=\"onSearchInModeChange()\">\n <mat-radio-button value=\"content\" class=\"aca-search-in-panel__radio\">\n {{ 'SEARCH.INPUT.FILES_AND_FOLDERS' | translate }}\n </mat-radio-button>\n\n @if (searchInMode === 'content') {\n <div class=\"aca-search-in-panel__checkboxes\">\n <mat-checkbox\n [id]=\"SearchOptionIds.Files\"\n [(ngModel)]=\"filesChecked\"\n (change)=\"onFilesCheckedChange()\"\n >\n {{ 'SEARCH.INPUT.FILES' | translate }}\n </mat-checkbox>\n <mat-checkbox\n [id]=\"SearchOptionIds.Folders\"\n [(ngModel)]=\"foldersChecked\"\n (change)=\"onFoldersCheckedChange()\"\n >\n {{ 'SEARCH.INPUT.FOLDERS' | translate }}\n </mat-checkbox>\n </div>\n }\n\n <mat-radio-button [value]=\"SearchOptionIds.Libraries\" class=\"aca-search-in-panel__radio\">\n {{ 'SEARCH.INPUT.LIBRARIES' | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </div>\n\n <mat-divider />\n\n <div class=\"aca-search-in-panel__actions\">\n <button mat-button (click)=\"reset()\">{{ 'SEARCH.INPUT.RESET' | translate }}</button>\n <button mat-flat-button color=\"primary\" (click)=\"apply()\">{{ 'SEARCH.FILTER.BUTTONS.APPLY' | translate }}</button>\n </div>\n </fieldset>\n</ng-template>\n", styles: ["aca-search-in-menu .aca-search-input--search-in-button{border-radius:16px;height:32px;padding:0 8px 0 12px;white-space:nowrap;min-width:unset;background-color:var(--theme-dropdown-color);border:none}aca-search-in-menu .aca-search-input--search-in-button.mat-icon-no-color{font-size:18px;width:18px;height:18px;margin-left:2px}aca-search-in-menu .aca-search-input--search-in-button:hover{background-color:var(--theme-dropdown-background-hover, rgba(0, 0, 0, .04))}.aca-search-in-panel{padding:0;border:none;background-color:var(--theme-white-background);min-width:512px;box-shadow:0 2px 4px var(--theme-grey-divider-color);border-radius:12px}.aca-search-in-panel__header{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 8px 16px;font-weight:700;border-bottom:1px solid var(--theme-grey-background-color)}.aca-search-in-panel__title{font-size:16px;font-weight:700}.aca-search-in-panel__content{padding:24px}.aca-search-in-panel__radio{display:block}.aca-search-in-panel__checkboxes{display:flex;flex-direction:column;gap:8px;padding-left:28px;padding-bottom:4px;margin:10px 0}.aca-search-in-panel__actions{display:flex;justify-content:space-between;padding:8px 16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$6.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$6.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i5$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i6$4.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i6$4.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], encapsulation: i0.ViewEncapsulation.None });
7452
+ }
7453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchInMenuComponent, decorators: [{
7454
+ type: Component,
7455
+ args: [{ selector: 'aca-search-in-menu', standalone: true, imports: [
7456
+ CommonModule,
7457
+ FormsModule,
7458
+ TranslatePipe,
7459
+ OverlayModule,
7460
+ MatButtonModule,
7461
+ MatIconModule,
7462
+ MatCheckboxModule,
7463
+ MatRadioModule,
7464
+ MatDividerModule
7465
+ ], encapsulation: ViewEncapsulation.None, template: "<button\n mat-stroked-button\n class=\"aca-search-input--search-in-button\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n (click)=\"toggle()\"\n [title]=\"'SEARCH.INPUT.SEARCH_IN' | translate\"\n [attr.aria-label]=\"'SEARCH.INPUT.SEARCH_IN' | translate\"\n [attr.aria-expanded]=\"isOpen\"\n aria-haspopup=\"dialog\"\n>\n {{ 'SEARCH.INPUT.IN_PREFIX' | translate }}: {{ filterService.getSearchInLabel() | translate }}\n <mat-icon iconPositionEnd>keyboard_arrow_down</mat-icon>\n</button>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n (backdropClick)=\"close()\"\n (detach)=\"onPanelDetached()\">\n <fieldset\n #searchInPanel\n class=\"aca-search-in-panel\"\n role=\"group\"\n [attr.aria-label]=\"'SEARCH.INPUT.SEARCH_IN' | translate\"\n (keydown.escape)=\"close()\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"aca-search-in-panel__header\">\n <span class=\"aca-search-in-panel__title\" id=\"searchInTitle\">{{ 'SEARCH.INPUT.SEARCH_IN' | translate }}</span>\n <button mat-icon-button (click)=\"close()\" [title]=\"'COMMON.CLOSE' | translate\" [attr.aria-label]=\"'COMMON.CLOSE' | translate\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <div class=\"aca-search-in-panel__content\">\n <mat-radio-group [(ngModel)]=\"searchInMode\" (change)=\"onSearchInModeChange()\">\n <mat-radio-button value=\"content\" class=\"aca-search-in-panel__radio\">\n {{ 'SEARCH.INPUT.FILES_AND_FOLDERS' | translate }}\n </mat-radio-button>\n\n @if (searchInMode === 'content') {\n <div class=\"aca-search-in-panel__checkboxes\">\n <mat-checkbox\n [id]=\"SearchOptionIds.Files\"\n [(ngModel)]=\"filesChecked\"\n (change)=\"onFilesCheckedChange()\"\n >\n {{ 'SEARCH.INPUT.FILES' | translate }}\n </mat-checkbox>\n <mat-checkbox\n [id]=\"SearchOptionIds.Folders\"\n [(ngModel)]=\"foldersChecked\"\n (change)=\"onFoldersCheckedChange()\"\n >\n {{ 'SEARCH.INPUT.FOLDERS' | translate }}\n </mat-checkbox>\n </div>\n }\n\n <mat-radio-button [value]=\"SearchOptionIds.Libraries\" class=\"aca-search-in-panel__radio\">\n {{ 'SEARCH.INPUT.LIBRARIES' | translate }}\n </mat-radio-button>\n </mat-radio-group>\n </div>\n\n <mat-divider />\n\n <div class=\"aca-search-in-panel__actions\">\n <button mat-button (click)=\"reset()\">{{ 'SEARCH.INPUT.RESET' | translate }}</button>\n <button mat-flat-button color=\"primary\" (click)=\"apply()\">{{ 'SEARCH.FILTER.BUTTONS.APPLY' | translate }}</button>\n </div>\n </fieldset>\n</ng-template>\n", styles: ["aca-search-in-menu .aca-search-input--search-in-button{border-radius:16px;height:32px;padding:0 8px 0 12px;white-space:nowrap;min-width:unset;background-color:var(--theme-dropdown-color);border:none}aca-search-in-menu .aca-search-input--search-in-button.mat-icon-no-color{font-size:18px;width:18px;height:18px;margin-left:2px}aca-search-in-menu .aca-search-input--search-in-button:hover{background-color:var(--theme-dropdown-background-hover, rgba(0, 0, 0, .04))}.aca-search-in-panel{padding:0;border:none;background-color:var(--theme-white-background);min-width:512px;box-shadow:0 2px 4px var(--theme-grey-divider-color);border-radius:12px}.aca-search-in-panel__header{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 8px 16px;font-weight:700;border-bottom:1px solid var(--theme-grey-background-color)}.aca-search-in-panel__title{font-size:16px;font-weight:700}.aca-search-in-panel__content{padding:24px}.aca-search-in-panel__radio{display:block}.aca-search-in-panel__checkboxes{display:flex;flex-direction:column;gap:8px;padding-left:28px;padding-bottom:4px;margin:10px 0}.aca-search-in-panel__actions{display:flex;justify-content:space-between;padding:8px 16px}\n"] }]
7466
+ }], propDecorators: { filtersApplied: [{
7467
+ type: Output
7468
+ }], searchInPanel: [{
7469
+ type: ViewChild,
7470
+ args: ['searchInPanel']
7471
+ }], triggerButton: [{
7472
+ type: ViewChild,
7473
+ args: ['overlayOrigin', { read: ElementRef }]
7474
+ }] } });
7475
+
7476
+ /*!
7477
+ * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
7478
+ *
7479
+ * Alfresco Example Content Application
7480
+ *
7481
+ * This file is part of the Alfresco Example Content Application.
7482
+ * If the software was purchased under a paid Alfresco license, the terms of
7483
+ * the paid license agreement will prevail. Otherwise, the software is
7484
+ * provided under the following open source license terms:
7485
+ *
7486
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
7487
+ * it under the terms of the GNU Lesser General Public License as published by
7488
+ * the Free Software Foundation, either version 3 of the License, or
7489
+ * (at your option) any later version.
7490
+ *
7491
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
7492
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
7493
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7494
+ * GNU Lesser General Public License for more details.
7495
+ *
7496
+ * You should have received a copy of the GNU Lesser General Public License
7497
+ * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
7498
+ */
7499
+ class SearchInputComponent {
7500
+ queryBuilder;
7245
7501
  config;
7246
7502
  router;
7247
7503
  route;
7248
- store;
7249
7504
  appHookService;
7250
- appService;
7251
- searchInputService;
7252
- notificationService = inject(NotificationService);
7505
+ filterService;
7506
+ searchExecutionService;
7507
+ searchNavigationService;
7253
7508
  has400LibraryError = false;
7254
- hasLibrariesConstraint = false;
7255
7509
  searchOnChange;
7256
- isTrimmedWordEmpty = false;
7257
- error = '';
7258
7510
  searchedWord = null;
7259
- searchOptions = [
7260
- {
7261
- id: SearchOptionIds.Files,
7262
- key: 'SEARCH.INPUT.FILES',
7263
- value: false,
7264
- shouldDisable: this.isLibrariesChecked.bind(this)
7265
- },
7266
- {
7267
- id: SearchOptionIds.Folders,
7268
- key: 'SEARCH.INPUT.FOLDERS',
7269
- value: false,
7270
- shouldDisable: this.isLibrariesChecked.bind(this)
7271
- },
7272
- {
7273
- id: SearchOptionIds.Libraries,
7274
- key: 'SEARCH.INPUT.LIBRARIES',
7275
- value: this.onLibrariesSearchResults,
7276
- shouldDisable: this.isContentChecked.bind(this)
7277
- }
7278
- ];
7279
- searchInputControl;
7280
- trigger;
7511
+ error = '';
7512
+ searchInputField;
7281
7513
  destroyRef = inject(DestroyRef);
7282
- constructor(queryBuilder, queryLibrariesBuilder, config, router, route, store, appHookService, appService, searchInputService) {
7514
+ constructor(queryBuilder, config, router, route, appHookService, filterService, searchExecutionService, searchNavigationService) {
7283
7515
  this.queryBuilder = queryBuilder;
7284
- this.queryLibrariesBuilder = queryLibrariesBuilder;
7285
7516
  this.config = config;
7286
7517
  this.router = router;
7287
7518
  this.route = route;
7288
- this.store = store;
7289
7519
  this.appHookService = appHookService;
7290
- this.appService = appService;
7291
- this.searchInputService = searchInputService;
7520
+ this.filterService = filterService;
7521
+ this.searchExecutionService = searchExecutionService;
7522
+ this.searchNavigationService = searchNavigationService;
7292
7523
  this.searchOnChange = this.config.get('search.aca:triggeredOnChange', true);
7293
7524
  }
7294
7525
  ngOnInit() {
7295
- this.showInputValue();
7296
- merge(this.route.queryParams, this.router.events.pipe(filter$1((e) => e instanceof NavigationSkipped), withLatestFrom(this.route.queryParams), map$1(([, params]) => params)))
7297
- .pipe(takeUntilDestroyed(this.destroyRef))
7298
- .subscribe((params) => {
7299
- const encodedQuery = params['q'];
7300
- if (encodedQuery && this.searchInputControl) {
7301
- this.searchedWord = extractSearchedWordFromEncodedQuery(encodedQuery);
7302
- this.searchInputControl.searchTerm = this.searchedWord;
7303
- }
7304
- });
7305
- this.queryBuilder.configUpdated
7306
- .pipe(takeUntilDestroyed(this.destroyRef), withLatestFrom(this.router.events.pipe(filter$1((event) => event instanceof NavigationStart), startWith$1(null))))
7307
- .subscribe(([, navigationStartEvent]) => {
7308
- const hasQueryParams = navigationStartEvent?.url.includes('?');
7309
- if (this.searchedWord && hasQueryParams) {
7310
- this.searchByOption();
7311
- }
7312
- });
7526
+ this.initSearchState();
7527
+ this.subscribeToRouteParams();
7313
7528
  this.appHookService.library400Error.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
7314
7529
  this.has400LibraryError = true;
7315
- this.hasLibrariesConstraint = this.evaluateLibrariesConstraint();
7316
7530
  });
7317
7531
  }
7318
- exitSearch() {
7319
- this.searchInputService.navigateBack();
7320
- }
7321
- showInputValue() {
7322
- this.appService.setAppNavbarMode('collapsed');
7323
- this.has400LibraryError = false;
7324
- this.searchedWord = this.getUrlSearchTerm();
7325
- this.hasLibrariesConstraint = this.evaluateLibrariesConstraint();
7326
- if (this.searchInputControl) {
7327
- this.searchInputControl.searchTerm = this.searchedWord;
7328
- }
7329
- }
7330
7532
  ngOnDestroy() {
7331
- this.appService.setAppNavbarMode('expanded');
7332
- this.removeContentFilters();
7533
+ this.filterService.removeContentFilters();
7333
7534
  }
7334
- onMenuOpened() {
7335
- if (this.searchInputControl) {
7336
- this.searchInputControl.searchInput?.nativeElement?.focus();
7337
- }
7338
- }
7339
- /**
7340
- * Called when the user submits the search, e.g. hits enter or clicks submit
7341
- *
7342
- * @param event Parameters relating to the search
7343
- */
7344
- onSearchSubmit(event) {
7345
- const searchTerm = event.target ? event.target.value : event;
7346
- const trimmedTerm = searchTerm.trim();
7347
- if (trimmedTerm) {
7348
- this.searchedWord = trimmedTerm;
7349
- if (this.isLibrariesChecked() && this.searchInputControl.isTermTooShort()) {
7350
- return;
7351
- }
7352
- else {
7353
- this.searchByOption();
7354
- }
7355
- }
7356
- else {
7357
- this.notificationService.showError('APP.BROWSE.SEARCH.EMPTY_SEARCH');
7358
- }
7359
- setTimeout(() => {
7360
- this.trigger?.closeMenu();
7361
- });
7535
+ exitSearch() {
7536
+ this.searchNavigationService.navigateBack();
7362
7537
  }
7363
- onSearchChange(searchTerm) {
7364
- if (!this.searchOnChange) {
7538
+ onSearchSubmit(searchTerm) {
7539
+ const trimmedTerm = searchTerm?.trim();
7540
+ const validationError = this.filterService.validateSearchTerm(trimmedTerm);
7541
+ if (validationError) {
7542
+ this.error = validationError;
7365
7543
  return;
7366
7544
  }
7367
- this.has400LibraryError = false;
7368
- this.searchedWord = searchTerm;
7369
- this.hasLibrariesConstraint = this.evaluateLibrariesConstraint();
7545
+ this.searchedWord = trimmedTerm;
7546
+ this.error = '';
7547
+ this.executeSearch();
7370
7548
  }
7371
- searchByOption() {
7372
- this.syncInputValues();
7373
- this.has400LibraryError = false;
7374
- this.searchInputControl.emitValidationError();
7375
- if (!this.searchedWord.trim()) {
7549
+ onFiltersApplied() {
7550
+ if (!this.searchedWord?.trim()) {
7376
7551
  return;
7377
7552
  }
7378
- if (this.isLibrariesChecked()) {
7379
- this.hasLibrariesConstraint = this.evaluateLibrariesConstraint();
7380
- if (this.hasLibrariesConstraint) {
7381
- return;
7382
- }
7383
- if (this.onLibrariesSearchResults && this.isSameSearchTerm()) {
7384
- this.queryLibrariesBuilder.update();
7385
- }
7386
- else if (this.searchedWord) {
7387
- this.store.dispatch(new SearchByTermAction(this.searchedWord, this.searchOptions));
7388
- }
7553
+ const validationError = this.filterService.validateSearchTerm(this.searchedWord.trim());
7554
+ if (!validationError) {
7555
+ this.executeSearch();
7389
7556
  }
7390
7557
  else {
7391
- if (this.isFoldersChecked() && !this.isFilesChecked()) {
7392
- this.filterContent(SearchOptionIds.Folders);
7393
- }
7394
- else if (this.isFilesChecked() && !this.isFoldersChecked()) {
7395
- this.filterContent(SearchOptionIds.Files);
7396
- }
7397
- else {
7398
- this.removeContentFilters();
7399
- }
7400
- if (this.onSearchResults && this.isSameSearchTerm()) {
7401
- this.queryBuilder.update();
7402
- }
7403
- else if (this.searchedWord) {
7404
- this.store.dispatch(new SearchByTermAction(this.searchedWord, this.searchOptions));
7405
- }
7406
- }
7407
- }
7408
- get onLibrariesSearchResults() {
7409
- return this.router?.url.indexOf('/search-libraries') === 0;
7410
- }
7411
- get onSearchResults() {
7412
- return !this.onLibrariesSearchResults && this.router?.url.indexOf('/search') === 0;
7413
- }
7414
- isFilesChecked() {
7415
- return this.isOptionChecked(SearchOptionIds.Files);
7416
- }
7417
- isFoldersChecked() {
7418
- return this.isOptionChecked(SearchOptionIds.Folders);
7419
- }
7420
- isLibrariesChecked() {
7421
- return this.isOptionChecked(SearchOptionIds.Libraries);
7422
- }
7423
- isOptionChecked(optionId) {
7424
- const libItem = this.searchOptions.find((item) => item.id === optionId);
7425
- return !!libItem && libItem.value;
7426
- }
7427
- isContentChecked() {
7428
- return this.isFilesChecked() || this.isFoldersChecked();
7429
- }
7430
- evaluateLibrariesConstraint() {
7431
- if (this.isLibrariesChecked()) {
7432
- return this.has400LibraryError || this.searchInputControl.isTermTooShort();
7558
+ this.error = validationError;
7433
7559
  }
7434
- return false;
7435
- }
7436
- filterContent(option) {
7437
- const oppositeOption = option === SearchOptionIds.Folders ? SearchOptionIds.Files : SearchOptionIds.Folders;
7438
- this.queryBuilder.addFilterQuery(`+TYPE:'cm:${option}'`);
7439
- this.queryBuilder.removeFilterQuery(`+TYPE:'cm:${oppositeOption}'`);
7440
7560
  }
7441
- removeContentFilters() {
7442
- this.queryBuilder.removeFilterQuery(`+TYPE:'cm:${SearchOptionIds.Files}'`);
7443
- this.queryBuilder.removeFilterQuery(`+TYPE:'cm:${SearchOptionIds.Folders}'`);
7561
+ executeSearch() {
7562
+ this.has400LibraryError = false;
7563
+ this.searchExecutionService.execute(this.searchedWord);
7444
7564
  }
7445
- syncInputValues() {
7446
- if (this.searchInputControl.searchTerm !== this.searchedWord) {
7447
- if (this.searchInputControl.searchTerm) {
7448
- this.searchedWord = this.searchInputControl.searchTerm;
7565
+ subscribeToRouteParams() {
7566
+ merge(this.route.queryParams, this.router.events.pipe(filter$1((e) => e instanceof NavigationSkipped), withLatestFrom(this.route.queryParams), map$1(([, params]) => params)))
7567
+ .pipe(takeUntilDestroyed(this.destroyRef))
7568
+ .subscribe((params) => {
7569
+ const encodedQuery = params['q'];
7570
+ if (encodedQuery) {
7571
+ this.searchedWord = extractSearchedWordFromEncodedQuery(encodedQuery);
7449
7572
  }
7450
- else {
7451
- this.searchInputControl.searchTerm = this.searchedWord;
7573
+ });
7574
+ this.queryBuilder.configUpdated
7575
+ .pipe(takeUntilDestroyed(this.destroyRef), withLatestFrom(this.router.events.pipe(filter$1((event) => event instanceof NavigationStart), startWith(null))))
7576
+ .subscribe(([, navigationStartEvent]) => {
7577
+ const hasQueryParams = navigationStartEvent?.url.includes('?');
7578
+ if (this.searchedWord && hasQueryParams) {
7579
+ this.searchExecutionService.execute(this.searchedWord);
7452
7580
  }
7453
- }
7581
+ });
7454
7582
  }
7455
- getUrlSearchTerm() {
7456
- let searchTerm = '';
7457
- if (this.onSearchResults || this.onLibrariesSearchResults) {
7458
- const urlTree = this.router.parseUrl(this.router.url);
7459
- const urlSegmentGroup = urlTree.root.children[PRIMARY_OUTLET];
7460
- if (urlSegmentGroup) {
7461
- const urlSegments = urlSegmentGroup.segments;
7462
- searchTerm = extractSearchedWordFromEncodedQuery(urlSegments[0].parameters['q']);
7463
- }
7583
+ initSearchState() {
7584
+ this.has400LibraryError = false;
7585
+ this.searchedWord = this.searchNavigationService.getUrlSearchTerm();
7586
+ if (this.searchNavigationService.onLibrariesSearchResults) {
7587
+ this.filterService.initForLibrariesRoute();
7464
7588
  }
7465
- return searchTerm;
7466
- }
7467
- isSameSearchTerm() {
7468
- const urlSearchTerm = this.getUrlSearchTerm();
7469
- return this.searchedWord === urlSearchTerm;
7470
7589
  }
7471
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchInputComponent, deps: [{ token: i1.SearchQueryBuilderService }, { token: SearchLibrariesQueryBuilderService }, { token: i2.AppConfigService }, { token: i1$4.Router }, { token: i1$4.ActivatedRoute }, { token: i1$5.Store }, { token: i1$1.AppHookService }, { token: i1$1.AppService }, { token: SearchNavigationService }], target: i0.ɵɵFactoryTarget.Component });
7472
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchInputComponent, isStandalone: true, selector: "aca-search-input", host: { classAttribute: "aca-search-input" }, viewQueries: [{ propertyName: "searchInputControl", first: true, predicate: ["searchInputControl"], descendants: true, static: true }, { propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true, static: true }], ngImport: i0, template: "<div class=\"app-search-container\"\n role=\"search\"\n [matMenuTriggerFor]=\"searchOptionsMenu\"\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"syncInputValues()\"\n>\n <mat-form-field class=\"app-input-form-field\">\n <button class=\"aca-search-input--search-button\" mat-icon-button matPrefix (click)=\"searchByOption()\" [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\">\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n\n <input\n class=\"app-search-input\"\n matInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"'text'\"\n [readonly]=\"true\"\n [value]=\"searchedWord\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n />\n\n <div matSuffix>\n <mat-icon class=\"app-suffix-icon\">arrow_drop_down</mat-icon>\n\n <button\n class=\"aca-search-input--close-button\"\n mat-icon-button\n [attr.aria-label]=\"'SEARCH.CLOSE_BUTTON.ARIA_LABEL' | translate\"\n [attr.title]=\"'SEARCH.CLOSE_BUTTON.ARIA_LABEL' | translate\"\n (click)=\"exitSearch()\">\n <mat-icon class=\"app-suffix-icon\">close</mat-icon>\n </button>\n </div>\n </mat-form-field>\n</div>\n\n<mat-menu #searchOptionsMenu=\"matMenu\" [overlapTrigger]=\"true\" class=\"app-search-options-menu\">\n <div (keydown.tab)=\"$event.stopPropagation()\" (keydown.shift.tab)=\"$event.stopPropagation()\" tabindex=0>\n <div cdkTrapFocus>\n <app-search-input-control\n #searchInputControl\n (click)=\"$event.stopPropagation()\"\n (submit)=\"onSearchSubmit($event)\"\n (searchChange)=\"onSearchChange($event)\"\n (validationError)=\"error = $event\"\n [hasLibrariesConstraint]=\"hasLibrariesConstraint\"\n />\n <mat-error *ngIf=\"error\" class=\"app-search-error\" role=\"alert\" aria-live=\"assertive\">\n {{ error | translate }}\n </mat-error>\n <div id=\"search-options\" class=\"app-search-options\">\n <mat-checkbox *ngFor=\"let option of searchOptions\"\n id=\"{{ option.id }}\"\n [(ngModel)]=\"option.value\"\n [disabled]=\"option.shouldDisable()\"\n (change)=\"searchByOption()\"\n (keyup.enter)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ option.key | translate }}\n </mat-checkbox>\n </div>\n </div>\n </div>\n</mat-menu>\n", styles: [".app-search-container{color:var(--theme-foreground-text-color);width:100%;max-width:594px;height:64px;border:none;background:none;padding:0}.app-search-container:focus-visible{outline:2px solid var(--theme-blue-button-color);border-radius:4px}.app-search-container:focus-within label{display:none}.app-search-container .app-search-input:focus-within{outline:2px solid var(--theme-blue-button-color);border-radius:4px}.app-search-options-menu{background-color:var(--theme-dialog-background-color);width:594px;min-width:594px!important;border-radius:4px}.aca-search-input{width:100%;max-width:594px;background-color:var(--theme-search-background-color);border-radius:4px;height:64px}.aca-search-input .app-suffix-icon{width:18px;height:18px;font-size:18px}.app-search-options{color:var(--theme-text-color);border-top:1px solid var(--theme-divider-color);padding:25px;display:flex;flex-direction:row;column-gap:24px}.app-search-error{position:absolute;gap:4px;padding-left:17px;margin-top:4px;font-size:12px}@media screen and (max-width: 959px){.aca-search-input,.app-search-container{max-width:400px}.app-search-options-menu{width:400px}.app-search-options{padding-left:20px}.app-search-options label{max-width:105px}.app-search-options .app-search-options-checkbox{padding:3px 20px 3px 0}.app-search-options .app-search-options-checkbox label{padding:0}}@media screen and (max-width: 599px){.aca-search-input,.app-search-container{max-width:220px}.app-search-options-menu{width:220px}.app-search-options label{max-width:180px}}@media screen and (max-width: 380px){.aca-search-input{max-width:148px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i14.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i15.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SearchInputControlComponent, selector: "app-search-input-control", inputs: ["inputType", "hasLibrariesConstraint"], outputs: ["submit", "searchChange", "validationError"] }], encapsulation: i0.ViewEncapsulation.None });
7590
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchInputComponent, deps: [{ token: i1.SearchQueryBuilderService }, { token: i2.AppConfigService }, { token: i1$4.Router }, { token: i1$4.ActivatedRoute }, { token: i1$1.AppHookService }, { token: SearchFilterService }, { token: SearchExecutionService }, { token: SearchNavigationService }], target: i0.ɵɵFactoryTarget.Component });
7591
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: SearchInputComponent, isStandalone: true, selector: "aca-search-input", host: { classAttribute: "aca-search-input" }, viewQueries: [{ propertyName: "searchInputField", first: true, predicate: ["searchInputField"], descendants: true }], ngImport: i0, template: "<div class=\"app-search-container\" role=\"search\">\n <mat-form-field class=\"app-input-form-field\">\n <button\n class=\"aca-search-input--search-button\"\n mat-icon-button\n matPrefix\n (click)=\"executeSearch()\"\n [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\"\n >\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n\n <input\n matInput\n #searchInputField\n class=\"app-search-input\"\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n type=\"text\"\n [(ngModel)]=\"searchedWord\"\n (keydown.enter)=\"onSearchSubmit(searchedWord)\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n autocomplete=\"off\"\n />\n\n <div matSuffix class=\"aca-search-input--suffix\">\n <aca-search-in-menu (filtersApplied)=\"onFiltersApplied()\" />\n\n <button\n class=\"aca-search-input--close-button\"\n mat-icon-button\n [attr.aria-label]=\"'SEARCH.CLOSE_BUTTON.ARIA_LABEL' | translate\"\n [attr.title]=\"'SEARCH.CLOSE_BUTTON.ARIA_LABEL' | translate\"\n (click)=\"exitSearch()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </mat-form-field>\n\n @if (error) {\n <mat-error class=\"app-search-error\" role=\"alert\" aria-live=\"assertive\">\n {{ error | translate }}\n </mat-error>\n }\n</div>\n", styles: [".app-search-container{color:var(--theme-foreground-text-color);width:100%;height:48px;border:none;background:none;padding:0}.app-search-container .app-search-input{font-size:16px;letter-spacing:-.7px}.app-search-container .mdc-notched-outline{display:none}.aca-search-input{flex:1;min-width:350px;border-radius:4px;height:48px}.aca-search-input .app-input-form-field{width:100%;height:48px;font-size:16px;line-height:24px}.aca-search-input--suffix{display:flex;align-items:center;gap:4px}@media screen and (max-width: 959px){.aca-search-input,.app-search-container{max-width:400px}}@media screen and (max-width: 599px){.aca-search-input,.app-search-container{max-width:220px}}@media screen and (max-width: 380px){.aca-search-input{max-width:148px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SearchInMenuComponent, selector: "aca-search-in-menu", outputs: ["filtersApplied"] }], encapsulation: i0.ViewEncapsulation.None });
7473
7592
  }
7474
7593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchInputComponent, decorators: [{
7475
7594
  type: Component,
7476
- args: [{ imports: [
7477
- CommonModule,
7478
- TranslatePipe,
7479
- MatMenuModule,
7480
- MatButtonModule,
7481
- MatIconModule,
7482
- MatFormFieldModule,
7483
- MatInputModule,
7484
- A11yModule,
7485
- MatCheckboxModule,
7486
- FormsModule,
7487
- SearchInputControlComponent
7488
- ], selector: 'aca-search-input', encapsulation: ViewEncapsulation.None, host: { class: 'aca-search-input' }, template: "<div class=\"app-search-container\"\n role=\"search\"\n [matMenuTriggerFor]=\"searchOptionsMenu\"\n (menuOpened)=\"onMenuOpened()\"\n (menuClosed)=\"syncInputValues()\"\n>\n <mat-form-field class=\"app-input-form-field\">\n <button class=\"aca-search-input--search-button\" mat-icon-button matPrefix (click)=\"searchByOption()\" [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\">\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n\n <input\n class=\"app-search-input\"\n matInput\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n [type]=\"'text'\"\n [readonly]=\"true\"\n [value]=\"searchedWord\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n />\n\n <div matSuffix>\n <mat-icon class=\"app-suffix-icon\">arrow_drop_down</mat-icon>\n\n <button\n class=\"aca-search-input--close-button\"\n mat-icon-button\n [attr.aria-label]=\"'SEARCH.CLOSE_BUTTON.ARIA_LABEL' | translate\"\n [attr.title]=\"'SEARCH.CLOSE_BUTTON.ARIA_LABEL' | translate\"\n (click)=\"exitSearch()\">\n <mat-icon class=\"app-suffix-icon\">close</mat-icon>\n </button>\n </div>\n </mat-form-field>\n</div>\n\n<mat-menu #searchOptionsMenu=\"matMenu\" [overlapTrigger]=\"true\" class=\"app-search-options-menu\">\n <div (keydown.tab)=\"$event.stopPropagation()\" (keydown.shift.tab)=\"$event.stopPropagation()\" tabindex=0>\n <div cdkTrapFocus>\n <app-search-input-control\n #searchInputControl\n (click)=\"$event.stopPropagation()\"\n (submit)=\"onSearchSubmit($event)\"\n (searchChange)=\"onSearchChange($event)\"\n (validationError)=\"error = $event\"\n [hasLibrariesConstraint]=\"hasLibrariesConstraint\"\n />\n <mat-error *ngIf=\"error\" class=\"app-search-error\" role=\"alert\" aria-live=\"assertive\">\n {{ error | translate }}\n </mat-error>\n <div id=\"search-options\" class=\"app-search-options\">\n <mat-checkbox *ngFor=\"let option of searchOptions\"\n id=\"{{ option.id }}\"\n [(ngModel)]=\"option.value\"\n [disabled]=\"option.shouldDisable()\"\n (change)=\"searchByOption()\"\n (keyup.enter)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation()\"\n >\n {{ option.key | translate }}\n </mat-checkbox>\n </div>\n </div>\n </div>\n</mat-menu>\n", styles: [".app-search-container{color:var(--theme-foreground-text-color);width:100%;max-width:594px;height:64px;border:none;background:none;padding:0}.app-search-container:focus-visible{outline:2px solid var(--theme-blue-button-color);border-radius:4px}.app-search-container:focus-within label{display:none}.app-search-container .app-search-input:focus-within{outline:2px solid var(--theme-blue-button-color);border-radius:4px}.app-search-options-menu{background-color:var(--theme-dialog-background-color);width:594px;min-width:594px!important;border-radius:4px}.aca-search-input{width:100%;max-width:594px;background-color:var(--theme-search-background-color);border-radius:4px;height:64px}.aca-search-input .app-suffix-icon{width:18px;height:18px;font-size:18px}.app-search-options{color:var(--theme-text-color);border-top:1px solid var(--theme-divider-color);padding:25px;display:flex;flex-direction:row;column-gap:24px}.app-search-error{position:absolute;gap:4px;padding-left:17px;margin-top:4px;font-size:12px}@media screen and (max-width: 959px){.aca-search-input,.app-search-container{max-width:400px}.app-search-options-menu{width:400px}.app-search-options{padding-left:20px}.app-search-options label{max-width:105px}.app-search-options .app-search-options-checkbox{padding:3px 20px 3px 0}.app-search-options .app-search-options-checkbox label{padding:0}}@media screen and (max-width: 599px){.aca-search-input,.app-search-container{max-width:220px}.app-search-options-menu{width:220px}.app-search-options label{max-width:180px}}@media screen and (max-width: 380px){.aca-search-input{max-width:148px}}\n"] }]
7489
- }], ctorParameters: () => [{ type: i1.SearchQueryBuilderService }, { type: SearchLibrariesQueryBuilderService }, { type: i2.AppConfigService }, { type: i1$4.Router }, { type: i1$4.ActivatedRoute }, { type: i1$5.Store }, { type: i1$1.AppHookService }, { type: i1$1.AppService }, { type: SearchNavigationService }], propDecorators: { searchInputControl: [{
7595
+ args: [{ imports: [CommonModule, TranslatePipe, MatButtonModule, MatIconModule, MatFormFieldModule, MatInputModule, FormsModule, SearchInMenuComponent], selector: 'aca-search-input', encapsulation: ViewEncapsulation.None, host: { class: 'aca-search-input' }, template: "<div class=\"app-search-container\" role=\"search\">\n <mat-form-field class=\"app-input-form-field\">\n <button\n class=\"aca-search-input--search-button\"\n mat-icon-button\n matPrefix\n (click)=\"executeSearch()\"\n [title]=\"'SEARCH.BUTTON.TOOLTIP' | translate\"\n >\n <mat-icon [attr.aria-label]=\"'SEARCH.BUTTON.ARIA-LABEL' | translate\">search</mat-icon>\n </button>\n\n <input\n matInput\n #searchInputField\n class=\"app-search-input\"\n [attr.aria-label]=\"'SEARCH.INPUT.ARIA-LABEL' | translate\"\n type=\"text\"\n [(ngModel)]=\"searchedWord\"\n (keydown.enter)=\"onSearchSubmit(searchedWord)\"\n [placeholder]=\"'SEARCH.INPUT.PLACEHOLDER' | translate\"\n autocomplete=\"off\"\n />\n\n <div matSuffix class=\"aca-search-input--suffix\">\n <aca-search-in-menu (filtersApplied)=\"onFiltersApplied()\" />\n\n <button\n class=\"aca-search-input--close-button\"\n mat-icon-button\n [attr.aria-label]=\"'SEARCH.CLOSE_BUTTON.ARIA_LABEL' | translate\"\n [attr.title]=\"'SEARCH.CLOSE_BUTTON.ARIA_LABEL' | translate\"\n (click)=\"exitSearch()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </mat-form-field>\n\n @if (error) {\n <mat-error class=\"app-search-error\" role=\"alert\" aria-live=\"assertive\">\n {{ error | translate }}\n </mat-error>\n }\n</div>\n", styles: [".app-search-container{color:var(--theme-foreground-text-color);width:100%;height:48px;border:none;background:none;padding:0}.app-search-container .app-search-input{font-size:16px;letter-spacing:-.7px}.app-search-container .mdc-notched-outline{display:none}.aca-search-input{flex:1;min-width:350px;border-radius:4px;height:48px}.aca-search-input .app-input-form-field{width:100%;height:48px;font-size:16px;line-height:24px}.aca-search-input--suffix{display:flex;align-items:center;gap:4px}@media screen and (max-width: 959px){.aca-search-input,.app-search-container{max-width:400px}}@media screen and (max-width: 599px){.aca-search-input,.app-search-container{max-width:220px}}@media screen and (max-width: 380px){.aca-search-input{max-width:148px}}\n"] }]
7596
+ }], ctorParameters: () => [{ type: i1.SearchQueryBuilderService }, { type: i2.AppConfigService }, { type: i1$4.Router }, { type: i1$4.ActivatedRoute }, { type: i1$1.AppHookService }, { type: SearchFilterService }, { type: SearchExecutionService }, { type: SearchNavigationService }], propDecorators: { searchInputField: [{
7490
7597
  type: ViewChild,
7491
- args: ['searchInputControl', { static: true }]
7492
- }], trigger: [{
7493
- type: ViewChild,
7494
- args: [MatMenuTrigger, { static: true }]
7598
+ args: ['searchInputField']
7495
7599
  }] } });
7496
7600
 
7497
7601
  /*!
@@ -7606,7 +7710,7 @@ class SearchActionMenuComponent {
7606
7710
  this.sortingSelected.emit(option);
7607
7711
  }
7608
7712
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchActionMenuComponent, deps: [{ token: i1.SearchQueryBuilderService }], target: i0.ɵɵFactoryTarget.Component });
7609
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchActionMenuComponent, isStandalone: true, selector: "aca-search-action-menu", outputs: { sortingSelected: "sortingSelected" }, ngImport: i0, template: "<button mat-icon-button [matMenuTriggerFor]=\"dataSorting\" id=\"aca-button-action-menu\" aria-label=\"Search action menu\">\n <mat-icon>more_vert</mat-icon>\n</button>\n\n<mat-menu #dataSorting=\"matMenu\">\n <button mat-menu-item [matMenuTriggerFor]=\"sorting\" id=\"aca-button-sorting-menu\">{{ 'SEARCH.SORT.SORTING_OPTION' | translate }}</button>\n</mat-menu>\n\n<mat-menu #sorting=\"matMenu\">\n <ng-template matMenuContent>\n <button\n mat-menu-item\n *ngFor=\"let option of options\"\n [id]=\"option.key + '-sorting-option'\"\n [matMenuTriggerFor]=\"direction\"\n [matMenuTriggerData]=\"{ option: option }\"\n >\n {{ option.label | translate }}\n </button>\n </ng-template>\n</mat-menu>\n\n<mat-menu #direction=\"matMenu\">\n <ng-template matMenuContent let-option=\"option\">\n <button mat-menu-item [id]=\"option.key + '-sorting-option-asc'\" (click)=\"onAscSortingClicked(option)\">\n {{ 'SEARCH.SORT.ASCENDING' | translate }}\n </button>\n <button mat-menu-item [id]=\"option.key + '-sorting-option-desc'\" (click)=\"onDescSortingClicked(option)\">\n {{ 'SEARCH.SORT.DESCENDING' | translate }}\n </button>\n </ng-template>\n</mat-menu>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
7713
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchActionMenuComponent, isStandalone: true, selector: "aca-search-action-menu", outputs: { sortingSelected: "sortingSelected" }, ngImport: i0, template: "<button mat-icon-button [matMenuTriggerFor]=\"dataSorting\" id=\"aca-button-action-menu\" aria-label=\"Search action menu\">\n <mat-icon>more_vert</mat-icon>\n</button>\n\n<mat-menu #dataSorting=\"matMenu\">\n <button mat-menu-item [matMenuTriggerFor]=\"sorting\" id=\"aca-button-sorting-menu\">{{ 'SEARCH.SORT.SORTING_OPTION' | translate }}</button>\n</mat-menu>\n\n<mat-menu #sorting=\"matMenu\">\n <ng-template matMenuContent>\n <button\n mat-menu-item\n *ngFor=\"let option of options\"\n [id]=\"option.key + '-sorting-option'\"\n [matMenuTriggerFor]=\"direction\"\n [matMenuTriggerData]=\"{ option: option }\"\n >\n {{ option.label | translate }}\n </button>\n </ng-template>\n</mat-menu>\n\n<mat-menu #direction=\"matMenu\">\n <ng-template matMenuContent let-option=\"option\">\n <button mat-menu-item [id]=\"option.key + '-sorting-option-asc'\" (click)=\"onAscSortingClicked(option)\">\n {{ 'SEARCH.SORT.ASCENDING' | translate }}\n </button>\n <button mat-menu-item [id]=\"option.key + '-sorting-option-desc'\" (click)=\"onDescSortingClicked(option)\">\n {{ 'SEARCH.SORT.DESCENDING' | translate }}\n </button>\n </ng-template>\n</mat-menu>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3$1.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None });
7610
7714
  }
7611
7715
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchActionMenuComponent, decorators: [{
7612
7716
  type: Component,
@@ -7665,7 +7769,7 @@ class BulkActionsDropdownComponent {
7665
7769
  }
7666
7770
  }
7667
7771
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: BulkActionsDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7668
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: BulkActionsDropdownComponent, isStandalone: true, selector: "aca-bulk-actions-dropdown", inputs: { items: "items" }, ngImport: i0, template: "<mat-form-field\n *ngIf=\"items?.length\"\n class=\"aca-bulk-actions-form-field\"\n data-automation-id=\"aca-bulk-actions-form-field\"\n>\n <mat-label>{{ 'SEARCH.BULK_ACTIONS_DROPDOWN.LABEL' | translate }}</mat-label>\n <mat-select\n [formControl]=\"bulkSelectControl\"\n [placeholder]=\"placeholder\"\n panelClass=\"aca-bulk-actions-select\"\n disableOptionCentering\n data-automation-id=\"aca-bulk-actions-dropdown\"\n (keydown)=\"onKeyDown($event)\"\n >\n <mat-select-trigger>\n <div class=\"aca-bulk-actions-option-content\">\n <adf-icon\n *ngIf=\"bulkSelectControl.value?.icon\"\n [title]=\"bulkSelectControl.value?.title | translate\"\n [value]=\"bulkSelectControl.value?.icon\"\n class=\"aca-bulk-actions-icon\"\n aria-hidden=\"true\"\n [attr.data-automation-id]=\"'aca-bulk-action-icon-' + bulkSelectControl.value?.id\"\n />\n {{ bulkSelectControl.value?.title | translate }}\n </div>\n </mat-select-trigger>\n\n <mat-option\n *ngFor=\"let option of items\"\n [value]=\"option\"\n [title]=\"option.tooltip | translate\"\n [attr.data-automation-id]=\"option.id\"\n (keyup.enter)=\"runAction(option)\"\n (click)=\"runAction(option)\"\n >\n <div class=\"aca-bulk-actions-option-content\">\n <adf-icon\n *ngIf=\"option.icon\"\n [title]=\"option.title | translate\"\n [value]=\"option.icon\"\n class=\"aca-bulk-actions-icon\"\n aria-hidden=\"true\"\n [attr.data-automation-id]=\"'aca-bulk-action-icon-' + option.id\"\n />\n {{ option.title | translate }}\n </div>\n </mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [".aca-bulk-actions-form-field{margin-left:24px;width:295px}.aca-bulk-actions-option-content{height:100%;display:flex;column-gap:8px;align-items:center}.aca-bulk-actions-option-content .aca-bulk-actions-icon{width:24px;height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i10.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None });
7772
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: BulkActionsDropdownComponent, isStandalone: true, selector: "aca-bulk-actions-dropdown", inputs: { items: "items" }, ngImport: i0, template: "<mat-form-field\n *ngIf=\"items?.length\"\n class=\"aca-bulk-actions-form-field\"\n data-automation-id=\"aca-bulk-actions-form-field\"\n>\n <mat-label>{{ 'SEARCH.BULK_ACTIONS_DROPDOWN.LABEL' | translate }}</mat-label>\n <mat-select\n [formControl]=\"bulkSelectControl\"\n [placeholder]=\"placeholder\"\n panelClass=\"aca-bulk-actions-select\"\n disableOptionCentering\n data-automation-id=\"aca-bulk-actions-dropdown\"\n (keydown)=\"onKeyDown($event)\"\n >\n <mat-select-trigger>\n <div class=\"aca-bulk-actions-option-content\">\n <adf-icon\n *ngIf=\"bulkSelectControl.value?.icon\"\n [title]=\"bulkSelectControl.value?.title | translate\"\n [value]=\"bulkSelectControl.value?.icon\"\n class=\"aca-bulk-actions-icon\"\n aria-hidden=\"true\"\n [attr.data-automation-id]=\"'aca-bulk-action-icon-' + bulkSelectControl.value?.id\"\n />\n {{ bulkSelectControl.value?.title | translate }}\n </div>\n </mat-select-trigger>\n\n <mat-option\n *ngFor=\"let option of items\"\n [value]=\"option\"\n [title]=\"option.tooltip | translate\"\n [attr.data-automation-id]=\"option.id\"\n (keyup.enter)=\"runAction(option)\"\n (click)=\"runAction(option)\"\n >\n <div class=\"aca-bulk-actions-option-content\">\n <adf-icon\n *ngIf=\"option.icon\"\n [title]=\"option.title | translate\"\n [value]=\"option.icon\"\n class=\"aca-bulk-actions-icon\"\n aria-hidden=\"true\"\n [attr.data-automation-id]=\"'aca-bulk-action-icon-' + option.id\"\n />\n {{ option.title | translate }}\n </div>\n </mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [".aca-bulk-actions-form-field{margin-left:24px;width:295px}.aca-bulk-actions-option-content{height:100%;display:flex;column-gap:8px;align-items:center}.aca-bulk-actions-option-content .aca-bulk-actions-icon{width:24px;height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i10.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None });
7669
7773
  }
7670
7774
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: BulkActionsDropdownComponent, decorators: [{
7671
7775
  type: Component,
@@ -7903,7 +8007,7 @@ class SaveSearchDialogComponent {
7903
8007
  });
7904
8008
  }
7905
8009
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SaveSearchDialogComponent, deps: [{ token: i1$2.MatDialogRef }, { token: i2.NotificationService }, { token: SavedSearchesContextService }, { token: UniqueSearchNameValidator }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
7906
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SaveSearchDialogComponent, isStandalone: true, selector: "aca-save-search-dialog", host: { classAttribute: "aca-save-search-dialog" }, ngImport: i0, template: "<div class=\"aca-save-search-dialog__header\">\n <h2\n id=\"aca-save-search-dialog-title\"\n class=\"aca-save-search-dialog__title\">\n {{\"APP.BROWSE.SEARCH.SAVE_SEARCH.MODAL_HEADER\" | translate}}\n </h2>\n <button\n mat-icon-button\n mat-dialog-close\n [attr.aria-label]=\"'CLOSE' | translate | titlecase\"\n [attr.title]=\"'CLOSE' | translate | titlecase\">\n <mat-icon>close</mat-icon>\n </button>\n</div>\n\n\n<mat-dialog-content>\n <form [formGroup]=\"form\" (submit)=\"submit()\">\n <mat-form-field class=\"aca-save-search-dialog__form-field\">\n <mat-label>{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_LABEL' | translate }}</mat-label>\n <input\n id=\"aca-save-search-dialog-name-input\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_LABEL' | translate\"\n matInput\n required\n [formControlName]=\"'name'\"\n />\n\n <mat-error *ngIf=\"form.controls['name'].touched\">\n <span *ngIf=\"form.controls['name'].errors?.required\">\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_REQUIRED_ERROR' | translate }}\n </span>\n <span *ngIf=\"!form.controls['name'].errors?.required && form.controls['name'].errors?.message\">\n {{ form.controls['name'].errors?.message | translate : { name: form.controls.name.value } }}\n </span>\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"aca-save-search-dialog__form-field\">\n <mat-label>{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.DESCRIPTION_LABEL' | translate }}</mat-label>\n <textarea\n id=\"aca-save-search-dialog-description-input\"\n matInput\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.DESCRIPTION_LABEL' | translate\"\n rows=\"4\"\n [formControlName]=\"'description'\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n id=\"aca-save-search-dialog-cancel-button\"\n mat-dialog-close>\n {{ 'CANCEL' | titlecase | translate }}\n </button>\n\n <button id=\"aca-save-search-dialog-save-button\"\n mat-flat-button\n color=\"primary\"\n (click)=\"submit()\"\n [disabled]=\"!form.valid || disableSubmitButton\">\n {{ 'SAVE' | titlecase | translate}}\n </button>\n</mat-dialog-actions>\n", styles: [".aca-save-search-dialog .aca-save-search-dialog__form-field{width:100%;margin-bottom:15px}.aca-save-search-dialog .aca-save-search-dialog__header{display:flex;align-items:center;padding-left:20px;justify-content:space-between}.aca-save-search-dialog .aca-save-search-dialog__title{font-size:large;font-weight:200;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }], encapsulation: i0.ViewEncapsulation.None });
8010
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SaveSearchDialogComponent, isStandalone: true, selector: "aca-save-search-dialog", host: { classAttribute: "aca-save-search-dialog" }, ngImport: i0, template: "<div class=\"aca-save-search-dialog__header\">\n <h2\n id=\"aca-save-search-dialog-title\"\n class=\"aca-save-search-dialog__title\">\n {{\"APP.BROWSE.SEARCH.SAVE_SEARCH.MODAL_HEADER\" | translate}}\n </h2>\n <button\n mat-icon-button\n mat-dialog-close\n [attr.aria-label]=\"'CLOSE' | translate | titlecase\"\n [attr.title]=\"'CLOSE' | translate | titlecase\">\n <mat-icon>close</mat-icon>\n </button>\n</div>\n\n\n<mat-dialog-content>\n <form [formGroup]=\"form\" (submit)=\"submit()\">\n <mat-form-field class=\"aca-save-search-dialog__form-field\">\n <mat-label>{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_LABEL' | translate }}</mat-label>\n <input\n id=\"aca-save-search-dialog-name-input\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_LABEL' | translate\"\n matInput\n required\n [formControlName]=\"'name'\"\n />\n\n <mat-error *ngIf=\"form.controls['name'].touched\">\n <span *ngIf=\"form.controls['name'].errors?.required\">\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_REQUIRED_ERROR' | translate }}\n </span>\n <span *ngIf=\"!form.controls['name'].errors?.required && form.controls['name'].errors?.message\">\n {{ form.controls['name'].errors?.message | translate : { name: form.controls.name.value } }}\n </span>\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"aca-save-search-dialog__form-field\">\n <mat-label>{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.DESCRIPTION_LABEL' | translate }}</mat-label>\n <textarea\n id=\"aca-save-search-dialog-description-input\"\n matInput\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.DESCRIPTION_LABEL' | translate\"\n rows=\"4\"\n [formControlName]=\"'description'\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button\n mat-button\n id=\"aca-save-search-dialog-cancel-button\"\n mat-dialog-close>\n {{ 'CANCEL' | titlecase | translate }}\n </button>\n\n <button id=\"aca-save-search-dialog-save-button\"\n mat-flat-button\n color=\"primary\"\n (click)=\"submit()\"\n [disabled]=\"!form.valid || disableSubmitButton\">\n {{ 'SAVE' | titlecase | translate}}\n </button>\n</mat-dialog-actions>\n", styles: [".aca-save-search-dialog .aca-save-search-dialog__form-field{width:100%;margin-bottom:15px}.aca-save-search-dialog .aca-save-search-dialog__header{display:flex;align-items:center;padding-left:20px;justify-content:space-between}.aca-save-search-dialog .aca-save-search-dialog__title{font-size:large;font-weight:200;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: A11yModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }], encapsulation: i0.ViewEncapsulation.None });
7907
8011
  }
7908
8012
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SaveSearchDialogComponent, decorators: [{
7909
8013
  type: Component,
@@ -8100,7 +8204,7 @@ class SearchResultsComponent extends PageComponent {
8100
8204
  });
8101
8205
  combineLatest([
8102
8206
  this.route.queryParams,
8103
- this.router.events.pipe(filter((event) => event instanceof NavigationStart), startWith(null))
8207
+ this.router.events.pipe(filter((event) => event instanceof NavigationStart), startWith$1(null))
8104
8208
  ])
8105
8209
  .pipe(takeUntilDestroyed(this.destroyRef), tap(([params]) => {
8106
8210
  this.queryBuilder.userQuery = '';
@@ -8234,7 +8338,7 @@ class SearchResultsComponent extends PageComponent {
8234
8338
  this.savedSearchesService.currentContextSavedSearch))));
8235
8339
  }
8236
8340
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchResultsComponent, deps: [{ token: i1.TagService }, { token: i1.SearchQueryBuilderService }, { token: i0.ChangeDetectorRef }, { token: i1$4.ActivatedRoute }, { token: i2.TranslationService }, { token: SavedSearchesContextService }], target: i0.ɵɵFactoryTarget.Component });
8237
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchResultsComponent, isStandalone: true, selector: "aca-search-results", usesInheritance: true, ngImport: i0, template: "<aca-page-layout [class.aca-search-results-active-search-ai-input]=\"searchAiInputState.active\">\n <div class=\"aca-page-layout-header\">\n <aca-search-ai-input-container *ngIf=\"searchAiInputState.active\" [agentId]=\"searchAiInputState.selectedAgentId\" />\n <div class=\"aca-header-container\">\n <aca-search-input />\n <aca-bulk-actions-dropdown *ngIf=\"bulkActions && ('isBulkActionsAvailable' | isFeatureSupportedInCurrentAcs | async)\" [items]=\"bulkActions\" />\n <div class=\"aca-search-toolbar-spacer\"></div>\n <aca-toolbar [items]=\"actions\" />\n </div>\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\" />\n <div class=\"adf-search-results__content-header aca-content\">\n <div class=\"aca-content__filter-set\">\n <p>{{ 'APP.BROWSE.SEARCH.FILTER_SET' | translate }}</p>\n <adf-search-form />\n </div>\n <mat-divider\n [vertical]=\"!isSmallScreen\"\n [ngClass]=\"'aca-content__divider-' + (isSmallScreen ? 'horizontal' : 'vertical')\"\n aria-hidden=\"true\" />\n <div class=\"aca-content__advanced-filters\">\n <div class=\"aca-content__advanced-filters--header\">\n <p>{{ 'APP.BROWSE.SEARCH.ADVANCED_FILTERS' | translate }}</p>\n <div class=\"aca-content__advanced-filters--header--action-buttons\">\n <button\n *ngIf=\"initialSavedSearch !== undefined; else saveSearchButton\"\n mat-button\n [disabled]=\"!encodedQuery\"\n class=\"aca-content__save-search-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate\"\n [matMenuTriggerFor]=\"saveSearchOptionsMenu\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\n <mat-icon iconPositionEnd>keyboard_arrow_down</mat-icon>\n </button>\n <mat-menu #saveSearchOptionsMenu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"editSavedSearch(initialSavedSearch)\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate }}\n </button>\n <button\n mat-menu-item\n acaSaveSearch\n [acaSaveSearchQuery]=\"encodedQuery\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate }}\n </button>\n </mat-menu>\n <ng-template #saveSearchButton>\n <button\n mat-button\n acaSaveSearch\n [acaSaveSearchQuery]=\"encodedQuery\"\n (searchSaved)=\"onSaveSearch()\"\n [disabled]=\"!encodedQuery\"\n class=\"aca-content__save-search-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\n </button>\n </ng-template>\n <button\n [disabled]=\"!(areFiltersActive$ | async)\"\n mat-button\n adf-reset-search\n class=\"aca-content__reset-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.RESET' | translate }}\n </button>\n </div>\n </div>\n <adf-search-filter-chips />\n </div>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [preselectNodes]=\"selectedNodesState?.nodes\"\n [displayCheckboxesOnHover]=\"true\"\n [imageResolver]=\"imageResolver\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column\n id=\"app.search.thumbnail\"\n key=\"$thumbnail\"\n type=\"image\"\n [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\"\n [sortable]=\"false\"\n >\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\" />\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\" />\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"totalResults > 0\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\" />\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-alfresco-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.INFO' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-alfresco-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"aca-sidebar\">\n <aca-info-drawer [node]=\"selection.last\" />\n </div>\n </ng-template>\n </div>\n </div>\n</aca-page-layout>\n", styles: ["aca-search-results .aca-search-results-active-search-ai-input .aca-header-container,aca-search-results .aca-search-results-active-search-ai-input .adf-search-results__content-header.aca-content{display:none}aca-search-results .aca-search-toolbar-spacer{width:100%}aca-search-results .adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}aca-search-results .adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}aca-search-results .adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-top:1px solid var(--theme-border-color);border-bottom:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .mat-mdc-chip-action{padding-left:12px;padding-right:12px}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .mdc-evolution-chip__text-label{color:var(--theme-selected-text-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed{background-color:var(--theme-dropdown-color);color:var(--theme-selected-text-color);height:32px;margin-top:4px;margin-bottom:4px;box-sizing:border-box}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip:hover,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip:focus,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed:hover,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed:focus{background-color:var(--theme-dropdown-background-hover)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip[disabled],aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed[disabled]{background-color:var(--theme-disabled-chip-background-color);color:var(--theme-search-chip-icon-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip .adf-search-filter-chip-icon,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed .adf-search-filter-chip-icon{color:var(--theme-search-chip-icon-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-placeholder{color:var(--theme-selected-text-color)}aca-search-results .adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}aca-search-results .adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}aca-search-results .adf-search-results--right_panel_section{display:flex;justify-content:flex-start}aca-search-results .adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}aca-search-results .adf-search-results--right_panel_section-extended .adf-viewer{position:relative}aca-search-results .adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}aca-search-results .adf-search-results--visibility_button{margin-right:8px;cursor:default}aca-search-results .adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}aca-search-results .adf-search-results .adf-search-filter--hidden{display:none}aca-search-results .adf-search-results .aca-content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px;background-color:var(--theme-card-background-color)}aca-search-results .adf-search-results .aca-content__filter-set p{padding:0 16px}aca-search-results .adf-search-results .aca-content__divider-vertical{height:100%}aca-search-results .adf-search-results .aca-content__divider-horizontal{width:100%}aca-search-results .adf-search-results .aca-content__advanced-filters{width:100%;padding:0 12px}aca-search-results .adf-search-results .aca-content__advanced-filters--header{display:flex;justify-content:space-between}aca-search-results .adf-search-results .aca-content__advanced-filters--header--action-buttons{display:flex}aca-search-results .adf-search-results .aca-content__reset-action,aca-search-results .adf-search-results .aca-content__save-search-action{margin-top:5px;margin-right:2px;line-height:33px;font-weight:lighter}aca-search-results .adf-search-results .aca-content__sort-picker{min-width:220px}aca-search-results .adf-search-results .adf-datatable aca-search-action-menu button{width:0}aca-search-results .adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}@media (max-width: 320px){aca-search-results .adf-search-results__content-header{flex-direction:column}aca-search-results .adf-search-results__content{overflow-y:auto}aca-search-results .adf-document-list{min-height:unset}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SearchInputComponent, selector: "aca-search-input" }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i6$5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable", "customActions"], exportAs: ["acaContextActions"] }, { kind: "component", type: ThumbnailColumnComponent, selector: "aca-custom-thumbnail-column", inputs: ["context"] }, { kind: "component", type: SearchActionMenuComponent, selector: "aca-search-action-menu", outputs: ["sortingSelected"] }, { kind: "component", type: PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "directive", type: PaginationDirective, selector: "[acaPagination]" }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "hideInfoButton", "closeButtonPosition", "sidebarRightTemplate", "sidebarLeftTemplate", "readOnly", "showToolbarDividers"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }, { kind: "component", type: DynamicColumnComponent, selector: "adf-dynamic-column", inputs: ["id", "context"] }, { kind: "component", type: SearchFormComponent, selector: "adf-search-form", outputs: ["formChange"] }, { kind: "directive", type: ResetSearchDirective, selector: "[adf-reset-search]" }, { kind: "component", type: SearchFilterChipsComponent, selector: "adf-search-filter-chips", inputs: ["showContextFacets"] }, { kind: "component", type: DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "filters", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems", "columnsPresetKey", "setColumnsVisibility", "setColumnsWidths", "setColumnsOrder", "maxColumnsVisible", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover", "displayDragAndDropHint", "isDataProvidedExternally"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection", "columnsWidthChanged", "columnsVisibilityChanged", "columnsOrderChanged", "selectedItemsCountChanged"] }, { kind: "component", type: DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "subtitle", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "component", type: DateColumnHeaderComponent, selector: "adf-data-column-header" }, { kind: "directive", type: CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }, { kind: "component", type: ViewerToolbarComponent, selector: "adf-viewer-toolbar" }, { kind: "component", type: BulkActionsDropdownComponent, selector: "aca-bulk-actions-dropdown", inputs: ["items"] }, { kind: "component", type: SearchAiInputContainerComponent, selector: "aca-search-ai-input-container", inputs: ["placeholder", "agentId", "usedInAiResultsPage"] }, { kind: "directive", type: SaveSearchDirective, selector: "[acaSaveSearch]", inputs: ["acaSaveSearchQuery"], outputs: ["searchSaved"] }, { kind: "pipe", type: IsFeatureSupportedInCurrentAcsPipe, name: "isFeatureSupportedInCurrentAcs" }], encapsulation: i0.ViewEncapsulation.None });
8341
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchResultsComponent, isStandalone: true, selector: "aca-search-results", usesInheritance: true, ngImport: i0, template: "<aca-page-layout [class.aca-search-results-active-search-ai-input]=\"searchAiInputState.active\">\n <div class=\"aca-page-layout-header\">\n <aca-search-ai-input-container *ngIf=\"searchAiInputState.active\" [agentId]=\"searchAiInputState.selectedAgentId\" />\n <div class=\"aca-header-container\">\n <aca-search-input />\n <aca-bulk-actions-dropdown *ngIf=\"bulkActions && ('isBulkActionsAvailable' | isFeatureSupportedInCurrentAcs | async)\" [items]=\"bulkActions\" />\n <aca-toolbar class=\"aca-search-results__toolbar-actions\" [items]=\"actions\" />\n </div>\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\" />\n <div class=\"adf-search-results__content-header aca-content\">\n <div class=\"aca-content__filter-set\">\n <p>{{ 'APP.BROWSE.SEARCH.FILTER_SET' | translate }}</p>\n <adf-search-form />\n </div>\n <mat-divider\n [vertical]=\"!isSmallScreen\"\n [ngClass]=\"'aca-content__divider-' + (isSmallScreen ? 'horizontal' : 'vertical')\"\n aria-hidden=\"true\" />\n <div class=\"aca-content__advanced-filters\">\n <div class=\"aca-content__advanced-filters--header\">\n <p>{{ 'APP.BROWSE.SEARCH.ADVANCED_FILTERS' | translate }}</p>\n <div class=\"aca-content__advanced-filters--header--action-buttons\">\n <button\n *ngIf=\"initialSavedSearch !== undefined; else saveSearchButton\"\n mat-button\n [disabled]=\"!encodedQuery\"\n class=\"aca-content__save-search-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate\"\n [matMenuTriggerFor]=\"saveSearchOptionsMenu\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\n <mat-icon iconPositionEnd>keyboard_arrow_down</mat-icon>\n </button>\n <mat-menu #saveSearchOptionsMenu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"editSavedSearch(initialSavedSearch)\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate }}\n </button>\n <button\n mat-menu-item\n acaSaveSearch\n [acaSaveSearchQuery]=\"encodedQuery\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate }}\n </button>\n </mat-menu>\n <ng-template #saveSearchButton>\n <button\n mat-button\n acaSaveSearch\n [acaSaveSearchQuery]=\"encodedQuery\"\n (searchSaved)=\"onSaveSearch()\"\n [disabled]=\"!encodedQuery\"\n class=\"aca-content__save-search-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\n </button>\n </ng-template>\n <button\n [disabled]=\"!(areFiltersActive$ | async)\"\n mat-button\n adf-reset-search\n class=\"aca-content__reset-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.RESET' | translate }}\n </button>\n </div>\n </div>\n <adf-search-filter-chips />\n </div>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [preselectNodes]=\"selectedNodesState?.nodes\"\n [displayCheckboxesOnHover]=\"true\"\n [imageResolver]=\"imageResolver\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column\n id=\"app.search.thumbnail\"\n key=\"$thumbnail\"\n type=\"image\"\n [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\"\n [sortable]=\"false\"\n >\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\" />\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\" />\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"totalResults > 0\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\" />\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-alfresco-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.INFO' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-alfresco-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"aca-sidebar\">\n <aca-info-drawer [node]=\"selection.last\" />\n </div>\n </ng-template>\n </div>\n </div>\n</aca-page-layout>\n", styles: ["aca-search-results .aca-search-results-active-search-ai-input .aca-header-container,aca-search-results .aca-search-results-active-search-ai-input .adf-search-results__content-header.aca-content{display:none}aca-search-results .aca-search-results__toolbar-actions{margin-left:8px}aca-search-results .adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}aca-search-results .adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}aca-search-results .adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-top:1px solid var(--theme-border-color);border-bottom:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .mat-mdc-chip-action{padding-left:12px;padding-right:12px}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .mdc-evolution-chip__text-label{color:var(--theme-selected-text-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed{background-color:var(--theme-dropdown-color);color:var(--theme-selected-text-color);height:32px;margin-top:4px;margin-bottom:4px;box-sizing:border-box}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip:hover,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip:focus,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed:hover,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed:focus{background-color:var(--theme-dropdown-background-hover)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip[disabled],aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed[disabled]{background-color:var(--theme-disabled-chip-background-color);color:var(--theme-search-chip-icon-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip .adf-search-filter-chip-icon,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed .adf-search-filter-chip-icon{color:var(--theme-search-chip-icon-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-placeholder{color:var(--theme-selected-text-color)}aca-search-results .adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}aca-search-results .adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}aca-search-results .adf-search-results--right_panel_section{display:flex;justify-content:flex-start}aca-search-results .adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}aca-search-results .adf-search-results--right_panel_section-extended .adf-viewer{position:relative}aca-search-results .adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}aca-search-results .adf-search-results--visibility_button{margin-right:8px;cursor:default}aca-search-results .adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}aca-search-results .adf-search-results .adf-search-filter--hidden{display:none}aca-search-results .adf-search-results .aca-content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px;background-color:var(--theme-card-background-color)}aca-search-results .adf-search-results .aca-content__filter-set p{padding:0 16px}aca-search-results .adf-search-results .aca-content__divider-vertical{height:100%}aca-search-results .adf-search-results .aca-content__divider-horizontal{width:100%}aca-search-results .adf-search-results .aca-content__advanced-filters{width:100%;padding:0 12px}aca-search-results .adf-search-results .aca-content__advanced-filters--header{display:flex;justify-content:space-between}aca-search-results .adf-search-results .aca-content__advanced-filters--header--action-buttons{display:flex}aca-search-results .adf-search-results .aca-content__reset-action,aca-search-results .adf-search-results .aca-content__save-search-action{margin-top:5px;margin-right:2px;line-height:33px;font-weight:lighter}aca-search-results .adf-search-results .aca-content__sort-picker{min-width:220px}aca-search-results .adf-search-results .adf-datatable aca-search-action-menu button{width:0}aca-search-results .adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}@media (max-width: 320px){aca-search-results .adf-search-results__content-header{flex-direction:column}aca-search-results .adf-search-results__content{overflow-y:auto}aca-search-results .adf-document-list{min-height:unset}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SearchInputComponent, selector: "aca-search-input" }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i6$5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable", "customActions"], exportAs: ["acaContextActions"] }, { kind: "component", type: ThumbnailColumnComponent, selector: "aca-custom-thumbnail-column", inputs: ["context"] }, { kind: "component", type: SearchActionMenuComponent, selector: "aca-search-action-menu", outputs: ["sortingSelected"] }, { kind: "component", type: PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "directive", type: PaginationDirective, selector: "[acaPagination]" }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "hideInfoButton", "closeButtonPosition", "sidebarRightTemplate", "sidebarLeftTemplate", "readOnly", "showToolbarDividers"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }, { kind: "component", type: DynamicColumnComponent, selector: "adf-dynamic-column", inputs: ["id", "context"] }, { kind: "component", type: SearchFormComponent, selector: "adf-search-form", outputs: ["formChange"] }, { kind: "directive", type: ResetSearchDirective, selector: "[adf-reset-search]" }, { kind: "component", type: SearchFilterChipsComponent, selector: "adf-search-filter-chips", inputs: ["showContextFacets"] }, { kind: "component", type: DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "filters", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems", "columnsPresetKey", "setColumnsVisibility", "setColumnsWidths", "setColumnsOrder", "maxColumnsVisible", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover", "displayDragAndDropHint", "isDataProvidedExternally"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection", "columnsWidthChanged", "columnsVisibilityChanged", "columnsOrderChanged", "selectedItemsCountChanged"] }, { kind: "component", type: DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "subtitle", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "component", type: DateColumnHeaderComponent, selector: "adf-data-column-header" }, { kind: "directive", type: CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }, { kind: "component", type: ViewerToolbarComponent, selector: "adf-viewer-toolbar" }, { kind: "component", type: BulkActionsDropdownComponent, selector: "aca-bulk-actions-dropdown", inputs: ["items"] }, { kind: "component", type: SearchAiInputContainerComponent, selector: "aca-search-ai-input-container", inputs: ["placeholder", "agentId", "usedInAiResultsPage"] }, { kind: "directive", type: SaveSearchDirective, selector: "[acaSaveSearch]", inputs: ["acaSaveSearchQuery"], outputs: ["searchSaved"] }, { kind: "pipe", type: IsFeatureSupportedInCurrentAcsPipe, name: "isFeatureSupportedInCurrentAcs" }], encapsulation: i0.ViewEncapsulation.None });
8238
8342
  }
8239
8343
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchResultsComponent, decorators: [{
8240
8344
  type: Component,
@@ -8272,7 +8376,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
8272
8376
  SaveSearchDirective,
8273
8377
  IsFeatureSupportedInCurrentAcsPipe,
8274
8378
  AsyncPipe
8275
- ], selector: 'aca-search-results', encapsulation: ViewEncapsulation.None, template: "<aca-page-layout [class.aca-search-results-active-search-ai-input]=\"searchAiInputState.active\">\n <div class=\"aca-page-layout-header\">\n <aca-search-ai-input-container *ngIf=\"searchAiInputState.active\" [agentId]=\"searchAiInputState.selectedAgentId\" />\n <div class=\"aca-header-container\">\n <aca-search-input />\n <aca-bulk-actions-dropdown *ngIf=\"bulkActions && ('isBulkActionsAvailable' | isFeatureSupportedInCurrentAcs | async)\" [items]=\"bulkActions\" />\n <div class=\"aca-search-toolbar-spacer\"></div>\n <aca-toolbar [items]=\"actions\" />\n </div>\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\" />\n <div class=\"adf-search-results__content-header aca-content\">\n <div class=\"aca-content__filter-set\">\n <p>{{ 'APP.BROWSE.SEARCH.FILTER_SET' | translate }}</p>\n <adf-search-form />\n </div>\n <mat-divider\n [vertical]=\"!isSmallScreen\"\n [ngClass]=\"'aca-content__divider-' + (isSmallScreen ? 'horizontal' : 'vertical')\"\n aria-hidden=\"true\" />\n <div class=\"aca-content__advanced-filters\">\n <div class=\"aca-content__advanced-filters--header\">\n <p>{{ 'APP.BROWSE.SEARCH.ADVANCED_FILTERS' | translate }}</p>\n <div class=\"aca-content__advanced-filters--header--action-buttons\">\n <button\n *ngIf=\"initialSavedSearch !== undefined; else saveSearchButton\"\n mat-button\n [disabled]=\"!encodedQuery\"\n class=\"aca-content__save-search-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate\"\n [matMenuTriggerFor]=\"saveSearchOptionsMenu\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\n <mat-icon iconPositionEnd>keyboard_arrow_down</mat-icon>\n </button>\n <mat-menu #saveSearchOptionsMenu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"editSavedSearch(initialSavedSearch)\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate }}\n </button>\n <button\n mat-menu-item\n acaSaveSearch\n [acaSaveSearchQuery]=\"encodedQuery\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate }}\n </button>\n </mat-menu>\n <ng-template #saveSearchButton>\n <button\n mat-button\n acaSaveSearch\n [acaSaveSearchQuery]=\"encodedQuery\"\n (searchSaved)=\"onSaveSearch()\"\n [disabled]=\"!encodedQuery\"\n class=\"aca-content__save-search-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\n </button>\n </ng-template>\n <button\n [disabled]=\"!(areFiltersActive$ | async)\"\n mat-button\n adf-reset-search\n class=\"aca-content__reset-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.RESET' | translate }}\n </button>\n </div>\n </div>\n <adf-search-filter-chips />\n </div>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [preselectNodes]=\"selectedNodesState?.nodes\"\n [displayCheckboxesOnHover]=\"true\"\n [imageResolver]=\"imageResolver\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column\n id=\"app.search.thumbnail\"\n key=\"$thumbnail\"\n type=\"image\"\n [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\"\n [sortable]=\"false\"\n >\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\" />\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\" />\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"totalResults > 0\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\" />\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-alfresco-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.INFO' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-alfresco-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"aca-sidebar\">\n <aca-info-drawer [node]=\"selection.last\" />\n </div>\n </ng-template>\n </div>\n </div>\n</aca-page-layout>\n", styles: ["aca-search-results .aca-search-results-active-search-ai-input .aca-header-container,aca-search-results .aca-search-results-active-search-ai-input .adf-search-results__content-header.aca-content{display:none}aca-search-results .aca-search-toolbar-spacer{width:100%}aca-search-results .adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}aca-search-results .adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}aca-search-results .adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-top:1px solid var(--theme-border-color);border-bottom:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .mat-mdc-chip-action{padding-left:12px;padding-right:12px}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .mdc-evolution-chip__text-label{color:var(--theme-selected-text-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed{background-color:var(--theme-dropdown-color);color:var(--theme-selected-text-color);height:32px;margin-top:4px;margin-bottom:4px;box-sizing:border-box}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip:hover,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip:focus,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed:hover,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed:focus{background-color:var(--theme-dropdown-background-hover)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip[disabled],aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed[disabled]{background-color:var(--theme-disabled-chip-background-color);color:var(--theme-search-chip-icon-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip .adf-search-filter-chip-icon,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed .adf-search-filter-chip-icon{color:var(--theme-search-chip-icon-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-placeholder{color:var(--theme-selected-text-color)}aca-search-results .adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}aca-search-results .adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}aca-search-results .adf-search-results--right_panel_section{display:flex;justify-content:flex-start}aca-search-results .adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}aca-search-results .adf-search-results--right_panel_section-extended .adf-viewer{position:relative}aca-search-results .adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}aca-search-results .adf-search-results--visibility_button{margin-right:8px;cursor:default}aca-search-results .adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}aca-search-results .adf-search-results .adf-search-filter--hidden{display:none}aca-search-results .adf-search-results .aca-content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px;background-color:var(--theme-card-background-color)}aca-search-results .adf-search-results .aca-content__filter-set p{padding:0 16px}aca-search-results .adf-search-results .aca-content__divider-vertical{height:100%}aca-search-results .adf-search-results .aca-content__divider-horizontal{width:100%}aca-search-results .adf-search-results .aca-content__advanced-filters{width:100%;padding:0 12px}aca-search-results .adf-search-results .aca-content__advanced-filters--header{display:flex;justify-content:space-between}aca-search-results .adf-search-results .aca-content__advanced-filters--header--action-buttons{display:flex}aca-search-results .adf-search-results .aca-content__reset-action,aca-search-results .adf-search-results .aca-content__save-search-action{margin-top:5px;margin-right:2px;line-height:33px;font-weight:lighter}aca-search-results .adf-search-results .aca-content__sort-picker{min-width:220px}aca-search-results .adf-search-results .adf-datatable aca-search-action-menu button{width:0}aca-search-results .adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}@media (max-width: 320px){aca-search-results .adf-search-results__content-header{flex-direction:column}aca-search-results .adf-search-results__content{overflow-y:auto}aca-search-results .adf-document-list{min-height:unset}}\n"] }]
8379
+ ], selector: 'aca-search-results', encapsulation: ViewEncapsulation.None, template: "<aca-page-layout [class.aca-search-results-active-search-ai-input]=\"searchAiInputState.active\">\n <div class=\"aca-page-layout-header\">\n <aca-search-ai-input-container *ngIf=\"searchAiInputState.active\" [agentId]=\"searchAiInputState.selectedAgentId\" />\n <div class=\"aca-header-container\">\n <aca-search-input />\n <aca-bulk-actions-dropdown *ngIf=\"bulkActions && ('isBulkActionsAvailable' | isFeatureSupportedInCurrentAcs | async)\" [items]=\"bulkActions\" />\n <aca-toolbar class=\"aca-search-results__toolbar-actions\" [items]=\"actions\" />\n </div>\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\" />\n <div class=\"adf-search-results__content-header aca-content\">\n <div class=\"aca-content__filter-set\">\n <p>{{ 'APP.BROWSE.SEARCH.FILTER_SET' | translate }}</p>\n <adf-search-form />\n </div>\n <mat-divider\n [vertical]=\"!isSmallScreen\"\n [ngClass]=\"'aca-content__divider-' + (isSmallScreen ? 'horizontal' : 'vertical')\"\n aria-hidden=\"true\" />\n <div class=\"aca-content__advanced-filters\">\n <div class=\"aca-content__advanced-filters--header\">\n <p>{{ 'APP.BROWSE.SEARCH.ADVANCED_FILTERS' | translate }}</p>\n <div class=\"aca-content__advanced-filters--header--action-buttons\">\n <button\n *ngIf=\"initialSavedSearch !== undefined; else saveSearchButton\"\n mat-button\n [disabled]=\"!encodedQuery\"\n class=\"aca-content__save-search-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate\"\n [matMenuTriggerFor]=\"saveSearchOptionsMenu\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\n <mat-icon iconPositionEnd>keyboard_arrow_down</mat-icon>\n </button>\n <mat-menu #saveSearchOptionsMenu=\"matMenu\">\n <button\n mat-menu-item\n (click)=\"editSavedSearch(initialSavedSearch)\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_CHANGES' | translate }}\n </button>\n <button\n mat-menu-item\n acaSaveSearch\n [acaSaveSearchQuery]=\"encodedQuery\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.SAVE_AS_NEW' | translate }}\n </button>\n </mat-menu>\n <ng-template #saveSearchButton>\n <button\n mat-button\n acaSaveSearch\n [acaSaveSearchQuery]=\"encodedQuery\"\n (searchSaved)=\"onSaveSearch()\"\n [disabled]=\"!encodedQuery\"\n class=\"aca-content__save-search-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.ACTION_BUTTON' | translate }}\n </button>\n </ng-template>\n <button\n [disabled]=\"!(areFiltersActive$ | async)\"\n mat-button\n adf-reset-search\n class=\"aca-content__reset-action\"\n title=\"{{ 'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate\"\n >\n {{ 'APP.BROWSE.SEARCH.RESET' | translate }}\n </button>\n </div>\n </div>\n <adf-search-filter-chips />\n </div>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [preselectNodes]=\"selectedNodesState?.nodes\"\n [displayCheckboxesOnHover]=\"true\"\n [imageResolver]=\"imageResolver\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column\n id=\"app.search.thumbnail\"\n key=\"$thumbnail\"\n type=\"image\"\n [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\"\n [sortable]=\"false\"\n >\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\" />\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\" />\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [sortingKey]=\"column.sortingKey || column.key\"\n [isHidden]=\"column.isHidden\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"totalResults > 0\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\" />\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-alfresco-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.INFO' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-alfresco-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"aca-sidebar\">\n <aca-info-drawer [node]=\"selection.last\" />\n </div>\n </ng-template>\n </div>\n </div>\n</aca-page-layout>\n", styles: ["aca-search-results .aca-search-results-active-search-ai-input .aca-header-container,aca-search-results .aca-search-results-active-search-ai-input .adf-search-results__content-header.aca-content{display:none}aca-search-results .aca-search-results__toolbar-actions{margin-left:8px}aca-search-results .adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}aca-search-results .adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}aca-search-results .adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-top:1px solid var(--theme-border-color);border-bottom:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .mat-mdc-chip-action{padding-left:12px;padding-right:12px}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .mdc-evolution-chip__text-label{color:var(--theme-selected-text-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed{background-color:var(--theme-dropdown-color);color:var(--theme-selected-text-color);height:32px;margin-top:4px;margin-bottom:4px;box-sizing:border-box}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip:hover,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip:focus,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed:hover,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed:focus{background-color:var(--theme-dropdown-background-hover)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip[disabled],aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed[disabled]{background-color:var(--theme-disabled-chip-background-color);color:var(--theme-search-chip-icon-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip .adf-search-filter-chip-icon,aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-chip-tabbed .adf-search-filter-chip-icon{color:var(--theme-search-chip-icon-color)}aca-search-results .adf-search-results__content-header .aca-content__advanced-filters .adf-search-filter-placeholder{color:var(--theme-selected-text-color)}aca-search-results .adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}aca-search-results .adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}aca-search-results .adf-search-results--right_panel_section{display:flex;justify-content:flex-start}aca-search-results .adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}aca-search-results .adf-search-results--right_panel_section-extended .adf-viewer{position:relative}aca-search-results .adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}aca-search-results .adf-search-results--visibility_button{margin-right:8px;cursor:default}aca-search-results .adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}aca-search-results .adf-search-results .adf-search-filter--hidden{display:none}aca-search-results .adf-search-results .aca-content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px;background-color:var(--theme-card-background-color)}aca-search-results .adf-search-results .aca-content__filter-set p{padding:0 16px}aca-search-results .adf-search-results .aca-content__divider-vertical{height:100%}aca-search-results .adf-search-results .aca-content__divider-horizontal{width:100%}aca-search-results .adf-search-results .aca-content__advanced-filters{width:100%;padding:0 12px}aca-search-results .adf-search-results .aca-content__advanced-filters--header{display:flex;justify-content:space-between}aca-search-results .adf-search-results .aca-content__advanced-filters--header--action-buttons{display:flex}aca-search-results .adf-search-results .aca-content__reset-action,aca-search-results .adf-search-results .aca-content__save-search-action{margin-top:5px;margin-right:2px;line-height:33px;font-weight:lighter}aca-search-results .adf-search-results .aca-content__sort-picker{min-width:220px}aca-search-results .adf-search-results .adf-datatable aca-search-action-menu button{width:0}aca-search-results .adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}@media (max-width: 320px){aca-search-results .adf-search-results__content-header{flex-direction:column}aca-search-results .adf-search-results__content{overflow-y:auto}aca-search-results .adf-document-list{min-height:unset}}\n"] }]
8276
8380
  }], ctorParameters: () => [{ type: i1.TagService }, { type: i1.SearchQueryBuilderService }, { type: i0.ChangeDetectorRef }, { type: i1$4.ActivatedRoute }, { type: i2.TranslationService }, { type: SavedSearchesContextService }] });
8277
8381
 
8278
8382
  /*!
@@ -8302,26 +8406,23 @@ class SearchLibrariesResultsComponent extends PageComponent {
8302
8406
  librariesQueryBuilder;
8303
8407
  route;
8304
8408
  appHookService;
8305
- appService;
8306
8409
  searchedWord;
8307
8410
  queryParamName = 'q';
8308
8411
  data;
8309
8412
  totalResults = 0;
8310
8413
  isLoading = false;
8311
8414
  columns = [];
8312
- constructor(librariesQueryBuilder, route, appHookService, appService) {
8415
+ constructor(librariesQueryBuilder, route, appHookService) {
8313
8416
  super();
8314
8417
  this.librariesQueryBuilder = librariesQueryBuilder;
8315
8418
  this.route = route;
8316
8419
  this.appHookService = appHookService;
8317
- this.appService = appService;
8318
8420
  librariesQueryBuilder.paging = {
8319
8421
  skipCount: 0,
8320
8422
  maxItems: 25
8321
8423
  };
8322
8424
  }
8323
8425
  ngOnInit() {
8324
- this.appService.setAppNavbarMode('collapsed');
8325
8426
  super.ngOnInit();
8326
8427
  this.columns = this.extensions.documentListPresets.searchLibraries || [];
8327
8428
  this.subscriptions.push(this.appHookService.libraryJoined.subscribe(() => this.librariesQueryBuilder.update()), this.appHookService.libraryDeleted.subscribe(() => this.librariesQueryBuilder.update()), this.appHookService.libraryLeft.subscribe(() => this.librariesQueryBuilder.update()), this.librariesQueryBuilder.updated.subscribe(() => {
@@ -8382,8 +8483,8 @@ class SearchLibrariesResultsComponent extends PageComponent {
8382
8483
  handleNodeClick(event) {
8383
8484
  this.navigateTo(event.detail?.node);
8384
8485
  }
8385
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchLibrariesResultsComponent, deps: [{ token: SearchLibrariesQueryBuilderService }, { token: i1$4.ActivatedRoute }, { token: i1$1.AppHookService }, { token: i1$1.AppService }], target: i0.ɵɵFactoryTarget.Component });
8386
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchLibrariesResultsComponent, isStandalone: true, selector: "aca-search-results", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <aca-search-input />\n <div class=\"aca-search-toolbar-spacer\"></div>\n <aca-toolbar [items]=\"actions\" />\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" />\n <div class=\"adf-search-results__content-header aca-content-lib\" *ngIf=\"data?.list.entries.length\">\n <div class=\"aca-content__side--left\">\n <div class=\"adf-search-results--info-text\" *ngIf=\"totalResults !== 1\">\n {{ 'APP.BROWSE.SEARCH_LIBRARIES.FOUND_RESULTS' | translate: { number: totalResults } }}\n </div>\n <div class=\"adf-search-results--info-text\" *ngIf=\"totalResults === 1\">\n {{ 'APP.BROWSE.SEARCH_LIBRARIES.FOUND_ONE_RESULT' | translate: { number: totalResults } }}\n </div>\n </div>\n </div>\n\n <adf-document-list\n #documentList\n acaContextActions\n acaDocumentList\n [showHeader]=\"showHeader\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [sorting]=\"['name', 'asc']\"\n [node]=\"data\"\n [displayCheckboxesOnHover]=\"true\"\n [imageResolver]=\"imageResolver\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"totalResults > 0\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\" />\n </div>\n </div>\n </div>\n <div class=\"aca-sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.last\" />\n </div>\n </div>\n</aca-page-layout>\n", styles: ["aca-search-results .aca-search-toolbar-spacer{width:100%}aca-search-results .adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}aca-search-results .adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-bottom:1px solid var(--theme-border-color);border-top:1px solid var(--theme-border-color)}aca-search-results .adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}aca-search-results .adf-search-results .aca-content-lib{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden;flex:unset;height:unset;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;background-color:var(--theme-card-background-color)}aca-search-results .adf-search-results .aca-content-lib__side--left{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;height:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SearchInputComponent, selector: "aca-search-input" }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i6$5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "directive", type: ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable", "customActions"], exportAs: ["acaContextActions"] }, { kind: "directive", type: DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: PaginationDirective, selector: "[acaPagination]" }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: DynamicColumnComponent, selector: "adf-dynamic-column", inputs: ["id", "context"] }, { kind: "component", type: DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "filters", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems", "columnsPresetKey", "setColumnsVisibility", "setColumnsWidths", "setColumnsOrder", "maxColumnsVisible", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover", "displayDragAndDropHint", "isDataProvidedExternally"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection", "columnsWidthChanged", "columnsVisibilityChanged", "columnsOrderChanged", "selectedItemsCountChanged"] }, { kind: "component", type: DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "subtitle", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "directive", type: CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }], encapsulation: i0.ViewEncapsulation.None });
8486
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchLibrariesResultsComponent, deps: [{ token: SearchLibrariesQueryBuilderService }, { token: i1$4.ActivatedRoute }, { token: i1$1.AppHookService }], target: i0.ɵɵFactoryTarget.Component });
8487
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SearchLibrariesResultsComponent, isStandalone: true, selector: "aca-search-results", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <aca-search-input />\n <aca-toolbar class=\"aca-search-results__toolbar-actions\" [items]=\"actions\" />\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" />\n <div class=\"adf-search-results__content-header aca-content-lib\" *ngIf=\"data?.list.entries.length\">\n <div class=\"aca-content__side--left\">\n <div class=\"adf-search-results--info-text\" *ngIf=\"totalResults !== 1\">\n {{ 'APP.BROWSE.SEARCH_LIBRARIES.FOUND_RESULTS' | translate: { number: totalResults } }}\n </div>\n <div class=\"adf-search-results--info-text\" *ngIf=\"totalResults === 1\">\n {{ 'APP.BROWSE.SEARCH_LIBRARIES.FOUND_ONE_RESULT' | translate: { number: totalResults } }}\n </div>\n </div>\n </div>\n\n <adf-document-list\n #documentList\n acaContextActions\n acaDocumentList\n [showHeader]=\"showHeader\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [sorting]=\"['name', 'asc']\"\n [node]=\"data\"\n [displayCheckboxesOnHover]=\"true\"\n [imageResolver]=\"imageResolver\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"totalResults > 0\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\" />\n </div>\n </div>\n </div>\n <div class=\"aca-sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.last\" />\n </div>\n </div>\n</aca-page-layout>\n", styles: ["aca-search-results .aca-search-results__toolbar-actions{margin-left:8px}aca-search-results .adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}aca-search-results .adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-bottom:1px solid var(--theme-border-color);border-top:1px solid var(--theme-border-color)}aca-search-results .adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}aca-search-results .adf-search-results .aca-content-lib{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden;flex:unset;height:unset;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;background-color:var(--theme-card-background-color)}aca-search-results .adf-search-results .aca-content-lib__side--left{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;height:unset}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SearchInputComponent, selector: "aca-search-input" }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i6$5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "directive", type: ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable", "customActions"], exportAs: ["acaContextActions"] }, { kind: "directive", type: DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: PaginationDirective, selector: "[acaPagination]" }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: DynamicColumnComponent, selector: "adf-dynamic-column", inputs: ["id", "context"] }, { kind: "component", type: DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "filters", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems", "columnsPresetKey", "setColumnsVisibility", "setColumnsWidths", "setColumnsOrder", "maxColumnsVisible", "isResizingEnabled", "blurOnResize", "displayCheckboxesOnHover", "displayDragAndDropHint", "isDataProvidedExternally"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection", "columnsWidthChanged", "columnsVisibilityChanged", "columnsOrderChanged", "selectedItemsCountChanged"] }, { kind: "component", type: DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "resizable", "isHidden", "title", "subtitle", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey", "order", "currencyConfig", "decimalConfig", "dateConfig"] }, { kind: "directive", type: CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }], encapsulation: i0.ViewEncapsulation.None });
8387
8488
  }
8388
8489
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchLibrariesResultsComponent, decorators: [{
8389
8490
  type: Component,
@@ -8404,8 +8505,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
8404
8505
  DataColumnListComponent,
8405
8506
  DataColumnComponent,
8406
8507
  CustomEmptyContentTemplateDirective
8407
- ], selector: 'aca-search-results', encapsulation: ViewEncapsulation.None, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <aca-search-input />\n <div class=\"aca-search-toolbar-spacer\"></div>\n <aca-toolbar [items]=\"actions\" />\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" />\n <div class=\"adf-search-results__content-header aca-content-lib\" *ngIf=\"data?.list.entries.length\">\n <div class=\"aca-content__side--left\">\n <div class=\"adf-search-results--info-text\" *ngIf=\"totalResults !== 1\">\n {{ 'APP.BROWSE.SEARCH_LIBRARIES.FOUND_RESULTS' | translate: { number: totalResults } }}\n </div>\n <div class=\"adf-search-results--info-text\" *ngIf=\"totalResults === 1\">\n {{ 'APP.BROWSE.SEARCH_LIBRARIES.FOUND_ONE_RESULT' | translate: { number: totalResults } }}\n </div>\n </div>\n </div>\n\n <adf-document-list\n #documentList\n acaContextActions\n acaDocumentList\n [showHeader]=\"showHeader\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [sorting]=\"['name', 'asc']\"\n [node]=\"data\"\n [displayCheckboxesOnHover]=\"true\"\n [imageResolver]=\"imageResolver\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"totalResults > 0\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\" />\n </div>\n </div>\n </div>\n <div class=\"aca-sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.last\" />\n </div>\n </div>\n</aca-page-layout>\n", styles: ["aca-search-results .aca-search-toolbar-spacer{width:100%}aca-search-results .adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}aca-search-results .adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-bottom:1px solid var(--theme-border-color);border-top:1px solid var(--theme-border-color)}aca-search-results .adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}aca-search-results .adf-search-results .aca-content-lib{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden;flex:unset;height:unset;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;background-color:var(--theme-card-background-color)}aca-search-results .adf-search-results .aca-content-lib__side--left{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;height:unset}\n"] }]
8408
- }], ctorParameters: () => [{ type: SearchLibrariesQueryBuilderService }, { type: i1$4.ActivatedRoute }, { type: i1$1.AppHookService }, { type: i1$1.AppService }] });
8508
+ ], selector: 'aca-search-results', encapsulation: ViewEncapsulation.None, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <aca-search-input />\n <aca-toolbar class=\"aca-search-results__toolbar-actions\" [items]=\"actions\" />\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" />\n <div class=\"adf-search-results__content-header aca-content-lib\" *ngIf=\"data?.list.entries.length\">\n <div class=\"aca-content__side--left\">\n <div class=\"adf-search-results--info-text\" *ngIf=\"totalResults !== 1\">\n {{ 'APP.BROWSE.SEARCH_LIBRARIES.FOUND_RESULTS' | translate: { number: totalResults } }}\n </div>\n <div class=\"adf-search-results--info-text\" *ngIf=\"totalResults === 1\">\n {{ 'APP.BROWSE.SEARCH_LIBRARIES.FOUND_ONE_RESULT' | translate: { number: totalResults } }}\n </div>\n </div>\n </div>\n\n <adf-document-list\n #documentList\n acaContextActions\n acaDocumentList\n [showHeader]=\"showHeader\"\n [selectionMode]=\"'multiple'\"\n [multiselect]=\"true\"\n [sorting]=\"['name', 'asc']\"\n [node]=\"data\"\n [displayCheckboxesOnHover]=\"true\"\n [imageResolver]=\"imageResolver\"\n [isResizingEnabled]=\"true\"\n [blurOnResize]=\"false\"\n (node-dblclick)=\"handleNodeClick($event)\"\n (name-click)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByColumnId\">\n <ng-container *ngIf=\"column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n >\n <ng-template let-context>\n <adf-dynamic-column [id]=\"column.template\" [context]=\"context\" />\n </ng-template>\n </data-column>\n </ng-container>\n\n <ng-container *ngIf=\"!column.template && !(column.desktopOnly && isSmallScreen)\">\n <data-column\n [id]=\"column.id\"\n [key]=\"column.key\"\n [title]=\"column.title\"\n [type]=\"column.type\"\n [format]=\"column.format\"\n [class]=\"column.class\"\n [sortable]=\"column.sortable\"\n [draggable]=\"column.draggable\"\n [resizable]=\"column.resizable\"\n />\n </ng-container>\n </ng-container>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"totalResults > 0\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\" />\n </div>\n </div>\n </div>\n <div class=\"aca-sidebar\" *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.last\" />\n </div>\n </div>\n</aca-page-layout>\n", styles: ["aca-search-results .aca-search-results__toolbar-actions{margin-left:8px}aca-search-results .adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}aca-search-results .adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid var(--theme-border-color)}aca-search-results .adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-bottom:1px solid var(--theme-border-color);border-top:1px solid var(--theme-border-color)}aca-search-results .adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}aca-search-results .adf-search-results .aca-content-lib{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden;flex:unset;height:unset;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;background-color:var(--theme-card-background-color)}aca-search-results .adf-search-results .aca-content-lib__side--left{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;height:unset}\n"] }]
8509
+ }], ctorParameters: () => [{ type: SearchLibrariesQueryBuilderService }, { type: i1$4.ActivatedRoute }, { type: i1$1.AppHookService }] });
8409
8510
 
8410
8511
  /*!
8411
8512
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -8741,7 +8842,7 @@ class DetailsComponent extends PageComponent {
8741
8842
  return nodeAspects.includes('smf:customConfigSmartFolder') || nodeAspects.includes('smf:systemConfigSmartFolder');
8742
8843
  }
8743
8844
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DetailsComponent, deps: [{ token: i1$4.ActivatedRoute }, { token: i1$1.ContentApiService }, { token: i1.ContentService }, { token: i1.NodesApiService }, { token: i1$1.AppHookService }, { token: i1$3.Location }], target: i0.ɵɵFactoryTarget.Component });
8744
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: DetailsComponent, isStandalone: true, selector: "app-details-manager", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <adf-breadcrumb [root]=\"title\" [folderNode]=\"node\" (navigate)=\"onBreadcrumbNavigate($event)\" />\n <aca-toolbar [items]=\"actions\" />\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-details-container\">\n <div class=\"aca-details-title\">\n <div class=\"aca-details-breadcrumb\" role=\"heading\" aria-level=\"2\" *ngIf=\"node\">\n <span class=\"aca-details-breadcrumb-library\">\n <img class=\"aca-details-breadcrumb-icon\" alt=\"{{ 'APP.INFO_DRAWER.ICON' | translate }}\" src=\"{{ nodeIcon }}\">\n {{ node.name }} </span>\n </div>\n <div class=\"aca-details-buttons\">\n <aca-toolbar [items]=\"aspectActions\" info-drawer-buttons />\n <button\n class=\"aca-close-details-button\"\n mat-icon-button\n data-automation-id=\"close-library\"\n title=\"{{ 'APP.INFO_DRAWER.REDUCE_PANEL' | translate }}\"\n (click)=\"goBack()\">\n <mat-icon>fullscreen_exit</mat-icon>\n </button>\n </div>\n </div>\n\n <mat-tab-group [selectedIndex]=\"activeTab\" class=\"aca-details-tabs\" animationDuration=\"0\" mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab label=\"{{ 'APP.INFO_DRAWER.TABS.PROPERTIES' | translate }}\">\n <ng-template matTabContent>\n <app-metadata-tab *ngIf=\"node && !isLoading; else loading\" [node]=\"node\" />\n </ng-template>\n </mat-tab>\n <mat-tab label=\"{{ 'APP.INFO_DRAWER.TABS.COMMENTS' | translate }}\">\n <ng-template matTabContent>\n <app-comments-tab *ngIf=\"node && !isLoading; else loading\" [node]=\"node\" />\n </ng-template>\n </mat-tab>\n <mat-tab [disabled]=\"!canManagePermissions\" label=\"{{ 'APP.INFO_DRAWER.TABS.PERMISSIONS' | translate }}\">\n <ng-template matTabContent>\n <adf-permission-list *ngIf=\"node && !isLoading; else loading\" [nodeId]=\"node.id\" />\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n</aca-page-layout>\n\n<ng-template #loading>\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" />\n</ng-template>\n", styles: ["app-details-manager .aca-details-buttons{display:flex}app-details-manager .aca-details-buttons .aca-close-details-button{display:flex;margin-right:15px;margin-top:12px;outline:none;border-radius:4px}app-details-manager .aca-details-buttons .aca-close-details-button:focus{background-color:var(--theme-selected-background-color);outline:2px solid var(--theme-blue-button-color);border-radius:4px}.aca-details-container{background-color:var(--theme-card-background-color);width:100%}.aca-details-tabs{margin-top:40px;height:calc(100% - 136px)}.aca-details-tabs>div{height:100%}.aca-details-tabs div[role=tab]{padding:0 12px;min-width:95px;letter-spacing:.25px;height:32px}.aca-details-tabs div[role=tab]:first-of-type{margin-left:50px}.aca-details-title{width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--theme-metadata-property-panel-title-color);text-overflow:ellipsis;white-space:normal}.aca-details-breadcrumb{font-size:18px;margin-left:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.aca-details-breadcrumb-library{font-weight:900}.aca-details-breadcrumb-icon{display:inline-block;vertical-align:text-bottom}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i6$6.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i6$6.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i6$6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i6$5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MetadataTabComponent, selector: "app-metadata-tab", inputs: ["node"] }, { kind: "component", type: CommentsTabComponent, selector: "app-comments-tab", inputs: ["node"] }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "directive", type: InfoDrawerButtonsDirective, selector: "[adf-info-drawer-buttons], [info-drawer-buttons]" }, { kind: "component", type: PermissionListComponent, selector: "adf-permission-list", inputs: ["nodeId"], outputs: ["update", "error"] }, { kind: "component", type: BreadcrumbComponent, selector: "adf-breadcrumb", inputs: ["folderNode", "root", "rootId", "target", "transform", "maxItems", "selectedRowItemsCount", "readOnly"], outputs: ["navigate"] }], encapsulation: i0.ViewEncapsulation.None });
8845
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: DetailsComponent, isStandalone: true, selector: "app-details-manager", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <adf-breadcrumb [root]=\"title\" [folderNode]=\"node\" (navigate)=\"onBreadcrumbNavigate($event)\" />\n <aca-toolbar [items]=\"actions\" />\n </div>\n\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-details-container\">\n <div class=\"aca-details-title\">\n <div class=\"aca-details-breadcrumb\" role=\"heading\" aria-level=\"2\" *ngIf=\"node\">\n <span class=\"aca-details-breadcrumb-library\">\n <img class=\"aca-details-breadcrumb-icon\" alt=\"{{ 'APP.INFO_DRAWER.ICON' | translate }}\" src=\"{{ nodeIcon }}\">\n {{ node.name }} </span>\n </div>\n <div class=\"aca-details-buttons\">\n <aca-toolbar [items]=\"aspectActions\" info-drawer-buttons />\n <button\n class=\"aca-close-details-button\"\n mat-icon-button\n data-automation-id=\"close-library\"\n title=\"{{ 'APP.INFO_DRAWER.REDUCE_PANEL' | translate }}\"\n (click)=\"goBack()\">\n <mat-icon>fullscreen_exit</mat-icon>\n </button>\n </div>\n </div>\n\n <mat-tab-group [selectedIndex]=\"activeTab\" class=\"aca-details-tabs\" animationDuration=\"0\" mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab label=\"{{ 'APP.INFO_DRAWER.TABS.PROPERTIES' | translate }}\">\n <ng-template matTabContent>\n <app-metadata-tab *ngIf=\"node && !isLoading; else loading\" [node]=\"node\" />\n </ng-template>\n </mat-tab>\n <mat-tab label=\"{{ 'APP.INFO_DRAWER.TABS.COMMENTS' | translate }}\">\n <ng-template matTabContent>\n <app-comments-tab *ngIf=\"node && !isLoading; else loading\" [node]=\"node\" />\n </ng-template>\n </mat-tab>\n <mat-tab [disabled]=\"!canManagePermissions\" label=\"{{ 'APP.INFO_DRAWER.TABS.PERMISSIONS' | translate }}\">\n <ng-template matTabContent>\n <adf-permission-list *ngIf=\"node && !isLoading; else loading\" [nodeId]=\"node.id\" />\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n</aca-page-layout>\n\n<ng-template #loading>\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" />\n</ng-template>\n", styles: ["app-details-manager .aca-details-buttons{display:flex}app-details-manager .aca-details-buttons .aca-close-details-button{display:flex;margin-right:15px;margin-top:12px;outline:none;border-radius:4px}app-details-manager .aca-details-buttons .aca-close-details-button:focus{background-color:var(--theme-selected-background-color);outline:2px solid var(--theme-blue-button-color);border-radius:4px}.aca-details-container{background-color:var(--theme-card-background-color);width:100%}.aca-details-tabs{margin-top:40px;height:calc(100% - 136px)}.aca-details-tabs>div{height:100%}.aca-details-tabs div[role=tab]{padding:0 12px;min-width:95px;letter-spacing:.25px;height:32px}.aca-details-tabs div[role=tab]:first-of-type{margin-left:50px}.aca-details-title{width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--theme-metadata-property-panel-title-color);text-overflow:ellipsis;white-space:normal}.aca-details-breadcrumb{font-size:18px;margin-left:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.aca-details-breadcrumb-library{font-weight:900}.aca-details-breadcrumb-icon{display:inline-block;vertical-align:text-bottom}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i6$6.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i6$6.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i6$6.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i6$5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MetadataTabComponent, selector: "app-metadata-tab", inputs: ["node"] }, { kind: "component", type: CommentsTabComponent, selector: "app-comments-tab", inputs: ["node"] }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "directive", type: InfoDrawerButtonsDirective, selector: "[adf-info-drawer-buttons], [info-drawer-buttons]" }, { kind: "component", type: PermissionListComponent, selector: "adf-permission-list", inputs: ["nodeId"], outputs: ["update", "error"] }, { kind: "component", type: BreadcrumbComponent, selector: "adf-breadcrumb", inputs: ["folderNode", "root", "rootId", "target", "transform", "maxItems", "selectedRowItemsCount", "readOnly"], outputs: ["navigate"] }], encapsulation: i0.ViewEncapsulation.None });
8745
8846
  }
8746
8847
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: DetailsComponent, decorators: [{
8747
8848
  type: Component,
@@ -8964,7 +9065,7 @@ class ViewProfileComponent {
8964
9065
  return this.profileForm.invalid;
8965
9066
  }
8966
9067
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ViewProfileComponent, deps: [{ token: i1$4.Router }, { token: i1.AlfrescoApiService }, { token: i1$1.AppService }, { token: i1$1.AppExtensionService }], target: i0.ɵɵFactoryTarget.Component });
8967
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: ViewProfileComponent, isStandalone: true, selector: "app-view-profile", ngImport: i0, template: "<div class=\"app-profile-container\">\n <div class=\"app-profile-row\">\n <div class=\"app-profile-title\">\n @if ((appNavNarMode$ | async) === 'collapsed') {\n <button\n mat-icon-button\n (click)=\"toggleNavigationMenu()\"\n [attr.title]=\"'APP.TOOLTIPS.EXPAND_NAVIGATION' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.EXPAND_NAVIGATION' | translate\">\n <mat-icon>menu</mat-icon>\n </button>\n }\n <button\n class=\"app-profile-icon\"\n mat-icon-button\n (click)=\"navigateToPersonalFiles()\"\n [attr.aria-label]=\"'APP.EDIT_PROFILE.GO_TO_PERSONAL_FILES_BUTTON_LABEL' | translate\"\n [attr.title]=\"'APP.EDIT_PROFILE.GO_TO_PERSONAL_FILES_BUTTON_LABEL' | translate\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <h2 class=\"app-profile\">{{'APP.EDIT_PROFILE.MY_PROFILE' | translate}}</h2>\n </div>\n </div>\n <div class=\"app-profile-general-row\" [formGroup]=\"profileForm\" id=\"general-dropdown\">\n <div class=\"app-profile-general\">\n <div class=\"app-profile-general-section\">\n <button\n mat-icon-button\n (click)=\"toggleGeneralSection()\"\n [attr.title]=\"generalSectionButtonTooltip | translate\"\n [attr.aria-label]=\"generalSectionButtonTooltip | translate\">\n <mat-icon>{{ generalSectionExpanded ? 'expand_more' : 'chevron_right'}}</mat-icon>\n </button>\n <h3 class=\"app-general-title\">{{'APP.EDIT_PROFILE.GENERAL' | translate}}</h3>\n </div>\n @if (!generalSectionEditMode) {\n <button\n mat-icon-button\n (click)=\"toggleGeneralSectionEditMode()\"\n class=\"app-general-edit\"\n [attr.title]=\"'APP.TOOLTIPS.EDIT' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.EDIT' | translate\">\n <mat-icon>edit</mat-icon>\n </button>\n } @else {\n <button\n mat-icon-button\n class=\"app-general-cancel-btn\"\n [attr.title]=\"'APP.TOOLTIPS.CANCEL' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.CANCEL' | translate\"\n (click)=\"toggleGeneralSectionEditMode()\">\n <mat-icon>close</mat-icon>\n </button>\n <button\n mat-icon-button\n color=\"primary\"\n [attr.title]=\"'APP.TOOLTIPS.SAVE' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.SAVE' | translate\"\n [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveGeneralData(profileForm)\">\n <mat-icon>check</mat-icon>\n </button>\n }\n </div>\n @if (generalSectionExpanded) {\n <mat-divider class=\"app-divider\" aria-hidden=\"true\" />\n <div class=\"app-general-dropdown\">\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.FIRST_NAME' | translate }}</mat-label>\n <input\n matInput\n readonly\n placeholder=\"{{ 'APP.EDIT_PROFILE.FIRST_NAME' | translate }}\"\n formControlName=\"firstName\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.LAST_NAME' | translate }}</mat-label>\n <input\n matInput\n readonly\n placeholder=\"{{ 'APP.EDIT_PROFILE.LAST_NAME' | translate }}\"\n formControlName=\"lastName\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.JOB_TITLE' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!generalSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.JOB_TITLE' | translate }}\"\n formControlName=\"jobTitle\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.LOCATION' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!generalSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.LOCATION' | translate }}\"\n formControlName=\"location\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.TELEPHONE' | translate }}</mat-label>\n <input\n matInput\n [type]=\"'tel'\"\n [readonly]=\"!generalSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.TELEPHONE' | translate }}\"\n formControlName=\"telephone\"\n />\n <mat-error>\n {{ 'APP.EDIT_PROFILE.INVALID_PHONE_FORMAT' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.MOBILE' | translate }}</mat-label>\n <input\n matInput\n [type]=\"'tel'\"\n [readonly]=\"!generalSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.MOBILE' | translate }}\"\n formControlName=\"mobile\"\n />\n <mat-error>\n {{ 'APP.EDIT_PROFILE.INVALID_PHONE_FORMAT' | translate }}\n </mat-error>\n </mat-form-field>\n </div>\n }\n </div>\n\n <div class=\"app-profile-contact-row\" [formGroup]=\"profileForm\" id=\"contact-dropdown\">\n <div class=\"app-profile-general profile-general-bottom-radius\">\n <div class=\"app-profile-general-section\">\n <button\n mat-icon-button\n (click)=\"toggleContactSection()\"\n [attr.title]=\"contactSectionButtonTooltip | translate\"\n [attr.aria-label]=\"contactSectionButtonTooltip | translate\">\n <mat-icon>{{ contactSectionExpanded ? 'expand_more' : 'chevron_right'}}</mat-icon>\n </button>\n <h3 class=\"app-general-title\">{{'APP.EDIT_PROFILE.COMPANY_DETAILS' | translate}}</h3>\n </div>\n @if (!contactSectionEditMode) {\n <button\n mat-icon-button\n (click)=\"toggleContactSectionEditMode()\"\n class=\"app-general-edit\"\n [attr.title]=\"'APP.TOOLTIPS.EDIT' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.EDIT' | translate\">\n <mat-icon>edit</mat-icon>\n </button>\n } @else {\n <button\n mat-icon-button\n class=\"app-general-cancel-btn\"\n [attr.title]=\"'APP.TOOLTIPS.CANCEL' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.CANCEL' | translate\"\n (click)=\"toggleContactSectionEditMode()\">\n <mat-icon>close</mat-icon>\n </button>\n <button\n mat-icon-button\n color=\"primary\"\n [attr.title]=\"'APP.TOOLTIPS.SAVE' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.SAVE' | translate\"\n [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveCompanyData(profileForm)\">\n <mat-icon>check</mat-icon>\n </button>\n }\n </div>\n @if (contactSectionExpanded) {\n <mat-divider class=\"app-divider\" aria-hidden=\"true\" />\n <div class=\"app-general-dropdown\">\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.NAME' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!contactSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.NAME' | translate }}\"\n formControlName=\"companyName\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.ADDRESS' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!contactSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.ADDRESS' | translate }}\"\n formControlName=\"companyAddress\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.POSTCODE' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!contactSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.POSTCODE' | translate }}\"\n formControlName=\"companyPostCode\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.TELEPHONE' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!contactSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.TELEPHONE' | translate }}\"\n formControlName=\"companyTelephone\"\n />\n <mat-error>\n {{ 'APP.EDIT_PROFILE.INVALID_PHONE_FORMAT' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.EMAIL' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!contactSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.EMAIL' | translate }}\"\n formControlName=\"companyEmail\"\n />\n <mat-error>\n {{ 'APP.EDIT_PROFILE.INVALID_EMAIL_FORMAT' | translate }}\n </mat-error>\n </mat-form-field>\n </div>\n }\n </div>\n @for (section of sections; track $index) {\n <adf-dynamic-component [id]=\"section.component\"/>\n }\n</div>\n", styles: ["app-view-profile{letter-spacing:.5px}app-view-profile .app-profile-container{overflow:scroll;height:100%;width:100%}app-view-profile .app-profile-row{width:100%;height:32px;padding:32px 0;border-bottom:1px solid var(--theme-about-panel-border-color)}app-view-profile .app-profile-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}app-view-profile .app-profile-title .app-profile-icon{margin-right:1rem;cursor:pointer;width:24px;height:24px;padding:0}app-view-profile .app-profile{cursor:pointer;margin-bottom:1em;font-size:1.17em}app-view-profile .app-profile-general-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-general{display:flex;align-items:center;width:100%}app-view-profile .app-profile-general .app-general-edit{color:var(--adf-theme-foreground-text-color-064)}app-view-profile .app-profile-general .app-general-cancel-btn{color:var(--adf-metadata-action-button-clear-color)}app-view-profile .app-profile-general-bottom-radius{border-bottom-left-radius:0;border-bottom-right-radius:0}app-view-profile .app-profile-general-section{display:flex;align-items:center;width:100%}app-view-profile .app-profile-general-section .app-general-title{font-size:unset;margin-bottom:1.33em;margin-top:1.33em}app-view-profile .app-divider{border-top-width:1px;border-top-color:var(--theme-grey-background-color);padding-left:-1px;padding-right:1px}app-view-profile .app-general-dropdown{display:flex;flex-direction:column;padding:21.5px 1rem 0}app-view-profile .app-general-dropdown .app-form-field{margin-bottom:15px}app-view-profile .app-profile-contact-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
9068
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: ViewProfileComponent, isStandalone: true, selector: "app-view-profile", ngImport: i0, template: "<div class=\"app-profile-container\">\n <div class=\"app-profile-row\">\n <div class=\"app-profile-title\">\n @if ((appNavNarMode$ | async) === 'collapsed') {\n <button\n mat-icon-button\n (click)=\"toggleNavigationMenu()\"\n [attr.title]=\"'APP.TOOLTIPS.EXPAND_NAVIGATION' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.EXPAND_NAVIGATION' | translate\">\n <mat-icon>menu</mat-icon>\n </button>\n }\n <button\n class=\"app-profile-icon\"\n mat-icon-button\n (click)=\"navigateToPersonalFiles()\"\n [attr.aria-label]=\"'APP.EDIT_PROFILE.GO_TO_PERSONAL_FILES_BUTTON_LABEL' | translate\"\n [attr.title]=\"'APP.EDIT_PROFILE.GO_TO_PERSONAL_FILES_BUTTON_LABEL' | translate\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <h2 class=\"app-profile\">{{'APP.EDIT_PROFILE.MY_PROFILE' | translate}}</h2>\n </div>\n </div>\n <div class=\"app-profile-general-row\" [formGroup]=\"profileForm\" id=\"general-dropdown\">\n <div class=\"app-profile-general\">\n <div class=\"app-profile-general-section\">\n <button\n mat-icon-button\n (click)=\"toggleGeneralSection()\"\n [attr.title]=\"generalSectionButtonTooltip | translate\"\n [attr.aria-label]=\"generalSectionButtonTooltip | translate\">\n <mat-icon>{{ generalSectionExpanded ? 'expand_more' : 'chevron_right'}}</mat-icon>\n </button>\n <h3 class=\"app-general-title\">{{'APP.EDIT_PROFILE.GENERAL' | translate}}</h3>\n </div>\n @if (!generalSectionEditMode) {\n <button\n mat-icon-button\n (click)=\"toggleGeneralSectionEditMode()\"\n class=\"app-general-edit\"\n [attr.title]=\"'APP.TOOLTIPS.EDIT' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.EDIT' | translate\">\n <mat-icon>edit</mat-icon>\n </button>\n } @else {\n <button\n mat-icon-button\n class=\"app-general-cancel-btn\"\n [attr.title]=\"'APP.TOOLTIPS.CANCEL' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.CANCEL' | translate\"\n (click)=\"toggleGeneralSectionEditMode()\">\n <mat-icon>close</mat-icon>\n </button>\n <button\n mat-icon-button\n color=\"primary\"\n [attr.title]=\"'APP.TOOLTIPS.SAVE' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.SAVE' | translate\"\n [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveGeneralData(profileForm)\">\n <mat-icon>check</mat-icon>\n </button>\n }\n </div>\n @if (generalSectionExpanded) {\n <mat-divider class=\"app-divider\" aria-hidden=\"true\" />\n <div class=\"app-general-dropdown\">\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.FIRST_NAME' | translate }}</mat-label>\n <input\n matInput\n readonly\n placeholder=\"{{ 'APP.EDIT_PROFILE.FIRST_NAME' | translate }}\"\n formControlName=\"firstName\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.LAST_NAME' | translate }}</mat-label>\n <input\n matInput\n readonly\n placeholder=\"{{ 'APP.EDIT_PROFILE.LAST_NAME' | translate }}\"\n formControlName=\"lastName\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.JOB_TITLE' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!generalSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.JOB_TITLE' | translate }}\"\n formControlName=\"jobTitle\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.LOCATION' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!generalSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.LOCATION' | translate }}\"\n formControlName=\"location\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.TELEPHONE' | translate }}</mat-label>\n <input\n matInput\n [type]=\"'tel'\"\n [readonly]=\"!generalSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.TELEPHONE' | translate }}\"\n formControlName=\"telephone\"\n />\n <mat-error>\n {{ 'APP.EDIT_PROFILE.INVALID_PHONE_FORMAT' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.MOBILE' | translate }}</mat-label>\n <input\n matInput\n [type]=\"'tel'\"\n [readonly]=\"!generalSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.MOBILE' | translate }}\"\n formControlName=\"mobile\"\n />\n <mat-error>\n {{ 'APP.EDIT_PROFILE.INVALID_PHONE_FORMAT' | translate }}\n </mat-error>\n </mat-form-field>\n </div>\n }\n </div>\n\n <div class=\"app-profile-contact-row\" [formGroup]=\"profileForm\" id=\"contact-dropdown\">\n <div class=\"app-profile-general profile-general-bottom-radius\">\n <div class=\"app-profile-general-section\">\n <button\n mat-icon-button\n (click)=\"toggleContactSection()\"\n [attr.title]=\"contactSectionButtonTooltip | translate\"\n [attr.aria-label]=\"contactSectionButtonTooltip | translate\">\n <mat-icon>{{ contactSectionExpanded ? 'expand_more' : 'chevron_right'}}</mat-icon>\n </button>\n <h3 class=\"app-general-title\">{{'APP.EDIT_PROFILE.COMPANY_DETAILS' | translate}}</h3>\n </div>\n @if (!contactSectionEditMode) {\n <button\n mat-icon-button\n (click)=\"toggleContactSectionEditMode()\"\n class=\"app-general-edit\"\n [attr.title]=\"'APP.TOOLTIPS.EDIT' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.EDIT' | translate\">\n <mat-icon>edit</mat-icon>\n </button>\n } @else {\n <button\n mat-icon-button\n class=\"app-general-cancel-btn\"\n [attr.title]=\"'APP.TOOLTIPS.CANCEL' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.CANCEL' | translate\"\n (click)=\"toggleContactSectionEditMode()\">\n <mat-icon>close</mat-icon>\n </button>\n <button\n mat-icon-button\n color=\"primary\"\n [attr.title]=\"'APP.TOOLTIPS.SAVE' | translate\"\n [attr.aria-label]=\"'APP.TOOLTIPS.SAVE' | translate\"\n [disabled]=\"profileForm.invalid\"\n (click)=\"onSaveCompanyData(profileForm)\">\n <mat-icon>check</mat-icon>\n </button>\n }\n </div>\n @if (contactSectionExpanded) {\n <mat-divider class=\"app-divider\" aria-hidden=\"true\" />\n <div class=\"app-general-dropdown\">\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.NAME' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!contactSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.NAME' | translate }}\"\n formControlName=\"companyName\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.ADDRESS' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!contactSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.ADDRESS' | translate }}\"\n formControlName=\"companyAddress\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.POSTCODE' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!contactSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.POSTCODE' | translate }}\"\n formControlName=\"companyPostCode\"\n />\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.TELEPHONE' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!contactSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.TELEPHONE' | translate }}\"\n formControlName=\"companyTelephone\"\n />\n <mat-error>\n {{ 'APP.EDIT_PROFILE.INVALID_PHONE_FORMAT' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"app-form-field\">\n <mat-label>{{ 'APP.EDIT_PROFILE.EMAIL' | translate }}</mat-label>\n <input\n matInput\n [readonly]=\"!contactSectionEditMode\"\n placeholder=\"{{ 'APP.EDIT_PROFILE.EMAIL' | translate }}\"\n formControlName=\"companyEmail\"\n />\n <mat-error>\n {{ 'APP.EDIT_PROFILE.INVALID_EMAIL_FORMAT' | translate }}\n </mat-error>\n </mat-form-field>\n </div>\n }\n </div>\n @for (section of sections; track $index) {\n <adf-dynamic-component [id]=\"section.component\"/>\n }\n</div>\n", styles: ["app-view-profile{letter-spacing:.5px}app-view-profile .app-profile-container{overflow:scroll;height:100%;width:100%}app-view-profile .app-profile-row{width:100%;height:32px;padding:32px 0;border-bottom:1px solid var(--theme-about-panel-border-color)}app-view-profile .app-profile-title{display:flex;flex-direction:row;align-items:center;height:32px;padding:0 24px}app-view-profile .app-profile-title .app-profile-icon{margin-right:1rem;cursor:pointer;width:24px;height:24px;padding:0}app-view-profile .app-profile{cursor:pointer;margin-bottom:1em;font-size:1.17em}app-view-profile .app-profile-general-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}app-view-profile .app-profile-general{display:flex;align-items:center;width:100%}app-view-profile .app-profile-general .app-general-edit{color:var(--adf-theme-foreground-text-color-064)}app-view-profile .app-profile-general .app-general-cancel-btn{color:var(--adf-metadata-action-button-clear-color)}app-view-profile .app-profile-general-bottom-radius{border-bottom-left-radius:0;border-bottom-right-radius:0}app-view-profile .app-profile-general-section{display:flex;align-items:center;width:100%}app-view-profile .app-profile-general-section .app-general-title{font-size:unset;margin-bottom:1.33em;margin-top:1.33em}app-view-profile .app-divider{border-top-width:1px;border-top-color:var(--theme-grey-background-color);padding-left:-1px;padding-right:1px}app-view-profile .app-general-dropdown{display:flex;flex-direction:column;padding:21.5px 1rem 0}app-view-profile .app-general-dropdown .app-form-field{margin-bottom:15px}app-view-profile .app-profile-contact-row{margin:2rem 0 0 2rem;width:70%;border:1px solid var(--theme-grey-background-color);border-radius:1rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
8968
9069
  }
8969
9070
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ViewProfileComponent, decorators: [{
8970
9071
  type: Component,
@@ -9390,7 +9491,7 @@ class SearchAiResultsComponent extends PageComponent {
9390
9491
  this.viewerService.customNodesOrder = nodesIds;
9391
9492
  this.userPreferencesService.set('aiReferences', JSON.stringify(nodesIds));
9392
9493
  }
9393
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchAiResultsComponent, deps: [{ token: i1$4.ActivatedRoute }, { token: i2.ClipboardService }, { token: i2.ThumbnailService }, { token: i4$3.TranslateService }, { token: i2.UnsavedChangesGuard }, { token: ModalAiService }, { token: i5$1.ViewerService }, { token: i0.ElementRef }, { token: i1$1.ContentApiService }], target: i0.ɵɵFactoryTarget.Component });
9494
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchAiResultsComponent, deps: [{ token: i1$4.ActivatedRoute }, { token: i2.ClipboardService }, { token: i2.ThumbnailService }, { token: i4$3.TranslateService }, { token: i2.UnsavedChangesGuard }, { token: ModalAiService }, { token: i5$2.ViewerService }, { token: i0.ElementRef }, { token: i1$1.ContentApiService }], target: i0.ɵɵFactoryTarget.Component });
9394
9495
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: SearchAiResultsComponent, isStandalone: true, selector: "aca-search-ai-results", host: { classAttribute: "aca-search-ai-results" }, providers: [
9395
9496
  provideMarkdown({
9396
9497
  markedOptions: {
@@ -9398,7 +9499,7 @@ class SearchAiResultsComponent extends PageComponent {
9398
9499
  useValue: searchAiMarkedOptions
9399
9500
  }
9400
9501
  })
9401
- ], usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n @if (!hasError && agentId) {\n <aca-search-ai-input-container\n class=\"aca-page-layout-header\"\n placeholder=\"KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.QUERY_INPUT_PLACEHOLDER\"\n [agentId]=\"agentId\"\n [usedInAiResultsPage]=\"true\" />\n }\n\n @if (!hasError) {\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-search-ai-results-container\">\n <div\n class=\"aca-search-ai-results-container-query\"\n data-automation-id=\"aca-search-ai-results-query\">\n {{ searchQuery }}\n </div>\n <div\n class=\"aca-search-ai-response-container\"\n [class.aca-search-ai-response-container-error]=\"hasAnsweringError\">\n @if (!loading) {\n @if (!hasAnsweringError) {\n <div class=\"aca-search-ai-response-container-body\">\n <markdown\n class=\"aca-search-ai-response-container-body-response\"\n data-automation-id=\"aca-search-ai-results-response\"\n [data]=\"displayedAnswer\"\n (ready)=\"addSourceCodeTooltips()\"\n mermaid\n katex />\n <button\n class=\"aca-search-ai-response-container-body-response-action aca-search-ai-response-container-body-response-action-regeneration\"\n mat-icon-button\n (click)=\"checkUnsavedChangesAndSearch()\"\n data-automation-id=\"aca-search-ai-results-regeneration-button\"\n [title]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REGENERATION_BUTTON_LABEL' | translate\">\n <mat-icon>cached</mat-icon>\n </button>\n <button\n class=\"aca-search-ai-response-container-body-response-action\"\n mat-icon-button\n (click)=\"copyResponseToClipboard()\"\n data-automation-id=\"aca-search-ai-results-copying-button\"\n [title]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.COPY_BUTTON_LABEL' | translate\">\n <mat-icon>copy</mat-icon>\n </button>\n\n @if (references$ | async; as refs) {\n @if (refs?.length || hasReferencesLoadingError) {\n <mat-divider\n class=\"aca-search-ai-response-container-body-divider\"\n [class.aca-search-ai-response-container-body-divider-error]=\"hasReferencesLoadingError\"\n aria-hidden=\"true\"\n />\n <div class=\"aca-search-ai-response-container-body-references-container\">\n <p class=\"aca-search-ai-response-container-body-references-container-header\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REFERENCED_DOCUMENTS_HEADER' | translate }}\n </p>\n\n @if (hasReferencesLoadingError) {\n <div class=\"aca-search-ai-response-container-body-references-container-loading-error\" role=\"alert\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.REFERENCES_LOADING_ERROR' | translate }}\n <button\n mat-flat-button\n (click)=\"loadReferences()\"\n [attr.aria-label]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.RELOAD_REFERENCES_BUTTON_LABEL' | translate\"\n class=\"aca-search-ai-response-container-error-message-regeneration-button\"\n data-automation-id=\"aca-search-ai-response-container-body-references-container-retry-references-loading-button\">\n <mat-icon class=\"aca-search-ai-response-container-error-message-regeneration-button-icon\">cached</mat-icon>\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.RELOAD_REFERENCES_BUTTON_LABEL' | translate }}\n </button>\n </div>\n } @else {\n <div class=\"aca-search-ai-response-container-body-references-container-documents\">\n @for (node of refs; track node.id) {\n <a\n class=\"aca-search-ai-response-container-body-references-container-documents-document\"\n [attr.data-automation-id]=\"'aca-search-ai-results-' + node.id + '-document'\"\n role=\"link\"\n (click)=\"openFile(node.id)\"\n (keyup.enter)=\"openFile(node.id)\"\n tabindex=\"0\">\n <mat-icon\n mat-list-icon\n class=\"aca-search-ai-response-container-body-references-container-documents-document-icon\">\n <img [alt]=\"node.content?.mimeType\" [src]=\"mimeTypeIconsByNodeId[node.id]\" />\n </mat-icon>\n <div class=\"aca-search-ai-response-container-body-references-container-documents-document-name\">\n {{ node.name }}\n </div>\n </a>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n } @else {\n <div class=\"aca-search-ai-response-container-error-message\" role=\"alert\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.LOADING_ERROR' | translate }}\n <button\n mat-flat-button\n (click)=\"performAiSearch()\"\n class=\"aca-search-ai-response-container-error-message-regeneration-button\"\n data-automation-id=\"aca-search-ai-results-error-regeneration-button\">\n <mat-icon class=\"aca-search-ai-response-container-error-message-regeneration-button-icon\">cached</mat-icon>\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REGENERATION_BUTTON_LABEL' | translate }}\n </button>\n </div>\n }\n } @else {\n <div class=\"adf-skeleton\"></div>\n <div class=\"adf-skeleton\"></div>\n <div class=\"adf-skeleton adf-skeleton-half\"></div>\n }\n </div>\n </div>\n </div>\n } @else {\n <adf-empty-content\n class=\"aca-page-layout-content\"\n icon=\"star\"\n title=\"KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.PAGE_NOT_AVAILABLE_ERROR\" />\n }\n</aca-page-layout>\n", styles: [".aca-search-ai-results aca-page-layout .aca-page-layout-content{display:flex;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--theme-white-background);border-top:1px solid var(--theme-grey-background-color);padding-top:28px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-results-container{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding-right:24%;padding-left:24%;min-width:51%}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-results-container-query{border-radius:12px;padding:20px 15px 19px;background:var(--theme-card-background-grey-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container{padding:18px 20px;display:flex;flex-direction:column;border:1px solid var(--adf-theme-foreground-divider-color);border-radius:12px;margin:16px 0 75px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-references-container-header{padding-left:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton{position:relative;background-image:linear-gradient(to left,var(--theme-light-grey-1-color) 0%,var(--theme-light-grey-2-color) 20%,var(--theme-light-grey-3-color) 40%,var(--theme-light-grey-1-color) 100%);background-size:200%;display:inline-block;height:1em;overflow:hidden;width:100%;margin-bottom:.5rem;border-radius:.25rem}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton-half{width:50%;margin-bottom:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error{border-color:var(--adf-error-color);padding:32px 18px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message{display:flex;justify-content:space-between;align-items:center}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message-regeneration-button{background-color:var(--adf-secondary-button-background)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message-regeneration-button-icon{font-size:24px;height:24px;width:23px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response{margin-bottom:17px;overflow-wrap:break-word;white-space:pre-wrap}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action{width:max-content;padding:0}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action mat-icon{font-size:17.25px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action-regeneration{margin-left:2px;margin-right:2px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action .mat-mdc-button-touch-target{width:24px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table{width:100%;border-collapse:collapse;box-shadow:0 2px 4px var(--theme-grey-divider-color);border-radius:4px;overflow:hidden}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table th{background-color:var(--adf-theme-mat-grey-color-a200);text-align:left}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table th,.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table td{padding:16px;border-bottom:1px solid var(--adf-theme-foreground-divider-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table tr:hover{background-color:var(--adf-theme-background-hover-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table tr:nth-child(2n){background-color:var(--theme-card-background-grey-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-divider{margin-top:9px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-divider-error{border-color:var(--adf-error-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container{padding-right:8px;padding-left:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-header{margin-top:16px;color:var(--theme-text-light-color);font-weight:400;margin-bottom:3px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-loading-error{display:flex;justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:3px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents{padding-right:5px;padding-top:5px;margin-left:-2px;display:flex;flex-wrap:wrap;gap:21px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document{display:flex;flex-direction:row;padding-top:7px;padding-bottom:7px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document-icon{height:auto;align-content:center;padding-right:11px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document-name{display:flex;flex-direction:column;width:100%;justify-content:center}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document:hover{text-decoration:underline;text-decoration-color:var(--theme-primary-color);color:var(--theme-primary-color);cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: SearchAiInputContainerComponent, selector: "aca-search-ai-input-container", inputs: ["placeholder", "agentId", "usedInAiResultsPage"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "ngmodule", type: MarkdownModule }, { kind: "component", type: i11.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }], encapsulation: i0.ViewEncapsulation.None });
9502
+ ], usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n @if (!hasError && agentId) {\n <aca-search-ai-input-container\n class=\"aca-page-layout-header\"\n placeholder=\"KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.QUERY_INPUT_PLACEHOLDER\"\n [agentId]=\"agentId\"\n [usedInAiResultsPage]=\"true\" />\n }\n\n @if (!hasError) {\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-search-ai-results-container\">\n <div\n class=\"aca-search-ai-results-container-query\"\n data-automation-id=\"aca-search-ai-results-query\">\n {{ searchQuery }}\n </div>\n <div\n class=\"aca-search-ai-response-container\"\n [class.aca-search-ai-response-container-error]=\"hasAnsweringError\">\n @if (!loading) {\n @if (!hasAnsweringError) {\n <div class=\"aca-search-ai-response-container-body\">\n <markdown\n class=\"aca-search-ai-response-container-body-response\"\n data-automation-id=\"aca-search-ai-results-response\"\n [data]=\"displayedAnswer\"\n (ready)=\"addSourceCodeTooltips()\"\n mermaid\n katex />\n <button\n class=\"aca-search-ai-response-container-body-response-action aca-search-ai-response-container-body-response-action-regeneration\"\n mat-icon-button\n (click)=\"checkUnsavedChangesAndSearch()\"\n data-automation-id=\"aca-search-ai-results-regeneration-button\"\n [title]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REGENERATION_BUTTON_LABEL' | translate\">\n <mat-icon>cached</mat-icon>\n </button>\n <button\n class=\"aca-search-ai-response-container-body-response-action\"\n mat-icon-button\n (click)=\"copyResponseToClipboard()\"\n data-automation-id=\"aca-search-ai-results-copying-button\"\n [title]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.COPY_BUTTON_LABEL' | translate\">\n <mat-icon>copy</mat-icon>\n </button>\n\n @if (references$ | async; as refs) {\n @if (refs?.length || hasReferencesLoadingError) {\n <mat-divider\n class=\"aca-search-ai-response-container-body-divider\"\n [class.aca-search-ai-response-container-body-divider-error]=\"hasReferencesLoadingError\"\n aria-hidden=\"true\"\n />\n <div class=\"aca-search-ai-response-container-body-references-container\">\n <p class=\"aca-search-ai-response-container-body-references-container-header\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REFERENCED_DOCUMENTS_HEADER' | translate }}\n </p>\n\n @if (hasReferencesLoadingError) {\n <div class=\"aca-search-ai-response-container-body-references-container-loading-error\" role=\"alert\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.REFERENCES_LOADING_ERROR' | translate }}\n <button\n mat-flat-button\n (click)=\"loadReferences()\"\n [attr.aria-label]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.RELOAD_REFERENCES_BUTTON_LABEL' | translate\"\n class=\"aca-search-ai-response-container-error-message-regeneration-button\"\n data-automation-id=\"aca-search-ai-response-container-body-references-container-retry-references-loading-button\">\n <mat-icon class=\"aca-search-ai-response-container-error-message-regeneration-button-icon\">cached</mat-icon>\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.RELOAD_REFERENCES_BUTTON_LABEL' | translate }}\n </button>\n </div>\n } @else {\n <div class=\"aca-search-ai-response-container-body-references-container-documents\">\n @for (node of refs; track node.id) {\n <a\n class=\"aca-search-ai-response-container-body-references-container-documents-document\"\n [attr.data-automation-id]=\"'aca-search-ai-results-' + node.id + '-document'\"\n role=\"link\"\n (click)=\"openFile(node.id)\"\n (keyup.enter)=\"openFile(node.id)\"\n tabindex=\"0\">\n <mat-icon\n mat-list-icon\n class=\"aca-search-ai-response-container-body-references-container-documents-document-icon\">\n <img [alt]=\"node.content?.mimeType\" [src]=\"mimeTypeIconsByNodeId[node.id]\" />\n </mat-icon>\n <div class=\"aca-search-ai-response-container-body-references-container-documents-document-name\">\n {{ node.name }}\n </div>\n </a>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n } @else {\n <div class=\"aca-search-ai-response-container-error-message\" role=\"alert\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.LOADING_ERROR' | translate }}\n <button\n mat-flat-button\n (click)=\"performAiSearch()\"\n class=\"aca-search-ai-response-container-error-message-regeneration-button\"\n data-automation-id=\"aca-search-ai-results-error-regeneration-button\">\n <mat-icon class=\"aca-search-ai-response-container-error-message-regeneration-button-icon\">cached</mat-icon>\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REGENERATION_BUTTON_LABEL' | translate }}\n </button>\n </div>\n }\n } @else {\n <div class=\"adf-skeleton\"></div>\n <div class=\"adf-skeleton\"></div>\n <div class=\"adf-skeleton adf-skeleton-half\"></div>\n }\n </div>\n </div>\n </div>\n } @else {\n <adf-empty-content\n class=\"aca-page-layout-content\"\n icon=\"star\"\n title=\"KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.PAGE_NOT_AVAILABLE_ERROR\" />\n }\n</aca-page-layout>\n", styles: [".aca-search-ai-results aca-page-layout .aca-page-layout-content{display:flex;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--theme-white-background);border-top:1px solid var(--theme-grey-background-color);padding-top:28px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-results-container{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding-right:24%;padding-left:24%;min-width:51%}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-results-container-query{border-radius:12px;padding:20px 15px 19px;background:var(--theme-card-background-grey-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container{padding:18px 20px;display:flex;flex-direction:column;border:1px solid var(--adf-theme-foreground-divider-color);border-radius:12px;margin:16px 0 75px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-references-container-header{padding-left:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton{position:relative;background-image:linear-gradient(to left,var(--theme-light-grey-1-color) 0%,var(--theme-light-grey-2-color) 20%,var(--theme-light-grey-3-color) 40%,var(--theme-light-grey-1-color) 100%);background-size:200%;display:inline-block;height:1em;overflow:hidden;width:100%;margin-bottom:.5rem;border-radius:.25rem}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton-half{width:50%;margin-bottom:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error{border-color:var(--adf-error-color);padding:32px 18px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message{display:flex;justify-content:space-between;align-items:center}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message-regeneration-button{background-color:var(--adf-secondary-button-background)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message-regeneration-button-icon{font-size:24px;height:24px;width:23px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response{margin-bottom:17px;overflow-wrap:break-word;white-space:pre-wrap}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action{width:max-content;padding:0}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action mat-icon{font-size:17.25px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action-regeneration{margin-left:2px;margin-right:2px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action .mat-mdc-button-touch-target{width:24px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table{width:100%;border-collapse:collapse;box-shadow:0 2px 4px var(--theme-grey-divider-color);border-radius:4px;overflow:hidden}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table th{background-color:var(--adf-theme-mat-grey-color-a200);text-align:left}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table th,.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table td{padding:16px;border-bottom:1px solid var(--adf-theme-foreground-divider-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table tr:hover{background-color:var(--adf-theme-background-hover-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table tr:nth-child(2n){background-color:var(--theme-card-background-grey-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-divider{margin-top:9px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-divider-error{border-color:var(--adf-error-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container{padding-right:8px;padding-left:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-header{margin-top:16px;color:var(--theme-text-light-color);font-weight:400;margin-bottom:3px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-loading-error{display:flex;justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:3px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents{padding-right:5px;padding-top:5px;margin-left:-2px;display:flex;flex-wrap:wrap;gap:21px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document{display:flex;flex-direction:row;padding-top:7px;padding-bottom:7px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document-icon{height:auto;align-content:center;padding-right:11px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document-name{display:flex;flex-direction:column;width:100%;justify-content:center}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document:hover{text-decoration:underline;text-decoration-color:var(--theme-primary-color);color:var(--theme-primary-color);cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: SearchAiInputContainerComponent, selector: "aca-search-ai-input-container", inputs: ["placeholder", "agentId", "usedInAiResultsPage"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "ngmodule", type: MarkdownModule }, { kind: "component", type: i11.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }], encapsulation: i0.ViewEncapsulation.None });
9402
9503
  }
9403
9504
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SearchAiResultsComponent, decorators: [{
9404
9505
  type: Component,
@@ -9422,7 +9523,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
9422
9523
  }
9423
9524
  })
9424
9525
  ], selector: 'aca-search-ai-results', encapsulation: ViewEncapsulation.None, host: { class: 'aca-search-ai-results' }, template: "<aca-page-layout>\n @if (!hasError && agentId) {\n <aca-search-ai-input-container\n class=\"aca-page-layout-header\"\n placeholder=\"KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.QUERY_INPUT_PLACEHOLDER\"\n [agentId]=\"agentId\"\n [usedInAiResultsPage]=\"true\" />\n }\n\n @if (!hasError) {\n <div class=\"aca-page-layout-content\">\n <div class=\"aca-search-ai-results-container\">\n <div\n class=\"aca-search-ai-results-container-query\"\n data-automation-id=\"aca-search-ai-results-query\">\n {{ searchQuery }}\n </div>\n <div\n class=\"aca-search-ai-response-container\"\n [class.aca-search-ai-response-container-error]=\"hasAnsweringError\">\n @if (!loading) {\n @if (!hasAnsweringError) {\n <div class=\"aca-search-ai-response-container-body\">\n <markdown\n class=\"aca-search-ai-response-container-body-response\"\n data-automation-id=\"aca-search-ai-results-response\"\n [data]=\"displayedAnswer\"\n (ready)=\"addSourceCodeTooltips()\"\n mermaid\n katex />\n <button\n class=\"aca-search-ai-response-container-body-response-action aca-search-ai-response-container-body-response-action-regeneration\"\n mat-icon-button\n (click)=\"checkUnsavedChangesAndSearch()\"\n data-automation-id=\"aca-search-ai-results-regeneration-button\"\n [title]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REGENERATION_BUTTON_LABEL' | translate\">\n <mat-icon>cached</mat-icon>\n </button>\n <button\n class=\"aca-search-ai-response-container-body-response-action\"\n mat-icon-button\n (click)=\"copyResponseToClipboard()\"\n data-automation-id=\"aca-search-ai-results-copying-button\"\n [title]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.COPY_BUTTON_LABEL' | translate\">\n <mat-icon>copy</mat-icon>\n </button>\n\n @if (references$ | async; as refs) {\n @if (refs?.length || hasReferencesLoadingError) {\n <mat-divider\n class=\"aca-search-ai-response-container-body-divider\"\n [class.aca-search-ai-response-container-body-divider-error]=\"hasReferencesLoadingError\"\n aria-hidden=\"true\"\n />\n <div class=\"aca-search-ai-response-container-body-references-container\">\n <p class=\"aca-search-ai-response-container-body-references-container-header\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REFERENCED_DOCUMENTS_HEADER' | translate }}\n </p>\n\n @if (hasReferencesLoadingError) {\n <div class=\"aca-search-ai-response-container-body-references-container-loading-error\" role=\"alert\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.REFERENCES_LOADING_ERROR' | translate }}\n <button\n mat-flat-button\n (click)=\"loadReferences()\"\n [attr.aria-label]=\"'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.RELOAD_REFERENCES_BUTTON_LABEL' | translate\"\n class=\"aca-search-ai-response-container-error-message-regeneration-button\"\n data-automation-id=\"aca-search-ai-response-container-body-references-container-retry-references-loading-button\">\n <mat-icon class=\"aca-search-ai-response-container-error-message-regeneration-button-icon\">cached</mat-icon>\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.RELOAD_REFERENCES_BUTTON_LABEL' | translate }}\n </button>\n </div>\n } @else {\n <div class=\"aca-search-ai-response-container-body-references-container-documents\">\n @for (node of refs; track node.id) {\n <a\n class=\"aca-search-ai-response-container-body-references-container-documents-document\"\n [attr.data-automation-id]=\"'aca-search-ai-results-' + node.id + '-document'\"\n role=\"link\"\n (click)=\"openFile(node.id)\"\n (keyup.enter)=\"openFile(node.id)\"\n tabindex=\"0\">\n <mat-icon\n mat-list-icon\n class=\"aca-search-ai-response-container-body-references-container-documents-document-icon\">\n <img [alt]=\"node.content?.mimeType\" [src]=\"mimeTypeIconsByNodeId[node.id]\" />\n </mat-icon>\n <div class=\"aca-search-ai-response-container-body-references-container-documents-document-name\">\n {{ node.name }}\n </div>\n </a>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n } @else {\n <div class=\"aca-search-ai-response-container-error-message\" role=\"alert\">\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.LOADING_ERROR' | translate }}\n <button\n mat-flat-button\n (click)=\"performAiSearch()\"\n class=\"aca-search-ai-response-container-error-message-regeneration-button\"\n data-automation-id=\"aca-search-ai-results-error-regeneration-button\">\n <mat-icon class=\"aca-search-ai-response-container-error-message-regeneration-button-icon\">cached</mat-icon>\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REGENERATION_BUTTON_LABEL' | translate }}\n </button>\n </div>\n }\n } @else {\n <div class=\"adf-skeleton\"></div>\n <div class=\"adf-skeleton\"></div>\n <div class=\"adf-skeleton adf-skeleton-half\"></div>\n }\n </div>\n </div>\n </div>\n } @else {\n <adf-empty-content\n class=\"aca-page-layout-content\"\n icon=\"star\"\n title=\"KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.PAGE_NOT_AVAILABLE_ERROR\" />\n }\n</aca-page-layout>\n", styles: [".aca-search-ai-results aca-page-layout .aca-page-layout-content{display:flex;justify-content:center;align-items:center;height:100%;width:100%;background-color:var(--theme-white-background);border-top:1px solid var(--theme-grey-background-color);padding-top:28px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-results-container{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding-right:24%;padding-left:24%;min-width:51%}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-results-container-query{border-radius:12px;padding:20px 15px 19px;background:var(--theme-card-background-grey-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container{padding:18px 20px;display:flex;flex-direction:column;border:1px solid var(--adf-theme-foreground-divider-color);border-radius:12px;margin:16px 0 75px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-references-container-header{padding-left:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton{position:relative;background-image:linear-gradient(to left,var(--theme-light-grey-1-color) 0%,var(--theme-light-grey-2-color) 20%,var(--theme-light-grey-3-color) 40%,var(--theme-light-grey-1-color) 100%);background-size:200%;display:inline-block;height:1em;overflow:hidden;width:100%;margin-bottom:.5rem;border-radius:.25rem}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton-half{width:50%;margin-bottom:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container .adf-skeleton:after{position:absolute;inset:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0 0,#fff3 20%,#ffffff80 60%,#fff0);animation:shimmer 2s infinite;content:\"\"}@keyframes shimmer{to{transform:translate(100%)}}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error{border-color:var(--adf-error-color);padding:32px 18px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message{display:flex;justify-content:space-between;align-items:center}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message-regeneration-button{background-color:var(--adf-secondary-button-background)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-error-message-regeneration-button-icon{font-size:24px;height:24px;width:23px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response{margin-bottom:17px;overflow-wrap:break-word;white-space:pre-wrap}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action{width:max-content;padding:0}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action mat-icon{font-size:17.25px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action-regeneration{margin-left:2px;margin-right:2px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response-action .mat-mdc-button-touch-target{width:24px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table{width:100%;border-collapse:collapse;box-shadow:0 2px 4px var(--theme-grey-divider-color);border-radius:4px;overflow:hidden}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table th{background-color:var(--adf-theme-mat-grey-color-a200);text-align:left}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table th,.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table td{padding:16px;border-bottom:1px solid var(--adf-theme-foreground-divider-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table tr:hover{background-color:var(--adf-theme-background-hover-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-response table tr:nth-child(2n){background-color:var(--theme-card-background-grey-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-divider{margin-top:9px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-divider-error{border-color:var(--adf-error-color)}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container{padding-right:8px;padding-left:8px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-header{margin-top:16px;color:var(--theme-text-light-color);font-weight:400;margin-bottom:3px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-loading-error{display:flex;justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:3px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents{padding-right:5px;padding-top:5px;margin-left:-2px;display:flex;flex-wrap:wrap;gap:21px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document{display:flex;flex-direction:row;padding-top:7px;padding-bottom:7px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document-icon{height:auto;align-content:center;padding-right:11px}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document-name{display:flex;flex-direction:column;width:100%;justify-content:center}.aca-search-ai-results aca-page-layout .aca-page-layout-content .aca-search-ai-response-container-body-references-container-documents-document:hover{text-decoration:underline;text-decoration-color:var(--theme-primary-color);color:var(--theme-primary-color);cursor:pointer}\n"] }]
9425
- }], ctorParameters: () => [{ type: i1$4.ActivatedRoute }, { type: i2.ClipboardService }, { type: i2.ThumbnailService }, { type: i4$3.TranslateService }, { type: i2.UnsavedChangesGuard }, { type: ModalAiService }, { type: i5$1.ViewerService }, { type: i0.ElementRef }, { type: i1$1.ContentApiService }] });
9526
+ }], ctorParameters: () => [{ type: i1$4.ActivatedRoute }, { type: i2.ClipboardService }, { type: i2.ThumbnailService }, { type: i4$3.TranslateService }, { type: i2.UnsavedChangesGuard }, { type: ModalAiService }, { type: i5$2.ViewerService }, { type: i0.ElementRef }, { type: i1$1.ContentApiService }] });
9426
9527
 
9427
9528
  /*!
9428
9529
  * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
@@ -9480,7 +9581,7 @@ class SavedSearchDeleteDialogComponent {
9480
9581
  });
9481
9582
  }
9482
9583
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SavedSearchDeleteDialogComponent, deps: [{ token: i1$2.MatDialogRef }, { token: i2.NotificationService }, { token: SavedSearchesContextService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
9483
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SavedSearchDeleteDialogComponent, isStandalone: true, selector: "aca-saved-search-delete-dialog", host: { classAttribute: "aca-saved-search-delete-dialog" }, ngImport: i0, template: "<div class=\"aca-saved-search-delete-dialog__header\">\n <h2 class=\"aca-saved-search-delete-dialog__title\">{{\"APP.BROWSE.SEARCH.SAVE_SEARCH.DELETE_DIALOG.TITLE\" | translate}}</h2>\n <button\n mat-icon-button\n mat-dialog-close\n [attr.aria-label]=\"'CLOSE' | translate\"\n [attr.title]=\"'CLOSE' | translate\">\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<mat-dialog-content>\n <p>{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.DELETE_DIALOG.CONTENT' | translate }}</p>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button\n mat-dialog-close\n id=\"aca-save-search-delete-dialog-cancel-button\">{{ 'CANCEL' | titlecase | translate }}</button>\n <button mat-flat-button\n id=\"aca-save-search-delete-dialog-submit-button\"\n color=\"primary\"\n [disabled]=\"isLoading\"\n (click)=\"onSubmit()\">{{ 'DELETE' | titlecase | translate }}</button>\n</mat-dialog-actions>\n", styles: [".aca-saved-search-delete-dialog .aca-saved-search-delete-dialog__header{display:flex;align-items:center;padding-left:20px;justify-content:space-between}.aca-saved-search-delete-dialog .aca-saved-search-delete-dialog__title{font-size:large;font-weight:200;margin:0}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }], encapsulation: i0.ViewEncapsulation.None });
9584
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SavedSearchDeleteDialogComponent, isStandalone: true, selector: "aca-saved-search-delete-dialog", host: { classAttribute: "aca-saved-search-delete-dialog" }, ngImport: i0, template: "<div class=\"aca-saved-search-delete-dialog__header\">\n <h2 class=\"aca-saved-search-delete-dialog__title\">{{\"APP.BROWSE.SEARCH.SAVE_SEARCH.DELETE_DIALOG.TITLE\" | translate}}</h2>\n <button\n mat-icon-button\n mat-dialog-close\n [attr.aria-label]=\"'CLOSE' | translate\"\n [attr.title]=\"'CLOSE' | translate\">\n <mat-icon>close</mat-icon>\n </button>\n</div>\n<mat-dialog-content>\n <p>{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.DELETE_DIALOG.CONTENT' | translate }}</p>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-button\n mat-dialog-close\n id=\"aca-save-search-delete-dialog-cancel-button\">{{ 'CANCEL' | titlecase | translate }}</button>\n <button mat-flat-button\n id=\"aca-save-search-delete-dialog-submit-button\"\n color=\"primary\"\n [disabled]=\"isLoading\"\n (click)=\"onSubmit()\">{{ 'DELETE' | titlecase | translate }}</button>\n</mat-dialog-actions>\n", styles: [".aca-saved-search-delete-dialog .aca-saved-search-delete-dialog__header{display:flex;align-items:center;padding-left:20px;justify-content:space-between}.aca-saved-search-delete-dialog .aca-saved-search-delete-dialog__title{font-size:large;font-weight:200;margin:0}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }], encapsulation: i0.ViewEncapsulation.None });
9484
9585
  }
9485
9586
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SavedSearchDeleteDialogComponent, decorators: [{
9486
9587
  type: Component,
@@ -9574,7 +9675,7 @@ class SavedSearchEditDialogComponent {
9574
9675
  this.notificationService.showInfo('APP.BROWSE.SEARCH.SAVE_SEARCH.EDIT_DIALOG.SUCCESS_MESSAGE');
9575
9676
  }
9576
9677
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SavedSearchEditDialogComponent, deps: [{ token: i1$2.MatDialogRef }, { token: i2.NotificationService }, { token: SavedSearchesContextService }, { token: UniqueSearchNameValidator }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
9577
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: SavedSearchEditDialogComponent, isStandalone: true, selector: "aca-saved-search-edit-dialog", host: { classAttribute: "aca-saved-search-edit-dialog" }, ngImport: i0, template: "<div class=\"aca-saved-search-edit-dialog__header\">\n <h2 class=\"aca-saved-search-edit-dialog__title\">{{\"APP.BROWSE.SEARCH.SAVE_SEARCH.EDIT_DIALOG.TITLE\" | translate}}</h2>\n <button\n mat-icon-button\n mat-dialog-close\n [attr.aria-label]=\"'CLOSE' | translate\"\n [attr.title]=\"'CLOSE' | translate\">\n <mat-icon>close</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <form [formGroup]=\"form\" (submit)=\"submit()\">\n <mat-form-field class=\"aca-saved-search-edit-dialog__form-field\">\n <mat-label>{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_LABEL' | translate }}</mat-label>\n <input\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_LABEL' | translate\"\n data-automation-id=\"saved-search-edit-name\"\n matInput\n required\n [formControlName]=\"'name'\"\n adf-auto-focus/>\n @if (form.controls['name'].touched) {\n <mat-error>\n @if (form.controls['name'].errors?.required) {\n <span>\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_REQUIRED_ERROR' | translate }}\n </span>\n }\n @if (!form.controls['name'].errors?.required && form.controls['name'].errors?.message) {\n <span>\n {{ form.controls['name'].errors?.message | translate : { name: form.controls.name.value } }}\n </span>\n }\n </mat-error>\n }\n </mat-form-field>\n\n <mat-form-field class=\"aca-saved-search-edit-dialog__form-field\">\n <mat-label>{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.DESCRIPTION_LABEL' | translate }}</mat-label>\n <textarea\n matInput\n data-automation-id=\"saved-search-edit-description\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.DESCRIPTION_LABEL' | translate\"\n rows=\"4\"\n [formControlName]=\"'description'\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button\n id=\"aca-saved-search-edit-dialog-cancel-button\"\n mat-dialog-close> {{ 'CANCEL' | titlecase | translate }} </button>\n\n <button mat-flat-button\n color=\"primary\"\n id=\"aca-saved-search-edit-dialog-submit-button\"\n (click)=\"submit()\"\n [disabled]=\"!form.valid || isLoading\">{{ 'SAVE' | titlecase | translate}}</button>\n</mat-dialog-actions>\n", styles: [".aca-saved-search-edit-dialog .aca-saved-search-edit-dialog__form-field{width:100%;margin-bottom:15px}.aca-saved-search-edit-dialog .aca-saved-search-edit-dialog__header{display:flex;align-items:center;padding-left:20px;justify-content:space-between}.aca-saved-search-edit-dialog .aca-saved-search-edit-dialog__title{font-size:large;font-weight:200;margin:0}\n"], dependencies: [{ kind: "directive", type: AutoFocusDirective, selector: "[adf-auto-focus]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }], encapsulation: i0.ViewEncapsulation.None });
9678
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: SavedSearchEditDialogComponent, isStandalone: true, selector: "aca-saved-search-edit-dialog", host: { classAttribute: "aca-saved-search-edit-dialog" }, ngImport: i0, template: "<div class=\"aca-saved-search-edit-dialog__header\">\n <h2 class=\"aca-saved-search-edit-dialog__title\">{{\"APP.BROWSE.SEARCH.SAVE_SEARCH.EDIT_DIALOG.TITLE\" | translate}}</h2>\n <button\n mat-icon-button\n mat-dialog-close\n [attr.aria-label]=\"'CLOSE' | translate\"\n [attr.title]=\"'CLOSE' | translate\">\n <mat-icon>close</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <form [formGroup]=\"form\" (submit)=\"submit()\">\n <mat-form-field class=\"aca-saved-search-edit-dialog__form-field\">\n <mat-label>{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_LABEL' | translate }}</mat-label>\n <input\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_LABEL' | translate\"\n data-automation-id=\"saved-search-edit-name\"\n matInput\n required\n [formControlName]=\"'name'\"\n adf-auto-focus/>\n @if (form.controls['name'].touched) {\n <mat-error>\n @if (form.controls['name'].errors?.required) {\n <span>\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.NAME_REQUIRED_ERROR' | translate }}\n </span>\n }\n @if (!form.controls['name'].errors?.required && form.controls['name'].errors?.message) {\n <span>\n {{ form.controls['name'].errors?.message | translate : { name: form.controls.name.value } }}\n </span>\n }\n </mat-error>\n }\n </mat-form-field>\n\n <mat-form-field class=\"aca-saved-search-edit-dialog__form-field\">\n <mat-label>{{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.DESCRIPTION_LABEL' | translate }}</mat-label>\n <textarea\n matInput\n data-automation-id=\"saved-search-edit-description\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.SAVE_SEARCH.DESCRIPTION_LABEL' | translate\"\n rows=\"4\"\n [formControlName]=\"'description'\"></textarea>\n </mat-form-field>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button mat-button\n id=\"aca-saved-search-edit-dialog-cancel-button\"\n mat-dialog-close> {{ 'CANCEL' | titlecase | translate }} </button>\n\n <button mat-flat-button\n color=\"primary\"\n id=\"aca-saved-search-edit-dialog-submit-button\"\n (click)=\"submit()\"\n [disabled]=\"!form.valid || isLoading\">{{ 'SAVE' | titlecase | translate}}</button>\n</mat-dialog-actions>\n", styles: [".aca-saved-search-edit-dialog .aca-saved-search-edit-dialog__form-field{width:100%;margin-bottom:15px}.aca-saved-search-edit-dialog .aca-saved-search-edit-dialog__header{display:flex;align-items:center;padding-left:20px;justify-content:space-between}.aca-saved-search-edit-dialog .aca-saved-search-edit-dialog__title{font-size:large;font-weight:200;margin:0}\n"], dependencies: [{ kind: "directive", type: AutoFocusDirective, selector: "[adf-auto-focus]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }], encapsulation: i0.ViewEncapsulation.None });
9578
9679
  }
9579
9680
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SavedSearchEditDialogComponent, decorators: [{
9580
9681
  type: Component,
@@ -9867,7 +9968,7 @@ class SavedSearchesSmartListComponent extends PageComponent {
9867
9968
  this.savedSearchesService.changeOrder(event.previousIndex, event.currentIndex);
9868
9969
  }
9869
9970
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SavedSearchesSmartListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9870
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SavedSearchesSmartListComponent, isStandalone: true, selector: "aca-saved-searches-smart-list", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <h1 class=\"aca-page-title\">\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.LIST.TITLE' | translate }}\n </h1>\n </div>\n <div *ngIf=\"savedSearches$ | async as savedSearches else spinner\"\n class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\" >\n <aca-saved-searches-ui-list *ngIf=\"savedSearches.length else emptyList\"\n [savedSearches]=\"savedSearches\"\n (savedSearchOrderChanged)=\"onOrderChanged($event)\"/>\n </div>\n </div>\n <ng-template #emptyList>\n <adf-empty-content\n class=\"aca-page-layout-content\"\n data-automation-id=\"'saved-search-list-empty-content'\"\n icon=\"library_books\"\n title=\"APP.BROWSE.SEARCH.SAVE_SEARCH.LIST.EMPTY_LIST\" />\n </ng-template>\n</aca-page-layout>\n\n<ng-template #spinner>\n <mat-progress-spinner\n class=\"aca-page-layout-spinner\"\n data-automation-id=\"'saved-search-list-spinner'\"\n [color]=\"'primary'\"\n [mode]=\"'indeterminate'\" />\n</ng-template>\n", styles: ["aca-saved-searches-smart-list .aca-page-layout{background:var(--theme-page-layout-header-background-color)}aca-saved-searches-smart-list .aca-page-layout .aca-content-header{border-bottom:1px solid var(--adf-theme-foreground-text-color-007)}aca-saved-searches-smart-list .aca-page-layout-spinner{margin:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SavedSearchesListUiComponent, selector: "aca-saved-searches-ui-list", inputs: ["savedSearches"], outputs: ["savedSearchOrderChanged"] }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i6$4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
9971
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: SavedSearchesSmartListComponent, isStandalone: true, selector: "aca-saved-searches-smart-list", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <div class=\"aca-page-layout-header\">\n <h1 class=\"aca-page-title\">\n {{ 'APP.BROWSE.SEARCH.SAVE_SEARCH.LIST.TITLE' | translate }}\n </h1>\n </div>\n <div *ngIf=\"savedSearches$ | async as savedSearches else spinner\"\n class=\"aca-page-layout-content\">\n <div class=\"aca-main-content\" >\n <aca-saved-searches-ui-list *ngIf=\"savedSearches.length else emptyList\"\n [savedSearches]=\"savedSearches\"\n (savedSearchOrderChanged)=\"onOrderChanged($event)\"/>\n </div>\n </div>\n <ng-template #emptyList>\n <adf-empty-content\n class=\"aca-page-layout-content\"\n data-automation-id=\"'saved-search-list-empty-content'\"\n icon=\"library_books\"\n title=\"APP.BROWSE.SEARCH.SAVE_SEARCH.LIST.EMPTY_LIST\" />\n </ng-template>\n</aca-page-layout>\n\n<ng-template #spinner>\n <mat-progress-spinner\n class=\"aca-page-layout-spinner\"\n data-automation-id=\"'saved-search-list-spinner'\"\n [color]=\"'primary'\"\n [mode]=\"'indeterminate'\" />\n</ng-template>\n", styles: ["aca-saved-searches-smart-list .aca-page-layout{background:var(--theme-page-layout-header-background-color)}aca-saved-searches-smart-list .aca-page-layout .aca-content-header{border-bottom:1px solid var(--adf-theme-foreground-text-color-007)}aca-saved-searches-smart-list .aca-page-layout-spinner{margin:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: SavedSearchesListUiComponent, selector: "aca-saved-searches-ui-list", inputs: ["savedSearches"], outputs: ["savedSearchOrderChanged"] }, { kind: "component", type: PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: EmptyContentComponent, selector: "adf-empty-content", inputs: ["icon", "title", "subtitle"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i6$3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
9871
9972
  }
9872
9973
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SavedSearchesSmartListComponent, decorators: [{
9873
9974
  type: Component,
@@ -10436,7 +10537,7 @@ class UserInfoComponent {
10436
10537
  menuItem;
10437
10538
  user$ = this.userProfileService.userProfile$;
10438
10539
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: UserInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10439
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: UserInfoComponent, isStandalone: true, selector: "app-user-info", viewQueries: [{ propertyName: "menuItem", first: true, predicate: MatMenuItem, descendants: true }], ngImport: i0, template: "<button mat-menu-item class=\"aca-user-info\" [routerLink]=\"['/profile']\" title=\"{{ 'APP.TOOLTIPS.MY_PROFILE' | translate }}\">\n <ng-container *ngIf=\"user$ | async as user\">\n <div class=\"aca-user-info-content\">\n <button class=\"aca-user-info-button\">\n <div>{{ user.initials || 'U' }}</div>\n </button>\n <div class=\"aca-user-info-details\">\n <div>{{ user.userName }}</div>\n <div>{{ user.email }}</div>\n </div>\n </div>\n </ng-container>\n</button>\n", styles: [".aca-user-info{display:flex;height:66px;align-items:center}.aca-user-info-content{display:flex;align-items:center}.aca-user-info-button{border-radius:90%;height:32px;margin-right:0;min-width:32px;padding:0;font-weight:700;line-height:32px;text-align:center;vertical-align:middle;background:var(--theme-user-profile-background-color);color:var(--theme-white-background);border:none}.aca-user-info-details{line-height:24px;margin-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
10540
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: UserInfoComponent, isStandalone: true, selector: "app-user-info", viewQueries: [{ propertyName: "menuItem", first: true, predicate: MatMenuItem, descendants: true }], ngImport: i0, template: "<button mat-menu-item class=\"aca-user-info\" [routerLink]=\"['/profile']\" title=\"{{ 'APP.TOOLTIPS.MY_PROFILE' | translate }}\">\n <ng-container *ngIf=\"user$ | async as user\">\n <div class=\"aca-user-info-content\">\n <button class=\"aca-user-info-button\">\n <div>{{ user.initials || 'U' }}</div>\n </button>\n <div class=\"aca-user-info-details\">\n <div>{{ user.userName }}</div>\n <div>{{ user.email }}</div>\n </div>\n </div>\n </ng-container>\n</button>\n", styles: [".aca-user-info{display:flex;height:66px;align-items:center}.aca-user-info-content{display:flex;align-items:center}.aca-user-info-button{border-radius:90%;height:32px;margin-right:0;min-width:32px;padding:0;font-weight:700;line-height:32px;text-align:center;vertical-align:middle;background:var(--theme-user-profile-background-color);color:var(--theme-white-background);border:none}.aca-user-info-details{line-height:24px;margin-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
10440
10541
  }
10441
10542
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: UserInfoComponent, decorators: [{
10442
10543
  type: Component,
@@ -10703,7 +10804,7 @@ class ExpandMenuComponent {
10703
10804
  return obj.id;
10704
10805
  }
10705
10806
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ExpandMenuComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
10706
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: ExpandMenuComponent, isStandalone: true, selector: "app-expand-menu", inputs: { item: "item" }, outputs: { actionClicked: "actionClicked" }, host: { classAttribute: "app-expand-menu" }, ngImport: i0, template: "<ng-container *ngIf=\"!item.children\">\n <div class=\"aca-expansion-panel-item\">\n <button\n acaActiveLink=\"aca-action-button--active\"\n [action]=\"item\"\n [attr.aria-label]=\"item.title | translate\"\n [id]=\"item.id\"\n [attr.data-automation-id]=\"item.id\"\n [attr.title]=\"item.description | translate\"\n mat-button\n class=\"aca-action-button aca-full-width\"\n >\n <adf-icon *ngIf=\"item.icon\" [value]=\"item.icon\" />\n <span class=\"action-button__label\">{{ item.title | translate }}</span>\n </button>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"item.children && item.children.length\">\n <mat-expansion-panel\n class=\"aca-expansion-panel\"\n [expanded]=\"true\"\n [@.disabled]=\"true\"\n >\n <mat-expansion-panel-header expandedHeight=\"32px\" collapsedHeight=\"32px\" class=\"aca-expansion-panel-header\">\n <mat-panel-title class=\"aca-expansion-panel-header-title\">\n <div class=\"aca-expansion-panel-item\">\n <span\n [attr.aria-label]=\"item.title | translate\"\n [id]=\"item.id\"\n [attr.title]=\"item.description | translate\"\n [attr.data-automation-id]=\"item.id\"\n class=\"aca-action-button aca-full-width\"\n >\n <adf-icon *ngIf=\"item.icon\" [value]=\"item.icon\" />\n <span class=\"aca-action-button__label\">{{ item.title | translate }}</span>\n </span>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ul class=\"aca-expansion-panel-body\" [attr.aria-label]=\"item.title | translate\">\n <li *ngFor=\"let child of item.children; trackBy: trackById\" class=\"aca-expansion-panel-item\">\n <button\n acaActiveLink=\"aca-action-button--active\"\n [action]=\"child\"\n (actionClicked)=\"actionClicked.emit($event)\"\n [attr.aria-label]=\"child.title | translate\"\n [id]=\"child.id\"\n [attr.data-automation-id]=\"child.id\"\n [attr.title]=\"child.description | translate\"\n mat-button\n class=\"aca-action-button aca-full-width\"\n >\n <adf-icon *ngIf=\"child.icon\" [value]=\"child.icon\" />\n <span class=\"aca-action-button__label\">{{ child.title | translate }}</span>\n </button>\n </li>\n </ul>\n </mat-expansion-panel>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: ActiveLinkDirective, selector: "[acaActiveLink]", inputs: ["acaActiveLink"], exportAs: ["acaActiveLink"] }, { kind: "directive", type: ActionDirective, selector: "[action]", inputs: ["action"], outputs: ["actionClicked"], exportAs: ["action"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i3$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3$1.MatExpansionPanelTitle, selector: "mat-panel-title" }], encapsulation: i0.ViewEncapsulation.None });
10807
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: ExpandMenuComponent, isStandalone: true, selector: "app-expand-menu", inputs: { item: "item" }, outputs: { actionClicked: "actionClicked" }, host: { classAttribute: "app-expand-menu" }, ngImport: i0, template: "<ng-container *ngIf=\"!item.children\">\n <div class=\"aca-expansion-panel-item\">\n <button\n acaActiveLink=\"aca-action-button--active\"\n [action]=\"item\"\n [attr.aria-label]=\"item.title | translate\"\n [id]=\"item.id\"\n [attr.data-automation-id]=\"item.id\"\n [attr.title]=\"item.description | translate\"\n mat-button\n class=\"aca-action-button aca-full-width\"\n >\n <adf-icon *ngIf=\"item.icon\" [value]=\"item.icon\" />\n <span class=\"action-button__label\">{{ item.title | translate }}</span>\n </button>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"item.children && item.children.length\">\n <mat-expansion-panel\n class=\"aca-expansion-panel\"\n [expanded]=\"true\"\n [@.disabled]=\"true\"\n >\n <mat-expansion-panel-header expandedHeight=\"32px\" collapsedHeight=\"32px\" class=\"aca-expansion-panel-header\">\n <mat-panel-title class=\"aca-expansion-panel-header-title\">\n <div class=\"aca-expansion-panel-item\">\n <span\n [attr.aria-label]=\"item.title | translate\"\n [id]=\"item.id\"\n [attr.title]=\"item.description | translate\"\n [attr.data-automation-id]=\"item.id\"\n class=\"aca-action-button aca-full-width\"\n >\n <adf-icon *ngIf=\"item.icon\" [value]=\"item.icon\" />\n <span class=\"aca-action-button__label\">{{ item.title | translate }}</span>\n </span>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ul class=\"aca-expansion-panel-body\" [attr.aria-label]=\"item.title | translate\">\n <li *ngFor=\"let child of item.children; trackBy: trackById\" class=\"aca-expansion-panel-item\">\n <button\n acaActiveLink=\"aca-action-button--active\"\n [action]=\"child\"\n (actionClicked)=\"actionClicked.emit($event)\"\n [attr.aria-label]=\"child.title | translate\"\n [id]=\"child.id\"\n [attr.data-automation-id]=\"child.id\"\n [attr.title]=\"child.description | translate\"\n mat-button\n class=\"aca-action-button aca-full-width\"\n >\n <adf-icon *ngIf=\"child.icon\" [value]=\"child.icon\" />\n <span class=\"aca-action-button__label\">{{ child.title | translate }}</span>\n </button>\n </li>\n </ul>\n </mat-expansion-panel>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: ActiveLinkDirective, selector: "[acaActiveLink]", inputs: ["acaActiveLink"], exportAs: ["acaActiveLink"] }, { kind: "directive", type: ActionDirective, selector: "[action]", inputs: ["action"], outputs: ["actionClicked"], exportAs: ["action"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "component", type: i3$2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3$2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3$2.MatExpansionPanelTitle, selector: "mat-panel-title" }], encapsulation: i0.ViewEncapsulation.None });
10707
10808
  }
10708
10809
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ExpandMenuComponent, decorators: [{
10709
10810
  type: Component,
@@ -10838,7 +10939,7 @@ class UserMenuComponent {
10838
10939
  this.menu.ngAfterContentInit();
10839
10940
  }
10840
10941
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: UserMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10841
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: UserMenuComponent, isStandalone: true, selector: "aca-user-menu", inputs: { actionRef: "actionRef", data: "data" }, host: { classAttribute: "aca-user-menu" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "toolbarMenuItems", predicate: ToolbarMenuItemComponent, descendants: true }], ngImport: i0, template: "<button mat-button\n class=\"aca-user-menu-button\"\n data-automation-id=\"app-user-menu-button\"\n [matMenuTriggerFor]=\"menu\"\n title=\"{{'APP.TOOLTIPS.OPTIONS_SETTINGS' | translate}}\"\n>\n <div>{{ (user$ | async)?.initials }}</div>\n</button>\n\n<mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <ng-container *ngFor=\"let item of data.items\">\n <app-toolbar-menu-item [actionRef]=\"item\" />\n </ng-container>\n</mat-menu>\n", styles: [".aca-user-menu .aca-user-menu-button{border-radius:90%;height:32px;margin-right:0;min-width:32px;width:32px;padding:0;font-weight:700;line-height:32px;text-align:center;vertical-align:middle;background:var(--theme-user-profile-background-color);color:var(--theme-white-background);border:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: ToolbarMenuItemComponent, selector: "app-toolbar-menu-item", inputs: ["actionRef", "menuId"] }], encapsulation: i0.ViewEncapsulation.None });
10942
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: UserMenuComponent, isStandalone: true, selector: "aca-user-menu", inputs: { actionRef: "actionRef", data: "data" }, host: { classAttribute: "aca-user-menu" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "toolbarMenuItems", predicate: ToolbarMenuItemComponent, descendants: true }], ngImport: i0, template: "<button mat-button\n class=\"aca-user-menu-button\"\n data-automation-id=\"app-user-menu-button\"\n [matMenuTriggerFor]=\"menu\"\n title=\"{{'APP.TOOLTIPS.OPTIONS_SETTINGS' | translate}}\"\n>\n <div>{{ (user$ | async)?.initials }}</div>\n</button>\n\n<mat-menu #menu=\"matMenu\" xPosition=\"before\">\n <ng-container *ngFor=\"let item of data.items\">\n <app-toolbar-menu-item [actionRef]=\"item\" />\n </ng-container>\n</mat-menu>\n", styles: [".aca-user-menu .aca-user-menu-button{border-radius:90%;height:32px;margin-right:0;min-width:32px;width:32px;padding:0;font-weight:700;line-height:32px;text-align:center;vertical-align:middle;background:var(--theme-user-profile-background-color);color:var(--theme-white-background);border:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: ToolbarMenuItemComponent, selector: "app-toolbar-menu-item", inputs: ["actionRef", "menuId"] }], encapsulation: i0.ViewEncapsulation.None });
10842
10943
  }
10843
10944
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: UserMenuComponent, decorators: [{
10844
10945
  type: Component,
@@ -11108,7 +11209,7 @@ class AgentsButtonComponent {
11108
11209
  change.source.deselectAll();
11109
11210
  }
11110
11211
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: AgentsButtonComponent, deps: [{ token: i1$5.Store }, { token: i2.NotificationService }, { token: i1.SearchAiService }, { token: i1.AgentService }, { token: i4$3.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11111
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: AgentsButtonComponent, isStandalone: true, selector: "aca-agents-button", inputs: { data: "data" }, host: { classAttribute: "aca-agents-button" }, ngImport: i0, template: "<ng-container *ngIf=\"agents.length && hxInsightUrl\">\n <button\n [matMenuTriggerFor]=\"disabled ? null : agentsList\"\n class=\"aca-agents-menu-button aca-agents-button-menu-trigger\"\n (mouseup)=\"onClick()\"\n (keydown.enter)=\"onClick()\"\n data-automation-id=\"aca-agents-button\">\n <adf-icon\n value=\"adf:colored-stars-ai\"\n class=\"aca-agents-button-icon\" />\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.AGENTS_BUTTON.LABEL' | translate}}\n </button>\n <mat-menu\n #agentsList=\"matMenu\"\n class=\"aca-agents-button-menu\"\n xPosition=\"before\">\n <mat-selection-list\n (selectionChange)=\"onAgentSelection($event)\"\n [multiple]=\"false\"\n class=\"aca-agents-button-menu-list\"\n [hideSingleSelectionIndicator]=\"true\">\n <mat-list-option\n *ngFor=\"let agent of agents\"\n class=\"aca-agents-button-menu-list-agent\"\n [attr.data-automation-id]=\"'aca-agents-button-agent-' + agent.id\"\n [value]=\"agent\">\n <div class=\"aca-agents-button-menu-list-agent-content\">\n <adf-avatar [src]=\"agent?.avatarUrl\" [initials]=\"initialsByAgentId[agent.id]\" />\n <span class=\"aca-agents-button-menu-list-agent-content-name\" [matTooltip]=\"agent.name\" [matTooltipPosition]=\"'right'\">\n {{ agent.name }}\n </span>\n </div>\n </mat-list-option>\n </mat-selection-list>\n </mat-menu>\n</ng-container>\n", styles: ["aca-agents-button.aca-agents-button{height:32px;display:block}aca-agents-button.aca-agents-button button.aca-agents-menu-button{display:flex;align-items:end}aca-agents-button.aca-agents-button button.aca-agents-menu-button.aca-agents-button-menu-trigger{height:auto;cursor:pointer;border:none;background:transparent;width:max-content;padding:0 4px 0 0}aca-agents-button.aca-agents-button button.aca-agents-menu-button .aca-agents-button-icon{display:flex;align-self:baseline}aca-agents-button.aca-agents-button button.aca-agents-menu-button .aca-agents-button-icon svg{height:32px;width:32px;position:absolute;margin-left:-21px}.aca-agents-button-menu{padding-top:2px;padding-bottom:1px}.aca-agents-button-menu .aca-agents-button-menu-list{margin-left:-6px;padding-top:0;padding-bottom:0}.aca-agents-button-menu .aca-agents-button-menu-list-agent{height:40px}.aca-agents-button-menu .aca-agents-button-menu-list-agent:not(:last-child){margin-bottom:2px}.aca-agents-button-menu .aca-agents-button-menu-list-agent-content{display:flex;align-items:center}.aca-agents-button-menu .aca-agents-button-menu-list-agent-content-name{width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aca-agents-button-menu .aca-agents-button-menu-list-agent adf-avatar{margin-right:12px;margin-bottom:2px;padding-left:1px;padding-top:1px}.aca-agents-button-menu .aca-agents-button-menu-list-agent adf-avatar .adf-avatar__image{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i7.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i7.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: AvatarComponent, selector: "adf-avatar", inputs: ["src", "initials", "tooltip", "size", "cursor"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], encapsulation: i0.ViewEncapsulation.None });
11212
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: AgentsButtonComponent, isStandalone: true, selector: "aca-agents-button", inputs: { data: "data" }, host: { classAttribute: "aca-agents-button" }, ngImport: i0, template: "<ng-container *ngIf=\"agents.length && hxInsightUrl\">\n <button\n [matMenuTriggerFor]=\"disabled ? null : agentsList\"\n class=\"aca-agents-menu-button aca-agents-button-menu-trigger\"\n (mouseup)=\"onClick()\"\n (keydown.enter)=\"onClick()\"\n data-automation-id=\"aca-agents-button\">\n <adf-icon\n value=\"adf:colored-stars-ai\"\n class=\"aca-agents-button-icon\" />\n {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.AGENTS_BUTTON.LABEL' | translate}}\n </button>\n <mat-menu\n #agentsList=\"matMenu\"\n class=\"aca-agents-button-menu\"\n xPosition=\"before\">\n <mat-selection-list\n (selectionChange)=\"onAgentSelection($event)\"\n [multiple]=\"false\"\n class=\"aca-agents-button-menu-list\"\n [hideSingleSelectionIndicator]=\"true\">\n <mat-list-option\n *ngFor=\"let agent of agents\"\n class=\"aca-agents-button-menu-list-agent\"\n [attr.data-automation-id]=\"'aca-agents-button-agent-' + agent.id\"\n [value]=\"agent\">\n <div class=\"aca-agents-button-menu-list-agent-content\">\n <adf-avatar [src]=\"agent?.avatarUrl\" [initials]=\"initialsByAgentId[agent.id]\" />\n <span class=\"aca-agents-button-menu-list-agent-content-name\" [matTooltip]=\"agent.name\" [matTooltipPosition]=\"'right'\">\n {{ agent.name }}\n </span>\n </div>\n </mat-list-option>\n </mat-selection-list>\n </mat-menu>\n</ng-container>\n", styles: ["aca-agents-button.aca-agents-button{height:32px;display:block}aca-agents-button.aca-agents-button button.aca-agents-menu-button{display:flex;align-items:end}aca-agents-button.aca-agents-button button.aca-agents-menu-button.aca-agents-button-menu-trigger{height:auto;cursor:pointer;border:none;background:transparent;width:max-content;padding:0 4px 0 0}aca-agents-button.aca-agents-button button.aca-agents-menu-button .aca-agents-button-icon{display:flex;align-self:baseline}aca-agents-button.aca-agents-button button.aca-agents-menu-button .aca-agents-button-icon svg{height:32px;width:32px;position:absolute;margin-left:-21px}.aca-agents-button-menu{padding-top:2px;padding-bottom:1px}.aca-agents-button-menu .aca-agents-button-menu-list{margin-left:-6px;padding-top:0;padding-bottom:0}.aca-agents-button-menu .aca-agents-button-menu-list-agent{height:40px}.aca-agents-button-menu .aca-agents-button-menu-list-agent:not(:last-child){margin-bottom:2px}.aca-agents-button-menu .aca-agents-button-menu-list-agent-content{display:flex;align-items:center}.aca-agents-button-menu .aca-agents-button-menu-list-agent-content-name{width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aca-agents-button-menu .aca-agents-button-menu-list-agent adf-avatar{margin-right:12px;margin-bottom:2px;padding-left:1px;padding-top:1px}.aca-agents-button-menu .aca-agents-button-menu-list-agent adf-avatar .adf-avatar__image{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i3$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i7.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i7.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: AvatarComponent, selector: "adf-avatar", inputs: ["src", "initials", "tooltip", "size", "cursor"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value", "isSvg"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], encapsulation: i0.ViewEncapsulation.None });
11112
11213
  }
11113
11214
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: AgentsButtonComponent, decorators: [{
11114
11215
  type: Component,