@sinequa/atomic-angular 1.2.5 → 1.5.1

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.
package/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnDestroy, ElementRef, DestroyRef, InjectionToken, Type, Injector, Signal, ApplicationRef, EventEmitter, TemplateRef, ChangeDetectorRef, ViewContainerRef, ComponentRef, PipeTransform } from '@angular/core';
2
+ import { OnDestroy, ElementRef, DestroyRef, Signal, InjectionToken, Type, Injector, ApplicationRef, EventEmitter, TemplateRef, ViewContainerRef, ComponentRef, ChangeDetectorRef, PipeTransform } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
4
  import { BehaviorSubject, Observable, Subject } from 'rxjs';
5
5
  import * as _ngrx_signals from '@ngrx/signals';
6
6
  import * as _sinequa_atomic from '@sinequa/atomic';
7
7
  import { Article as Article$1, LegacyFilter, KeyOf, Query, QueryParams as QueryParams$1, AggregationItem, TreeAggregationNode, Aggregation, TreeAggregation, Conversion, CCApp, CCColumn, CCQuery, CCWebService, Principal, SpellingCorrectionMode, AuditEvents, CustomHighlights, Result, AuditEventType, AuditEventTypeValues, Suggestion, PreviewData, TextLocation, TextChunk, UserProfile, CCSortingChoice, LinkResult, ExportQueryModel, ExportOutputFormat, FilterOperator } from '@sinequa/atomic';
8
- import { Router, NavigationEnd, ActivatedRoute, CanActivateFn, ResolveFn } from '@angular/router';
8
+ import { Router, Route, NavigationEnd, CanActivateFn, ResolveFn } from '@angular/router';
9
9
  import * as _sinequa_atomic_angular from '@sinequa/atomic-angular';
10
10
  import * as _sinequa_ui from '@sinequa/ui';
11
11
  import { cn, DialogService, DropdownComponent, SheetService, DateRangePickerDirective, DatepickerDirective, DialogComponent, DialogInterface, DialogEvent, PopoverComponent, PopoverContentComponent, DialogResult, BreakpointObserverService } from '@sinequa/ui';
@@ -18,9 +18,9 @@ import { Placement } from '@floating-ui/dom';
18
18
  import * as _angular_forms from '@angular/forms';
19
19
  import { FormGroup, FormControl } from '@angular/forms';
20
20
  import { TranslocoService } from '@jsverse/transloco';
21
- import * as _tanstack_angular_virtual from '@tanstack/angular-virtual';
22
21
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
23
22
  import * as _angular_cdk_overlay from '@angular/cdk/overlay';
23
+ import * as _tanstack_angular_virtual from '@tanstack/angular-virtual';
24
24
  import { HighlightWords } from 'highlight-words';
25
25
  import { DatePipe, DatePipeConfig } from '@angular/common';
26
26
 
@@ -115,8 +115,8 @@ declare class DocumentLocatorComponent implements OnDestroy {
115
115
  readonly router: Router;
116
116
  readonly queryParamStore: {
117
117
  name?: _angular_core.Signal<string | undefined> | undefined;
118
- text?: _angular_core.Signal<string | undefined> | undefined;
119
118
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
119
+ text?: _angular_core.Signal<string | undefined> | undefined;
120
120
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
121
121
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
122
122
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -137,7 +137,7 @@ declare class DocumentLocatorComponent implements OnDestroy {
137
137
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
138
138
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
139
139
  queryId?: _angular_core.Signal<string | undefined> | undefined;
140
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
140
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
141
141
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
142
142
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
143
143
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -170,8 +170,8 @@ declare class DocumentLocatorComponent implements OnDestroy {
170
170
  getQuery: () => _sinequa_atomic.Query;
171
171
  } & _ngrx_signals.StateSource<{
172
172
  name?: string | undefined;
173
- text?: string | undefined;
174
173
  action?: "" | "search" | "open" | "aggregate" | undefined;
174
+ text?: string | undefined;
175
175
  select?: _sinequa_atomic.Select[] | undefined;
176
176
  open?: _sinequa_atomic.Open[] | undefined;
177
177
  page?: number | undefined;
@@ -264,8 +264,8 @@ declare class MissingTermsComponent {
264
264
  readonly article: _angular_core.InputSignal<Article$1>;
265
265
  queryParamsStore: {
266
266
  name?: _angular_core.Signal<string | undefined> | undefined;
267
- text?: _angular_core.Signal<string | undefined> | undefined;
268
267
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
268
+ text?: _angular_core.Signal<string | undefined> | undefined;
269
269
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
270
270
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
271
271
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -286,7 +286,7 @@ declare class MissingTermsComponent {
286
286
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
287
287
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
288
288
  queryId?: _angular_core.Signal<string | undefined> | undefined;
289
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
289
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
290
290
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
291
291
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
292
292
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -319,8 +319,8 @@ declare class MissingTermsComponent {
319
319
  getQuery: () => _sinequa_atomic.Query;
320
320
  } & _ngrx_signals.StateSource<{
321
321
  name?: string | undefined;
322
- text?: string | undefined;
323
322
  action?: "" | "search" | "open" | "aggregate" | undefined;
323
+ text?: string | undefined;
324
324
  select?: _sinequa_atomic.Select[] | undefined;
325
325
  open?: _sinequa_atomic.Open[] | undefined;
326
326
  page?: number | undefined;
@@ -361,7 +361,7 @@ declare class MissingTermsComponent {
361
361
  }
362
362
 
363
363
  declare const multiSelectionToolbarVariants: (props?: ({
364
- variant?: "dark" | "light" | "glassy" | null | undefined;
364
+ variant?: "light" | "dark" | "glassy" | null | undefined;
365
365
  } & class_variance_authority_types.ClassProp) | undefined) => string;
366
366
  type MultiSelectionToolbarVariants = VariantProps<typeof multiSelectionToolbarVariants>;
367
367
  declare class MultiSelectionToolbarComponent {
@@ -740,7 +740,7 @@ declare class MultiSelectionToolbarComponent {
740
740
  converters?: _sinequa_atomic_angular.CConverter[];
741
741
  } | undefined;
742
742
  readonly class: _angular_core.InputSignal<string>;
743
- readonly variant: _angular_core.InputSignal<"dark" | "light" | "glassy" | null | undefined>;
743
+ readonly variant: _angular_core.InputSignal<"light" | "dark" | "glassy" | null | undefined>;
744
744
  readonly updatedCollections: _angular_core.OutputEmitterRef<void>;
745
745
  readonly count: _angular_core.Signal<number>;
746
746
  readonly variants: _angular_core.Signal<string>;
@@ -755,6 +755,74 @@ declare class MultiSelectionToolbarComponent {
755
755
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiSelectionToolbarComponent, "MultiSelectionToolbar, multi-selection-toolbar", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "updatedCollections": "updatedCollections"; }, never, never, true, never>;
756
756
  }
757
757
 
758
+ interface NavRouteTab {
759
+ display: string;
760
+ wsQueryTab: string;
761
+ path: string;
762
+ icon: string;
763
+ routerLink: string;
764
+ queryName?: string;
765
+ count?: number;
766
+ }
767
+ declare function injectRouteNavigation(path: Signal<string>, showCount: Signal<boolean>): {
768
+ tabs: Signal<NavRouteTab[]>;
769
+ currentPath: Signal<string>;
770
+ searchText: Signal<string>;
771
+ };
772
+
773
+ declare class NavbarTabsComponent {
774
+ cn: typeof cn;
775
+ class: _angular_core.InputSignal<string | undefined>;
776
+ readonly router: Router;
777
+ showCount: _angular_core.InputSignalWithTransform<boolean, unknown>;
778
+ /**
779
+ * When enabled (default), tab labels are never clipped: tabs that do not fit
780
+ * collapse into the ellipsis dropdown instead. Set to `false` to truncate
781
+ * overflowing labels with an ellipsis inside their slot.
782
+ *
783
+ * @default true
784
+ */
785
+ noTruncate: _angular_core.InputSignalWithTransform<boolean, unknown>;
786
+ minTabWidth: _angular_core.InputSignal<string | undefined>;
787
+ path: _angular_core.InputSignal<string>;
788
+ readonly nav: {
789
+ tabs: _angular_core.Signal<_sinequa_atomic_angular.NavRouteTab[]>;
790
+ currentPath: _angular_core.Signal<string>;
791
+ searchText: _angular_core.Signal<string>;
792
+ };
793
+ readonly visibleTabCount: _angular_core.WritableSignal<number | undefined>;
794
+ readonly moreTabs: _angular_core.Signal<_sinequa_atomic_angular.NavRouteTab[]>;
795
+ /**
796
+ * Minimum width applied to a tab (through the `--tab-min-width` CSS variable)
797
+ * when labels are truncated (`noTruncate` is `false`), so a tab never shrinks
798
+ * into an unusable sliver. An explicit `minTabWidth` input always wins.
799
+ *
800
+ * - tab with an icon: the icon (16px) plus the tab's horizontal padding (1.5rem)
801
+ * - text-only tab: enough room for a few characters and the ellipsis
802
+ */
803
+ protected tabMinWidth(hasIcon: boolean): string | undefined;
804
+ protected changeTab(): void;
805
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavbarTabsComponent, never>;
806
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavbarTabsComponent, "navbar-tabs", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "showCount": { "alias": "showCount"; "required": false; "isSignal": true; }; "noTruncate": { "alias": "noTruncate"; "required": false; "isSignal": true; }; "minTabWidth": { "alias": "minTabWidth"; "required": false; "isSignal": true; }; "path": { "alias": "path"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
807
+ }
808
+
809
+ declare class SidebarNavComponent {
810
+ readonly path: _angular_core.InputSignal<string>;
811
+ readonly showCount: _angular_core.InputSignalWithTransform<boolean, unknown>;
812
+ readonly nav: {
813
+ tabs: _angular_core.Signal<_sinequa_atomic_angular.NavRouteTab[]>;
814
+ currentPath: _angular_core.Signal<string>;
815
+ searchText: _angular_core.Signal<string>;
816
+ };
817
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SidebarNavComponent, never>;
818
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SidebarNavComponent, "sidebar-nav", never, { "path": { "alias": "path"; "required": false; "isSignal": true; }; "showCount": { "alias": "showCount"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
819
+ }
820
+
821
+ declare class NoResultComponent {
822
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NoResultComponent, never>;
823
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NoResultComponent, "NoResult", never, {}, {}, never, never, true, never>;
824
+ }
825
+
758
826
  declare namespace Alert {
759
827
  enum Frequency {
760
828
  Daily = 0,
@@ -1693,7 +1761,7 @@ declare const PrincipalStore: _angular_core.Type<{
1693
1761
  param9: _angular_core.Signal<string>;
1694
1762
  param10: _angular_core.Signal<string>;
1695
1763
  userOverrideActive: _angular_core.Signal<boolean>;
1696
- state: _angular_core.Signal<"error" | "loading" | "initial" | "loaded">;
1764
+ state: _angular_core.Signal<"initial" | "loading" | "loaded" | "error">;
1697
1765
  allowUserOverride: _angular_core.Signal<boolean>;
1698
1766
  isOverridingUser: _angular_core.Signal<boolean>;
1699
1767
  initials: _angular_core.Signal<string>;
@@ -1747,8 +1815,8 @@ type QueryParams = {
1747
1815
  };
1748
1816
  declare const QueryParamsStore: _angular_core.Type<{
1749
1817
  name?: _angular_core.Signal<string | undefined> | undefined;
1750
- text?: _angular_core.Signal<string | undefined> | undefined;
1751
1818
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
1819
+ text?: _angular_core.Signal<string | undefined> | undefined;
1752
1820
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
1753
1821
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
1754
1822
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -1769,7 +1837,7 @@ declare const QueryParamsStore: _angular_core.Type<{
1769
1837
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
1770
1838
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
1771
1839
  queryId?: _angular_core.Signal<string | undefined> | undefined;
1772
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
1840
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
1773
1841
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
1774
1842
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
1775
1843
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -1794,8 +1862,8 @@ declare const QueryParamsStore: _angular_core.Type<{
1794
1862
  getQuery: () => _sinequa_atomic.Query;
1795
1863
  } & _ngrx_signals.StateSource<{
1796
1864
  name?: string | undefined;
1797
- text?: string | undefined;
1798
1865
  action?: "" | "search" | "open" | "aggregate" | undefined;
1866
+ text?: string | undefined;
1799
1867
  select?: _sinequa_atomic.Select[] | undefined;
1800
1868
  open?: _sinequa_atomic.Open[] | undefined;
1801
1869
  page?: number | undefined;
@@ -1827,8 +1895,8 @@ declare const QueryParamsStore: _angular_core.Type<{
1827
1895
  declare function withQueryParamsFeatures(): _ngrx_signals.SignalStoreFeature<_ngrx_signals.EmptyFeatureResult, {
1828
1896
  state: {
1829
1897
  name?: string | undefined;
1830
- text?: string | undefined;
1831
1898
  action?: "" | "search" | "open" | "aggregate" | undefined;
1899
+ text?: string | undefined;
1832
1900
  select?: _sinequa_atomic.Select[] | undefined;
1833
1901
  open?: _sinequa_atomic.Open[] | undefined;
1834
1902
  page?: number | undefined;
@@ -2043,7 +2111,7 @@ declare const UserSettingsStore: _angular_core.Type<{
2043
2111
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
2044
2112
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
2045
2113
  language?: _angular_core.Signal<string | undefined> | undefined;
2046
- userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
2114
+ userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
2047
2115
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
2048
2116
  isDebugMode: _angular_core.Signal<boolean>;
2049
2117
  isDarkMode: _angular_core.Signal<boolean>;
@@ -2576,8 +2644,8 @@ declare class AggregationsService {
2576
2644
  }>;
2577
2645
  queryParamsStore: {
2578
2646
  name?: _angular_core.Signal<string | undefined> | undefined;
2579
- text?: _angular_core.Signal<string | undefined> | undefined;
2580
2647
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
2648
+ text?: _angular_core.Signal<string | undefined> | undefined;
2581
2649
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
2582
2650
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
2583
2651
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -2598,7 +2666,7 @@ declare class AggregationsService {
2598
2666
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
2599
2667
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
2600
2668
  queryId?: _angular_core.Signal<string | undefined> | undefined;
2601
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
2669
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
2602
2670
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
2603
2671
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
2604
2672
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -2631,8 +2699,8 @@ declare class AggregationsService {
2631
2699
  getQuery: () => Query;
2632
2700
  } & _ngrx_signals.StateSource<{
2633
2701
  name?: string | undefined;
2634
- text?: string | undefined;
2635
2702
  action?: "" | "search" | "open" | "aggregate" | undefined;
2703
+ text?: string | undefined;
2636
2704
  select?: _sinequa_atomic.Select[] | undefined;
2637
2705
  open?: _sinequa_atomic.Open[] | undefined;
2638
2706
  page?: number | undefined;
@@ -2705,12 +2773,24 @@ declare class AggregationsService {
2705
2773
  * @returns The updated tree node with parent nodes opened if necessary.
2706
2774
  */
2707
2775
  private openParentNodes;
2708
- getAuthorizedFilters(aggregations: Aggregation[] | undefined, includedFilters?: string[], excludedFilters?: string[]): {
2776
+ getAuthorizedFilters(aggregations: Aggregation[] | undefined, includedFilters?: string[], excludedFilters?: string[], homepageOnly?: boolean): {
2709
2777
  field: string;
2710
2778
  column: string;
2711
2779
  name: string;
2712
2780
  }[];
2781
+ /**
2782
+ * Determines whether a custom JSON filter refers to the given aggregation.
2783
+ *
2784
+ * Matches by `name` when it is defined, otherwise falls back to `column`,
2785
+ * resolving column/alias ambiguity through the app store's column map.
2786
+ *
2787
+ * @param filter - The filter object coming from the custom JSON.
2788
+ * @param agg - The aggregation returned by the backend.
2789
+ * @returns `true` if the filter refers to the aggregation.
2790
+ */
2791
+ private matchesAggregation;
2713
2792
  private getFilterCriteria;
2793
+ private getHomepageFilterCriteria;
2714
2794
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationsService, never>;
2715
2795
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AggregationsService>;
2716
2796
  }
@@ -2762,7 +2842,7 @@ declare class ApplicationService {
2762
2842
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
2763
2843
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
2764
2844
  language?: _angular_core.Signal<string | undefined> | undefined;
2765
- userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
2845
+ userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
2766
2846
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
2767
2847
  isDebugMode: _angular_core.Signal<boolean>;
2768
2848
  isDarkMode: _angular_core.Signal<boolean>;
@@ -2834,7 +2914,7 @@ declare class ApplicationService {
2834
2914
  param9: _angular_core.Signal<string>;
2835
2915
  param10: _angular_core.Signal<string>;
2836
2916
  userOverrideActive: _angular_core.Signal<boolean>;
2837
- state: _angular_core.Signal<"error" | "loading" | "initial" | "loaded">;
2917
+ state: _angular_core.Signal<"initial" | "loading" | "loaded" | "error">;
2838
2918
  allowUserOverride: _angular_core.Signal<boolean>;
2839
2919
  isOverridingUser: _angular_core.Signal<boolean>;
2840
2920
  initials: _angular_core.Signal<string>;
@@ -3181,6 +3261,7 @@ declare class ApplicationService {
3181
3261
  components: ComponentMapping[];
3182
3262
  defaultComponent: _angular_core.Signal<Type<unknown> | undefined>;
3183
3263
  defaultLayoutComponent: _angular_core.Signal<Type<unknown> | undefined>;
3264
+ routerConfig: _angular_core.WritableSignal<Route[] | undefined>;
3184
3265
  /**
3185
3266
  * Initializes the application and creates routes if needed.
3186
3267
  *
@@ -3612,7 +3693,7 @@ declare class AutocompleteService {
3612
3693
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
3613
3694
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
3614
3695
  language?: _angular_core.Signal<string | undefined> | undefined;
3615
- userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
3696
+ userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
3616
3697
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
3617
3698
  isDebugMode: _angular_core.Signal<boolean>;
3618
3699
  isDarkMode: _angular_core.Signal<boolean>;
@@ -4035,7 +4116,7 @@ declare class NavigationService {
4035
4116
  * - Maps all router events to `RouterEvent`.
4036
4117
  * - Filters the events to only include instances of `NavigationEnd`.
4037
4118
  * - Taps into the event stream to extract the route name from the URL and notify the audit service of route changes,
4038
- * excluding the "loading" route and duplicate navigations.
4119
+ * excluding duplicate navigations.
4039
4120
  * - Updates the `urlAfterNavigation` property with the current URL after navigation.
4040
4121
  * - Shares the replayed value with a buffer size of 1 to ensure subscribers receive the latest emitted value.
4041
4122
  *
@@ -4185,7 +4266,17 @@ type Theme = (typeof THEMES)[number];
4185
4266
 
4186
4267
  declare function withThemes(app: ApplicationRef, themes: Theme[]): ApplicationRef;
4187
4268
 
4188
- declare function signIn(): Promise<void>;
4269
+ /**
4270
+ * Signs in the user by checking the global configuration for authentication method and acting accordingly.
4271
+ *
4272
+ * This function first clears any existing session tokens to ensure a clean authentication state. It then checks the
4273
+ * global configuration to determine whether to use credentials-based authentication or Single Sign-On (SSO). If
4274
+ * credentials are used, it redirects the user to the login page. If SSO is enabled, it reloads the page to trigger
4275
+ * the SSO login process. If neither method is specified, it attempts a standard login and handles any errors that
4276
+ * may occur during the process.
4277
+ * @returns A promise resolving to a boolean indicating the success of the sign-in operation.
4278
+ */
4279
+ declare function signIn(): Promise<boolean>;
4189
4280
 
4190
4281
  /**
4191
4282
  * Bootstraps the application by ensuring the user is authenticated and initializing the application.
@@ -4269,8 +4360,8 @@ declare class PreviewService {
4269
4360
  }>;
4270
4361
  protected readonly queryParamsStore: {
4271
4362
  name?: _angular_core.Signal<string | undefined> | undefined;
4272
- text?: _angular_core.Signal<string | undefined> | undefined;
4273
4363
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
4364
+ text?: _angular_core.Signal<string | undefined> | undefined;
4274
4365
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
4275
4366
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
4276
4367
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -4291,7 +4382,7 @@ declare class PreviewService {
4291
4382
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
4292
4383
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
4293
4384
  queryId?: _angular_core.Signal<string | undefined> | undefined;
4294
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
4385
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
4295
4386
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
4296
4387
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
4297
4388
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -4324,8 +4415,8 @@ declare class PreviewService {
4324
4415
  getQuery: () => Query;
4325
4416
  } & _ngrx_signals.StateSource<{
4326
4417
  name?: string | undefined;
4327
- text?: string | undefined;
4328
4418
  action?: "" | "search" | "open" | "aggregate" | undefined;
4419
+ text?: string | undefined;
4329
4420
  select?: _sinequa_atomic.Select[] | undefined;
4330
4421
  open?: _sinequa_atomic.Open[] | undefined;
4331
4422
  page?: number | undefined;
@@ -4851,7 +4942,7 @@ declare class SavedSearchesService {
4851
4942
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
4852
4943
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
4853
4944
  language?: _angular_core.Signal<string | undefined> | undefined;
4854
- userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
4945
+ userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
4855
4946
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
4856
4947
  isDebugMode: _angular_core.Signal<boolean>;
4857
4948
  isDarkMode: _angular_core.Signal<boolean>;
@@ -4898,8 +4989,8 @@ declare class SavedSearchesService {
4898
4989
  }>;
4899
4990
  protected readonly queryParamsStore: {
4900
4991
  name?: _angular_core.Signal<string | undefined> | undefined;
4901
- text?: _angular_core.Signal<string | undefined> | undefined;
4902
4992
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
4993
+ text?: _angular_core.Signal<string | undefined> | undefined;
4903
4994
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
4904
4995
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
4905
4996
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -4920,7 +5011,7 @@ declare class SavedSearchesService {
4920
5011
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
4921
5012
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
4922
5013
  queryId?: _angular_core.Signal<string | undefined> | undefined;
4923
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
5014
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
4924
5015
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
4925
5016
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
4926
5017
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -4953,8 +5044,8 @@ declare class SavedSearchesService {
4953
5044
  getQuery: () => _sinequa_atomic.Query;
4954
5045
  } & _ngrx_signals.StateSource<{
4955
5046
  name?: string | undefined;
4956
- text?: string | undefined;
4957
5047
  action?: "" | "search" | "open" | "aggregate" | undefined;
5048
+ text?: string | undefined;
4958
5049
  select?: _sinequa_atomic.Select[] | undefined;
4959
5050
  open?: _sinequa_atomic.Open[] | undefined;
4960
5051
  page?: number | undefined;
@@ -5039,8 +5130,8 @@ declare class SearchService {
5039
5130
  audit?: AuditEvents;
5040
5131
  protected readonly queryParamsStore: {
5041
5132
  name?: _angular_core.Signal<string | undefined> | undefined;
5042
- text?: _angular_core.Signal<string | undefined> | undefined;
5043
5133
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
5134
+ text?: _angular_core.Signal<string | undefined> | undefined;
5044
5135
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
5045
5136
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
5046
5137
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -5061,7 +5152,7 @@ declare class SearchService {
5061
5152
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
5062
5153
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
5063
5154
  queryId?: _angular_core.Signal<string | undefined> | undefined;
5064
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
5155
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5065
5156
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
5066
5157
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
5067
5158
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5094,8 +5185,8 @@ declare class SearchService {
5094
5185
  getQuery: () => Query;
5095
5186
  } & _ngrx_signals.StateSource<{
5096
5187
  name?: string | undefined;
5097
- text?: string | undefined;
5098
5188
  action?: "" | "search" | "open" | "aggregate" | undefined;
5189
+ text?: string | undefined;
5099
5190
  select?: _sinequa_atomic.Select[] | undefined;
5100
5191
  open?: _sinequa_atomic.Open[] | undefined;
5101
5192
  page?: number | undefined;
@@ -5133,7 +5224,7 @@ declare class SearchService {
5133
5224
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
5134
5225
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
5135
5226
  language?: _angular_core.Signal<string | undefined> | undefined;
5136
- userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
5227
+ userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
5137
5228
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
5138
5229
  isDebugMode: _angular_core.Signal<boolean>;
5139
5230
  isDarkMode: _angular_core.Signal<boolean>;
@@ -5230,8 +5321,8 @@ declare class SelectionService {
5230
5321
  private readonly selectionStore;
5231
5322
  queryParamsStore: {
5232
5323
  name?: _angular_core.Signal<string | undefined> | undefined;
5233
- text?: _angular_core.Signal<string | undefined> | undefined;
5234
5324
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
5325
+ text?: _angular_core.Signal<string | undefined> | undefined;
5235
5326
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
5236
5327
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
5237
5328
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -5252,7 +5343,7 @@ declare class SelectionService {
5252
5343
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
5253
5344
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
5254
5345
  queryId?: _angular_core.Signal<string | undefined> | undefined;
5255
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
5346
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5256
5347
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
5257
5348
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
5258
5349
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5285,8 +5376,8 @@ declare class SelectionService {
5285
5376
  getQuery: () => _sinequa_atomic.Query;
5286
5377
  } & _ngrx_signals.StateSource<{
5287
5378
  name?: string | undefined;
5288
- text?: string | undefined;
5289
5379
  action?: "" | "search" | "open" | "aggregate" | undefined;
5380
+ text?: string | undefined;
5290
5381
  select?: _sinequa_atomic.Select[] | undefined;
5291
5382
  open?: _sinequa_atomic.Open[] | undefined;
5292
5383
  page?: number | undefined;
@@ -5438,142 +5529,6 @@ declare class UserProfileService {
5438
5529
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<UserProfileService>;
5439
5530
  }
5440
5531
 
5441
- type NavbarTab = {
5442
- display: string;
5443
- wsQueryTab: string;
5444
- path: string;
5445
- icon: string;
5446
- routerLink: string;
5447
- queryName?: string;
5448
- count?: number;
5449
- };
5450
- declare class NavbarTabsComponent {
5451
- cn: typeof cn;
5452
- class: _angular_core.InputSignal<string | undefined>;
5453
- readonly router: Router;
5454
- readonly route: ActivatedRoute;
5455
- readonly queryParamsStore: {
5456
- name?: _angular_core.Signal<string | undefined> | undefined;
5457
- text?: _angular_core.Signal<string | undefined> | undefined;
5458
- action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
5459
- select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
5460
- open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
5461
- page?: _angular_core.Signal<number | undefined> | undefined;
5462
- pageSize?: _angular_core.Signal<number | undefined> | undefined;
5463
- tab?: _angular_core.Signal<string | undefined> | undefined;
5464
- scope?: _angular_core.Signal<string | undefined> | undefined;
5465
- sort?: _angular_core.Signal<string | undefined> | undefined;
5466
- basket?: _angular_core.Signal<string | undefined> | undefined;
5467
- isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
5468
- strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
5469
- globalRelevance?: _angular_core.Signal<number | undefined> | undefined;
5470
- questionLanguage?: _angular_core.Signal<string | undefined> | undefined;
5471
- questionDefaultLanguage?: _angular_core.Signal<string | undefined> | undefined;
5472
- spellingCorrectionMode?: _angular_core.Signal<_sinequa_atomic.SpellingCorrectionMode | undefined> | undefined;
5473
- spellingCorrectionFilter?: _angular_core.Signal<string | undefined> | undefined;
5474
- documentWeight?: _angular_core.Signal<string | undefined> | undefined;
5475
- textPartWeights?: _angular_core.Signal<string | undefined> | undefined;
5476
- relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
5477
- removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
5478
- queryId?: _angular_core.Signal<string | undefined> | undefined;
5479
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
5480
- orderBy?: _angular_core.Signal<string | undefined> | undefined;
5481
- groupBy?: _angular_core.Signal<string | undefined> | undefined;
5482
- neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
5483
- path?: _angular_core.Signal<string | undefined> | undefined;
5484
- filters: _angular_core.Signal<_sinequa_atomic.LegacyFilter[]>;
5485
- id?: _angular_core.Signal<string | undefined> | undefined;
5486
- setFromUrl: (href: string) => void;
5487
- getQueryParams: () => {
5488
- f?: string;
5489
- p?: number;
5490
- s?: string;
5491
- t?: string;
5492
- q?: string;
5493
- b?: string;
5494
- n?: string;
5495
- };
5496
- addFilter: (filter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
5497
- updateFilter: (newFilter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
5498
- removeFilter: (field?: string) => void;
5499
- removeFilterByName: (name?: string, column?: string) => void;
5500
- clearFilters: () => void;
5501
- clearBasket: () => void;
5502
- patch: (params: Partial<_sinequa_atomic.QueryParams>, audit?: _sinequa_atomic.AuditEvents) => void;
5503
- getFilter: ({ field, name }: {
5504
- field: string | undefined;
5505
- name: string | undefined;
5506
- }) => Partial<_sinequa_atomic.LegacyFilter & {
5507
- count: number;
5508
- }> | null;
5509
- getQuery: () => _sinequa_atomic.Query;
5510
- } & _ngrx_signals.StateSource<{
5511
- name?: string | undefined;
5512
- text?: string | undefined;
5513
- action?: "" | "search" | "open" | "aggregate" | undefined;
5514
- select?: _sinequa_atomic.Select[] | undefined;
5515
- open?: _sinequa_atomic.Open[] | undefined;
5516
- page?: number | undefined;
5517
- pageSize?: number | undefined;
5518
- tab?: string | undefined;
5519
- scope?: string | undefined;
5520
- sort?: string | undefined;
5521
- basket?: string | undefined;
5522
- isFirstPage?: boolean | undefined;
5523
- strictRefine?: boolean | undefined;
5524
- globalRelevance?: number | undefined;
5525
- questionLanguage?: string | undefined;
5526
- questionDefaultLanguage?: string | undefined;
5527
- spellingCorrectionMode?: _sinequa_atomic.SpellingCorrectionMode | undefined;
5528
- spellingCorrectionFilter?: string | undefined;
5529
- documentWeight?: string | undefined;
5530
- textPartWeights?: string | undefined;
5531
- relevanceTransforms?: string | undefined;
5532
- removeDuplicates?: boolean | undefined;
5533
- queryId?: string | undefined;
5534
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
5535
- orderBy?: string | undefined;
5536
- groupBy?: string | undefined;
5537
- neuralSearch?: boolean | undefined;
5538
- path?: string | undefined;
5539
- filters: _sinequa_atomic.LegacyFilter[];
5540
- id?: string | undefined;
5541
- }>;
5542
- readonly queryService: QueryService;
5543
- /**
5544
- * Determines whether the count should be displayed in the navbar tabs component.
5545
- * This value is provided as an input property.
5546
- *
5547
- * @remarks
5548
- * This works only if tabSearch is enabled in the administration panel.
5549
- */
5550
- showCount: _angular_core.InputSignalWithTransform<boolean, unknown>;
5551
- noTruncate: _angular_core.InputSignalWithTransform<boolean, unknown>;
5552
- minTabWidth: _angular_core.InputSignal<string | undefined>;
5553
- /**
5554
- * The base path for the search routes.
5555
- * This value is provided as an input property and defaults to "search".
5556
- *
5557
- * @remarks
5558
- * This path is used to find the corresponding route configuration and its children
5559
- * to populate the tabs in the navbar.
5560
- */
5561
- path: _angular_core.InputSignal<string>;
5562
- searchText: _angular_core.Signal<string>;
5563
- readonly visibleTabCount: _angular_core.WritableSignal<number | undefined>;
5564
- readonly currentPath: _angular_core.Signal<string>;
5565
- readonly tabs: _angular_core.Signal<NavbarTab[]>;
5566
- readonly moreTabs: _angular_core.Signal<NavbarTab[]>;
5567
- protected changeTab(): void;
5568
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavbarTabsComponent, never>;
5569
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavbarTabsComponent, "navbar-tabs", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "showCount": { "alias": "showCount"; "required": false; "isSignal": true; }; "noTruncate": { "alias": "noTruncate"; "required": false; "isSignal": true; }; "minTabWidth": { "alias": "minTabWidth"; "required": false; "isSignal": true; }; "path": { "alias": "path"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5570
- }
5571
-
5572
- declare class NoResultComponent {
5573
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<NoResultComponent, never>;
5574
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NoResultComponent, "NoResult", never, {}, {}, never, never, true, never>;
5575
- }
5576
-
5577
5532
  declare class PreviewNavigator {
5578
5533
  protected readonly preview: PreviewService;
5579
5534
  readonly total: _angular_core.Signal<number>;
@@ -6004,7 +5959,7 @@ declare class ShowBookmarkDirective {
6004
5959
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
6005
5960
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
6006
5961
  language?: _angular_core.Signal<string | undefined> | undefined;
6007
- userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
5962
+ userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
6008
5963
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
6009
5964
  isDebugMode: _angular_core.Signal<boolean>;
6010
5965
  isDarkMode: _angular_core.Signal<boolean>;
@@ -6252,18 +6207,22 @@ declare class OverflowItemDirective {
6252
6207
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverflowItemDirective, "[overflowItem]", never, {}, {}, never, never, true, never>;
6253
6208
  }
6254
6209
  /**
6255
- * Directive to be used on the element that should be considered as the limit
6256
- * for the overflow manager.
6210
+ * Directive to be used on the "more" trigger element. The overflow manager
6211
+ * reserves this element's size when not all items fit, so the last visible
6212
+ * item never overlaps it. Its position is not used for measurement.
6257
6213
  */
6258
6214
  declare class OverflowStopDirective {
6259
6215
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverflowStopDirective, never>;
6260
6216
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverflowStopDirective, "[overflowStop]", never, {}, {}, never, never, true, never>;
6261
6217
  }
6262
6218
  /**
6263
- * Directive that takes items and a stop element to count the number of items
6264
- * that can fit before the stop element.
6265
- * The directive will apply a `visibility: hidden` on the items that are not
6266
- * visible.
6219
+ * Directive that counts how many items fit inside the container and hides the
6220
+ * overflowing ones. The boundary is the container's own content edge, which
6221
+ * keeps the measurement correct even when the host lives inside a flex layout
6222
+ * (we never depend on a sibling's position). The stop element is used only to
6223
+ * reserve space for the "more" trigger when not all items fit.
6224
+ *
6225
+ * The directive applies `display: none` on the items that do not fit.
6267
6226
  *
6268
6227
  * You can specify a target element to observe for resize events, otherwise the
6269
6228
  * directive will observe the element itself.
@@ -6302,15 +6261,30 @@ declare class OverflowManagerDirective {
6302
6261
  readonly target: _angular_core.InputSignal<HTMLElement | undefined>;
6303
6262
  readonly margin: _angular_core.InputSignal<number>;
6304
6263
  readonly direction: _angular_core.InputSignal<"horizontal" | "vertical">;
6264
+ /**
6265
+ * Always reserve the stop element's size, even when every item fits inside
6266
+ * the container. Use it when the stop trigger is permanently visible (e.g.
6267
+ * the "more" button also gives access to items that are never rendered in
6268
+ * the container), so the last item never overlaps it.
6269
+ */
6270
+ readonly reserveStop: _angular_core.InputSignalWithTransform<boolean, unknown>;
6305
6271
  readonly count: _angular_core.OutputEmitterRef<number>;
6306
6272
  private readonly el;
6307
6273
  private readonly destroyRef;
6308
6274
  private readonly resizeObserver;
6275
+ private readonly itemsResizeObserver;
6309
6276
  private countSub;
6310
6277
  private _lastCount;
6311
6278
  constructor();
6312
6279
  /**
6313
- * Counts the number of items that can fit before the stop element.
6280
+ * Counts the number of items that can fit inside the container.
6281
+ *
6282
+ * The boundary is the container's own content edge (not the position of the
6283
+ * stop element). This is what makes the measurement robust when the host is
6284
+ * placed inside a flex layout: we never rely on a sibling staying where we
6285
+ * expect it. The stop element is only used for its *size*, to reserve space
6286
+ * for the "more" trigger when not all items fit.
6287
+ *
6314
6288
  * Emits the count if it has changed.
6315
6289
  */
6316
6290
  countItems(): void;
@@ -6320,7 +6294,7 @@ declare class OverflowManagerDirective {
6320
6294
  */
6321
6295
  toggleToCount(count: number): void;
6322
6296
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverflowManagerDirective, never>;
6323
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverflowManagerDirective, "[overflowManager]", never, { "target": { "alias": "target"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; }, { "count": "count"; }, ["items", "stop"], never, true, never>;
6297
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverflowManagerDirective, "[overflowManager]", never, { "target": { "alias": "target"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "reserveStop": { "alias": "reserveStop"; "required": false; "isSignal": true; }; }, { "count": "count"; }, ["items", "stop"], never, true, never>;
6324
6298
  }
6325
6299
 
6326
6300
  /**
@@ -6679,8 +6653,8 @@ declare class SponsoredResultsComponent {
6679
6653
  }>;
6680
6654
  queryParamStore: {
6681
6655
  name?: _angular_core.Signal<string | undefined> | undefined;
6682
- text?: _angular_core.Signal<string | undefined> | undefined;
6683
6656
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
6657
+ text?: _angular_core.Signal<string | undefined> | undefined;
6684
6658
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
6685
6659
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
6686
6660
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -6701,7 +6675,7 @@ declare class SponsoredResultsComponent {
6701
6675
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
6702
6676
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
6703
6677
  queryId?: _angular_core.Signal<string | undefined> | undefined;
6704
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
6678
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
6705
6679
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
6706
6680
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
6707
6681
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -6734,8 +6708,8 @@ declare class SponsoredResultsComponent {
6734
6708
  getQuery: () => _sinequa_atomic.Query;
6735
6709
  } & _ngrx_signals.StateSource<{
6736
6710
  name?: string | undefined;
6737
- text?: string | undefined;
6738
6711
  action?: "" | "search" | "open" | "aggregate" | undefined;
6712
+ text?: string | undefined;
6739
6713
  select?: _sinequa_atomic.Select[] | undefined;
6740
6714
  open?: _sinequa_atomic.Open[] | undefined;
6741
6715
  page?: number | undefined;
@@ -6776,8 +6750,7 @@ declare class SponsoredResultsComponent {
6776
6750
  */
6777
6751
  displayPromoted: _angular_core.InputSignal<boolean>;
6778
6752
  sponsoredLinks: _angular_core.Signal<string>;
6779
- readonly sponsoredResults: _angular_core.WritableSignal<LinkResult[] | undefined>;
6780
- constructor();
6753
+ readonly sponsoredResults: _angular_core.ResourceRef<LinkResult[]>;
6781
6754
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SponsoredResultsComponent, never>;
6782
6755
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SponsoredResultsComponent, "sponsored-results, SponsoredResults, sponsoredresults", never, { "slice": { "alias": "slice"; "required": false; "isSignal": true; }; "displayPromoted": { "alias": "displayPromoted"; "required": false; "isSignal": true; }; }, {}, ["childElement"], never, true, never>;
6783
6756
  }
@@ -6912,7 +6885,7 @@ declare class AdvancedFiltersComponent {
6912
6885
  protected allowEmptySearch: _angular_core.Signal<boolean>;
6913
6886
  text: string;
6914
6887
  constructor();
6915
- getFirstPageQuery(): Promise<void>;
6888
+ getFirstPageQuery(queryName: string): Promise<void>;
6916
6889
  onTabChange(tab: string): void;
6917
6890
  onSearch(): void;
6918
6891
  /** Generate the LegacyFilter to add to the query */
@@ -6995,25 +6968,31 @@ type AggregationTitle = {
6995
6968
  icon?: string;
6996
6969
  };
6997
6970
 
6998
- declare class AggregationListComponent {
6971
+ declare class AggregationDateComponent {
6999
6972
  cn: typeof cn;
7000
- cdr: ChangeDetectorRef;
7001
- scrollElement: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
7002
- virtualizer: _tanstack_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
7003
- searchInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
7004
- aggregationsStore: {
7005
- aggregations: _angular_core.Signal<Aggregation[]>;
7006
- update: (aggregations: Aggregation[]) => void;
7007
- updateAggregation: (aggregation: Aggregation) => void;
7008
- clear: () => void;
7009
- getAggregation: (name: string, kind?: "column" | "name") => Aggregation | undefined;
7010
- } & _ngrx_signals.StateSource<{
7011
- aggregations: Aggregation[];
7012
- }>;
7013
- queryParamsStore: {
6973
+ dateRangeDialog: _angular_core.Signal<AggregationDateRangeDialogComponent | undefined>;
6974
+ name: _angular_core.InputSignal<string | null>;
6975
+ column: _angular_core.InputSignal<string | null>;
6976
+ id: _angular_core.InputSignal<string | null>;
6977
+ collapsible: _angular_core.InputSignal<boolean>;
6978
+ collapsed: _angular_core.InputSignal<boolean>;
6979
+ searchable: _angular_core.InputSignal<boolean | undefined>;
6980
+ showFiltersCount: _angular_core.InputSignalWithTransform<boolean, unknown>;
6981
+ readonly title: _angular_core.InputSignal<AggregationTitle>;
6982
+ readonly displayEmptyDistributionIntervals: _angular_core.InputSignal<boolean>;
6983
+ onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
6984
+ onApply: _angular_core.OutputEmitterRef<void>;
6985
+ onClear: _angular_core.OutputEmitterRef<void>;
6986
+ isCollapsed: _angular_core.WritableSignal<boolean>;
6987
+ expanded: _angular_core.Signal<"" | null>;
6988
+ protected readonly searchText: _angular_core.ModelSignal<string>;
6989
+ private readonly searchInput;
6990
+ private readonly base;
6991
+ readonly aggregationsService: _sinequa_atomic_angular.AggregationsService;
6992
+ readonly queryParamsStore: {
7014
6993
  name?: _angular_core.Signal<string | undefined> | undefined;
7015
- text?: _angular_core.Signal<string | undefined> | undefined;
7016
6994
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
6995
+ text?: _angular_core.Signal<string | undefined> | undefined;
7017
6996
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
7018
6997
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
7019
6998
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -7034,7 +7013,7 @@ declare class AggregationListComponent {
7034
7013
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
7035
7014
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
7036
7015
  queryId?: _angular_core.Signal<string | undefined> | undefined;
7037
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
7016
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7038
7017
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
7039
7018
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
7040
7019
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -7064,11 +7043,11 @@ declare class AggregationListComponent {
7064
7043
  }) => Partial<LegacyFilter & {
7065
7044
  count: number;
7066
7045
  }> | null;
7067
- getQuery: () => Query;
7046
+ getQuery: () => _sinequa_atomic.Query;
7068
7047
  } & _ngrx_signals.StateSource<{
7069
7048
  name?: string | undefined;
7070
- text?: string | undefined;
7071
7049
  action?: "" | "search" | "open" | "aggregate" | undefined;
7050
+ text?: string | undefined;
7072
7051
  select?: _sinequa_atomic.Select[] | undefined;
7073
7052
  open?: _sinequa_atomic.Open[] | undefined;
7074
7053
  page?: number | undefined;
@@ -7097,17 +7076,192 @@ declare class AggregationListComponent {
7097
7076
  filters: LegacyFilter[];
7098
7077
  id?: string | undefined;
7099
7078
  }>;
7100
- appStore: {
7101
- name: _angular_core.Signal<string>;
7102
- description?: _angular_core.Signal<string | undefined> | undefined;
7103
- versionId: _angular_core.Signal<string>;
7104
- queries: _angular_core.Signal<Record<string, _sinequa_atomic.CCQuery>>;
7105
- rfms: _angular_core.Signal<Record<string, _sinequa_atomic.CCRFM>>;
7106
- indexes: _angular_core.Signal<{
7107
- _: _sinequa_atomic.CCIndex;
7108
- } & Record<string, _sinequa_atomic.CCIndex>>;
7079
+ readonly hasFilters: _angular_core.Signal<boolean>;
7080
+ readonly destroyRef: _angular_core.DestroyRef;
7081
+ readonly allowCustomRange: boolean;
7082
+ readonly transloco: TranslocoService;
7083
+ protected readonly selection: _angular_core.WritableSignal<boolean>;
7084
+ protected readonly validSelection: _angular_core.WritableSignal<boolean>;
7085
+ readonly aggregation: _angular_core.Signal<AggEx | null>;
7086
+ readonly isEmpty: _angular_core.Signal<boolean>;
7087
+ readonly items: _angular_core.Signal<AggregationItem[]>;
7088
+ protected readonly dateOptions: _angular_core.Signal<_sinequa_atomic.DateFilter[]>;
7089
+ protected readonly form: FormGroup<{
7090
+ option: FormControl<string | null>;
7091
+ customRange: FormGroup<{
7092
+ from: FormControl<string | null>;
7093
+ to: FormControl<string | null>;
7094
+ }>;
7095
+ }>;
7096
+ protected today: Date;
7097
+ protected lang: _angular_core.WritableSignal<string>;
7098
+ private readonly formValue;
7099
+ protected readonly customRangeFrom: _angular_core.Signal<string>;
7100
+ protected readonly customRangeTo: _angular_core.Signal<string>;
7101
+ constructor();
7102
+ select(): void;
7103
+ apply(): void;
7104
+ clear(notify?: boolean): void;
7105
+ onHeaderClick(event: Event): void;
7106
+ protected selectAndOpenDialog(): void;
7107
+ protected onRangeSelected(range: DateRange): void;
7108
+ private updateForm;
7109
+ private toEndOfDay;
7110
+ private getFormValueFilter;
7111
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationDateComponent, never>;
7112
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationDateComponent, "aggregation-date, AggregationDate, aggregationdate", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "displayEmptyDistributionIntervals": { "alias": "displayEmptyDistributionIntervals"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "searchText": "searchTextChange"; }, never, ["label"], true, never>;
7113
+ }
7114
+
7115
+ /**
7116
+ * Component that allows users to select a date or a date range for filtering search results.
7117
+ *
7118
+ * @deprecated since version 4. Use `AggregationDateComponent` instead.
7119
+ */
7120
+ declare class DateComponent extends AggregationDateComponent {
7121
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateComponent, never>;
7122
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateComponent, "date-filter,DateFilter", never, {}, {}, never, ["label"], true, never>;
7123
+ }
7124
+
7125
+ declare class AdvancedSearch {
7126
+ cn: typeof cn;
7127
+ readonly article: _angular_core.InputSignal<Article$1>;
7128
+ readonly previewStrategy: _angular_core.InputSignal<SelectionStrategy>;
7129
+ readonly selected: _angular_core.OutputEmitterRef<Article$1>;
7130
+ protected readonly selectionStore: {
7131
+ article?: _angular_core.Signal<Article$1 | undefined> | undefined;
7132
+ id?: _angular_core.Signal<string | undefined> | undefined;
7133
+ queryText?: _angular_core.Signal<string | undefined> | undefined;
7134
+ queryName?: _angular_core.Signal<string | undefined> | undefined;
7135
+ previewHighlights?: _angular_core.Signal<_sinequa_atomic_angular.PreviewHighlights | undefined> | undefined;
7136
+ assistantIdsToAttach: _angular_core.Signal<string[]>;
7137
+ multiSelection: _angular_core.Signal<Article$1[]>;
7138
+ multiSelectCount: _angular_core.Signal<number>;
7139
+ update: (newState: Partial<_sinequa_atomic_angular.SelectionState>) => void;
7140
+ clear: () => void;
7141
+ addArticleToMultiSelection: (article: Article$1) => void;
7142
+ removeArticleFromMultiSelection: (article: Article$1) => void;
7143
+ clearMultiSelection: () => void;
7144
+ } & _ngrx_signals.StateSource<{
7145
+ article?: Article$1 | undefined;
7146
+ id?: string | undefined;
7147
+ queryText?: string | undefined;
7148
+ queryName?: string | undefined;
7149
+ previewHighlights?: _sinequa_atomic_angular.PreviewHighlights | undefined;
7150
+ assistantIdsToAttach: string[];
7151
+ multiSelection: Article$1[];
7152
+ }>;
7153
+ protected readonly queryParamsStore: {
7154
+ name?: _angular_core.Signal<string | undefined> | undefined;
7155
+ action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
7156
+ text?: _angular_core.Signal<string | undefined> | undefined;
7157
+ select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
7158
+ open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
7159
+ page?: _angular_core.Signal<number | undefined> | undefined;
7160
+ pageSize?: _angular_core.Signal<number | undefined> | undefined;
7161
+ tab?: _angular_core.Signal<string | undefined> | undefined;
7162
+ scope?: _angular_core.Signal<string | undefined> | undefined;
7163
+ sort?: _angular_core.Signal<string | undefined> | undefined;
7164
+ basket?: _angular_core.Signal<string | undefined> | undefined;
7165
+ isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
7166
+ strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
7167
+ globalRelevance?: _angular_core.Signal<number | undefined> | undefined;
7168
+ questionLanguage?: _angular_core.Signal<string | undefined> | undefined;
7169
+ questionDefaultLanguage?: _angular_core.Signal<string | undefined> | undefined;
7170
+ spellingCorrectionMode?: _angular_core.Signal<_sinequa_atomic.SpellingCorrectionMode | undefined> | undefined;
7171
+ spellingCorrectionFilter?: _angular_core.Signal<string | undefined> | undefined;
7172
+ documentWeight?: _angular_core.Signal<string | undefined> | undefined;
7173
+ textPartWeights?: _angular_core.Signal<string | undefined> | undefined;
7174
+ relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
7175
+ removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
7176
+ queryId?: _angular_core.Signal<string | undefined> | undefined;
7177
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7178
+ orderBy?: _angular_core.Signal<string | undefined> | undefined;
7179
+ groupBy?: _angular_core.Signal<string | undefined> | undefined;
7180
+ neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
7181
+ path?: _angular_core.Signal<string | undefined> | undefined;
7182
+ filters: _angular_core.Signal<_sinequa_atomic.LegacyFilter[]>;
7183
+ id?: _angular_core.Signal<string | undefined> | undefined;
7184
+ setFromUrl: (href: string) => void;
7185
+ getQueryParams: () => {
7186
+ f?: string;
7187
+ p?: number;
7188
+ s?: string;
7189
+ t?: string;
7190
+ q?: string;
7191
+ b?: string;
7192
+ n?: string;
7193
+ };
7194
+ addFilter: (filter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
7195
+ updateFilter: (newFilter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
7196
+ removeFilter: (field?: string) => void;
7197
+ removeFilterByName: (name?: string, column?: string) => void;
7198
+ clearFilters: () => void;
7199
+ clearBasket: () => void;
7200
+ patch: (params: Partial<_sinequa_atomic.QueryParams>, audit?: _sinequa_atomic.AuditEvents) => void;
7201
+ getFilter: ({ field, name }: {
7202
+ field: string | undefined;
7203
+ name: string | undefined;
7204
+ }) => Partial<_sinequa_atomic.LegacyFilter & {
7205
+ count: number;
7206
+ }> | null;
7207
+ getQuery: () => _sinequa_atomic.Query;
7208
+ } & _ngrx_signals.StateSource<{
7209
+ name?: string | undefined;
7210
+ action?: "" | "search" | "open" | "aggregate" | undefined;
7211
+ text?: string | undefined;
7212
+ select?: _sinequa_atomic.Select[] | undefined;
7213
+ open?: _sinequa_atomic.Open[] | undefined;
7214
+ page?: number | undefined;
7215
+ pageSize?: number | undefined;
7216
+ tab?: string | undefined;
7217
+ scope?: string | undefined;
7218
+ sort?: string | undefined;
7219
+ basket?: string | undefined;
7220
+ isFirstPage?: boolean | undefined;
7221
+ strictRefine?: boolean | undefined;
7222
+ globalRelevance?: number | undefined;
7223
+ questionLanguage?: string | undefined;
7224
+ questionDefaultLanguage?: string | undefined;
7225
+ spellingCorrectionMode?: _sinequa_atomic.SpellingCorrectionMode | undefined;
7226
+ spellingCorrectionFilter?: string | undefined;
7227
+ documentWeight?: string | undefined;
7228
+ textPartWeights?: string | undefined;
7229
+ relevanceTransforms?: string | undefined;
7230
+ removeDuplicates?: boolean | undefined;
7231
+ queryId?: string | undefined;
7232
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
7233
+ orderBy?: string | undefined;
7234
+ groupBy?: string | undefined;
7235
+ neuralSearch?: boolean | undefined;
7236
+ path?: string | undefined;
7237
+ filters: _sinequa_atomic.LegacyFilter[];
7238
+ id?: string | undefined;
7239
+ }>;
7240
+ protected readonly queryText: _angular_core.WritableSignal<string>;
7241
+ queryName: _angular_core.Signal<string>;
7242
+ protected executeSearch(): void;
7243
+ protected clearInput(): void;
7244
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdvancedSearch, never>;
7245
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AdvancedSearch, "advanced-search", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; "previewStrategy": { "alias": "previewStrategy"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
7246
+ }
7247
+
7248
+ interface MetadataNavigation {
7249
+ index: number;
7250
+ value: string;
7251
+ }
7252
+ declare class ArticleEntities {
7253
+ cn: typeof cn;
7254
+ protected readonly appStore: {
7255
+ name: _angular_core.Signal<string>;
7256
+ description?: _angular_core.Signal<string | undefined> | undefined;
7257
+ versionId: _angular_core.Signal<string>;
7258
+ queries: _angular_core.Signal<Record<string, _sinequa_atomic.CCQuery>>;
7259
+ rfms: _angular_core.Signal<Record<string, _sinequa_atomic.CCRFM>>;
7260
+ indexes: _angular_core.Signal<{
7261
+ _: _sinequa_atomic.CCIndex;
7262
+ } & Record<string, _sinequa_atomic.CCIndex>>;
7109
7263
  lists: _angular_core.Signal<Record<string, _sinequa_atomic.CCList>>;
7110
- webServices: _angular_core.Signal<Record<string, _sinequa_atomic.CCWebService>>;
7264
+ webServices: _angular_core.Signal<Record<string, CCWebService>>;
7111
7265
  queryNames: _angular_core.Signal<string>;
7112
7266
  labels: _angular_core.Signal<string>;
7113
7267
  preview: _angular_core.Signal<string>;
@@ -7162,11 +7316,7 @@ declare class AggregationListComponent {
7162
7316
  };
7163
7317
  dark?: {
7164
7318
  small?: string;
7165
- large? /**
7166
- * A computed signal that tracks the collapsed state of the component.
7167
- * This signal is linked to the `collapsed()` signal and automatically updates
7168
- * when the collapsed state changes.
7169
- */: string;
7319
+ large?: string;
7170
7320
  sidebar?: string;
7171
7321
  };
7172
7322
  };
@@ -7228,11 +7378,7 @@ declare class AggregationListComponent {
7228
7378
  };
7229
7379
  dark?: {
7230
7380
  small?: string;
7231
- large? /**
7232
- * A computed signal that tracks the collapsed state of the component.
7233
- * This signal is linked to the `collapsed()` signal and automatically updates
7234
- * when the collapsed state changes.
7235
- */: string;
7381
+ large?: string;
7236
7382
  sidebar?: string;
7237
7383
  };
7238
7384
  };
@@ -7274,7 +7420,7 @@ declare class AggregationListComponent {
7274
7420
  initialize: () => Promise<void>;
7275
7421
  initializeWithAppName: (appName: string) => Promise<void>;
7276
7422
  update: (app: Partial<_sinequa_atomic_angular.CCAppState>) => void;
7277
- getWebServiceByType: (type: _sinequa_atomic.CCWebService["webServiceType"]) => _sinequa_atomic.CCWebService | undefined;
7423
+ getWebServiceByType: (type: CCWebService["webServiceType"]) => CCWebService | undefined;
7278
7424
  getLabels: () => {
7279
7425
  private: string;
7280
7426
  public: string;
@@ -7290,8 +7436,8 @@ declare class AggregationListComponent {
7290
7436
  isDateColumn: (column: string) => boolean;
7291
7437
  isTabSearch: (queryName: string) => boolean;
7292
7438
  getAggregationCount: (queryName: string | undefined, aggregationName: string) => number;
7293
- getAuthorizedFilters: () => Aggregation[];
7294
- getAuthorized: (filters: Pick<_sinequa_atomic_angular.CFilter, "column" | "name">[]) => Aggregation[];
7439
+ getAuthorizedFilters: () => _sinequa_atomic.Aggregation[];
7440
+ getAuthorized: (filters: Pick<_sinequa_atomic_angular.CFilter, "column" | "name">[]) => _sinequa_atomic.Aggregation[];
7295
7441
  getNamedCustomizationJson: (name: string) => unknown | undefined;
7296
7442
  getAggregationIcon: (column: string) => string | undefined;
7297
7443
  getAggregationItemsCustomization: (column: string) => _sinequa_atomic_angular.CFilterItem[] | undefined;
@@ -7308,7 +7454,7 @@ declare class AggregationListComponent {
7308
7454
  _: _sinequa_atomic.CCIndex;
7309
7455
  } & Record<string, _sinequa_atomic.CCIndex>;
7310
7456
  lists: Record<string, _sinequa_atomic.CCList>;
7311
- webServices: Record<string, _sinequa_atomic.CCWebService>;
7457
+ webServices: Record<string, CCWebService>;
7312
7458
  queryNames: string;
7313
7459
  labels: string;
7314
7460
  preview: string;
@@ -7363,11 +7509,7 @@ declare class AggregationListComponent {
7363
7509
  };
7364
7510
  dark?: {
7365
7511
  small?: string;
7366
- large? /**
7367
- * A computed signal that tracks the collapsed state of the component.
7368
- * This signal is linked to the `collapsed()` signal and automatically updates
7369
- * when the collapsed state changes.
7370
- */: string;
7512
+ large?: string;
7371
7513
  sidebar?: string;
7372
7514
  };
7373
7515
  };
@@ -7416,239 +7558,66 @@ declare class AggregationListComponent {
7416
7558
  authorizationLevel?: string | undefined;
7417
7559
  columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
7418
7560
  }>;
7419
- aggregationsService: AggregationsService;
7420
- el: ElementRef<any>;
7421
- injector: Injector;
7422
- destroyRef: DestroyRef;
7423
- class: _angular_core.InputSignal<string>;
7424
- /**
7425
- * The name of the <details> element. When you provide the same id, the component work as an accordion
7426
- * @defaultValue null
7427
- */
7428
- id: _angular_core.InputSignal<string | null>;
7429
- name: _angular_core.InputSignal<string | null>;
7430
- column: _angular_core.InputSignal<string | null>;
7431
- onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
7432
- onApply: _angular_core.OutputEmitterRef<void>;
7433
- onClear: _angular_core.OutputEmitterRef<void>;
7434
- /**
7435
- * Determines whether the aggregation component can be collapsed or expanded.
7436
- * When true, the component will display collapse/expand controls allowing users
7437
- * to show or hide the aggregation content.
7438
- *
7439
- * @default false
7440
- */
7441
- collapsible: _angular_core.InputSignal<boolean>;
7442
- /**
7443
- * Controls whether the aggregation component is in a collapsed state.
7444
- * When true, the component will be visually collapsed/hidden.
7445
- * When false, the component will be expanded/visible.
7446
- *
7447
- * @default false
7448
- */
7449
- collapsed: _angular_core.InputSignal<boolean>;
7450
- /**
7451
- * A computed signal that tracks the collapsed state of the component.
7452
- * This signal is linked to the `collapsed()` signal and automatically updates
7453
- * when the collapsed state changes.
7454
- */
7455
- isCollapsed: _angular_core.WritableSignal<boolean>;
7456
- /**
7457
- * Computed property that returns an empty string when the component is not collapsed,
7458
- * or null when the component is collapsed. This is typically used to control
7459
- * expansion state in UI components with conditional rendering or styling.
7460
- *
7461
- * @returns empty string if not collapsed, null if collapsed
7462
- */
7463
- expanded: _angular_core.Signal<"" | null>;
7464
- /**
7465
- * A boolean flag indicating whether the component is searchable.
7466
- * This property is initialized to `undefined` by default.
7467
- * "Undefined" and not "false" because this input overrides the custom json settings
7468
- */
7469
- searchable: _angular_core.InputSignal<undefined>;
7470
- selection: _angular_core.WritableSignal<boolean>;
7471
- /**
7472
- * A boolean flag indicating whether we want to see the filters count when some is applied
7473
- * This property is initialized to `false` by default.
7474
- */
7475
- showFiltersCount: _angular_core.InputSignalWithTransform<boolean | null, unknown>;
7476
- aggregation: _angular_core.Signal<_sinequa_atomic_angular.AggEx | null>;
7477
- items: _angular_core.Signal<AggregationItem[]>;
7478
- /**
7479
- * Computed signal that determines whether the items collection is empty.
7480
- * @returns True if the items array has no elements, false otherwise.
7481
- */
7482
- isEmpty: _angular_core.Signal<boolean>;
7483
- /**
7484
- * A computed property that determines whether there are active filters
7485
- * for the current aggregation column.
7486
- *
7487
- * if True, the clear button is shown.
7488
- *
7489
- * @returns {boolean} `true` if the filter count for the aggregation column is greater than 0, otherwise `false`.
7490
- */
7491
- hasFilters: _angular_core.Signal<boolean>;
7492
- /**
7493
- * A computed property that returns the number of items of this aggregation applied in the active filters
7494
- *
7495
- * if more than 0 and the showCount input is set as True, the count number is shown.
7496
- *
7497
- * @returns {number} the filters count.
7498
- */
7499
- filtersCount: _angular_core.Signal<number>;
7500
- isAllSelected: _angular_core.WritableSignal<boolean>;
7501
- searchText: _angular_core.ModelSignal<string>;
7502
- debouncedSearchText: _angular_core.Signal<string>;
7503
- normalizedSearchText: _angular_core.Signal<string>;
7504
- readonly suggests: _angular_core.WritableSignal<Suggestion[]>;
7505
- readonly searchedItems: _angular_core.Signal<AggregationItem[]>;
7506
- query: Query;
7507
- filters: _angular_core.WritableSignal<LegacyFilter[]>;
7508
- constructor();
7509
- /**
7510
- * Clears the current filter for the aggregation column.
7511
- *
7512
- * This method updates the filter in the `queryParamsStore` by setting the display value
7513
- * of the current aggregation column to an empty string.
7514
- */
7515
- clear(): void;
7516
- /**
7517
- * Select all filters for the aggregation column.
7518
- */
7519
- selectAll(): void;
7520
- /**
7521
- * Unselect all filters for the aggregation column.
7522
- */
7523
- unselectAll(): void;
7524
- /**
7525
- * Applies the current filters to the query parameters store.
7526
- *
7527
- * - If there are multiple filters, they are wrapped in an "or" filter.
7528
- * - If the aggregation is not a distribution, the filters are merged into a single filter with an "in" operator.
7529
- * - If there is only one filter, it is directly applied.
7530
- * - If there are no filters, the current filters are cleared.
7531
- *
7532
- * After applying the filters, the search text is reset.
7533
- */
7534
- apply(): void;
7535
- loadMore(): void;
7536
- /**
7537
- * Updates the selected state of the given item in the aggregation list.
7538
- *
7539
- * @param item - The item to be selected or deselected.
7540
- *
7541
- * This method iterates through the items in the aggregation list and updates
7542
- * the `$selected` property of the item that matches the value of the given item.
7543
- *
7544
- * If the item is selected, the selection count is incremented by 1.
7545
- * If the item is deselected, the selection count is decremented by 1.
7546
- */
7547
- select(): void;
7548
- /**
7549
- * Updates the collapsed status on header click if the component is collapsible.
7550
- */
7551
- onHeaderClick(event: Event): void;
7552
- /**
7553
- * Retrieves a list of filters based on the selected items.
7554
- *
7555
- * This method filters the items to include only those that are selected,
7556
- * and then maps each selected item to a filter using the `toFilter` method.
7557
- *
7558
- * @returns {LegacyFilter[]} An array of filters corresponding to the selected items.
7559
- */
7560
- protected getFilters(): LegacyFilter[];
7561
- private addCurrentFiltersToItems;
7562
- /**
7563
- * Update the $selected property to the selected parameter to all items
7564
- *
7565
- * @param items the items to apply to
7566
- * @param selected the selected status
7567
- */
7568
- private selectItems;
7569
- onToggle(event: Event): void;
7570
- protected clearSearch(e: Event): void;
7571
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationListComponent, never>;
7572
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationListComponent, "AggregationList, aggregation-list, aggregationlist", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "searchText": "searchTextChange"; }, never, ["label", "*"], true, never>;
7561
+ protected readonly previewService: PreviewService;
7562
+ readonly article: _angular_core.InputSignal<Article$1>;
7563
+ protected readonly previewHighlights: _angular_core.Signal<{
7564
+ name: string;
7565
+ entity: string;
7566
+ metadata: ArticleMetadata[];
7567
+ }[] | undefined>;
7568
+ getMetadata(article: Partial<Article$1 & Record<string, unknown>>, entity: string): ArticleMetadata[];
7569
+ navigation: _angular_core.WritableSignal<MetadataNavigation | undefined>;
7570
+ hovering: _angular_core.WritableSignal<string | undefined>;
7571
+ hoverIndex: _angular_core.Signal<number>;
7572
+ scrollTo(type: string | undefined, index: number, usePassageHighlighter?: boolean): void;
7573
+ private navigate;
7574
+ navigateNext(entity: string, data: ArticleMetadata): void;
7575
+ navigatePrev(entity: string, data: ArticleMetadata): void;
7576
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ArticleEntities, never>;
7577
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ArticleEntities, "article-entities,ArticleEntities,articleentities", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
7573
7578
  }
7574
7579
 
7575
- declare class AggregationDateComponent extends AggregationListComponent {
7576
- dateRangeDialog: _angular_core.Signal<AggregationDateRangeDialogComponent | undefined>;
7577
- readonly title: _angular_core.InputSignal<AggregationTitle>;
7578
- readonly displayEmptyDistributionIntervals: _angular_core.InputSignal<boolean>;
7579
- readonly allowCustomRange: boolean;
7580
- readonly transloco: TranslocoService;
7581
- name: _angular_core.InputSignal<string | null>;
7582
- protected readonly dateOptions: _angular_core.Signal<_sinequa_atomic.DateFilter[]>;
7583
- protected readonly form: FormGroup<{
7584
- option: FormControl<string | null>;
7585
- customRange: FormGroup<{
7586
- from: FormControl<string | null>;
7587
- to: FormControl<string | null>;
7588
- }>;
7580
+ declare class ArticleExtracts {
7581
+ cn: typeof cn;
7582
+ protected readonly destroyRef: DestroyRef;
7583
+ protected readonly applicationStore: {
7584
+ ready: _angular_core.Signal<boolean>;
7585
+ extracts: _angular_core.Signal<Map<string, Extract[]>>;
7586
+ extractsCount: _angular_core.Signal<number>;
7587
+ update: (state: Partial<_sinequa_atomic_angular.ApplicationState>) => void;
7588
+ updateReadyState: (value?: boolean) => void;
7589
+ updateExtracts: (id: string, extracts: Extract[]) => void;
7590
+ getExtracts: (id: string) => Extract[];
7591
+ } & _ngrx_signals.WritableStateSource<{
7592
+ ready: boolean;
7593
+ extracts: Map<string, Extract[]>;
7589
7594
  }>;
7590
- protected today: Date;
7591
- protected lang: _angular_core.WritableSignal<string>;
7592
- protected readonly validSelection: _angular_core.WritableSignal<boolean>;
7593
- private readonly formValue;
7594
- protected readonly customRangeFrom: _angular_core.Signal<string>;
7595
- protected readonly customRangeTo: _angular_core.Signal<string>;
7595
+ protected readonly previewService: PreviewService;
7596
+ readonly article: _angular_core.InputSignal<Article$1>;
7597
+ loading: _angular_core.WritableSignal<boolean>;
7598
+ protected readonly extracts: _angular_core.WritableSignal<Extract[]>;
7596
7599
  constructor();
7597
- aggregation: _angular_core.Signal<AggEx | null>;
7598
- select(): void;
7599
- apply(): void;
7600
- clear(notify?: boolean): void;
7601
- protected selectAndOpenDialog(): void;
7602
- protected onRangeSelected(range: DateRange): void;
7603
- private updateForm;
7604
- private toEndOfDay;
7605
- private getFormValueFilter;
7606
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationDateComponent, never>;
7607
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationDateComponent, "aggregation-date, AggregationDate, aggregationdate", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "displayEmptyDistributionIntervals": { "alias": "displayEmptyDistributionIntervals"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; }, {}, never, ["label"], true, never>;
7600
+ scrollTo(type: string | undefined, index: number, usePassageHighlighter?: boolean): void;
7601
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ArticleExtracts, never>;
7602
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ArticleExtracts, "article-extracts, ArticleExtracts, articleextracts", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
7608
7603
  }
7609
7604
 
7610
- /**
7611
- * Component that allows users to select a date or a date range for filtering search results.
7612
- *
7613
- * @deprecated since version 4. Use `AggregationDateComponent` instead.
7614
- */
7615
- declare class DateComponent extends AggregationDateComponent {
7616
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateComponent, never>;
7617
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateComponent, "date-filter,DateFilter", never, {}, {}, never, ["label"], true, never>;
7605
+ declare class ArticleLabels {
7606
+ protected readonly labels: {
7607
+ private: string;
7608
+ public: string;
7609
+ };
7610
+ readonly article: _angular_core.InputSignal<Article$1>;
7611
+ readonly hasLabels: _angular_core.Signal<boolean | undefined>;
7612
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ArticleLabels, never>;
7613
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ArticleLabels, "article-labels, ArticleLabels, articlelabels", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
7618
7614
  }
7619
7615
 
7620
- declare class AdvancedSearch {
7621
- cn: typeof cn;
7622
- readonly article: _angular_core.InputSignal<Article$1>;
7623
- readonly previewStrategy: _angular_core.InputSignal<SelectionStrategy>;
7624
- readonly selected: _angular_core.OutputEmitterRef<Article$1>;
7625
- protected readonly selectionStore: {
7626
- article?: _angular_core.Signal<Article$1 | undefined> | undefined;
7627
- id?: _angular_core.Signal<string | undefined> | undefined;
7628
- queryText?: _angular_core.Signal<string | undefined> | undefined;
7629
- queryName?: _angular_core.Signal<string | undefined> | undefined;
7630
- previewHighlights?: _angular_core.Signal<_sinequa_atomic_angular.PreviewHighlights | undefined> | undefined;
7631
- assistantIdsToAttach: _angular_core.Signal<string[]>;
7632
- multiSelection: _angular_core.Signal<Article$1[]>;
7633
- multiSelectCount: _angular_core.Signal<number>;
7634
- update: (newState: Partial<_sinequa_atomic_angular.SelectionState>) => void;
7635
- clear: () => void;
7636
- addArticleToMultiSelection: (article: Article$1) => void;
7637
- removeArticleFromMultiSelection: (article: Article$1) => void;
7638
- clearMultiSelection: () => void;
7639
- } & _ngrx_signals.StateSource<{
7640
- article?: Article$1 | undefined;
7641
- id?: string | undefined;
7642
- queryText?: string | undefined;
7643
- queryName?: string | undefined;
7644
- previewHighlights?: _sinequa_atomic_angular.PreviewHighlights | undefined;
7645
- assistantIdsToAttach: string[];
7646
- multiSelection: Article$1[];
7647
- }>;
7616
+ declare class ArticleSimilarDocuments {
7648
7617
  protected readonly queryParamsStore: {
7649
7618
  name?: _angular_core.Signal<string | undefined> | undefined;
7650
- text?: _angular_core.Signal<string | undefined> | undefined;
7651
7619
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
7620
+ text?: _angular_core.Signal<string | undefined> | undefined;
7652
7621
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
7653
7622
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
7654
7623
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -7669,7 +7638,7 @@ declare class AdvancedSearch {
7669
7638
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
7670
7639
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
7671
7640
  queryId?: _angular_core.Signal<string | undefined> | undefined;
7672
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
7641
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7673
7642
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
7674
7643
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
7675
7644
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -7702,8 +7671,8 @@ declare class AdvancedSearch {
7702
7671
  getQuery: () => _sinequa_atomic.Query;
7703
7672
  } & _ngrx_signals.StateSource<{
7704
7673
  name?: string | undefined;
7705
- text?: string | undefined;
7706
7674
  action?: "" | "search" | "open" | "aggregate" | undefined;
7675
+ text?: string | undefined;
7707
7676
  select?: _sinequa_atomic.Select[] | undefined;
7708
7677
  open?: _sinequa_atomic.Open[] | undefined;
7709
7678
  page?: number | undefined;
@@ -7732,513 +7701,49 @@ declare class AdvancedSearch {
7732
7701
  filters: _sinequa_atomic.LegacyFilter[];
7733
7702
  id?: string | undefined;
7734
7703
  }>;
7735
- protected readonly queryText: _angular_core.WritableSignal<string>;
7704
+ readonly article: _angular_core.InputSignal<Article$1>;
7705
+ readonly strategy: _angular_core.InputSignal<SelectionStrategy>;
7706
+ readonly selected: _angular_core.OutputEmitterRef<Article$1>;
7736
7707
  queryName: _angular_core.Signal<string>;
7737
- protected executeSearch(): void;
7738
- protected clearInput(): void;
7739
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdvancedSearch, never>;
7740
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AdvancedSearch, "advanced-search", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; "previewStrategy": { "alias": "previewStrategy"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
7708
+ readonly similarDocumentsResource: _angular_core.ResourceRef<Article$1[]>;
7709
+ protected readonly similarDocuments: _angular_core.Signal<Article$1[]>;
7710
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ArticleSimilarDocuments, never>;
7711
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ArticleSimilarDocuments, "article-similar-documents, ArticleSimilarDocuments, articlesimilardocuments", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; "strategy": { "alias": "strategy"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
7741
7712
  }
7742
7713
 
7743
- interface MetadataNavigation {
7744
- index: number;
7745
- value: string;
7746
- }
7747
- declare class ArticleEntities {
7748
- cn: typeof cn;
7749
- protected readonly appStore: {
7750
- name: _angular_core.Signal<string>;
7751
- description?: _angular_core.Signal<string | undefined> | undefined;
7752
- versionId: _angular_core.Signal<string>;
7753
- queries: _angular_core.Signal<Record<string, _sinequa_atomic.CCQuery>>;
7754
- rfms: _angular_core.Signal<Record<string, _sinequa_atomic.CCRFM>>;
7755
- indexes: _angular_core.Signal<{
7756
- _: _sinequa_atomic.CCIndex;
7757
- } & Record<string, _sinequa_atomic.CCIndex>>;
7758
- lists: _angular_core.Signal<Record<string, _sinequa_atomic.CCList>>;
7759
- webServices: _angular_core.Signal<Record<string, CCWebService>>;
7760
- queryNames: _angular_core.Signal<string>;
7761
- labels: _angular_core.Signal<string>;
7762
- preview: _angular_core.Signal<string>;
7763
- autocomplete: _angular_core.Signal<string>;
7764
- sponsoredLinks: _angular_core.Signal<string>;
7765
- queryExport: _angular_core.Signal<string>;
7766
- queryRssEnabled: _angular_core.Signal<boolean>;
7767
- data: _angular_core.Signal<Record<string, unknown> & _sinequa_atomic_angular.CJson & {
7768
- filters?: _sinequa_atomic_angular.CAggregation[];
7769
- autocomplete?: _sinequa_atomic_angular.Autocomplete;
7770
- tabs?: Record<string, {
7771
- filters: string[];
7772
- overviews?: Record<string, {
7773
- minRelevance: number;
7774
- }>;
7775
- }>;
7776
- sources?: _sinequa_atomic_angular.CSources;
7777
- features?: {
7778
- [key: string]: boolean | {
7779
- [key: string]: string | boolean | string[] | undefined;
7780
- } | undefined;
7781
- allowChangePassword?: boolean;
7782
- editablepartition?: boolean;
7783
- advancedSearch?: boolean;
7784
- allowChatDrawer?: boolean;
7785
- filterLinkChildren?: boolean;
7786
- expandPreview?: boolean;
7787
- quickFilter?: boolean;
7788
- showAggregationItemCount?: boolean;
7789
- assistant?: {
7790
- usePrefixName?: boolean;
7791
- };
7792
- filters?: {
7793
- homepage?: boolean;
7794
- };
7795
- userProfile?: {
7796
- enabled?: boolean;
7797
- data?: string[];
7798
- customData?: string[];
7799
- };
7800
- previewMultiConversion?: boolean;
7801
- };
7802
- allowAdvancedFilters?: boolean;
7803
- general?: {
7804
- name?: string;
7805
- logo?: {
7806
- alt?: string;
7807
- light?: {
7808
- small?: string;
7809
- large?: string;
7810
- sidebar?: string;
7811
- };
7812
- dark?: {
7813
- small?: string;
7814
- large?: string;
7815
- sidebar?: string;
7816
- };
7817
- };
7818
- features?: {
7819
- [key: string]: boolean | {
7820
- [key: string]: string | boolean | string[] | undefined;
7821
- } | undefined;
7822
- allowChangePassword?: boolean;
7823
- editablepartition?: boolean;
7824
- advancedSearch?: boolean;
7825
- allowChatDrawer?: boolean;
7826
- filterLinkChildren?: boolean;
7827
- expandPreview?: boolean;
7828
- quickFilter?: boolean;
7829
- showAggregationItemCount?: boolean;
7830
- assistant?: {
7831
- usePrefixName?: boolean;
7832
- };
7833
- filters?: {
7834
- homepage?: boolean;
7835
- };
7836
- userProfile?: {
7837
- enabled?: boolean;
7838
- data?: string[];
7839
- customData?: string[];
7840
- };
7841
- previewMultiConversion?: boolean;
7842
- };
7843
- converters?: _sinequa_atomic_angular.CConverter[];
7844
- };
7845
- documentsUploadSettings?: {
7846
- enabled?: boolean;
7847
- };
7848
- }>;
7849
- customJSONs: _angular_core.Signal<{
7850
- name: string;
7851
- data: Record<string, unknown>;
7852
- }[] & _sinequa_atomic_angular.SideCJson[]>;
7853
- apiVersion: _angular_core.Signal<string>;
7854
- workspaceApp: _angular_core.Signal<string>;
7855
- defaultQueryName: _angular_core.Signal<string>;
7856
- auditEnabled?: _angular_core.Signal<boolean | undefined> | undefined;
7857
- dataSets?: _angular_core.Signal<string | undefined> | undefined;
7858
- revision?: _angular_core.Signal<number | undefined> | undefined;
7859
- runnableModels?: _angular_core.Signal<string | undefined> | undefined;
7860
- authorizationLevel?: _angular_core.Signal<string | undefined> | undefined;
7861
- columnMap?: _angular_core.Signal<Record<string, _sinequa_atomic.CCColumn> | undefined> | undefined;
7862
- customizationJson: _angular_core.Signal<_sinequa_atomic_angular.CJsonMint>;
7863
- sources: _angular_core.Signal<_sinequa_atomic_angular.CSources>;
7864
- filters: _angular_core.Signal<_sinequa_atomic_angular.CFilter[]>;
7865
- general: _angular_core.Signal<{
7866
- name?: string;
7867
- logo?: {
7868
- alt?: string;
7869
- light?: {
7870
- small?: string;
7871
- large?: string;
7872
- sidebar?: string;
7873
- };
7874
- dark?: {
7875
- small?: string;
7876
- large?: string;
7877
- sidebar?: string;
7878
- };
7879
- };
7880
- features?: {
7881
- [key: string]: boolean | {
7882
- [key: string]: string | boolean | string[] | undefined;
7883
- } | undefined;
7884
- allowChangePassword?: boolean;
7885
- editablepartition?: boolean;
7886
- advancedSearch?: boolean;
7887
- allowChatDrawer?: boolean;
7888
- filterLinkChildren?: boolean;
7889
- expandPreview?: boolean;
7890
- quickFilter?: boolean;
7891
- showAggregationItemCount?: boolean;
7892
- assistant?: {
7893
- usePrefixName?: boolean;
7894
- };
7895
- filters?: {
7896
- homepage?: boolean;
7897
- };
7898
- userProfile?: {
7899
- enabled?: boolean;
7900
- data?: string[];
7901
- customData?: string[];
7902
- };
7903
- previewMultiConversion?: boolean;
7904
- };
7905
- converters?: _sinequa_atomic_angular.CConverter[];
7906
- } | undefined>;
7907
- assistants: _angular_core.Signal<{
7908
- [x: string]: _sinequa_atomic_angular.AssistantDetails;
7909
- }>;
7910
- agents: _angular_core.Signal<{
7911
- [x: string]: {
7912
- defaultAgent: string;
7913
- };
7914
- }>;
7915
- initialize: () => Promise<void>;
7916
- initializeWithAppName: (appName: string) => Promise<void>;
7917
- update: (app: Partial<_sinequa_atomic_angular.CCAppState>) => void;
7918
- getWebServiceByType: (type: CCWebService["webServiceType"]) => CCWebService | undefined;
7919
- getLabels: () => {
7920
- private: string;
7921
- public: string;
7922
- };
7923
- getQueryByName: (name: string) => _sinequa_atomic.CCQuery | undefined;
7924
- getQueryByIndex: (index: number) => _sinequa_atomic.CCQuery | undefined;
7925
- getDefaultQuery: () => _sinequa_atomic.CCQuery | undefined;
7926
- allowEmptySearch: (queryName: string) => boolean;
7927
- enableFieldedSearch: (queryName: string) => boolean;
7928
- allowLabels: () => boolean;
7929
- getColumnAlias: (column: string) => string;
7930
- getColumn: (columnOrAlias: string) => _sinequa_atomic.CCColumn | undefined;
7931
- isDateColumn: (column: string) => boolean;
7932
- isTabSearch: (queryName: string) => boolean;
7933
- getAggregationCount: (queryName: string | undefined, aggregationName: string) => number;
7934
- getAuthorizedFilters: () => _sinequa_atomic.Aggregation[];
7935
- getAuthorized: (filters: Pick<_sinequa_atomic_angular.CFilter, "column" | "name">[]) => _sinequa_atomic.Aggregation[];
7936
- getNamedCustomizationJson: (name: string) => unknown | undefined;
7937
- getAggregationIcon: (column: string) => string | undefined;
7938
- getAggregationItemsCustomization: (column: string) => _sinequa_atomic_angular.CFilterItem[] | undefined;
7939
- getAggregationCustomization: (aggColumn: string, aggName?: string) => _sinequa_atomic_angular.CFilter | undefined;
7940
- isAssistantAllowed: (assistantName: string) => boolean;
7941
- isAgentAllowed: (agentName: string) => boolean;
7942
- } & _ngrx_signals.StateSource<{
7943
- name: string;
7944
- description?: string | undefined;
7945
- versionId: string;
7946
- queries: Record<string, _sinequa_atomic.CCQuery>;
7947
- rfms: Record<string, _sinequa_atomic.CCRFM>;
7948
- indexes: {
7949
- _: _sinequa_atomic.CCIndex;
7950
- } & Record<string, _sinequa_atomic.CCIndex>;
7951
- lists: Record<string, _sinequa_atomic.CCList>;
7952
- webServices: Record<string, CCWebService>;
7953
- queryNames: string;
7954
- labels: string;
7955
- preview: string;
7956
- autocomplete: string;
7957
- sponsoredLinks: string;
7958
- queryExport: string;
7959
- queryRssEnabled: boolean;
7960
- data: Record<string, unknown> & _sinequa_atomic_angular.CJson & {
7961
- filters?: _sinequa_atomic_angular.CAggregation[];
7962
- autocomplete?: _sinequa_atomic_angular.Autocomplete;
7963
- tabs?: Record<string, {
7964
- filters: string[];
7965
- overviews?: Record<string, {
7966
- minRelevance: number;
7967
- }>;
7968
- }>;
7969
- sources?: _sinequa_atomic_angular.CSources;
7970
- features?: {
7971
- [key: string]: boolean | {
7972
- [key: string]: string | boolean | string[] | undefined;
7973
- } | undefined;
7974
- allowChangePassword?: boolean;
7975
- editablepartition?: boolean;
7976
- advancedSearch?: boolean;
7977
- allowChatDrawer?: boolean;
7978
- filterLinkChildren?: boolean;
7979
- expandPreview?: boolean;
7980
- quickFilter?: boolean;
7981
- showAggregationItemCount?: boolean;
7982
- assistant?: {
7983
- usePrefixName?: boolean;
7984
- };
7985
- filters?: {
7986
- homepage?: boolean;
7987
- };
7988
- userProfile?: {
7989
- enabled?: boolean;
7990
- data?: string[];
7991
- customData?: string[];
7992
- };
7993
- previewMultiConversion?: boolean;
7994
- };
7995
- allowAdvancedFilters?: boolean;
7996
- general?: {
7997
- name?: string;
7998
- logo?: {
7999
- alt?: string;
8000
- light?: {
8001
- small?: string;
8002
- large?: string;
8003
- sidebar?: string;
8004
- };
8005
- dark?: {
8006
- small?: string;
8007
- large?: string;
8008
- sidebar?: string;
8009
- };
8010
- };
8011
- features?: {
8012
- [key: string]: boolean | {
8013
- [key: string]: string | boolean | string[] | undefined;
8014
- } | undefined;
8015
- allowChangePassword?: boolean;
8016
- editablepartition?: boolean;
8017
- advancedSearch?: boolean;
8018
- allowChatDrawer?: boolean;
8019
- filterLinkChildren?: boolean;
8020
- expandPreview?: boolean;
8021
- quickFilter?: boolean;
8022
- showAggregationItemCount?: boolean;
8023
- assistant?: {
8024
- usePrefixName?: boolean;
8025
- };
8026
- filters?: {
8027
- homepage?: boolean;
8028
- };
8029
- userProfile?: {
8030
- enabled?: boolean;
8031
- data?: string[];
8032
- customData?: string[];
8033
- };
8034
- previewMultiConversion?: boolean;
8035
- };
8036
- converters?: _sinequa_atomic_angular.CConverter[];
8037
- };
8038
- documentsUploadSettings?: {
8039
- enabled?: boolean;
8040
- };
8041
- };
8042
- customJSONs: {
8043
- name: string;
8044
- data: Record<string, unknown>;
8045
- }[] & _sinequa_atomic_angular.SideCJson[];
8046
- apiVersion: string;
8047
- workspaceApp: string;
8048
- defaultQueryName: string;
8049
- auditEnabled?: boolean | undefined;
8050
- dataSets?: string | undefined;
8051
- revision?: number | undefined;
8052
- runnableModels?: string | undefined;
8053
- authorizationLevel?: string | undefined;
8054
- columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
8055
- }>;
8056
- protected readonly previewService: PreviewService;
8057
- readonly article: _angular_core.InputSignal<Article$1>;
8058
- protected readonly previewHighlights: _angular_core.Signal<{
8059
- name: string;
8060
- entity: string;
8061
- metadata: ArticleMetadata[];
8062
- }[] | undefined>;
8063
- getMetadata(article: Partial<Article$1 & Record<string, unknown>>, entity: string): ArticleMetadata[];
8064
- navigation: _angular_core.WritableSignal<MetadataNavigation | undefined>;
8065
- hovering: _angular_core.WritableSignal<string | undefined>;
8066
- hoverIndex: _angular_core.Signal<number>;
8067
- scrollTo(type: string | undefined, index: number, usePassageHighlighter?: boolean): void;
8068
- private navigate;
8069
- navigateNext(entity: string, data: ArticleMetadata): void;
8070
- navigatePrev(entity: string, data: ArticleMetadata): void;
8071
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ArticleEntities, never>;
8072
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ArticleEntities, "article-entities,ArticleEntities,articleentities", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8073
- }
8074
-
8075
- declare class ArticleExtracts {
8076
- cn: typeof cn;
8077
- protected readonly destroyRef: DestroyRef;
8078
- protected readonly applicationStore: {
8079
- ready: _angular_core.Signal<boolean>;
8080
- extracts: _angular_core.Signal<Map<string, Extract[]>>;
8081
- extractsCount: _angular_core.Signal<number>;
8082
- update: (state: Partial<_sinequa_atomic_angular.ApplicationState>) => void;
8083
- updateReadyState: (value?: boolean) => void;
8084
- updateExtracts: (id: string, extracts: Extract[]) => void;
8085
- getExtracts: (id: string) => Extract[];
8086
- } & _ngrx_signals.WritableStateSource<{
8087
- ready: boolean;
8088
- extracts: Map<string, Extract[]>;
8089
- }>;
8090
- protected readonly previewService: PreviewService;
8091
- readonly article: _angular_core.InputSignal<Article$1>;
8092
- loading: _angular_core.WritableSignal<boolean>;
8093
- protected readonly extracts: _angular_core.WritableSignal<Extract[]>;
8094
- constructor();
8095
- scrollTo(type: string | undefined, index: number, usePassageHighlighter?: boolean): void;
8096
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ArticleExtracts, never>;
8097
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ArticleExtracts, "article-extracts, ArticleExtracts, articleextracts", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8098
- }
8099
-
8100
- declare class ArticleLabels {
8101
- protected readonly labels: {
8102
- private: string;
8103
- public: string;
8104
- };
8105
- readonly article: _angular_core.InputSignal<Article$1>;
8106
- readonly hasLabels: _angular_core.Signal<boolean | undefined>;
8107
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ArticleLabels, never>;
8108
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ArticleLabels, "article-labels, ArticleLabels, articlelabels", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8109
- }
8110
-
8111
- declare class ArticleSimilarDocuments {
8112
- protected readonly queryParamsStore: {
8113
- name?: _angular_core.Signal<string | undefined> | undefined;
8114
- text?: _angular_core.Signal<string | undefined> | undefined;
8115
- action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
8116
- select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
8117
- open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
8118
- page?: _angular_core.Signal<number | undefined> | undefined;
8119
- pageSize?: _angular_core.Signal<number | undefined> | undefined;
8120
- tab?: _angular_core.Signal<string | undefined> | undefined;
8121
- scope?: _angular_core.Signal<string | undefined> | undefined;
8122
- sort?: _angular_core.Signal<string | undefined> | undefined;
8123
- basket?: _angular_core.Signal<string | undefined> | undefined;
8124
- isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
8125
- strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
8126
- globalRelevance?: _angular_core.Signal<number | undefined> | undefined;
8127
- questionLanguage?: _angular_core.Signal<string | undefined> | undefined;
8128
- questionDefaultLanguage?: _angular_core.Signal<string | undefined> | undefined;
8129
- spellingCorrectionMode?: _angular_core.Signal<_sinequa_atomic.SpellingCorrectionMode | undefined> | undefined;
8130
- spellingCorrectionFilter?: _angular_core.Signal<string | undefined> | undefined;
8131
- documentWeight?: _angular_core.Signal<string | undefined> | undefined;
8132
- textPartWeights?: _angular_core.Signal<string | undefined> | undefined;
8133
- relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
8134
- removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
8135
- queryId?: _angular_core.Signal<string | undefined> | undefined;
8136
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
8137
- orderBy?: _angular_core.Signal<string | undefined> | undefined;
8138
- groupBy?: _angular_core.Signal<string | undefined> | undefined;
8139
- neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
8140
- path?: _angular_core.Signal<string | undefined> | undefined;
8141
- filters: _angular_core.Signal<_sinequa_atomic.LegacyFilter[]>;
8142
- id?: _angular_core.Signal<string | undefined> | undefined;
8143
- setFromUrl: (href: string) => void;
8144
- getQueryParams: () => {
8145
- f?: string;
8146
- p?: number;
8147
- s?: string;
8148
- t?: string;
8149
- q?: string;
8150
- b?: string;
8151
- n?: string;
8152
- };
8153
- addFilter: (filter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
8154
- updateFilter: (newFilter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
8155
- removeFilter: (field?: string) => void;
8156
- removeFilterByName: (name?: string, column?: string) => void;
8157
- clearFilters: () => void;
8158
- clearBasket: () => void;
8159
- patch: (params: Partial<_sinequa_atomic.QueryParams>, audit?: _sinequa_atomic.AuditEvents) => void;
8160
- getFilter: ({ field, name }: {
8161
- field: string | undefined;
8162
- name: string | undefined;
8163
- }) => Partial<_sinequa_atomic.LegacyFilter & {
8164
- count: number;
8165
- }> | null;
8166
- getQuery: () => _sinequa_atomic.Query;
8167
- } & _ngrx_signals.StateSource<{
8168
- name?: string | undefined;
8169
- text?: string | undefined;
8170
- action?: "" | "search" | "open" | "aggregate" | undefined;
8171
- select?: _sinequa_atomic.Select[] | undefined;
8172
- open?: _sinequa_atomic.Open[] | undefined;
8173
- page?: number | undefined;
8174
- pageSize?: number | undefined;
8175
- tab?: string | undefined;
8176
- scope?: string | undefined;
8177
- sort?: string | undefined;
8178
- basket?: string | undefined;
8179
- isFirstPage?: boolean | undefined;
8180
- strictRefine?: boolean | undefined;
8181
- globalRelevance?: number | undefined;
8182
- questionLanguage?: string | undefined;
8183
- questionDefaultLanguage?: string | undefined;
8184
- spellingCorrectionMode?: _sinequa_atomic.SpellingCorrectionMode | undefined;
8185
- spellingCorrectionFilter?: string | undefined;
8186
- documentWeight?: string | undefined;
8187
- textPartWeights?: string | undefined;
8188
- relevanceTransforms?: string | undefined;
8189
- removeDuplicates?: boolean | undefined;
8190
- queryId?: string | undefined;
8191
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
8192
- orderBy?: string | undefined;
8193
- groupBy?: string | undefined;
8194
- neuralSearch?: boolean | undefined;
8195
- path?: string | undefined;
8196
- filters: _sinequa_atomic.LegacyFilter[];
8197
- id?: string | undefined;
8198
- }>;
8199
- readonly article: _angular_core.InputSignal<Article$1>;
8200
- readonly strategy: _angular_core.InputSignal<SelectionStrategy>;
8201
- readonly selected: _angular_core.OutputEmitterRef<Article$1>;
8202
- queryName: _angular_core.Signal<string>;
8203
- readonly similarDocumentsResource: _angular_core.ResourceRef<Article$1[]>;
8204
- protected readonly similarDocuments: _angular_core.Signal<Article$1[]>;
8205
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ArticleSimilarDocuments, never>;
8206
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ArticleSimilarDocuments, "article-similar-documents, ArticleSimilarDocuments, articlesimilardocuments", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; "strategy": { "alias": "strategy"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
8207
- }
8208
-
8209
- declare class AlertDialog implements DialogInterface {
8210
- private readonly queryService;
8211
- private readonly queryParamsStore;
8212
- private readonly userSettingsStore;
8213
- readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
8214
- frequencies: Alert.Frequency[];
8215
- frequency: typeof Alert.Frequency;
8216
- weekdays: {
8217
- key: string;
8218
- value: Alert.Days;
8219
- }[];
8220
- index?: number;
8221
- alert?: Alert;
8222
- alertName: _angular_core.WritableSignal<string>;
8223
- alertFrequency: _angular_core.WritableSignal<Alert.Frequency>;
8224
- alertDays: _angular_core.WritableSignal<Alert.Days>;
8225
- alertTimes: _angular_core.WritableSignal<string>;
8226
- alertActive: _angular_core.WritableSignal<boolean>;
8227
- canUpdateQuery: _angular_core.WritableSignal<boolean>;
8228
- updateStatus: _angular_core.WritableSignal<"idle" | "updating" | "updated">;
8229
- invalidForm: _angular_core.Signal<boolean>;
8230
- closed: _angular_core.OutputEmitterRef<DialogEvent>;
8231
- open(index: number): void;
8232
- showModal(index?: number): Promise<void>;
8233
- confirm(): Promise<void>;
8234
- private create;
8235
- private update;
8236
- dayChecked(day: Alert.Days): boolean;
8237
- dayChange(event: Event, day: Alert.Days): void;
8238
- updateQuery(): void;
8239
- execute(): void;
8240
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialog, never>;
8241
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialog, "alert-dialog, alertdialog, AlertDialog", never, {}, { "closed": "closed"; }, never, never, true, never>;
7714
+ declare class AlertDialog implements DialogInterface {
7715
+ private readonly queryService;
7716
+ private readonly queryParamsStore;
7717
+ private readonly userSettingsStore;
7718
+ readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
7719
+ frequencies: Alert.Frequency[];
7720
+ frequency: typeof Alert.Frequency;
7721
+ weekdays: {
7722
+ key: string;
7723
+ value: Alert.Days;
7724
+ }[];
7725
+ index?: number;
7726
+ alert?: Alert;
7727
+ alertName: _angular_core.WritableSignal<string>;
7728
+ alertFrequency: _angular_core.WritableSignal<Alert.Frequency>;
7729
+ alertDays: _angular_core.WritableSignal<Alert.Days>;
7730
+ alertTimes: _angular_core.WritableSignal<string>;
7731
+ alertActive: _angular_core.WritableSignal<boolean>;
7732
+ canUpdateQuery: _angular_core.WritableSignal<boolean>;
7733
+ updateStatus: _angular_core.WritableSignal<"idle" | "updating" | "updated">;
7734
+ invalidForm: _angular_core.Signal<boolean>;
7735
+ closed: _angular_core.OutputEmitterRef<DialogEvent>;
7736
+ open(index: number): void;
7737
+ showModal(index?: number): Promise<void>;
7738
+ confirm(): Promise<void>;
7739
+ private create;
7740
+ private update;
7741
+ dayChecked(day: Alert.Days): boolean;
7742
+ dayChange(event: Event, day: Alert.Days): void;
7743
+ updateQuery(): void;
7744
+ execute(): void;
7745
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertDialog, never>;
7746
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertDialog, "alert-dialog, alertdialog, AlertDialog", never, {}, { "closed": "closed"; }, never, never, true, never>;
8242
7747
  }
8243
7748
 
8244
7749
  declare class AlertsComponent {
@@ -8328,6 +7833,13 @@ declare class SignInComponent {
8328
7833
  logLevel: _sinequa_atomic.LogLevel;
8329
7834
  createRoutes: boolean;
8330
7835
  } & Record<string, any>>;
7836
+ /**
7837
+ * True when authentication is handled outside the credentials form — i.e. by the
7838
+ * browser/proxy (`useSSO`) or by an auto-configured OAuth/SAML provider. In those
7839
+ * modes this screen shows a loader instead of a login form and initiates the
7840
+ * handshake automatically by calling `handleLogin()`.
7841
+ */
7842
+ readonly externalAuth: boolean;
8331
7843
  class: _angular_core.InputSignal<string | undefined>;
8332
7844
  readonly forgotPassword: _angular_core.OutputEmitterRef<void>;
8333
7845
  username: _angular_core.ModelSignal<string>;
@@ -8377,7 +7889,7 @@ declare class SignInComponent {
8377
7889
  constructor(destroyRef: DestroyRef);
8378
7890
  private checkPasswordExpiresSoon;
8379
7891
  handleLogout(): Promise<void>;
8380
- handleLogin(): Promise<void>;
7892
+ handleLogin(): Promise<boolean>;
8381
7893
  handleLoginWithCredentials(): Promise<void>;
8382
7894
  handleBack(): void;
8383
7895
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SignInComponent, never>;
@@ -8385,8 +7897,8 @@ declare class SignInComponent {
8385
7897
  }
8386
7898
 
8387
7899
  declare class BookmarkButtonComponent {
8388
- variant: _angular_core.InputSignal<"default" | "none" | "destructive" | "icon" | "ghost" | "primary" | "secondary" | "outline" | "ai" | "link" | "accent" | "tertiary" | "light-accent" | null | undefined>;
8389
- size: _angular_core.InputSignal<"icon" | "sm" | "md" | "lg" | "xs" | null | undefined>;
7900
+ variant: _angular_core.InputSignal<"default" | "link" | "primary" | "secondary" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | "destructive" | "icon" | "ai" | "none" | null | undefined>;
7901
+ size: _angular_core.InputSignal<"icon" | "xs" | "sm" | "md" | "lg" | null | undefined>;
8390
7902
  readonly article: _angular_core.InputSignal<Partial<Article$1>>;
8391
7903
  private readonly userSettingsStore;
8392
7904
  private readonly route;
@@ -8460,323 +7972,779 @@ declare class CollectionsComponent {
8460
7972
  hasMore: _angular_core.Signal<boolean>;
8461
7973
  readonly deleteCollectionDialog: _angular_core.Signal<DeleteCollectionDialog | undefined>;
8462
7974
  constructor();
8463
- onClick(collection: Basket): void;
8464
- onDelete(collection: Basket, index: number, e: Event): void;
8465
- loadMore(e: Event): void;
8466
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CollectionsComponent, never>;
8467
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CollectionsComponent, "app-collections, collections", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7975
+ onClick(collection: Basket): void;
7976
+ onDelete(collection: Basket, index: number, e: Event): void;
7977
+ loadMore(e: Event): void;
7978
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CollectionsComponent, never>;
7979
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CollectionsComponent, "app-collections, collections", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7980
+ }
7981
+
7982
+ declare class CollectionsDialog implements DialogInterface {
7983
+ readonly closed: _angular_core.OutputEmitterRef<DialogResult>;
7984
+ readonly createInputElement: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
7985
+ readonly dialogElement: _angular_core.Signal<DialogComponent | undefined>;
7986
+ private readonly queryParamStore;
7987
+ private readonly userSettingsStore;
7988
+ readonly collection: _angular_core.WritableSignal<string | undefined>;
7989
+ readonly article: _angular_core.WritableSignal<Article$1[]>;
7990
+ readonly newCollectionName: _angular_core.WritableSignal<string>;
7991
+ readonly creating: _angular_core.WritableSignal<boolean>;
7992
+ readonly removedFromCollection: _angular_core.WritableSignal<boolean>;
7993
+ readonly addedToCollection: _angular_core.WritableSignal<boolean>;
7994
+ readonly collections: _angular_core.Signal<Basket[]>;
7995
+ readonly collectionsMap: _angular_core.WritableSignal<Record<string, "some" | "none" | "all">>;
7996
+ open(article: Article$1 | Article$1[]): void;
7997
+ containsArticleByName(collectionName: string): boolean;
7998
+ containsArticle(collection: Basket): "all" | "some" | "none";
7999
+ onCreate(): void;
8000
+ onClose(): Promise<void>;
8001
+ addToCollection(collection: Basket, collectionIndex: number): Promise<void>;
8002
+ createCollection(): void;
8003
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CollectionsDialog, never>;
8004
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CollectionsDialog, "add-to-collection-dialog", never, {}, { "closed": "closed"; }, never, never, true, never>;
8005
+ }
8006
+
8007
+ declare class OverrideUserDialogComponent implements DialogInterface {
8008
+ readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
8009
+ private readonly appService;
8010
+ private readonly principalStore;
8011
+ readonly overrideUser: _angular_core.ModelSignal<{
8012
+ username: string;
8013
+ domain: string;
8014
+ }>;
8015
+ open(): void;
8016
+ override(): void;
8017
+ handleOverrideUser(username?: string, domain?: string): void;
8018
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverrideUserDialogComponent, never>;
8019
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<OverrideUserDialogComponent, "override-user-dialog", never, { "overrideUser": { "alias": "overrideUser"; "required": false; "isSignal": true; }; }, { "overrideUser": "overrideUserChange"; }, never, never, true, never>;
8020
+ }
8021
+
8022
+ declare class ResetUserSettingsDialogComponent implements DialogInterface {
8023
+ readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
8024
+ private readonly userSettingsStore;
8025
+ private readonly translocoService;
8026
+ open(): void;
8027
+ handleResetUserSettings(): void;
8028
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ResetUserSettingsDialogComponent, never>;
8029
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ResetUserSettingsDialogComponent, "reset-user-settings-dialog", never, {}, {}, never, never, true, never>;
8030
+ }
8031
+
8032
+ declare class DidYouMeanComponent {
8033
+ result: _angular_core.InputSignal<Result | undefined>;
8034
+ protected spellingCorrectionMode: _angular_core.Signal<_sinequa_atomic.SpellingCorrectionMode | undefined>;
8035
+ protected correction: _angular_core.Signal<string | undefined>;
8036
+ protected original: _angular_core.Signal<string | undefined>;
8037
+ readonly router: Router;
8038
+ private readonly queryParamsStore;
8039
+ selectCorrected(): void;
8040
+ selectOriginal(): void;
8041
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DidYouMeanComponent, never>;
8042
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DidYouMeanComponent, "did-you-mean, DidYouMean, didyoumean", never, { "result": { "alias": "result"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8043
+ }
8044
+
8045
+ /**
8046
+ * Service to manage the state and behavior of a stack of drawers in the application.
8047
+ * It provides methods to open, close, and manage drawers, as well as to handle
8048
+ * interactions with a chat assistant drawer.
8049
+ *
8050
+ * @deprecated we do not use it anymore.
8051
+ */
8052
+ declare class DrawerStackService {
8053
+ readonly isOpened: _angular_core.WritableSignal<boolean>;
8054
+ readonly toggleTopDrawerExtension$: EventEmitter<void>;
8055
+ readonly forceTopDrawerCollapse$: EventEmitter<void>;
8056
+ readonly closeTopDrawer$: EventEmitter<void>;
8057
+ readonly closeAllDrawers$: EventEmitter<void>;
8058
+ readonly isChatOpened: _angular_core.WritableSignal<boolean>;
8059
+ readonly openChatDrawer$: EventEmitter<void>;
8060
+ readonly closeChatDrawer$: EventEmitter<void>;
8061
+ readonly askAI$: EventEmitter<string>;
8062
+ private readonly selection;
8063
+ private readonly selectionHistory;
8064
+ private readonly selectionStore;
8065
+ private readonly navigationService;
8066
+ private readonly backdropService;
8067
+ private readonly destroyRef;
8068
+ componentType?: Type<any>;
8069
+ constructor();
8070
+ /**
8071
+ * Sets current drawer stack status to open
8072
+ */
8073
+ open(componentType?: Type<any>): void;
8074
+ /**
8075
+ * Emits event to extend the top drawer
8076
+ */
8077
+ extend(): void;
8078
+ /**
8079
+ * Emits event to close the top drawer, checks if history is empty, if so,
8080
+ * sets current drawer stack status to closed and clears history and current
8081
+ * selection
8082
+ */
8083
+ close(): void;
8084
+ /**
8085
+ * Emits event to close the top drawer
8086
+ */
8087
+ closeTop(): void;
8088
+ /**
8089
+ * Sets current drawer stack status to closed, clears history and emits event
8090
+ * to close all drawers
8091
+ *
8092
+ * @param keepDrawerOpen if true, do not trigger layout animation
8093
+ */
8094
+ closeAll(keepDrawerOpen?: boolean): void;
8095
+ /**
8096
+ * Replace the current selection with the given article by closing all
8097
+ * drawers and opening the drawer with the new selection without triggering
8098
+ * layout animation
8099
+ *
8100
+ * @param article the article to replace the current selection with
8101
+ */
8102
+ replace(article: Article$1 | undefined, withQueryText?: boolean): void;
8103
+ /**
8104
+ * Stack the given article by setting the current selection and opening the
8105
+ * drawer
8106
+ *
8107
+ * @param article the article to stack
8108
+ */
8109
+ stack(article: Article$1 | undefined, withQueryText?: boolean): void;
8110
+ toggleAssistant(): void;
8111
+ openAssistant(): void;
8112
+ closeAssistant(keepDrawerOpen?: boolean): void;
8113
+ askAI(text: string): void;
8114
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerStackService, never>;
8115
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DrawerStackService>;
8116
+ }
8117
+
8118
+ /**
8119
+ * Service to manage the state and behavior of a drawer component.
8120
+ * It provides methods to open, close, extend, collapse, and toggle
8121
+ * the drawer and its extension state.
8122
+ * @deprecated we do not use it anymore.
8123
+ */
8124
+ declare class DrawerService {
8125
+ readonly isOpened: _angular_core.WritableSignal<boolean>;
8126
+ readonly isExtended: _angular_core.WritableSignal<boolean>;
8127
+ private readonly backdrop;
8128
+ open(): void;
8129
+ close(): void;
8130
+ toggle(): void;
8131
+ extend(): void;
8132
+ collapse(): void;
8133
+ toggleExtension(): void;
8134
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerService, never>;
8135
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DrawerService>;
8136
+ }
8137
+
8138
+ /**
8139
+ * Each Drawer component has it's own drawer service to handle its state and link it to the drawer stack.
8140
+ */
8141
+ /**
8142
+ * @deprecated we do not use it anymore.
8143
+ */
8144
+ declare class DrawerComponent {
8145
+ drawerOpened: _angular_core.WritableSignal<boolean>;
8146
+ drawerExtended: _angular_core.WritableSignal<boolean>;
8147
+ drawerGridTemplateColumns: string;
8148
+ mouseMove(event: MouseEvent): void;
8149
+ mouseDown(event: MouseEvent): void;
8150
+ mouseUp(): void;
8151
+ drawerHandle: _angular_core.Signal<ElementRef<any> | undefined>;
8152
+ readonly drawer: DrawerService;
8153
+ protected readonly drawerStack: DrawerStackService;
8154
+ protected readonly element: any;
8155
+ protected readonly selectionHistory: SelectionHistoryService;
8156
+ private isSliding;
8157
+ private defaultDrawerGridTemplate;
8158
+ constructor();
8159
+ private disableAnimation;
8160
+ private enableAnimation;
8161
+ private resetGridTemplateColumns;
8162
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerComponent, never>;
8163
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerComponent, "Drawer, drawer", never, {}, {}, never, never, true, never>;
8468
8164
  }
8469
8165
 
8470
- declare class CollectionsDialog implements DialogInterface {
8471
- readonly closed: _angular_core.OutputEmitterRef<DialogResult>;
8472
- readonly createInputElement: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
8473
- readonly dialogElement: _angular_core.Signal<DialogComponent | undefined>;
8474
- private readonly queryParamStore;
8475
- private readonly userSettingsStore;
8476
- readonly collection: _angular_core.WritableSignal<string | undefined>;
8477
- readonly article: _angular_core.WritableSignal<Article$1[]>;
8478
- readonly newCollectionName: _angular_core.WritableSignal<string>;
8479
- readonly creating: _angular_core.WritableSignal<boolean>;
8480
- readonly removedFromCollection: _angular_core.WritableSignal<boolean>;
8481
- readonly addedToCollection: _angular_core.WritableSignal<boolean>;
8482
- readonly collections: _angular_core.Signal<Basket[]>;
8483
- readonly collectionsMap: _angular_core.WritableSignal<Record<string, "some" | "all" | "none">>;
8484
- open(article: Article$1 | Article$1[]): void;
8485
- containsArticleByName(collectionName: string): boolean;
8486
- containsArticle(collection: Basket): "all" | "some" | "none";
8487
- onCreate(): void;
8488
- onClose(): Promise<void>;
8489
- addToCollection(collection: Basket, collectionIndex: number): Promise<void>;
8490
- createCollection(): void;
8491
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CollectionsDialog, never>;
8492
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CollectionsDialog, "add-to-collection-dialog", never, {}, { "closed": "closed"; }, never, never, true, never>;
8166
+ type Operator = "all" | "exact" | "any" | "none" | "matches";
8167
+ interface Filter {
8168
+ column: string;
8169
+ alias: string;
8170
+ display?: string;
8171
+ items?: (AggregationItem | TreeAggregationNode)[];
8493
8172
  }
8494
-
8495
- declare class OverrideUserDialogComponent implements DialogInterface {
8496
- readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
8497
- private readonly appService;
8498
- private readonly principalStore;
8499
- readonly overrideUser: _angular_core.ModelSignal<{
8500
- username: string;
8501
- domain: string;
8502
- }>;
8503
- open(): void;
8504
- override(): void;
8505
- handleOverrideUser(username?: string, domain?: string): void;
8506
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverrideUserDialogComponent, never>;
8507
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<OverrideUserDialogComponent, "override-user-dialog", never, { "overrideUser": { "alias": "overrideUser"; "required": false; "isSignal": true; }; }, { "overrideUser": "overrideUserChange"; }, never, never, true, never>;
8173
+ interface Tab {
8174
+ path: string;
8175
+ display?: string;
8508
8176
  }
8509
-
8510
- declare class ResetUserSettingsDialogComponent implements DialogInterface {
8511
- readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
8512
- private readonly userSettingsStore;
8513
- private readonly translocoService;
8514
- open(): void;
8515
- handleResetUserSettings(): void;
8516
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ResetUserSettingsDialogComponent, never>;
8517
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ResetUserSettingsDialogComponent, "reset-user-settings-dialog", never, {}, {}, never, never, true, never>;
8177
+ /**
8178
+ * Advanced filters drawer component allowing users to apply complex filters to their search queries.
8179
+ * It provides a user interface for selecting filter criteria, managing applied filters,
8180
+ * and executing searches with the specified filters.
8181
+ *
8182
+ * This component extends the base DrawerComponent and integrates with the application's
8183
+ * query parameters store and app store to manage filter states and search execution.
8184
+ *
8185
+ * @deprecated Use the `AdvancedFiltersComponent` component instead.
8186
+ */
8187
+ declare class DrawerAdvancedFiltersComponent extends DrawerComponent {
8188
+ private readonly queryParamsStore;
8189
+ private readonly appStore;
8190
+ private readonly router;
8191
+ private readonly route;
8192
+ private readonly formBuilder;
8193
+ private readonly overlay;
8194
+ private readonly transloco;
8195
+ private readonly syslangPipe;
8196
+ private readonly translocoPipe;
8197
+ protected scrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
8198
+ protected noop: _angular_cdk_overlay.NoopScrollStrategy;
8199
+ selectData: {
8200
+ operator: string;
8201
+ display: string;
8202
+ placeholder?: string;
8203
+ }[];
8204
+ protected readonly form: _angular_forms.FormGroup<{
8205
+ content: _angular_forms.FormGroup<{
8206
+ operator: _angular_forms.FormControl<Operator>;
8207
+ value: _angular_forms.FormControl<undefined>;
8208
+ }>;
8209
+ title: _angular_forms.FormGroup<{
8210
+ operator: _angular_forms.FormControl<Operator>;
8211
+ value: _angular_forms.FormControl<undefined>;
8212
+ }>;
8213
+ }>;
8214
+ currentTab: _angular_core.WritableSignal<string>;
8215
+ currentFilter: _angular_core.WritableSignal<string | undefined>;
8216
+ appliedFilters: _angular_core.WritableSignal<{
8217
+ column: string;
8218
+ values: DropdownItem[];
8219
+ }[]>;
8220
+ suggestions: _angular_core.WritableSignal<DropdownItem[]>;
8221
+ aggregations: _angular_core.WritableSignal<(Aggregation | TreeAggregation)[]>;
8222
+ inputVariant: _angular_core.WritableSignal<"default" | "destructive">;
8223
+ tabs: _angular_core.Signal<Tab[]>;
8224
+ filters: _angular_core.Signal<Filter[]>;
8225
+ protected enableFieldedSearch: _angular_core.Signal<boolean>;
8226
+ protected allowEmptySearch: _angular_core.Signal<boolean>;
8227
+ text: string;
8228
+ constructor();
8229
+ getFirstPageQuery(queryName: string): Promise<void>;
8230
+ onTabChange(tab: string): void;
8231
+ onSearch(): void;
8232
+ /** Generate the LegacyFilter to add to the query */
8233
+ private getFilter;
8234
+ /** Format content/title filters */
8235
+ private formatFilter;
8236
+ getPlaceholder(key: string): string;
8237
+ /** Get applied filters for a column */
8238
+ getItems(column: string): DropdownItem[];
8239
+ /** add item to current selection */
8240
+ addItem(item: DropdownItem, filter: Filter): void;
8241
+ /** remove item from current selection */
8242
+ removeItem(item: DropdownItem, filter: Filter): void;
8243
+ /** Update suggestions on input focus */
8244
+ setFilterFocus(value: string | null, filter: Filter): void;
8245
+ /** Update suggestions when typing */
8246
+ onInputTyping(value: string | null): void;
8247
+ private setSuggestions;
8248
+ private getSuggestionItems;
8249
+ private getWithSubItems;
8250
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerAdvancedFiltersComponent, never>;
8251
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerAdvancedFiltersComponent, "advanced-filters", never, {}, {}, never, never, true, never>;
8518
8252
  }
8519
8253
 
8520
- declare class DidYouMeanComponent {
8521
- result: _angular_core.InputSignal<Result | undefined>;
8522
- protected spellingCorrectionMode: _angular_core.Signal<_sinequa_atomic.SpellingCorrectionMode | undefined>;
8523
- protected correction: _angular_core.Signal<string | undefined>;
8524
- protected original: _angular_core.Signal<string | undefined>;
8525
- readonly router: Router;
8526
- private readonly queryParamsStore;
8527
- selectCorrected(): void;
8528
- selectOriginal(): void;
8529
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DidYouMeanComponent, never>;
8530
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DidYouMeanComponent, "did-you-mean, DidYouMean, didyoumean", never, { "result": { "alias": "result"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8254
+ /**
8255
+ * Advanced Search Component
8256
+ * This component provides an advanced search interface with various panels for entities, extracts, labels, and similar documents.
8257
+ *
8258
+ * @deprecated Use `AdvancedSearch` component instead.
8259
+ */
8260
+ declare class AdvancedSearchComponent {
8261
+ cn: typeof cn;
8262
+ readonly article: _angular_core.InputSignal<Article$1>;
8263
+ readonly previewStrategy: _angular_core.InputSignal<SelectionStrategy | undefined>;
8264
+ readonly selected: _angular_core.OutputEmitterRef<Article$1>;
8265
+ protected readonly selectionStore: {
8266
+ article?: _angular_core.Signal<Article$1 | undefined> | undefined;
8267
+ id?: _angular_core.Signal<string | undefined> | undefined;
8268
+ queryText?: _angular_core.Signal<string | undefined> | undefined;
8269
+ queryName?: _angular_core.Signal<string | undefined> | undefined;
8270
+ previewHighlights?: _angular_core.Signal<_sinequa_atomic_angular.PreviewHighlights | undefined> | undefined;
8271
+ assistantIdsToAttach: _angular_core.Signal<string[]>;
8272
+ multiSelection: _angular_core.Signal<Article$1[]>;
8273
+ multiSelectCount: _angular_core.Signal<number>;
8274
+ update: (newState: Partial<_sinequa_atomic_angular.SelectionState>) => void;
8275
+ clear: () => void;
8276
+ addArticleToMultiSelection: (article: Article$1) => void;
8277
+ removeArticleFromMultiSelection: (article: Article$1) => void;
8278
+ clearMultiSelection: () => void;
8279
+ } & _ngrx_signals.StateSource<{
8280
+ article?: Article$1 | undefined;
8281
+ id?: string | undefined;
8282
+ queryText?: string | undefined;
8283
+ queryName?: string | undefined;
8284
+ previewHighlights?: _sinequa_atomic_angular.PreviewHighlights | undefined;
8285
+ assistantIdsToAttach: string[];
8286
+ multiSelection: Article$1[];
8287
+ }>;
8288
+ protected readonly queryParamsStore: {
8289
+ name?: _angular_core.Signal<string | undefined> | undefined;
8290
+ action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
8291
+ text?: _angular_core.Signal<string | undefined> | undefined;
8292
+ select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
8293
+ open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
8294
+ page?: _angular_core.Signal<number | undefined> | undefined;
8295
+ pageSize?: _angular_core.Signal<number | undefined> | undefined;
8296
+ tab?: _angular_core.Signal<string | undefined> | undefined;
8297
+ scope?: _angular_core.Signal<string | undefined> | undefined;
8298
+ sort?: _angular_core.Signal<string | undefined> | undefined;
8299
+ basket?: _angular_core.Signal<string | undefined> | undefined;
8300
+ isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
8301
+ strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
8302
+ globalRelevance?: _angular_core.Signal<number | undefined> | undefined;
8303
+ questionLanguage?: _angular_core.Signal<string | undefined> | undefined;
8304
+ questionDefaultLanguage?: _angular_core.Signal<string | undefined> | undefined;
8305
+ spellingCorrectionMode?: _angular_core.Signal<_sinequa_atomic.SpellingCorrectionMode | undefined> | undefined;
8306
+ spellingCorrectionFilter?: _angular_core.Signal<string | undefined> | undefined;
8307
+ documentWeight?: _angular_core.Signal<string | undefined> | undefined;
8308
+ textPartWeights?: _angular_core.Signal<string | undefined> | undefined;
8309
+ relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
8310
+ removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
8311
+ queryId?: _angular_core.Signal<string | undefined> | undefined;
8312
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
8313
+ orderBy?: _angular_core.Signal<string | undefined> | undefined;
8314
+ groupBy?: _angular_core.Signal<string | undefined> | undefined;
8315
+ neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
8316
+ path?: _angular_core.Signal<string | undefined> | undefined;
8317
+ filters: _angular_core.Signal<_sinequa_atomic.LegacyFilter[]>;
8318
+ id?: _angular_core.Signal<string | undefined> | undefined;
8319
+ setFromUrl: (href: string) => void;
8320
+ getQueryParams: () => {
8321
+ f?: string;
8322
+ p?: number;
8323
+ s?: string;
8324
+ t?: string;
8325
+ q?: string;
8326
+ b?: string;
8327
+ n?: string;
8328
+ };
8329
+ addFilter: (filter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
8330
+ updateFilter: (newFilter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
8331
+ removeFilter: (field?: string) => void;
8332
+ removeFilterByName: (name?: string, column?: string) => void;
8333
+ clearFilters: () => void;
8334
+ clearBasket: () => void;
8335
+ patch: (params: Partial<_sinequa_atomic.QueryParams>, audit?: _sinequa_atomic.AuditEvents) => void;
8336
+ getFilter: ({ field, name }: {
8337
+ field: string | undefined;
8338
+ name: string | undefined;
8339
+ }) => Partial<_sinequa_atomic.LegacyFilter & {
8340
+ count: number;
8341
+ }> | null;
8342
+ getQuery: () => _sinequa_atomic.Query;
8343
+ } & _ngrx_signals.StateSource<{
8344
+ name?: string | undefined;
8345
+ action?: "" | "search" | "open" | "aggregate" | undefined;
8346
+ text?: string | undefined;
8347
+ select?: _sinequa_atomic.Select[] | undefined;
8348
+ open?: _sinequa_atomic.Open[] | undefined;
8349
+ page?: number | undefined;
8350
+ pageSize?: number | undefined;
8351
+ tab?: string | undefined;
8352
+ scope?: string | undefined;
8353
+ sort?: string | undefined;
8354
+ basket?: string | undefined;
8355
+ isFirstPage?: boolean | undefined;
8356
+ strictRefine?: boolean | undefined;
8357
+ globalRelevance?: number | undefined;
8358
+ questionLanguage?: string | undefined;
8359
+ questionDefaultLanguage?: string | undefined;
8360
+ spellingCorrectionMode?: _sinequa_atomic.SpellingCorrectionMode | undefined;
8361
+ spellingCorrectionFilter?: string | undefined;
8362
+ documentWeight?: string | undefined;
8363
+ textPartWeights?: string | undefined;
8364
+ relevanceTransforms?: string | undefined;
8365
+ removeDuplicates?: boolean | undefined;
8366
+ queryId?: string | undefined;
8367
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
8368
+ orderBy?: string | undefined;
8369
+ groupBy?: string | undefined;
8370
+ neuralSearch?: boolean | undefined;
8371
+ path?: string | undefined;
8372
+ filters: _sinequa_atomic.LegacyFilter[];
8373
+ id?: string | undefined;
8374
+ }>;
8375
+ protected readonly queryText: _angular_core.WritableSignal<string>;
8376
+ queryName: _angular_core.Signal<string>;
8377
+ protected executeSearch(): void;
8378
+ protected clearInput(): void;
8379
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdvancedSearchComponent, never>;
8380
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AdvancedSearchComponent, "advanced-search", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; "previewStrategy": { "alias": "previewStrategy"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
8531
8381
  }
8532
8382
 
8533
8383
  /**
8534
- * Service to manage the state and behavior of a stack of drawers in the application.
8535
- * It provides methods to open, close, and manage drawers, as well as to handle
8536
- * interactions with a chat assistant drawer.
8384
+ * Navbar component for drawers, providing navigation controls such as a back button.
8385
+ * It interacts with the DrawerStackService to manage drawer navigation.
8537
8386
  *
8538
8387
  * @deprecated we do not use it anymore.
8539
8388
  */
8540
- declare class DrawerStackService {
8541
- readonly isOpened: _angular_core.WritableSignal<boolean>;
8542
- readonly toggleTopDrawerExtension$: EventEmitter<void>;
8543
- readonly forceTopDrawerCollapse$: EventEmitter<void>;
8544
- readonly closeTopDrawer$: EventEmitter<void>;
8545
- readonly closeAllDrawers$: EventEmitter<void>;
8546
- readonly isChatOpened: _angular_core.WritableSignal<boolean>;
8547
- readonly openChatDrawer$: EventEmitter<void>;
8548
- readonly closeChatDrawer$: EventEmitter<void>;
8549
- readonly askAI$: EventEmitter<string>;
8550
- private readonly selection;
8551
- private readonly selectionHistory;
8552
- private readonly selectionStore;
8553
- private readonly navigationService;
8554
- private readonly backdropService;
8555
- private readonly destroyRef;
8556
- componentType?: Type<any>;
8557
- constructor();
8558
- /**
8559
- * Sets current drawer stack status to open
8560
- */
8561
- open(componentType?: Type<any>): void;
8562
- /**
8563
- * Emits event to extend the top drawer
8564
- */
8565
- extend(): void;
8566
- /**
8567
- * Emits event to close the top drawer, checks if history is empty, if so,
8568
- * sets current drawer stack status to closed and clears history and current
8569
- * selection
8570
- */
8571
- close(): void;
8572
- /**
8573
- * Emits event to close the top drawer
8574
- */
8575
- closeTop(): void;
8576
- /**
8577
- * Sets current drawer stack status to closed, clears history and emits event
8578
- * to close all drawers
8579
- *
8580
- * @param keepDrawerOpen if true, do not trigger layout animation
8581
- */
8582
- closeAll(keepDrawerOpen?: boolean): void;
8583
- /**
8584
- * Replace the current selection with the given article by closing all
8585
- * drawers and opening the drawer with the new selection without triggering
8586
- * layout animation
8587
- *
8588
- * @param article the article to replace the current selection with
8589
- */
8590
- replace(article: Article$1 | undefined, withQueryText?: boolean): void;
8591
- /**
8592
- * Stack the given article by setting the current selection and opening the
8593
- * drawer
8594
- *
8595
- * @param article the article to stack
8596
- */
8597
- stack(article: Article$1 | undefined, withQueryText?: boolean): void;
8598
- toggleAssistant(): void;
8599
- openAssistant(): void;
8600
- closeAssistant(keepDrawerOpen?: boolean): void;
8601
- askAI(text: string): void;
8602
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerStackService, never>;
8603
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<DrawerStackService>;
8604
- }
8605
-
8606
- /**
8607
- * Service to manage the state and behavior of a drawer component.
8608
- * It provides methods to open, close, extend, collapse, and toggle
8609
- * the drawer and its extension state.
8610
- * @deprecated we do not use it anymore.
8611
- */
8612
- declare class DrawerService {
8613
- readonly isOpened: _angular_core.WritableSignal<boolean>;
8614
- readonly isExtended: _angular_core.WritableSignal<boolean>;
8615
- private readonly backdrop;
8616
- open(): void;
8617
- close(): void;
8618
- toggle(): void;
8619
- extend(): void;
8620
- collapse(): void;
8621
- toggleExtension(): void;
8622
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerService, never>;
8623
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<DrawerService>;
8624
- }
8625
-
8626
- /**
8627
- * Each Drawer component has it's own drawer service to handle its state and link it to the drawer stack.
8628
- */
8629
- /**
8630
- * @deprecated we do not use it anymore.
8631
- */
8632
- declare class DrawerComponent {
8633
- drawerOpened: _angular_core.WritableSignal<boolean>;
8634
- drawerExtended: _angular_core.WritableSignal<boolean>;
8635
- drawerGridTemplateColumns: string;
8636
- mouseMove(event: MouseEvent): void;
8637
- mouseDown(event: MouseEvent): void;
8638
- mouseUp(): void;
8639
- drawerHandle: _angular_core.Signal<ElementRef<any> | undefined>;
8640
- readonly drawer: DrawerService;
8389
+ declare class DrawerNavbarComponent {
8641
8390
  protected readonly drawerStack: DrawerStackService;
8642
- protected readonly element: any;
8643
- protected readonly selectionHistory: SelectionHistoryService;
8644
- private isSliding;
8645
- private defaultDrawerGridTemplate;
8646
- constructor();
8647
- private disableAnimation;
8648
- private enableAnimation;
8649
- private resetGridTemplateColumns;
8650
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerComponent, never>;
8651
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerComponent, "Drawer, drawer", never, {}, {}, never, never, true, never>;
8391
+ protected readonly drawerService: DrawerService;
8392
+ readonly isExtended: boolean;
8393
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerNavbarComponent, never>;
8394
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerNavbarComponent, "DrawerNavbar, drawernavbar", never, {}, {}, never, ["*"], true, never>;
8652
8395
  }
8653
8396
 
8654
- type Operator = "all" | "exact" | "any" | "none" | "matches";
8655
- interface Filter {
8656
- column: string;
8657
- alias: string;
8658
- display?: string;
8659
- items?: (AggregationItem | TreeAggregationNode)[];
8660
- }
8661
- interface Tab {
8662
- path: string;
8663
- display?: string;
8664
- }
8397
+ type DocumentTypeMap = {
8398
+ documentType: string;
8399
+ articleComponent: Type<unknown>;
8400
+ previewComponent: Type<unknown>;
8401
+ };
8402
+ declare const COMPONENTS_FOR_DOCUMENT_TYPE: InjectionToken<(documentType?: string) => DocumentTypeMap>;
8665
8403
  /**
8666
- * Advanced filters drawer component allowing users to apply complex filters to their search queries.
8667
- * It provides a user interface for selecting filter criteria, managing applied filters,
8668
- * and executing searches with the specified filters.
8669
- *
8670
- * This component extends the base DrawerComponent and integrates with the application's
8671
- * query parameters store and app store to manage filter states and search execution.
8404
+ * Component for previewing articles in a drawer.
8405
+ * It dynamically loads the appropriate preview component based on the article's document type.
8406
+ * It also manages the lifecycle of the preview, ensuring that resources are cleaned up when the drawer is closed.
8672
8407
  *
8673
- * @deprecated Use the `AdvancedFiltersComponent` component instead.
8408
+ * @extends DrawerComponent
8409
+ * @deprecated we do not use it anymore.
8674
8410
  */
8675
- declare class DrawerAdvancedFiltersComponent extends DrawerComponent {
8676
- private readonly queryParamsStore;
8677
- private readonly appStore;
8678
- private readonly router;
8679
- private readonly route;
8680
- private readonly formBuilder;
8681
- private readonly overlay;
8682
- private readonly transloco;
8683
- private readonly syslangPipe;
8684
- private readonly translocoPipe;
8685
- protected scrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
8686
- protected noop: _angular_cdk_overlay.NoopScrollStrategy;
8687
- selectData: {
8688
- operator: string;
8689
- display: string;
8690
- placeholder?: string;
8691
- }[];
8692
- protected readonly form: _angular_forms.FormGroup<{
8693
- content: _angular_forms.FormGroup<{
8694
- operator: _angular_forms.FormControl<Operator>;
8695
- value: _angular_forms.FormControl<undefined>;
8411
+ declare class DrawerPreviewComponent extends DrawerComponent {
8412
+ private destroyRef;
8413
+ injector: Injector;
8414
+ appStore: {
8415
+ name: _angular_core.Signal<string>;
8416
+ description?: _angular_core.Signal<string | undefined> | undefined;
8417
+ versionId: _angular_core.Signal<string>;
8418
+ queries: _angular_core.Signal<Record<string, _sinequa_atomic.CCQuery>>;
8419
+ rfms: _angular_core.Signal<Record<string, _sinequa_atomic.CCRFM>>;
8420
+ indexes: _angular_core.Signal<{
8421
+ _: _sinequa_atomic.CCIndex;
8422
+ } & Record<string, _sinequa_atomic.CCIndex>>;
8423
+ lists: _angular_core.Signal<Record<string, _sinequa_atomic.CCList>>;
8424
+ webServices: _angular_core.Signal<Record<string, _sinequa_atomic.CCWebService>>;
8425
+ queryNames: _angular_core.Signal<string>;
8426
+ labels: _angular_core.Signal<string>;
8427
+ preview: _angular_core.Signal<string>;
8428
+ autocomplete: _angular_core.Signal<string>;
8429
+ sponsoredLinks: _angular_core.Signal<string>;
8430
+ queryExport: _angular_core.Signal<string>;
8431
+ queryRssEnabled: _angular_core.Signal<boolean>;
8432
+ data: _angular_core.Signal<Record<string, unknown> & _sinequa_atomic_angular.CJson & {
8433
+ filters?: _sinequa_atomic_angular.CAggregation[];
8434
+ autocomplete?: _sinequa_atomic_angular.Autocomplete;
8435
+ tabs?: Record<string, {
8436
+ filters: string[];
8437
+ overviews?: Record<string, {
8438
+ minRelevance: number;
8439
+ }>;
8440
+ }>;
8441
+ sources?: _sinequa_atomic_angular.CSources;
8442
+ features?: {
8443
+ [key: string]: boolean | {
8444
+ [key: string]: string | boolean | string[] | undefined;
8445
+ } | undefined;
8446
+ allowChangePassword?: boolean;
8447
+ editablepartition?: boolean;
8448
+ advancedSearch?: boolean;
8449
+ allowChatDrawer?: boolean;
8450
+ filterLinkChildren?: boolean;
8451
+ expandPreview?: boolean;
8452
+ quickFilter?: boolean;
8453
+ showAggregationItemCount?: boolean;
8454
+ assistant?: {
8455
+ usePrefixName?: boolean;
8456
+ };
8457
+ filters?: {
8458
+ homepage?: boolean;
8459
+ };
8460
+ userProfile?: {
8461
+ enabled?: boolean;
8462
+ data?: string[];
8463
+ customData?: string[];
8464
+ };
8465
+ previewMultiConversion?: boolean;
8466
+ };
8467
+ allowAdvancedFilters?: boolean;
8468
+ general?: {
8469
+ name?: string;
8470
+ logo?: {
8471
+ alt?: string;
8472
+ light?: {
8473
+ small?: string;
8474
+ large?: string;
8475
+ sidebar?: string;
8476
+ };
8477
+ dark?: {
8478
+ small?: string;
8479
+ large?: string;
8480
+ sidebar?: string;
8481
+ };
8482
+ };
8483
+ features?: {
8484
+ [key: string]: boolean | {
8485
+ [key: string]: string | boolean | string[] | undefined;
8486
+ } | undefined;
8487
+ allowChangePassword?: boolean;
8488
+ editablepartition?: boolean;
8489
+ advancedSearch?: boolean;
8490
+ allowChatDrawer?: boolean;
8491
+ filterLinkChildren?: boolean;
8492
+ expandPreview?: boolean;
8493
+ quickFilter?: boolean;
8494
+ showAggregationItemCount?: boolean;
8495
+ assistant?: {
8496
+ usePrefixName?: boolean;
8497
+ };
8498
+ filters?: {
8499
+ homepage?: boolean;
8500
+ };
8501
+ userProfile?: {
8502
+ enabled?: boolean;
8503
+ data?: string[];
8504
+ customData?: string[];
8505
+ };
8506
+ previewMultiConversion?: boolean;
8507
+ };
8508
+ converters?: _sinequa_atomic_angular.CConverter[];
8509
+ };
8510
+ documentsUploadSettings?: {
8511
+ enabled?: boolean;
8512
+ };
8696
8513
  }>;
8697
- title: _angular_forms.FormGroup<{
8698
- operator: _angular_forms.FormControl<Operator>;
8699
- value: _angular_forms.FormControl<undefined>;
8514
+ customJSONs: _angular_core.Signal<{
8515
+ name: string;
8516
+ data: Record<string, unknown>;
8517
+ }[] & _sinequa_atomic_angular.SideCJson[]>;
8518
+ apiVersion: _angular_core.Signal<string>;
8519
+ workspaceApp: _angular_core.Signal<string>;
8520
+ defaultQueryName: _angular_core.Signal<string>;
8521
+ auditEnabled?: _angular_core.Signal<boolean | undefined> | undefined;
8522
+ dataSets?: _angular_core.Signal<string | undefined> | undefined;
8523
+ revision?: _angular_core.Signal<number | undefined> | undefined;
8524
+ runnableModels?: _angular_core.Signal<string | undefined> | undefined;
8525
+ authorizationLevel?: _angular_core.Signal<string | undefined> | undefined;
8526
+ columnMap?: _angular_core.Signal<Record<string, _sinequa_atomic.CCColumn> | undefined> | undefined;
8527
+ customizationJson: _angular_core.Signal<_sinequa_atomic_angular.CJsonMint>;
8528
+ sources: _angular_core.Signal<_sinequa_atomic_angular.CSources>;
8529
+ filters: _angular_core.Signal<_sinequa_atomic_angular.CFilter[]>;
8530
+ general: _angular_core.Signal<{
8531
+ name?: string;
8532
+ logo?: {
8533
+ alt?: string;
8534
+ light?: {
8535
+ small?: string;
8536
+ large?: string;
8537
+ sidebar?: string;
8538
+ };
8539
+ dark?: {
8540
+ small?: string;
8541
+ large?: string;
8542
+ sidebar?: string;
8543
+ };
8544
+ };
8545
+ features?: {
8546
+ [key: string]: boolean | {
8547
+ [key: string]: string | boolean | string[] | undefined;
8548
+ } | undefined;
8549
+ allowChangePassword?: boolean;
8550
+ editablepartition?: boolean;
8551
+ advancedSearch?: boolean;
8552
+ allowChatDrawer?: boolean;
8553
+ filterLinkChildren?: boolean;
8554
+ expandPreview?: boolean;
8555
+ quickFilter?: boolean;
8556
+ showAggregationItemCount?: boolean;
8557
+ assistant?: {
8558
+ usePrefixName?: boolean;
8559
+ };
8560
+ filters?: {
8561
+ homepage?: boolean;
8562
+ };
8563
+ userProfile?: {
8564
+ enabled?: boolean;
8565
+ data?: string[];
8566
+ customData?: string[];
8567
+ };
8568
+ previewMultiConversion?: boolean;
8569
+ };
8570
+ converters?: _sinequa_atomic_angular.CConverter[];
8571
+ } | undefined>;
8572
+ assistants: _angular_core.Signal<{
8573
+ [x: string]: _sinequa_atomic_angular.AssistantDetails;
8700
8574
  }>;
8701
- }>;
8702
- currentTab: _angular_core.WritableSignal<string>;
8703
- currentFilter: _angular_core.WritableSignal<string | undefined>;
8704
- appliedFilters: _angular_core.WritableSignal<{
8705
- column: string;
8706
- values: DropdownItem[];
8707
- }[]>;
8708
- suggestions: _angular_core.WritableSignal<DropdownItem[]>;
8709
- aggregations: _angular_core.WritableSignal<(Aggregation | TreeAggregation)[]>;
8710
- inputVariant: _angular_core.WritableSignal<"default" | "destructive">;
8711
- tabs: _angular_core.Signal<Tab[]>;
8712
- filters: _angular_core.Signal<Filter[]>;
8713
- protected enableFieldedSearch: _angular_core.Signal<boolean>;
8714
- protected allowEmptySearch: _angular_core.Signal<boolean>;
8715
- text: string;
8716
- constructor();
8717
- getFirstPageQuery(): Promise<void>;
8718
- onTabChange(tab: string): void;
8719
- onSearch(): void;
8720
- /** Generate the LegacyFilter to add to the query */
8721
- private getFilter;
8722
- /** Format content/title filters */
8723
- private formatFilter;
8724
- getPlaceholder(key: string): string;
8725
- /** Get applied filters for a column */
8726
- getItems(column: string): DropdownItem[];
8727
- /** add item to current selection */
8728
- addItem(item: DropdownItem, filter: Filter): void;
8729
- /** remove item from current selection */
8730
- removeItem(item: DropdownItem, filter: Filter): void;
8731
- /** Update suggestions on input focus */
8732
- setFilterFocus(value: string | null, filter: Filter): void;
8733
- /** Update suggestions when typing */
8734
- onInputTyping(value: string | null): void;
8735
- private setSuggestions;
8736
- private getSuggestionItems;
8737
- private getWithSubItems;
8738
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerAdvancedFiltersComponent, never>;
8739
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerAdvancedFiltersComponent, "advanced-filters", never, {}, {}, never, never, true, never>;
8740
- }
8741
-
8742
- /**
8743
- * Advanced Search Component
8744
- * This component provides an advanced search interface with various panels for entities, extracts, labels, and similar documents.
8745
- *
8746
- * @deprecated Use `AdvancedSearch` component instead.
8747
- */
8748
- declare class AdvancedSearchComponent {
8749
- cn: typeof cn;
8750
- readonly article: _angular_core.InputSignal<Article$1>;
8751
- readonly previewStrategy: _angular_core.InputSignal<SelectionStrategy | undefined>;
8752
- readonly selected: _angular_core.OutputEmitterRef<Article$1>;
8753
- protected readonly selectionStore: {
8754
- article?: _angular_core.Signal<Article$1 | undefined> | undefined;
8575
+ agents: _angular_core.Signal<{
8576
+ [x: string]: {
8577
+ defaultAgent: string;
8578
+ };
8579
+ }>;
8580
+ initialize: () => Promise<void>;
8581
+ initializeWithAppName: (appName: string) => Promise<void>;
8582
+ update: (app: Partial<_sinequa_atomic_angular.CCAppState>) => void;
8583
+ getWebServiceByType: (type: _sinequa_atomic.CCWebService["webServiceType"]) => _sinequa_atomic.CCWebService | undefined;
8584
+ getLabels: () => {
8585
+ private: string;
8586
+ public: string;
8587
+ };
8588
+ getQueryByName: (name: string) => _sinequa_atomic.CCQuery | undefined;
8589
+ getQueryByIndex: (index: number) => _sinequa_atomic.CCQuery | undefined;
8590
+ getDefaultQuery: () => _sinequa_atomic.CCQuery | undefined;
8591
+ allowEmptySearch: (queryName: string) => boolean;
8592
+ enableFieldedSearch: (queryName: string) => boolean;
8593
+ allowLabels: () => boolean;
8594
+ getColumnAlias: (column: string) => string;
8595
+ getColumn: (columnOrAlias: string) => _sinequa_atomic.CCColumn | undefined;
8596
+ isDateColumn: (column: string) => boolean;
8597
+ isTabSearch: (queryName: string) => boolean;
8598
+ getAggregationCount: (queryName: string | undefined, aggregationName: string) => number;
8599
+ getAuthorizedFilters: () => _sinequa_atomic.Aggregation[];
8600
+ getAuthorized: (filters: Pick<_sinequa_atomic_angular.CFilter, "column" | "name">[]) => _sinequa_atomic.Aggregation[];
8601
+ getNamedCustomizationJson: (name: string) => unknown | undefined;
8602
+ getAggregationIcon: (column: string) => string | undefined;
8603
+ getAggregationItemsCustomization: (column: string) => _sinequa_atomic_angular.CFilterItem[] | undefined;
8604
+ getAggregationCustomization: (aggColumn: string, aggName?: string) => _sinequa_atomic_angular.CFilter | undefined;
8605
+ isAssistantAllowed: (assistantName: string) => boolean;
8606
+ isAgentAllowed: (agentName: string) => boolean;
8607
+ } & _ngrx_signals.StateSource<{
8608
+ name: string;
8609
+ description?: string | undefined;
8610
+ versionId: string;
8611
+ queries: Record<string, _sinequa_atomic.CCQuery>;
8612
+ rfms: Record<string, _sinequa_atomic.CCRFM>;
8613
+ indexes: {
8614
+ _: _sinequa_atomic.CCIndex;
8615
+ } & Record<string, _sinequa_atomic.CCIndex>;
8616
+ lists: Record<string, _sinequa_atomic.CCList>;
8617
+ webServices: Record<string, _sinequa_atomic.CCWebService>;
8618
+ queryNames: string;
8619
+ labels: string;
8620
+ preview: string;
8621
+ autocomplete: string;
8622
+ sponsoredLinks: string;
8623
+ queryExport: string;
8624
+ queryRssEnabled: boolean;
8625
+ data: Record<string, unknown> & _sinequa_atomic_angular.CJson & {
8626
+ filters?: _sinequa_atomic_angular.CAggregation[];
8627
+ autocomplete?: _sinequa_atomic_angular.Autocomplete;
8628
+ tabs?: Record<string, {
8629
+ filters: string[];
8630
+ overviews?: Record<string, {
8631
+ minRelevance: number;
8632
+ }>;
8633
+ }>;
8634
+ sources?: _sinequa_atomic_angular.CSources;
8635
+ features?: {
8636
+ [key: string]: boolean | {
8637
+ [key: string]: string | boolean | string[] | undefined;
8638
+ } | undefined;
8639
+ allowChangePassword?: boolean;
8640
+ editablepartition?: boolean;
8641
+ advancedSearch?: boolean;
8642
+ allowChatDrawer?: boolean;
8643
+ filterLinkChildren?: boolean;
8644
+ expandPreview?: boolean;
8645
+ quickFilter?: boolean;
8646
+ showAggregationItemCount?: boolean;
8647
+ assistant?: {
8648
+ usePrefixName?: boolean;
8649
+ };
8650
+ filters?: {
8651
+ homepage?: boolean;
8652
+ };
8653
+ userProfile?: {
8654
+ enabled?: boolean;
8655
+ data?: string[];
8656
+ customData?: string[];
8657
+ };
8658
+ previewMultiConversion?: boolean;
8659
+ };
8660
+ allowAdvancedFilters?: boolean;
8661
+ general?: {
8662
+ name?: string;
8663
+ logo?: {
8664
+ alt?: string;
8665
+ light?: {
8666
+ small?: string;
8667
+ large?: string;
8668
+ sidebar?: string;
8669
+ };
8670
+ dark?: {
8671
+ small?: string;
8672
+ large?: string;
8673
+ sidebar?: string;
8674
+ };
8675
+ };
8676
+ features?: {
8677
+ [key: string]: boolean | {
8678
+ [key: string]: string | boolean | string[] | undefined;
8679
+ } | undefined;
8680
+ allowChangePassword?: boolean;
8681
+ editablepartition?: boolean;
8682
+ advancedSearch?: boolean;
8683
+ allowChatDrawer?: boolean;
8684
+ filterLinkChildren?: boolean;
8685
+ expandPreview?: boolean;
8686
+ quickFilter?: boolean;
8687
+ showAggregationItemCount?: boolean;
8688
+ assistant?: {
8689
+ usePrefixName?: boolean;
8690
+ };
8691
+ filters?: {
8692
+ homepage?: boolean;
8693
+ };
8694
+ userProfile?: {
8695
+ enabled?: boolean;
8696
+ data?: string[];
8697
+ customData?: string[];
8698
+ };
8699
+ previewMultiConversion?: boolean;
8700
+ };
8701
+ converters?: _sinequa_atomic_angular.CConverter[];
8702
+ };
8703
+ documentsUploadSettings?: {
8704
+ enabled?: boolean;
8705
+ };
8706
+ };
8707
+ customJSONs: {
8708
+ name: string;
8709
+ data: Record<string, unknown>;
8710
+ }[] & _sinequa_atomic_angular.SideCJson[];
8711
+ apiVersion: string;
8712
+ workspaceApp: string;
8713
+ defaultQueryName: string;
8714
+ auditEnabled?: boolean | undefined;
8715
+ dataSets?: string | undefined;
8716
+ revision?: number | undefined;
8717
+ runnableModels?: string | undefined;
8718
+ authorizationLevel?: string | undefined;
8719
+ columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
8720
+ }>;
8721
+ selectionStore: {
8722
+ article?: _angular_core.Signal<_sinequa_atomic.Article | undefined> | undefined;
8755
8723
  id?: _angular_core.Signal<string | undefined> | undefined;
8756
8724
  queryText?: _angular_core.Signal<string | undefined> | undefined;
8757
8725
  queryName?: _angular_core.Signal<string | undefined> | undefined;
8758
8726
  previewHighlights?: _angular_core.Signal<_sinequa_atomic_angular.PreviewHighlights | undefined> | undefined;
8759
8727
  assistantIdsToAttach: _angular_core.Signal<string[]>;
8760
- multiSelection: _angular_core.Signal<Article$1[]>;
8728
+ multiSelection: _angular_core.Signal<_sinequa_atomic.Article[]>;
8761
8729
  multiSelectCount: _angular_core.Signal<number>;
8762
8730
  update: (newState: Partial<_sinequa_atomic_angular.SelectionState>) => void;
8763
8731
  clear: () => void;
8764
- addArticleToMultiSelection: (article: Article$1) => void;
8765
- removeArticleFromMultiSelection: (article: Article$1) => void;
8732
+ addArticleToMultiSelection: (article: _sinequa_atomic.Article) => void;
8733
+ removeArticleFromMultiSelection: (article: _sinequa_atomic.Article) => void;
8766
8734
  clearMultiSelection: () => void;
8767
8735
  } & _ngrx_signals.StateSource<{
8768
- article?: Article$1 | undefined;
8736
+ article?: _sinequa_atomic.Article | undefined;
8769
8737
  id?: string | undefined;
8770
8738
  queryText?: string | undefined;
8771
8739
  queryName?: string | undefined;
8772
8740
  previewHighlights?: _sinequa_atomic_angular.PreviewHighlights | undefined;
8773
8741
  assistantIdsToAttach: string[];
8774
- multiSelection: Article$1[];
8742
+ multiSelection: _sinequa_atomic.Article[];
8775
8743
  }>;
8776
- protected readonly queryParamsStore: {
8744
+ queryParamsStore: {
8777
8745
  name?: _angular_core.Signal<string | undefined> | undefined;
8778
- text?: _angular_core.Signal<string | undefined> | undefined;
8779
8746
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
8747
+ text?: _angular_core.Signal<string | undefined> | undefined;
8780
8748
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
8781
8749
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
8782
8750
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -8797,7 +8765,7 @@ declare class AdvancedSearchComponent {
8797
8765
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
8798
8766
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
8799
8767
  queryId?: _angular_core.Signal<string | undefined> | undefined;
8800
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
8768
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
8801
8769
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
8802
8770
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
8803
8771
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -8830,8 +8798,8 @@ declare class AdvancedSearchComponent {
8830
8798
  getQuery: () => _sinequa_atomic.Query;
8831
8799
  } & _ngrx_signals.StateSource<{
8832
8800
  name?: string | undefined;
8833
- text?: string | undefined;
8834
8801
  action?: "" | "search" | "open" | "aggregate" | undefined;
8802
+ text?: string | undefined;
8835
8803
  select?: _sinequa_atomic.Select[] | undefined;
8836
8804
  open?: _sinequa_atomic.Open[] | undefined;
8837
8805
  page?: number | undefined;
@@ -8860,46 +8828,225 @@ declare class AdvancedSearchComponent {
8860
8828
  filters: _sinequa_atomic.LegacyFilter[];
8861
8829
  id?: string | undefined;
8862
8830
  }>;
8863
- protected readonly queryText: _angular_core.WritableSignal<string>;
8864
- queryName: _angular_core.Signal<string>;
8865
- protected executeSearch(): void;
8866
- protected clearInput(): void;
8867
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdvancedSearchComponent, never>;
8868
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AdvancedSearchComponent, "advanced-search", never, { "article": { "alias": "article"; "required": true; "isSignal": true; }; "previewStrategy": { "alias": "previewStrategy"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
8831
+ previewService: PreviewService;
8832
+ getComponentsForDocumentType: (documentType?: string) => DocumentTypeMap;
8833
+ readonly articleId: _angular_core.InputSignal<string>;
8834
+ queryText: _angular_core.Signal<string | undefined>;
8835
+ readonly article: _angular_core.Signal<_sinequa_atomic.Article | undefined>;
8836
+ readonly previewType: _angular_core.Signal<Type<unknown>>;
8837
+ private readonly globalQueryName;
8838
+ constructor(destroyRef: DestroyRef);
8839
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerPreviewComponent, never>;
8840
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerPreviewComponent, "DrawerPreview, drawerpreview", never, { "articleId": { "alias": "articleId"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8869
8841
  }
8870
8842
 
8843
+ declare const DRAWER_COMPONENT: InjectionToken<Type<DrawerComponent>>;
8844
+ declare const DRAWER_STACK_MAX_COUNT: InjectionToken<number>;
8871
8845
  /**
8872
- * Navbar component for drawers, providing navigation controls such as a back button.
8873
- * It interacts with the DrawerStackService to manage drawer navigation.
8846
+ * Component that manages a stack of drawers in the application.
8847
+ * It listens to the DrawerStackService for events to open, close,
8848
+ * and manage drawers, and dynamically creates and destroys drawer
8849
+ * components as needed.
8874
8850
  *
8875
8851
  * @deprecated we do not use it anymore.
8876
8852
  */
8877
- declare class DrawerNavbarComponent {
8878
- protected readonly drawerStack: DrawerStackService;
8879
- protected readonly drawerService: DrawerService;
8880
- readonly isExtended: boolean;
8881
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerNavbarComponent, never>;
8882
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerNavbarComponent, "DrawerNavbar, drawernavbar", never, {}, {}, never, ["*"], true, never>;
8853
+ declare class DrawerStackComponent {
8854
+ drawerOpened: _angular_core.Signal<boolean>;
8855
+ readonly drawerStackService: DrawerStackService;
8856
+ protected readonly selectionHistory: SelectionHistoryService;
8857
+ protected readonly viewContainer: ViewContainerRef;
8858
+ protected readonly drawerComponent: Type<DrawerComponent>;
8859
+ protected readonly drawerStackMaxCount: number;
8860
+ protected readonly selectionHistory$: _angular_core.EventEmitter<_sinequa_atomic_angular.SelectionHistoryEvent>;
8861
+ protected readonly drawers: ComponentRef<DrawerComponent>[];
8862
+ get drawersLength(): number;
8863
+ constructor(destroyRef: DestroyRef);
8864
+ protected toggleAssistant(): void;
8865
+ private openTopDrawer;
8866
+ private closeTopDrawer;
8867
+ private closeAllDrawers;
8868
+ private collapseTopDrawer;
8869
+ private toggleTopDrawerExtension;
8870
+ private pushDrawer;
8871
+ private shiftDrawer;
8872
+ private unshiftDrawer;
8873
+ private closeAndDestroyDrawer;
8874
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerStackComponent, never>;
8875
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerStackComponent, "DrawerStack, drawerstack", never, {}, {}, never, never, true, never>;
8876
+ }
8877
+
8878
+ type ExportQueryOptions = {
8879
+ model: ExportQueryModel;
8880
+ appName: string;
8881
+ query: Query;
8882
+ article?: Article$1;
8883
+ name?: string;
8884
+ selection?: string[];
8885
+ };
8886
+ declare class ExportService {
8887
+ protected readonly API_URL: string;
8888
+ protected readonly http: HttpClient;
8889
+ /**
8890
+ * Downloads a file based on the provided options and triggers a browser download.
8891
+ *
8892
+ * @param options - The options for the download operation.
8893
+ * @param options.model - The export query model containing web service, format, max count, and exported columns.
8894
+ * @param options.appName - The name of the application initiating the download.
8895
+ * @param options.query - The query object used for the export operation.
8896
+ * @param options.article - (Optional) The article associated with the export.
8897
+ * @param options.name - (Optional) The custom name for the downloaded file. If not provided, the name is extracted from the response headers.
8898
+ * @param options.selection - (Optional) An array of id of selected items to export.
8899
+ * @returns An observable that emits the HTTP response containing the file blob.
8900
+ *
8901
+ * @remarks
8902
+ * This method handles file downloads for both modern browsers and Internet Explorer.
8903
+ * For modern browsers, it creates a temporary anchor element to trigger the download.
8904
+ * For Internet Explorer, it uses `msSaveOrOpenBlob` to handle the download.
8905
+ *
8906
+ * @example
8907
+ * ```typescript
8908
+ * const options = {
8909
+ * model: { webService: 'service', format: 'csv', maxCount: 100, exportedColumns: [] },
8910
+ * appName: 'MyApp',
8911
+ * query: myQuery,
8912
+ * name: 'exported-file.csv'
8913
+ * };
8914
+ * exportService.download(options).subscribe(response => {
8915
+ * console.log('File downloaded successfully');
8916
+ * });
8917
+ * ```
8918
+ */
8919
+ download(options: ExportQueryOptions): Observable<HttpResponse<Blob>>;
8920
+ /**
8921
+ * Exports the current result.
8922
+ *
8923
+ * @param webService The configuration for the export web service.
8924
+ * @param query The query to export.
8925
+ * @param format The export format.
8926
+ * @param maxCount (Optional) The maximum number of exported rows.
8927
+ * @param exportedColumns (Optional) The columns to export, empty means all columns.
8928
+ * @param selection - (Optional) The list of id of selected items to export.
8929
+ *
8930
+ * @remarks If `selection` is provided, the type of export will be set to 'Selection'.
8931
+ */
8932
+ exportResult(appName: string, webService: string, query: Query, format: ExportOutputFormat, results?: Article$1, maxCount?: number, exportedColumns?: string[], selection?: string[]): Observable<HttpResponse<Blob>>;
8933
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExportService, never>;
8934
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ExportService>;
8935
+ }
8936
+
8937
+ declare class ExportDialog implements DialogInterface {
8938
+ cn: typeof cn;
8939
+ onExport: _angular_core.OutputEmitterRef<ExportQueryModel>;
8940
+ private appStore;
8941
+ readonly exportService: ExportService;
8942
+ readonly queryParamsStore: {
8943
+ name?: _angular_core.Signal<string | undefined> | undefined;
8944
+ action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
8945
+ text?: _angular_core.Signal<string | undefined> | undefined;
8946
+ select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
8947
+ open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
8948
+ page?: _angular_core.Signal<number | undefined> | undefined;
8949
+ pageSize?: _angular_core.Signal<number | undefined> | undefined;
8950
+ tab?: _angular_core.Signal<string | undefined> | undefined;
8951
+ scope?: _angular_core.Signal<string | undefined> | undefined;
8952
+ sort?: _angular_core.Signal<string | undefined> | undefined;
8953
+ basket?: _angular_core.Signal<string | undefined> | undefined;
8954
+ isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
8955
+ strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
8956
+ globalRelevance?: _angular_core.Signal<number | undefined> | undefined;
8957
+ questionLanguage?: _angular_core.Signal<string | undefined> | undefined;
8958
+ questionDefaultLanguage?: _angular_core.Signal<string | undefined> | undefined;
8959
+ spellingCorrectionMode?: _angular_core.Signal<_sinequa_atomic.SpellingCorrectionMode | undefined> | undefined;
8960
+ spellingCorrectionFilter?: _angular_core.Signal<string | undefined> | undefined;
8961
+ documentWeight?: _angular_core.Signal<string | undefined> | undefined;
8962
+ textPartWeights?: _angular_core.Signal<string | undefined> | undefined;
8963
+ relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
8964
+ removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
8965
+ queryId?: _angular_core.Signal<string | undefined> | undefined;
8966
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
8967
+ orderBy?: _angular_core.Signal<string | undefined> | undefined;
8968
+ groupBy?: _angular_core.Signal<string | undefined> | undefined;
8969
+ neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
8970
+ path?: _angular_core.Signal<string | undefined> | undefined;
8971
+ filters: _angular_core.Signal<_sinequa_atomic.LegacyFilter[]>;
8972
+ id?: _angular_core.Signal<string | undefined> | undefined;
8973
+ setFromUrl: (href: string) => void;
8974
+ getQueryParams: () => {
8975
+ f?: string;
8976
+ p?: number;
8977
+ s?: string;
8978
+ t?: string;
8979
+ q?: string;
8980
+ b?: string;
8981
+ n?: string;
8982
+ };
8983
+ addFilter: (filter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
8984
+ updateFilter: (newFilter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
8985
+ removeFilter: (field?: string) => void;
8986
+ removeFilterByName: (name?: string, column?: string) => void;
8987
+ clearFilters: () => void;
8988
+ clearBasket: () => void;
8989
+ patch: (params: Partial<_sinequa_atomic.QueryParams>, audit?: _sinequa_atomic.AuditEvents) => void;
8990
+ getFilter: ({ field, name }: {
8991
+ field: string | undefined;
8992
+ name: string | undefined;
8993
+ }) => Partial<_sinequa_atomic.LegacyFilter & {
8994
+ count: number;
8995
+ }> | null;
8996
+ getQuery: () => _sinequa_atomic.Query;
8997
+ } & _ngrx_signals.StateSource<{
8998
+ name?: string | undefined;
8999
+ action?: "" | "search" | "open" | "aggregate" | undefined;
9000
+ text?: string | undefined;
9001
+ select?: _sinequa_atomic.Select[] | undefined;
9002
+ open?: _sinequa_atomic.Open[] | undefined;
9003
+ page?: number | undefined;
9004
+ pageSize?: number | undefined;
9005
+ tab?: string | undefined;
9006
+ scope?: string | undefined;
9007
+ sort?: string | undefined;
9008
+ basket?: string | undefined;
9009
+ isFirstPage?: boolean | undefined;
9010
+ strictRefine?: boolean | undefined;
9011
+ globalRelevance?: number | undefined;
9012
+ questionLanguage?: string | undefined;
9013
+ questionDefaultLanguage?: string | undefined;
9014
+ spellingCorrectionMode?: _sinequa_atomic.SpellingCorrectionMode | undefined;
9015
+ spellingCorrectionFilter?: string | undefined;
9016
+ documentWeight?: string | undefined;
9017
+ textPartWeights?: string | undefined;
9018
+ relevanceTransforms?: string | undefined;
9019
+ removeDuplicates?: boolean | undefined;
9020
+ queryId?: string | undefined;
9021
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
9022
+ orderBy?: string | undefined;
9023
+ groupBy?: string | undefined;
9024
+ neuralSearch?: boolean | undefined;
9025
+ path?: string | undefined;
9026
+ filters: _sinequa_atomic.LegacyFilter[];
9027
+ id?: string | undefined;
9028
+ }>;
9029
+ readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
9030
+ private selection;
9031
+ readonly fromSelection: _angular_core.WritableSignal<boolean>;
9032
+ exportableColumns: _angular_core.WritableSignal<string[]>;
9033
+ readonly supportedFormats: ExportOutputFormat[];
9034
+ format: _angular_core.ModelSignal<ExportOutputFormat>;
9035
+ maxCount: _angular_core.ModelSignal<number | undefined>;
9036
+ columnsToExport: _angular_core.ModelSignal<string[]>;
9037
+ private destroyRef;
9038
+ open(selection?: string[]): void;
9039
+ onDownload(): void;
9040
+ onMaxCountInput(event: Event): void;
9041
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExportDialog, never>;
9042
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ExportDialog, "export-dialog", never, { "format": { "alias": "format"; "required": false; "isSignal": true; }; "maxCount": { "alias": "maxCount"; "required": false; "isSignal": true; }; "columnsToExport": { "alias": "columnsToExport"; "required": false; "isSignal": true; }; }, { "onExport": "onExport"; "format": "formatChange"; "maxCount": "maxCountChange"; "columnsToExport": "columnsToExportChange"; }, never, never, true, never>;
8883
9043
  }
8884
9044
 
8885
- type DocumentTypeMap = {
8886
- documentType: string;
8887
- articleComponent: Type<unknown>;
8888
- previewComponent: Type<unknown>;
8889
- };
8890
- declare const COMPONENTS_FOR_DOCUMENT_TYPE: InjectionToken<(documentType?: string) => DocumentTypeMap>;
8891
- /**
8892
- * Component for previewing articles in a drawer.
8893
- * It dynamically loads the appropriate preview component based on the article's document type.
8894
- * It also manages the lifecycle of the preview, ensuring that resources are cleaned up when the drawer is closed.
8895
- *
8896
- * @extends DrawerComponent
8897
- * @deprecated we do not use it anymore.
8898
- */
8899
- declare class DrawerPreviewComponent extends DrawerComponent {
8900
- private destroyRef;
8901
- injector: Injector;
8902
- appStore: {
9045
+ declare const AuditFeedbackType = "UserFeedback_UserFeedback";
9046
+ declare class FeedbackDialogComponent implements DialogInterface {
9047
+ readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
9048
+ readonly auditService: AuditService;
9049
+ readonly appStore: {
8903
9050
  name: _angular_core.Signal<string>;
8904
9051
  description?: _angular_core.Signal<string | undefined> | undefined;
8905
9052
  versionId: _angular_core.Signal<string>;
@@ -9206,33 +9353,30 @@ declare class DrawerPreviewComponent extends DrawerComponent {
9206
9353
  authorizationLevel?: string | undefined;
9207
9354
  columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
9208
9355
  }>;
9209
- selectionStore: {
9210
- article?: _angular_core.Signal<_sinequa_atomic.Article | undefined> | undefined;
9211
- id?: _angular_core.Signal<string | undefined> | undefined;
9212
- queryText?: _angular_core.Signal<string | undefined> | undefined;
9213
- queryName?: _angular_core.Signal<string | undefined> | undefined;
9214
- previewHighlights?: _angular_core.Signal<_sinequa_atomic_angular.PreviewHighlights | undefined> | undefined;
9215
- assistantIdsToAttach: _angular_core.Signal<string[]>;
9216
- multiSelection: _angular_core.Signal<_sinequa_atomic.Article[]>;
9217
- multiSelectCount: _angular_core.Signal<number>;
9218
- update: (newState: Partial<_sinequa_atomic_angular.SelectionState>) => void;
9219
- clear: () => void;
9220
- addArticleToMultiSelection: (article: _sinequa_atomic.Article) => void;
9221
- removeArticleFromMultiSelection: (article: _sinequa_atomic.Article) => void;
9222
- clearMultiSelection: () => void;
9223
- } & _ngrx_signals.StateSource<{
9224
- article?: _sinequa_atomic.Article | undefined;
9225
- id?: string | undefined;
9226
- queryText?: string | undefined;
9227
- queryName?: string | undefined;
9228
- previewHighlights?: _sinequa_atomic_angular.PreviewHighlights | undefined;
9229
- assistantIdsToAttach: string[];
9230
- multiSelection: _sinequa_atomic.Article[];
9231
- }>;
9232
- queryParamsStore: {
9356
+ private readonly transloco;
9357
+ comment: _angular_core.ModelSignal<string>;
9358
+ type: _angular_core.WritableSignal<string | undefined>;
9359
+ open(type: string): void;
9360
+ submit(): void;
9361
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeedbackDialogComponent, never>;
9362
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeedbackDialogComponent, "feedback-dialog, feedbackdialog, FeedbackDialog", never, { "comment": { "alias": "comment"; "required": false; "isSignal": true; }; }, { "comment": "commentChange"; }, never, never, true, never>;
9363
+ }
9364
+
9365
+ interface FeedbackMenu {
9366
+ type: string;
9367
+ icon: string;
9368
+ }
9369
+ declare class SearchFeedbackComponent {
9370
+ onClose: _angular_core.OutputEmitterRef<void>;
9371
+ readonly feedbackDialog: _angular_core.Signal<FeedbackDialogComponent | undefined>;
9372
+ pages: _angular_core.InputSignal<any>;
9373
+ variant: _angular_core.InputSignal<"default" | "link" | "primary" | "secondary" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | "destructive" | "icon" | "ai" | "none" | null | undefined>;
9374
+ solid: _angular_core.InputSignal<boolean | null | undefined>;
9375
+ readonly auditService: AuditService;
9376
+ protected readonly queryParamsStore: {
9233
9377
  name?: _angular_core.Signal<string | undefined> | undefined;
9234
- text?: _angular_core.Signal<string | undefined> | undefined;
9235
9378
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
9379
+ text?: _angular_core.Signal<string | undefined> | undefined;
9236
9380
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
9237
9381
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
9238
9382
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -9253,184 +9397,115 @@ declare class DrawerPreviewComponent extends DrawerComponent {
9253
9397
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
9254
9398
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
9255
9399
  queryId?: _angular_core.Signal<string | undefined> | undefined;
9256
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
9400
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
9257
9401
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
9258
9402
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
9259
9403
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
9260
9404
  path?: _angular_core.Signal<string | undefined> | undefined;
9261
- filters: _angular_core.Signal<_sinequa_atomic.LegacyFilter[]>;
9262
- id?: _angular_core.Signal<string | undefined> | undefined;
9263
- setFromUrl: (href: string) => void;
9264
- getQueryParams: () => {
9265
- f?: string;
9266
- p?: number;
9267
- s?: string;
9268
- t?: string;
9269
- q?: string;
9270
- b?: string;
9271
- n?: string;
9272
- };
9273
- addFilter: (filter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
9274
- updateFilter: (newFilter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
9275
- removeFilter: (field?: string) => void;
9276
- removeFilterByName: (name?: string, column?: string) => void;
9277
- clearFilters: () => void;
9278
- clearBasket: () => void;
9279
- patch: (params: Partial<_sinequa_atomic.QueryParams>, audit?: _sinequa_atomic.AuditEvents) => void;
9280
- getFilter: ({ field, name }: {
9281
- field: string | undefined;
9282
- name: string | undefined;
9283
- }) => Partial<_sinequa_atomic.LegacyFilter & {
9284
- count: number;
9285
- }> | null;
9286
- getQuery: () => _sinequa_atomic.Query;
9287
- } & _ngrx_signals.StateSource<{
9288
- name?: string | undefined;
9289
- text?: string | undefined;
9290
- action?: "" | "search" | "open" | "aggregate" | undefined;
9291
- select?: _sinequa_atomic.Select[] | undefined;
9292
- open?: _sinequa_atomic.Open[] | undefined;
9293
- page?: number | undefined;
9294
- pageSize?: number | undefined;
9295
- tab?: string | undefined;
9296
- scope?: string | undefined;
9297
- sort?: string | undefined;
9298
- basket?: string | undefined;
9299
- isFirstPage?: boolean | undefined;
9300
- strictRefine?: boolean | undefined;
9301
- globalRelevance?: number | undefined;
9302
- questionLanguage?: string | undefined;
9303
- questionDefaultLanguage?: string | undefined;
9304
- spellingCorrectionMode?: _sinequa_atomic.SpellingCorrectionMode | undefined;
9305
- spellingCorrectionFilter?: string | undefined;
9306
- documentWeight?: string | undefined;
9307
- textPartWeights?: string | undefined;
9308
- relevanceTransforms?: string | undefined;
9309
- removeDuplicates?: boolean | undefined;
9310
- queryId?: string | undefined;
9311
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
9312
- orderBy?: string | undefined;
9313
- groupBy?: string | undefined;
9314
- neuralSearch?: boolean | undefined;
9315
- path?: string | undefined;
9316
- filters: _sinequa_atomic.LegacyFilter[];
9317
- id?: string | undefined;
9318
- }>;
9319
- previewService: PreviewService;
9320
- getComponentsForDocumentType: (documentType?: string) => DocumentTypeMap;
9321
- readonly articleId: _angular_core.InputSignal<string>;
9322
- queryText: _angular_core.Signal<string | undefined>;
9323
- readonly article: _angular_core.Signal<_sinequa_atomic.Article | undefined>;
9324
- readonly previewType: _angular_core.Signal<Type<unknown>>;
9325
- private readonly globalQueryName;
9326
- constructor(destroyRef: DestroyRef);
9327
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerPreviewComponent, never>;
9328
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerPreviewComponent, "DrawerPreview, drawerpreview", never, { "articleId": { "alias": "articleId"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
9329
- }
9330
-
9331
- declare const DRAWER_COMPONENT: InjectionToken<Type<DrawerComponent>>;
9332
- declare const DRAWER_STACK_MAX_COUNT: InjectionToken<number>;
9333
- /**
9334
- * Component that manages a stack of drawers in the application.
9335
- * It listens to the DrawerStackService for events to open, close,
9336
- * and manage drawers, and dynamically creates and destroys drawer
9337
- * components as needed.
9338
- *
9339
- * @deprecated we do not use it anymore.
9340
- */
9341
- declare class DrawerStackComponent {
9342
- drawerOpened: _angular_core.Signal<boolean>;
9343
- readonly drawerStackService: DrawerStackService;
9344
- protected readonly selectionHistory: SelectionHistoryService;
9345
- protected readonly viewContainer: ViewContainerRef;
9346
- protected readonly drawerComponent: Type<DrawerComponent>;
9347
- protected readonly drawerStackMaxCount: number;
9348
- protected readonly selectionHistory$: _angular_core.EventEmitter<_sinequa_atomic_angular.SelectionHistoryEvent>;
9349
- protected readonly drawers: ComponentRef<DrawerComponent>[];
9350
- get drawersLength(): number;
9351
- constructor(destroyRef: DestroyRef);
9352
- protected toggleAssistant(): void;
9353
- private openTopDrawer;
9354
- private closeTopDrawer;
9355
- private closeAllDrawers;
9356
- private collapseTopDrawer;
9357
- private toggleTopDrawerExtension;
9358
- private pushDrawer;
9359
- private shiftDrawer;
9360
- private unshiftDrawer;
9361
- private closeAndDestroyDrawer;
9362
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DrawerStackComponent, never>;
9363
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DrawerStackComponent, "DrawerStack, drawerstack", never, {}, {}, never, never, true, never>;
9364
- }
9365
-
9366
- type ExportQueryOptions = {
9367
- model: ExportQueryModel;
9368
- appName: string;
9369
- query: Query;
9370
- article?: Article$1;
9371
- name?: string;
9372
- selection?: string[];
9373
- };
9374
- declare class ExportService {
9375
- protected readonly API_URL: string;
9376
- protected readonly http: HttpClient;
9377
- /**
9378
- * Downloads a file based on the provided options and triggers a browser download.
9379
- *
9380
- * @param options - The options for the download operation.
9381
- * @param options.model - The export query model containing web service, format, max count, and exported columns.
9382
- * @param options.appName - The name of the application initiating the download.
9383
- * @param options.query - The query object used for the export operation.
9384
- * @param options.article - (Optional) The article associated with the export.
9385
- * @param options.name - (Optional) The custom name for the downloaded file. If not provided, the name is extracted from the response headers.
9386
- * @param options.selection - (Optional) An array of id of selected items to export.
9387
- * @returns An observable that emits the HTTP response containing the file blob.
9388
- *
9389
- * @remarks
9390
- * This method handles file downloads for both modern browsers and Internet Explorer.
9391
- * For modern browsers, it creates a temporary anchor element to trigger the download.
9392
- * For Internet Explorer, it uses `msSaveOrOpenBlob` to handle the download.
9393
- *
9394
- * @example
9395
- * ```typescript
9396
- * const options = {
9397
- * model: { webService: 'service', format: 'csv', maxCount: 100, exportedColumns: [] },
9398
- * appName: 'MyApp',
9399
- * query: myQuery,
9400
- * name: 'exported-file.csv'
9401
- * };
9402
- * exportService.download(options).subscribe(response => {
9403
- * console.log('File downloaded successfully');
9404
- * });
9405
- * ```
9406
- */
9407
- download(options: ExportQueryOptions): Observable<HttpResponse<Blob>>;
9408
- /**
9409
- * Exports the current result.
9410
- *
9411
- * @param webService The configuration for the export web service.
9412
- * @param query The query to export.
9413
- * @param format The export format.
9414
- * @param maxCount (Optional) The maximum number of exported rows.
9415
- * @param exportedColumns (Optional) The columns to export, empty means all columns.
9416
- * @param selection - (Optional) The list of id of selected items to export.
9417
- *
9418
- * @remarks If `selection` is provided, the type of export will be set to 'Selection'.
9419
- */
9420
- exportResult(appName: string, webService: string, query: Query, format: ExportOutputFormat, results?: Article$1, maxCount?: number, exportedColumns?: string[], selection?: string[]): Observable<HttpResponse<Blob>>;
9421
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExportService, never>;
9422
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ExportService>;
9405
+ filters: _angular_core.Signal<_sinequa_atomic.LegacyFilter[]>;
9406
+ id?: _angular_core.Signal<string | undefined> | undefined;
9407
+ setFromUrl: (href: string) => void;
9408
+ getQueryParams: () => {
9409
+ f?: string;
9410
+ p?: number;
9411
+ s?: string;
9412
+ t?: string;
9413
+ q?: string;
9414
+ b?: string;
9415
+ n?: string;
9416
+ };
9417
+ addFilter: (filter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
9418
+ updateFilter: (newFilter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
9419
+ removeFilter: (field?: string) => void;
9420
+ removeFilterByName: (name?: string, column?: string) => void;
9421
+ clearFilters: () => void;
9422
+ clearBasket: () => void;
9423
+ patch: (params: Partial<_sinequa_atomic.QueryParams>, audit?: _sinequa_atomic.AuditEvents) => void;
9424
+ getFilter: ({ field, name }: {
9425
+ field: string | undefined;
9426
+ name: string | undefined;
9427
+ }) => Partial<_sinequa_atomic.LegacyFilter & {
9428
+ count: number;
9429
+ }> | null;
9430
+ getQuery: () => _sinequa_atomic.Query;
9431
+ } & _ngrx_signals.StateSource<{
9432
+ name?: string | undefined;
9433
+ action?: "" | "search" | "open" | "aggregate" | undefined;
9434
+ text?: string | undefined;
9435
+ select?: _sinequa_atomic.Select[] | undefined;
9436
+ open?: _sinequa_atomic.Open[] | undefined;
9437
+ page?: number | undefined;
9438
+ pageSize?: number | undefined;
9439
+ tab?: string | undefined;
9440
+ scope?: string | undefined;
9441
+ sort?: string | undefined;
9442
+ basket?: string | undefined;
9443
+ isFirstPage?: boolean | undefined;
9444
+ strictRefine?: boolean | undefined;
9445
+ globalRelevance?: number | undefined;
9446
+ questionLanguage?: string | undefined;
9447
+ questionDefaultLanguage?: string | undefined;
9448
+ spellingCorrectionMode?: _sinequa_atomic.SpellingCorrectionMode | undefined;
9449
+ spellingCorrectionFilter?: string | undefined;
9450
+ documentWeight?: string | undefined;
9451
+ textPartWeights?: string | undefined;
9452
+ relevanceTransforms?: string | undefined;
9453
+ removeDuplicates?: boolean | undefined;
9454
+ queryId?: string | undefined;
9455
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
9456
+ orderBy?: string | undefined;
9457
+ groupBy?: string | undefined;
9458
+ neuralSearch?: boolean | undefined;
9459
+ path?: string | undefined;
9460
+ filters: _sinequa_atomic.LegacyFilter[];
9461
+ id?: string | undefined;
9462
+ }>;
9463
+ private readonly transloco;
9464
+ liked: _angular_core.WritableSignal<boolean>;
9465
+ disliked: _angular_core.WritableSignal<boolean>;
9466
+ menus: FeedbackMenu[];
9467
+ close(event: Event): void;
9468
+ like(): void;
9469
+ dislike(): void;
9470
+ openFeedbackDialog(type: string): void;
9471
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchFeedbackComponent, never>;
9472
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchFeedbackComponent, "feedback, Feedback", never, { "pages": { "alias": "pages"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "solid": { "alias": "solid"; "required": false; "isSignal": true; }; }, { "onClose": "onClose"; }, never, never, true, never>;
9423
9473
  }
9424
9474
 
9425
- declare class ExportDialog implements DialogInterface {
9475
+ declare class AggregationTreeComponent {
9476
+ #private;
9426
9477
  cn: typeof cn;
9427
- onExport: _angular_core.OutputEmitterRef<ExportQueryModel>;
9428
- private appStore;
9429
- readonly exportService: ExportService;
9478
+ class: _angular_core.InputSignal<string>;
9479
+ id: _angular_core.InputSignal<string | null>;
9480
+ name: _angular_core.InputSignal<string | null>;
9481
+ column: _angular_core.InputSignal<string | null>;
9482
+ collapsible: _angular_core.InputSignal<boolean>;
9483
+ collapsed: _angular_core.InputSignal<boolean>;
9484
+ searchable: _angular_core.InputSignal<boolean | undefined>;
9485
+ showFiltersCount: _angular_core.InputSignalWithTransform<boolean, unknown>;
9486
+ expandedLevel: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
9487
+ onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
9488
+ onApply: _angular_core.OutputEmitterRef<void>;
9489
+ onClear: _angular_core.OutputEmitterRef<void>;
9490
+ virtualItems: _angular_core.Signal<readonly ElementRef<HTMLDivElement>[]>;
9491
+ scrollElement: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
9492
+ selection: _angular_core.WritableSignal<boolean>;
9493
+ isAllSelected: _angular_core.WritableSignal<boolean>;
9494
+ searchText: _angular_core.ModelSignal<string>;
9495
+ private readonly base;
9496
+ readonly aggregationsStore: {
9497
+ aggregations: _angular_core.Signal<Aggregation[]>;
9498
+ update: (aggregations: Aggregation[]) => void;
9499
+ updateAggregation: (aggregation: Aggregation) => void;
9500
+ clear: () => void;
9501
+ getAggregation: (name: string, kind?: "column" | "name") => Aggregation | undefined;
9502
+ } & _ngrx_signals.StateSource<{
9503
+ aggregations: Aggregation[];
9504
+ }>;
9430
9505
  readonly queryParamsStore: {
9431
9506
  name?: _angular_core.Signal<string | undefined> | undefined;
9432
- text?: _angular_core.Signal<string | undefined> | undefined;
9433
9507
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
9508
+ text?: _angular_core.Signal<string | undefined> | undefined;
9434
9509
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
9435
9510
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
9436
9511
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -9451,12 +9526,12 @@ declare class ExportDialog implements DialogInterface {
9451
9526
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
9452
9527
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
9453
9528
  queryId?: _angular_core.Signal<string | undefined> | undefined;
9454
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
9529
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
9455
9530
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
9456
9531
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
9457
9532
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
9458
9533
  path?: _angular_core.Signal<string | undefined> | undefined;
9459
- filters: _angular_core.Signal<_sinequa_atomic.LegacyFilter[]>;
9534
+ filters: _angular_core.Signal<LegacyFilter[]>;
9460
9535
  id?: _angular_core.Signal<string | undefined> | undefined;
9461
9536
  setFromUrl: (href: string) => void;
9462
9537
  getQueryParams: () => {
@@ -9468,8 +9543,8 @@ declare class ExportDialog implements DialogInterface {
9468
9543
  b?: string;
9469
9544
  n?: string;
9470
9545
  };
9471
- addFilter: (filter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
9472
- updateFilter: (newFilter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
9546
+ addFilter: (filter: LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
9547
+ updateFilter: (newFilter: LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
9473
9548
  removeFilter: (field?: string) => void;
9474
9549
  removeFilterByName: (name?: string, column?: string) => void;
9475
9550
  clearFilters: () => void;
@@ -9478,14 +9553,14 @@ declare class ExportDialog implements DialogInterface {
9478
9553
  getFilter: ({ field, name }: {
9479
9554
  field: string | undefined;
9480
9555
  name: string | undefined;
9481
- }) => Partial<_sinequa_atomic.LegacyFilter & {
9556
+ }) => Partial<LegacyFilter & {
9482
9557
  count: number;
9483
9558
  }> | null;
9484
9559
  getQuery: () => _sinequa_atomic.Query;
9485
9560
  } & _ngrx_signals.StateSource<{
9486
9561
  name?: string | undefined;
9487
- text?: string | undefined;
9488
9562
  action?: "" | "search" | "open" | "aggregate" | undefined;
9563
+ text?: string | undefined;
9489
9564
  select?: _sinequa_atomic.Select[] | undefined;
9490
9565
  open?: _sinequa_atomic.Open[] | undefined;
9491
9566
  page?: number | undefined;
@@ -9511,29 +9586,9 @@ declare class ExportDialog implements DialogInterface {
9511
9586
  groupBy?: string | undefined;
9512
9587
  neuralSearch?: boolean | undefined;
9513
9588
  path?: string | undefined;
9514
- filters: _sinequa_atomic.LegacyFilter[];
9589
+ filters: LegacyFilter[];
9515
9590
  id?: string | undefined;
9516
9591
  }>;
9517
- readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
9518
- private selection;
9519
- readonly fromSelection: _angular_core.WritableSignal<boolean>;
9520
- exportableColumns: _angular_core.WritableSignal<string[]>;
9521
- readonly supportedFormats: ExportOutputFormat[];
9522
- format: _angular_core.ModelSignal<ExportOutputFormat>;
9523
- maxCount: _angular_core.ModelSignal<number | undefined>;
9524
- columnsToExport: _angular_core.ModelSignal<string[]>;
9525
- private destroyRef;
9526
- open(selection?: string[]): void;
9527
- onDownload(): void;
9528
- onMaxCountInput(event: Event): void;
9529
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExportDialog, never>;
9530
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ExportDialog, "export-dialog", never, { "format": { "alias": "format"; "required": false; "isSignal": true; }; "maxCount": { "alias": "maxCount"; "required": false; "isSignal": true; }; "columnsToExport": { "alias": "columnsToExport"; "required": false; "isSignal": true; }; }, { "onExport": "onExport"; "format": "formatChange"; "maxCount": "maxCountChange"; "columnsToExport": "columnsToExportChange"; }, never, never, true, never>;
9531
- }
9532
-
9533
- declare const AuditFeedbackType = "UserFeedback_UserFeedback";
9534
- declare class FeedbackDialogComponent implements DialogInterface {
9535
- readonly dialog: _angular_core.Signal<DialogComponent | undefined>;
9536
- readonly auditService: AuditService;
9537
9592
  readonly appStore: {
9538
9593
  name: _angular_core.Signal<string>;
9539
9594
  description?: _angular_core.Signal<string | undefined> | undefined;
@@ -9719,8 +9774,8 @@ declare class FeedbackDialogComponent implements DialogInterface {
9719
9774
  isDateColumn: (column: string) => boolean;
9720
9775
  isTabSearch: (queryName: string) => boolean;
9721
9776
  getAggregationCount: (queryName: string | undefined, aggregationName: string) => number;
9722
- getAuthorizedFilters: () => _sinequa_atomic.Aggregation[];
9723
- getAuthorized: (filters: Pick<_sinequa_atomic_angular.CFilter, "column" | "name">[]) => _sinequa_atomic.Aggregation[];
9777
+ getAuthorizedFilters: () => Aggregation[];
9778
+ getAuthorized: (filters: Pick<_sinequa_atomic_angular.CFilter, "column" | "name">[]) => Aggregation[];
9724
9779
  getNamedCustomizationJson: (name: string) => unknown | undefined;
9725
9780
  getAggregationIcon: (column: string) => string | undefined;
9726
9781
  getAggregationItemsCustomization: (column: string) => _sinequa_atomic_angular.CFilterItem[] | undefined;
@@ -9836,138 +9891,89 @@ declare class FeedbackDialogComponent implements DialogInterface {
9836
9891
  defaultQueryName: string;
9837
9892
  auditEnabled?: boolean | undefined;
9838
9893
  dataSets?: string | undefined;
9839
- revision?: number | undefined;
9840
- runnableModels?: string | undefined;
9841
- authorizationLevel?: string | undefined;
9842
- columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
9843
- }>;
9844
- private readonly transloco;
9845
- comment: _angular_core.ModelSignal<string>;
9846
- type: _angular_core.WritableSignal<string | undefined>;
9847
- open(type: string): void;
9848
- submit(): void;
9849
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<FeedbackDialogComponent, never>;
9850
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FeedbackDialogComponent, "feedback-dialog, feedbackdialog, FeedbackDialog", never, { "comment": { "alias": "comment"; "required": false; "isSignal": true; }; }, { "comment": "commentChange"; }, never, never, true, never>;
9851
- }
9852
-
9853
- interface FeedbackMenu {
9854
- type: string;
9855
- icon: string;
9856
- }
9857
- declare class SearchFeedbackComponent {
9858
- onClose: _angular_core.OutputEmitterRef<void>;
9859
- readonly feedbackDialog: _angular_core.Signal<FeedbackDialogComponent | undefined>;
9860
- pages: _angular_core.InputSignal<any>;
9861
- variant: _angular_core.InputSignal<"default" | "none" | "destructive" | "icon" | "ghost" | "primary" | "secondary" | "outline" | "ai" | "link" | "accent" | "tertiary" | "light-accent" | null | undefined>;
9862
- solid: _angular_core.InputSignal<boolean | null | undefined>;
9863
- readonly auditService: AuditService;
9864
- protected readonly queryParamsStore: {
9865
- name?: _angular_core.Signal<string | undefined> | undefined;
9866
- text?: _angular_core.Signal<string | undefined> | undefined;
9867
- action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
9868
- select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
9869
- open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
9870
- page?: _angular_core.Signal<number | undefined> | undefined;
9871
- pageSize?: _angular_core.Signal<number | undefined> | undefined;
9872
- tab?: _angular_core.Signal<string | undefined> | undefined;
9873
- scope?: _angular_core.Signal<string | undefined> | undefined;
9874
- sort?: _angular_core.Signal<string | undefined> | undefined;
9875
- basket?: _angular_core.Signal<string | undefined> | undefined;
9876
- isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
9877
- strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
9878
- globalRelevance?: _angular_core.Signal<number | undefined> | undefined;
9879
- questionLanguage?: _angular_core.Signal<string | undefined> | undefined;
9880
- questionDefaultLanguage?: _angular_core.Signal<string | undefined> | undefined;
9881
- spellingCorrectionMode?: _angular_core.Signal<_sinequa_atomic.SpellingCorrectionMode | undefined> | undefined;
9882
- spellingCorrectionFilter?: _angular_core.Signal<string | undefined> | undefined;
9883
- documentWeight?: _angular_core.Signal<string | undefined> | undefined;
9884
- textPartWeights?: _angular_core.Signal<string | undefined> | undefined;
9885
- relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
9886
- removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
9887
- queryId?: _angular_core.Signal<string | undefined> | undefined;
9888
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
9889
- orderBy?: _angular_core.Signal<string | undefined> | undefined;
9890
- groupBy?: _angular_core.Signal<string | undefined> | undefined;
9891
- neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
9892
- path?: _angular_core.Signal<string | undefined> | undefined;
9893
- filters: _angular_core.Signal<_sinequa_atomic.LegacyFilter[]>;
9894
- id?: _angular_core.Signal<string | undefined> | undefined;
9895
- setFromUrl: (href: string) => void;
9896
- getQueryParams: () => {
9897
- f?: string;
9898
- p?: number;
9899
- s?: string;
9900
- t?: string;
9901
- q?: string;
9902
- b?: string;
9903
- n?: string;
9904
- };
9905
- addFilter: (filter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
9906
- updateFilter: (newFilter: _sinequa_atomic.LegacyFilter, audit?: _sinequa_atomic.AuditEvents) => void;
9907
- removeFilter: (field?: string) => void;
9908
- removeFilterByName: (name?: string, column?: string) => void;
9909
- clearFilters: () => void;
9910
- clearBasket: () => void;
9911
- patch: (params: Partial<_sinequa_atomic.QueryParams>, audit?: _sinequa_atomic.AuditEvents) => void;
9912
- getFilter: ({ field, name }: {
9913
- field: string | undefined;
9914
- name: string | undefined;
9915
- }) => Partial<_sinequa_atomic.LegacyFilter & {
9916
- count: number;
9917
- }> | null;
9918
- getQuery: () => _sinequa_atomic.Query;
9919
- } & _ngrx_signals.StateSource<{
9920
- name?: string | undefined;
9921
- text?: string | undefined;
9922
- action?: "" | "search" | "open" | "aggregate" | undefined;
9923
- select?: _sinequa_atomic.Select[] | undefined;
9924
- open?: _sinequa_atomic.Open[] | undefined;
9925
- page?: number | undefined;
9926
- pageSize?: number | undefined;
9927
- tab?: string | undefined;
9928
- scope?: string | undefined;
9929
- sort?: string | undefined;
9930
- basket?: string | undefined;
9931
- isFirstPage?: boolean | undefined;
9932
- strictRefine?: boolean | undefined;
9933
- globalRelevance?: number | undefined;
9934
- questionLanguage?: string | undefined;
9935
- questionDefaultLanguage?: string | undefined;
9936
- spellingCorrectionMode?: _sinequa_atomic.SpellingCorrectionMode | undefined;
9937
- spellingCorrectionFilter?: string | undefined;
9938
- documentWeight?: string | undefined;
9939
- textPartWeights?: string | undefined;
9940
- relevanceTransforms?: string | undefined;
9941
- removeDuplicates?: boolean | undefined;
9942
- queryId?: string | undefined;
9943
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
9944
- orderBy?: string | undefined;
9945
- groupBy?: string | undefined;
9946
- neuralSearch?: boolean | undefined;
9947
- path?: string | undefined;
9948
- filters: _sinequa_atomic.LegacyFilter[];
9949
- id?: string | undefined;
9950
- }>;
9951
- private readonly transloco;
9952
- liked: _angular_core.WritableSignal<boolean>;
9953
- disliked: _angular_core.WritableSignal<boolean>;
9954
- menus: FeedbackMenu[];
9955
- close(event: Event): void;
9956
- like(): void;
9957
- dislike(): void;
9958
- openFeedbackDialog(type: string): void;
9959
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchFeedbackComponent, never>;
9960
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchFeedbackComponent, "feedback, Feedback", never, { "pages": { "alias": "pages"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "solid": { "alias": "solid"; "required": false; "isSignal": true; }; }, { "onClose": "onClose"; }, never, never, true, never>;
9894
+ revision?: number | undefined;
9895
+ runnableModels?: string | undefined;
9896
+ authorizationLevel?: string | undefined;
9897
+ columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
9898
+ }>;
9899
+ readonly aggregationsService: _sinequa_atomic_angular.AggregationsService;
9900
+ readonly injector: _angular_core.Injector;
9901
+ readonly destroyRef: _angular_core.DestroyRef;
9902
+ readonly debouncedSearchText: _angular_core.Signal<string>;
9903
+ readonly normalizedSearchText: _angular_core.Signal<string>;
9904
+ readonly suggests: _angular_core.WritableSignal<_sinequa_atomic.Suggestion[]>;
9905
+ readonly hasFilters: _angular_core.Signal<boolean>;
9906
+ readonly filtersCount: _angular_core.Signal<number>;
9907
+ readonly query: _sinequa_atomic.Query;
9908
+ readonly filters: _angular_core.WritableSignal<LegacyFilter[]>;
9909
+ readonly showCount: _angular_core.Signal<boolean>;
9910
+ readonly quickFilter: _angular_core.Signal<boolean | undefined>;
9911
+ readonly isDate: _angular_core.Signal<boolean>;
9912
+ readonly virtualizer: _tanstack_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
9913
+ readonly linkChildren: _angular_core.Signal<boolean | undefined>;
9914
+ aggregation: _angular_core.Signal<_sinequa_atomic_angular.AggEx | null>;
9915
+ items: _angular_core.Signal<AggregationListItem[]>;
9916
+ isEmpty: _angular_core.Signal<boolean>;
9917
+ readonly searchedItems: _angular_core.Signal<TreeAggregationNode[] | {
9918
+ name: string | null;
9919
+ value: string;
9920
+ display: string;
9921
+ column: string;
9922
+ count: number;
9923
+ $selected: boolean;
9924
+ items: never[];
9925
+ }[]>;
9926
+ constructor();
9927
+ clear(): void;
9928
+ selectAll(): void;
9929
+ unselectAll(): void;
9930
+ apply(overrideFilters?: LegacyFilter[]): void;
9931
+ loadMore(): void;
9932
+ open(node: AggregationListItem): Promise<void>;
9933
+ select(): void;
9934
+ protected treeItemName(item: AggregationListItem): string;
9935
+ protected isTreeItemFiltered(item: AggregationListItem, field: string | null | undefined): boolean;
9936
+ protected treeItemLevel(item: AggregationListItem): number;
9937
+ protected treeChildrenPath(item: AggregationListItem, parentPath: string[]): string[];
9938
+ protected selectTreeItem(node: AggregationListItem, parent: AggregationListItem | null, e?: Event, updateChildren?: boolean): void;
9939
+ protected toggleTreeNode(e: Event, node: AggregationListItem): void;
9940
+ protected onTreeItemTextClick(node: AggregationListItem, parent: AggregationListItem | null, event: Event): void;
9941
+ protected getFilters(): LegacyFilter[];
9942
+ protected getFiltersForTree(): LegacyFilter[];
9943
+ protected getFiltersForList(): LegacyFilter[];
9944
+ private getFlattenTreeItems;
9945
+ private addCurrentFiltersToItems;
9946
+ private verifySelected;
9947
+ private setSelected;
9948
+ private processAggregations;
9949
+ private selectVisually;
9950
+ private selectTreeItemChildren;
9951
+ private handleTreeChildSelect;
9952
+ private expandItems;
9953
+ private traverse;
9954
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationTreeComponent, never>;
9955
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationTreeComponent, "AggregationTree, aggregation-tree, aggregationtree", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "searchText": "searchTextChange"; }, never, never, true, never>;
9961
9956
  }
9962
9957
 
9963
- declare class AggregationTreeComponent {
9964
- #private;
9958
+ declare class AggregationListComponent {
9965
9959
  cn: typeof cn;
9966
- virtualItems: _angular_core.Signal<readonly ElementRef<HTMLDivElement>[]>;
9960
+ class: _angular_core.InputSignal<string>;
9961
+ id: _angular_core.InputSignal<string | null>;
9962
+ name: _angular_core.InputSignal<string | null>;
9963
+ column: _angular_core.InputSignal<string | null>;
9964
+ collapsible: _angular_core.InputSignal<boolean>;
9965
+ collapsed: _angular_core.InputSignal<boolean>;
9966
+ searchable: _angular_core.InputSignal<boolean | undefined>;
9967
+ showFiltersCount: _angular_core.InputSignalWithTransform<boolean | null, unknown>;
9968
+ onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
9969
+ onApply: _angular_core.OutputEmitterRef<void>;
9970
+ onClear: _angular_core.OutputEmitterRef<void>;
9967
9971
  scrollElement: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
9968
- virtualizer: _tanstack_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
9969
- searchInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
9970
- aggregationsStore: {
9972
+ selection: _angular_core.WritableSignal<boolean>;
9973
+ isAllSelected: _angular_core.WritableSignal<boolean>;
9974
+ searchText: _angular_core.ModelSignal<string>;
9975
+ private readonly base;
9976
+ readonly aggregationsStore: {
9971
9977
  aggregations: _angular_core.Signal<Aggregation[]>;
9972
9978
  update: (aggregations: Aggregation[]) => void;
9973
9979
  updateAggregation: (aggregation: Aggregation) => void;
@@ -9976,10 +9982,10 @@ declare class AggregationTreeComponent {
9976
9982
  } & _ngrx_signals.StateSource<{
9977
9983
  aggregations: Aggregation[];
9978
9984
  }>;
9979
- queryParamsStore: {
9985
+ readonly queryParamsStore: {
9980
9986
  name?: _angular_core.Signal<string | undefined> | undefined;
9981
- text?: _angular_core.Signal<string | undefined> | undefined;
9982
9987
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
9988
+ text?: _angular_core.Signal<string | undefined> | undefined;
9983
9989
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
9984
9990
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
9985
9991
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -10000,7 +10006,7 @@ declare class AggregationTreeComponent {
10000
10006
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
10001
10007
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
10002
10008
  queryId?: _angular_core.Signal<string | undefined> | undefined;
10003
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
10009
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
10004
10010
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
10005
10011
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
10006
10012
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10030,11 +10036,11 @@ declare class AggregationTreeComponent {
10030
10036
  }) => Partial<LegacyFilter & {
10031
10037
  count: number;
10032
10038
  }> | null;
10033
- getQuery: () => Query;
10039
+ getQuery: () => _sinequa_atomic.Query;
10034
10040
  } & _ngrx_signals.StateSource<{
10035
10041
  name?: string | undefined;
10036
- text?: string | undefined;
10037
10042
  action?: "" | "search" | "open" | "aggregate" | undefined;
10043
+ text?: string | undefined;
10038
10044
  select?: _sinequa_atomic.Select[] | undefined;
10039
10045
  open?: _sinequa_atomic.Open[] | undefined;
10040
10046
  page?: number | undefined;
@@ -10063,7 +10069,7 @@ declare class AggregationTreeComponent {
10063
10069
  filters: LegacyFilter[];
10064
10070
  id?: string | undefined;
10065
10071
  }>;
10066
- appStore: {
10072
+ readonly appStore: {
10067
10073
  name: _angular_core.Signal<string>;
10068
10074
  description?: _angular_core.Signal<string | undefined> | undefined;
10069
10075
  versionId: _angular_core.Signal<string>;
@@ -10124,13 +10130,7 @@ declare class AggregationTreeComponent {
10124
10130
  light?: {
10125
10131
  small?: string;
10126
10132
  large?: string;
10127
- sidebar? /**
10128
- * Determines whether the aggregation component can be collapsed or expanded.
10129
- * When true, the component will display collapse/expand controls allowing users
10130
- * to show or hide the aggregation content.
10131
- *
10132
- * @default false
10133
- */: string;
10133
+ sidebar?: string;
10134
10134
  };
10135
10135
  dark?: {
10136
10136
  small?: string;
@@ -10192,13 +10192,7 @@ declare class AggregationTreeComponent {
10192
10192
  light?: {
10193
10193
  small?: string;
10194
10194
  large?: string;
10195
- sidebar? /**
10196
- * Determines whether the aggregation component can be collapsed or expanded.
10197
- * When true, the component will display collapse/expand controls allowing users
10198
- * to show or hide the aggregation content.
10199
- *
10200
- * @default false
10201
- */: string;
10195
+ sidebar?: string;
10202
10196
  };
10203
10197
  dark?: {
10204
10198
  small?: string;
@@ -10329,13 +10323,7 @@ declare class AggregationTreeComponent {
10329
10323
  light?: {
10330
10324
  small?: string;
10331
10325
  large?: string;
10332
- sidebar? /**
10333
- * Determines whether the aggregation component can be collapsed or expanded.
10334
- * When true, the component will display collapse/expand controls allowing users
10335
- * to show or hide the aggregation content.
10336
- *
10337
- * @default false
10338
- */: string;
10326
+ sidebar?: string;
10339
10327
  };
10340
10328
  dark?: {
10341
10329
  small?: string;
@@ -10388,214 +10376,38 @@ declare class AggregationTreeComponent {
10388
10376
  authorizationLevel?: string | undefined;
10389
10377
  columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
10390
10378
  }>;
10391
- aggregationsService: AggregationsService;
10392
- el: ElementRef<any>;
10393
- injector: Injector;
10394
- destroyRef: DestroyRef;
10395
- class: _angular_core.InputSignal<string>;
10396
- /**
10397
- * The name of the <details> element. When you provide the same id, the component work as an accordion
10398
- * @defaultValue null
10399
- */
10400
- id: _angular_core.InputSignal<string | null>;
10401
- name: _angular_core.InputSignal<string | null>;
10402
- column: _angular_core.InputSignal<string | null>;
10403
- expandedLevel: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
10404
- onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
10405
- onApply: _angular_core.OutputEmitterRef<void>;
10406
- onClear: _angular_core.OutputEmitterRef<void>;
10407
- /**
10408
- * Determines whether the aggregation component can be collapsed or expanded.
10409
- * When true, the component will display collapse/expand controls allowing users
10410
- * to show or hide the aggregation content.
10411
- *
10412
- * @default false
10413
- */
10414
- collapsible: _angular_core.InputSignal<boolean>;
10415
- /**
10416
- * Controls whether the aggregation component is in a collapsed state.
10417
- * When true, the component will be visually collapsed/hidden.
10418
- * When false, the component will be expanded/visible.
10419
- *
10420
- * @default false
10421
- */
10422
- collapsed: _angular_core.InputSignal<boolean>;
10423
- /**
10424
- * A computed signal that tracks the collapsed state of the component.
10425
- * This signal is linked to the `collapsed()` signal and automatically updates
10426
- * when the collapsed state changes.
10427
- */
10428
- isCollapsed: _angular_core.WritableSignal<boolean>;
10429
- /**
10430
- * Computed property that returns an empty string when the component is not collapsed,
10431
- * or null when the component is collapsed. This is typically used to control
10432
- * expansion state in UI components with conditional rendering or styling.
10433
- *
10434
- * @returns Empty string if not collapsed, null if collapsed
10435
- */
10436
- expanded: _angular_core.Signal<"" | null>;
10437
- /**
10438
- * A boolean flag indicating whether the component is searchable.
10439
- * This property is initialized to `undefined` by default.
10440
- * "Undefined" and not "false" because this input overrides the custom json settings
10441
- */
10442
- searchable: _angular_core.InputSignal<undefined>;
10443
- selection: _angular_core.WritableSignal<boolean>;
10444
- /**
10445
- * A boolean flag indicating whether we want to see the filters count when some is applied
10446
- * This property is initialized to `false` by default.
10447
- */
10448
- showFiltersCount: _angular_core.InputSignalWithTransform<boolean, unknown>;
10379
+ readonly aggregationsService: _sinequa_atomic_angular.AggregationsService;
10380
+ readonly injector: _angular_core.Injector;
10381
+ readonly destroyRef: _angular_core.DestroyRef;
10382
+ readonly suggests: _angular_core.WritableSignal<_sinequa_atomic.Suggestion[]>;
10383
+ readonly hasFilters: _angular_core.Signal<boolean>;
10384
+ readonly filtersCount: _angular_core.Signal<number>;
10385
+ readonly query: _sinequa_atomic.Query;
10386
+ readonly filters: _angular_core.WritableSignal<LegacyFilter[]>;
10387
+ readonly showCount: _angular_core.Signal<boolean>;
10388
+ readonly quickFilter: _angular_core.Signal<boolean | undefined>;
10389
+ readonly isDate: _angular_core.Signal<boolean>;
10390
+ private readonly cdr;
10391
+ readonly virtualizer: _tanstack_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
10449
10392
  aggregation: _angular_core.Signal<_sinequa_atomic_angular.AggEx | null>;
10450
10393
  items: _angular_core.Signal<AggregationListItem[]>;
10451
- /**
10452
- * Computed signal that determines whether the items collection is empty.
10453
- * @returns True if the items array has no elements, false otherwise.
10454
- */
10455
10394
  isEmpty: _angular_core.Signal<boolean>;
10456
- /**
10457
- * A computed property that determines whether there are active filters
10458
- * for the current aggregation column.
10459
- *
10460
- * if True, the clear button is shown.
10461
- *
10462
- * @returns {boolean} `true` if the filter count for the aggregation column is greater than 0, otherwise `false`.
10463
- */
10464
- hasFilters: _angular_core.Signal<boolean>;
10465
- /**
10466
- * A computed property that returns the number of items of this aggregation applied in the active filters
10467
- *
10468
- * if more than 0 and the showCount input is set as True, the count number is shown.
10469
- *
10470
- * @returns {number} the filters count.
10471
- */
10472
- filtersCount: _angular_core.Signal<number>;
10473
- isAllSelected: _angular_core.WritableSignal<boolean>;
10474
- searchText: _angular_core.ModelSignal<string>;
10475
- debouncedSearchText: _angular_core.Signal<string>;
10476
- normalizedSearchText: _angular_core.Signal<string>;
10477
- readonly suggests: _angular_core.WritableSignal<Suggestion[]>;
10478
- readonly searchedItems: _angular_core.Signal<TreeAggregationNode[] | {
10479
- name: string | null;
10480
- value: string;
10481
- display: string;
10482
- column: string;
10483
- count: number;
10484
- $selected: boolean;
10485
- items: never[];
10486
- }[]>;
10487
- linkChildren: _angular_core.Signal<boolean | undefined>;
10488
- query: Query;
10489
- filters: _angular_core.WritableSignal<LegacyFilter[]>;
10395
+ searchedItems: _angular_core.Signal<AggregationItem[]>;
10490
10396
  constructor();
10491
- private addNewItems;
10492
- /**
10493
- * Clears the current filter for the aggregation column.
10494
- *
10495
- * This method updates the filter in the `queryParamsStore` by setting the display value
10496
- * of the current aggregation column to an empty string.
10497
- */
10498
10397
  clear(): void;
10499
- /**
10500
- * Select all filters for the aggregation column.
10501
- */
10502
10398
  selectAll(): void;
10503
- /**
10504
- * Unselect all filters for the aggregation column.
10505
- */
10506
10399
  unselectAll(): void;
10507
- /**
10508
- * Applies the current filters to the query parameters store.
10509
- *
10510
- * - If there are multiple filters, they are wrapped in an "or" filter.
10511
- * - If the aggregation is not a distribution, the filters are merged into a single filter with an "in" operator.
10512
- * - If there is only one filter, it is directly applied.
10513
- * - If there are no filters, the current filters are cleared.
10514
- *
10515
- * After applying the filters, the search text is reset.
10516
- */
10517
- apply(overrideFilters?: LegacyFilter[]): void;
10400
+ apply(): void;
10518
10401
  loadMore(): void;
10519
- open(node: AggregationListItem): Promise<void>;
10520
- /**
10521
- * Updates the selected state of the given item in the aggregation list.
10522
- *
10523
- * @param item - The item to be selected or deselected.
10524
- *
10525
- * This method iterates through the items in the aggregation list and updates
10526
- * the `$selected` property of the item that matches the value of the given item.
10527
- *
10528
- * If the item is selected, the selection count is incremented by 1.
10529
- * If the item is deselected, the selection count is decremented by 1.
10530
- */
10531
10402
  select(): void;
10532
- /**
10533
- * Updates the collapsed status on header click if the component is collapsible.
10534
- */
10535
- onHeaderClick(event: Event): void;
10536
- /**
10537
- * Retrieves the appropriate filters based on the aggregation type.
10538
- *
10539
- * If the aggregation is a tree structure, it returns filters specific to trees.
10540
- * Otherwise, it returns filters for a list structure.
10541
- *
10542
- * @returns Filters for either a tree or list aggregation.
10543
- */
10403
+ protected listItemName(item: AggregationItem): string;
10404
+ protected isListItemFiltered(item: AggregationItem, field: string | null | undefined): boolean;
10405
+ protected selectListItem(item: AggregationItem, e?: Event): void;
10406
+ protected onListItemTextClick(item: AggregationItem, event: Event): void;
10544
10407
  protected getFilters(): LegacyFilter[];
10545
- /**
10546
- * Retrieves the filters for the tree structure.
10547
- *
10548
- * This method collects the selected items from the tree, constructs their paths,
10549
- * and creates a filter object based on these paths. If no items are selected,
10550
- * it returns an empty array.
10551
- *
10552
- * @returns {LegacyFilter[]} An array of filters for the tree structure.
10553
- */
10554
- protected getFiltersForTree(): LegacyFilter[];
10555
- /**
10556
- * Retrieves a list of filters based on the selected items.
10557
- *
10558
- * This method filters the items to include only those that are selected,
10559
- * and then maps each selected item to a filter using the `toFilter` method.
10560
- *
10561
- * @returns {LegacyFilter[]} An array of filters corresponding to the selected items.
10562
- */
10563
- protected getFiltersForList(): LegacyFilter[];
10564
- /**
10565
- * Recursively flattens a tree structure of `TreeAggregationNode` items into a single array.
10566
- *
10567
- * @returns {TreeAggregationNode[]} An array containing all nodes from the tree structure, flattened.
10568
- */
10569
- private getFlattenTreeItems;
10570
10408
  private addCurrentFiltersToItems;
10571
- /**
10572
- * Update the $selected property to the selected parameter to all items
10573
- *
10574
- * @param items the items to apply to
10575
- * @param selected the selected status
10576
- */
10577
- private selectItems;
10578
- /**
10579
- * Check whether all items are selected and update isAllSelected accordingly
10580
- */
10581
- private verifySelected;
10582
- /**
10583
- * set @items $selected and $selectedVisually to the values from @savedItems
10584
- */
10585
- private setSelected;
10586
- private processAggregations;
10587
- private selectVisually;
10588
- onToggle(event: Event): void;
10589
- expandItems(items: TreeAggregationNode[], expandedLevel: number): void;
10590
- /**
10591
- * Traverses a tree structure, executing a callback function at every node
10592
- * @param nodes the nodes to traverse
10593
- * @param callback the callback function
10594
- */
10595
- traverse<T extends TreeAggregationNode>(nodes: T[], callback: (lineage: T[], node: T, depth: number) => boolean): boolean;
10596
- protected clearSearch(e: Event): void;
10597
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationTreeComponent, never>;
10598
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationTreeComponent, "AggregationTree, aggregation-tree, aggregationtree", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "searchText": "searchTextChange"; }, never, ["label", "*"], true, never>;
10409
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationListComponent, never>;
10410
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationListComponent, "AggregationList, aggregation-list, aggregationlist", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "searchText": "searchTextChange"; }, never, never, true, never>;
10599
10411
  }
10600
10412
 
10601
10413
  /**
@@ -11009,6 +10821,39 @@ declare class AggregationComponent {
11009
10821
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationComponent, "Aggregation, aggregation", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; }, never, never, true, never>;
11010
10822
  }
11011
10823
 
10824
+ declare class AggregationPanelComponent {
10825
+ id: _angular_core.InputSignal<string | null>;
10826
+ collapsible: _angular_core.InputSignal<boolean>;
10827
+ collapsed: _angular_core.InputSignal<boolean>;
10828
+ isDate: _angular_core.InputSignal<boolean>;
10829
+ isEmpty: _angular_core.InputSignal<boolean>;
10830
+ aggregation: _angular_core.InputSignal<AggEx | null>;
10831
+ showFiltersCount: _angular_core.InputSignalWithTransform<boolean, unknown>;
10832
+ filtersCount: _angular_core.InputSignal<number>;
10833
+ hasFilters: _angular_core.InputSignal<boolean>;
10834
+ selection: _angular_core.InputSignal<boolean>;
10835
+ isAllSelected: _angular_core.InputSignal<boolean>;
10836
+ searchText: _angular_core.ModelSignal<string>;
10837
+ itemsLength: _angular_core.InputSignal<number>;
10838
+ hasMore: _angular_core.InputSignal<boolean>;
10839
+ searchedItemsLength: _angular_core.InputSignal<number>;
10840
+ cleared: _angular_core.OutputEmitterRef<void>;
10841
+ applied: _angular_core.OutputEmitterRef<void>;
10842
+ allSelected: _angular_core.OutputEmitterRef<void>;
10843
+ allUnselected: _angular_core.OutputEmitterRef<void>;
10844
+ loadedMore: _angular_core.OutputEmitterRef<void>;
10845
+ isCollapsed: _angular_core.WritableSignal<boolean>;
10846
+ expanded: _angular_core.Signal<"" | null>;
10847
+ private readonly searchInput;
10848
+ private readonly isInPopover;
10849
+ constructor();
10850
+ onHeaderClick(event: Event): void;
10851
+ onToggle(event: Event): void;
10852
+ protected clearSearch(e: Event): void;
10853
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationPanelComponent, never>;
10854
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationPanelComponent, "AggregationPanel, aggregation-panel", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "isDate": { "alias": "isDate"; "required": false; "isSignal": true; }; "isEmpty": { "alias": "isEmpty"; "required": false; "isSignal": true; }; "aggregation": { "alias": "aggregation"; "required": false; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "filtersCount": { "alias": "filtersCount"; "required": false; "isSignal": true; }; "hasFilters": { "alias": "hasFilters"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "isAllSelected": { "alias": "isAllSelected"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; "itemsLength": { "alias": "itemsLength"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; "searchedItemsLength": { "alias": "searchedItemsLength"; "required": false; "isSignal": true; }; }, { "searchText": "searchTextChange"; "cleared": "cleared"; "applied": "applied"; "allSelected": "allSelected"; "allUnselected": "allUnselected"; "loadedMore": "loadedMore"; }, never, ["label", "[search-addon]", "*"], true, never>;
10855
+ }
10856
+
11012
10857
  declare class AsideFiltersComponent {
11013
10858
  cn: typeof cn;
11014
10859
  class: _angular_core.InputSignal<string | undefined>;
@@ -11041,7 +10886,7 @@ declare class FilterButtonComponent {
11041
10886
  position: _angular_core.InputSignal<Placement>;
11042
10887
  offset: _angular_core.InputSignal<number>;
11043
10888
  expandedLevel: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
11044
- protected variant: _angular_core.WritableSignal<"default" | "none" | "destructive" | "icon" | "ghost" | "primary" | "secondary" | "outline" | "ai" | "link" | "accent" | "tertiary" | "light-accent" | null | undefined>;
10889
+ protected variant: _angular_core.WritableSignal<"default" | "link" | "primary" | "secondary" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | "destructive" | "icon" | "ai" | "none" | null | undefined>;
11045
10890
  protected filter: _angular_core.WritableSignal<CFilterEx>;
11046
10891
  popoverRef: _angular_core.Signal<PopoverComponent | undefined>;
11047
10892
  protected nativeElement: any;
@@ -11056,8 +10901,8 @@ declare class FilterButtonComponent {
11056
10901
  }>;
11057
10902
  protected queryParamsStore: {
11058
10903
  name?: _angular_core.Signal<string | undefined> | undefined;
11059
- text?: _angular_core.Signal<string | undefined> | undefined;
11060
10904
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
10905
+ text?: _angular_core.Signal<string | undefined> | undefined;
11061
10906
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
11062
10907
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
11063
10908
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -11078,7 +10923,7 @@ declare class FilterButtonComponent {
11078
10923
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
11079
10924
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
11080
10925
  queryId?: _angular_core.Signal<string | undefined> | undefined;
11081
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
10926
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
11082
10927
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
11083
10928
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
11084
10929
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -11111,8 +10956,8 @@ declare class FilterButtonComponent {
11111
10956
  getQuery: () => _sinequa_atomic.Query;
11112
10957
  } & _ngrx_signals.StateSource<{
11113
10958
  name?: string | undefined;
11114
- text?: string | undefined;
11115
10959
  action?: "" | "search" | "open" | "aggregate" | undefined;
10960
+ text?: string | undefined;
11116
10961
  select?: _sinequa_atomic.Select[] | undefined;
11117
10962
  open?: _sinequa_atomic.Open[] | undefined;
11118
10963
  page?: number | undefined;
@@ -11770,8 +11615,8 @@ declare class MoreButtonComponent {
11770
11615
  }>;
11771
11616
  queryParamsStore: {
11772
11617
  name?: _angular_core.Signal<string | undefined> | undefined;
11773
- text?: _angular_core.Signal<string | undefined> | undefined;
11774
11618
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
11619
+ text?: _angular_core.Signal<string | undefined> | undefined;
11775
11620
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
11776
11621
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
11777
11622
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -11792,7 +11637,7 @@ declare class MoreButtonComponent {
11792
11637
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
11793
11638
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
11794
11639
  queryId?: _angular_core.Signal<string | undefined> | undefined;
11795
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
11640
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
11796
11641
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
11797
11642
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
11798
11643
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -11825,8 +11670,8 @@ declare class MoreButtonComponent {
11825
11670
  getQuery: () => _sinequa_atomic.Query;
11826
11671
  } & _ngrx_signals.StateSource<{
11827
11672
  name?: string | undefined;
11828
- text?: string | undefined;
11829
11673
  action?: "" | "search" | "open" | "aggregate" | undefined;
11674
+ text?: string | undefined;
11830
11675
  select?: _sinequa_atomic.Select[] | undefined;
11831
11676
  open?: _sinequa_atomic.Open[] | undefined;
11832
11677
  page?: number | undefined;
@@ -11862,9 +11707,10 @@ declare class MoreButtonComponent {
11862
11707
  includedFilters: _angular_core.InputSignal<string[]>;
11863
11708
  excludedFilters: _angular_core.InputSignal<string[]>;
11864
11709
  aggregations: _angular_core.InputSignal<Aggregation[] | undefined>;
11710
+ homepage: _angular_core.InputSignalWithTransform<boolean, unknown>;
11865
11711
  totalFiltersCount: _angular_core.Signal<number>;
11866
11712
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MoreButtonComponent, never>;
11867
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MoreButtonComponent, "more-button, MoreButton", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "includedFilters": { "alias": "includedFilters"; "required": false; "isSignal": true; }; "excludedFilters": { "alias": "excludedFilters"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11713
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MoreButtonComponent, "more-button, MoreButton", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "includedFilters": { "alias": "includedFilters"; "required": false; "isSignal": true; }; "excludedFilters": { "alias": "excludedFilters"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "homepage": { "alias": "homepage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11868
11714
  }
11869
11715
 
11870
11716
  declare class FiltersBarComponent {
@@ -11903,6 +11749,15 @@ declare class FiltersBarComponent {
11903
11749
  * @default true
11904
11750
  */
11905
11751
  showMoreFiltersButton: _angular_core.InputSignalWithTransform<boolean, unknown>;
11752
+ /**
11753
+ * When enabled, only the filters flagged with `homepage: true` in the "filters" custom JSON
11754
+ * are displayed. If no filter is flagged, the bar shows no filters.
11755
+ *
11756
+ * Accepts a boolean value or a string that can be transformed to a boolean.
11757
+ *
11758
+ * @default false
11759
+ */
11760
+ homepage: _angular_core.InputSignalWithTransform<boolean, unknown>;
11906
11761
  direction: _angular_core.InputSignal<"horizontal" | "vertical">;
11907
11762
  /**
11908
11763
  * The distance in pixels between the popover and its trigger element.
@@ -12245,8 +12100,8 @@ declare class FiltersBarComponent {
12245
12100
  }>;
12246
12101
  protected queryParamsStore: {
12247
12102
  name?: _angular_core.Signal<string | undefined> | undefined;
12248
- text?: _angular_core.Signal<string | undefined> | undefined;
12249
12103
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
12104
+ text?: _angular_core.Signal<string | undefined> | undefined;
12250
12105
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
12251
12106
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
12252
12107
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -12267,7 +12122,7 @@ declare class FiltersBarComponent {
12267
12122
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
12268
12123
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
12269
12124
  queryId?: _angular_core.Signal<string | undefined> | undefined;
12270
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
12125
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
12271
12126
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
12272
12127
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
12273
12128
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -12300,8 +12155,8 @@ declare class FiltersBarComponent {
12300
12155
  getQuery: () => _sinequa_atomic.Query;
12301
12156
  } & _ngrx_signals.StateSource<{
12302
12157
  name?: string | undefined;
12303
- text?: string | undefined;
12304
12158
  action?: "" | "search" | "open" | "aggregate" | undefined;
12159
+ text?: string | undefined;
12305
12160
  select?: _sinequa_atomic.Select[] | undefined;
12306
12161
  open?: _sinequa_atomic.Open[] | undefined;
12307
12162
  page?: number | undefined;
@@ -12339,28 +12194,33 @@ declare class FiltersBarComponent {
12339
12194
  protected hasFilters: _angular_core.Signal<string | boolean>;
12340
12195
  protected currentBasket: _angular_core.Signal<string | undefined>;
12341
12196
  protected hasAggregations: _angular_core.Signal<boolean>;
12197
+ /**
12198
+ * The full list of authorized filters, NOT capped by `filtersCount`.
12199
+ *
12200
+ * This computed signal performs the following operations:
12201
+ * 1. Retrieves aggregations from either the component's aggregations input or the app store
12202
+ * 2. Filters aggregations based on the route's filter criteria configuration
12203
+ * 3. Excludes filters specified in the `excludeFilters` list
12204
+ * 4. If `includeFilters` is not empty, only includes filters present in that list
12205
+ * 5. Maps the filtered aggregations to objects containing only `name` and `column` properties
12206
+ */
12207
+ private allAuthorizedFilters;
12342
12208
  /**
12343
12209
  * Computes the list of additional filters that can be displayed in the "more filters" popover.
12344
12210
  *
12345
- * This computed property filters the authorized filters from the AppStore, excluding those
12346
- * specified in the `excludeFilters` input. It then maps these filters to their corresponding
12347
- * aggregations from the AggregationsStore, limited to the number defined by `moreFilterCount`.
12211
+ * Derived from the FULL authorized list (not the one capped by `filtersCount`), so the
12212
+ * filters beyond `filtersCount` which are never rendered in the bar — are still counted.
12213
+ * Otherwise, when every rendered filter fits in the container, this list would be empty and
12214
+ * the "more" button would be hidden even though more filters exist beyond the cap.
12348
12215
  *
12349
- * This property manages the visibility and content of the "more filters" popover in the UI.
12216
+ * This property manages the visibility of the "more filters" button in the UI.
12350
12217
  *
12351
12218
  * @returns An array of Aggregation objects representing the additional filters available.
12352
12219
  */
12353
12220
  protected hasMoreFilters: _angular_core.Signal<(Aggregation | undefined)[]>;
12354
12221
  /**
12355
- * Computed property that returns a filtered and processed list of authorized filters.
12356
- *
12357
- * This computed signal performs the following operations:
12358
- * 1. Retrieves aggregations from either the component's aggregations input or the app store
12359
- * 2. Filters aggregations based on the route's filter criteria configuration
12360
- * 3. Excludes filters specified in the `excludeFilters` list
12361
- * 4. If `includeFilters` is not empty, only includes filters present in that list
12362
- * 5. Maps the filtered aggregations to objects containing only `name` and `column` properties
12363
- * 6. Limits the result to the number specified by `filtersCount`
12222
+ * The authorized filters rendered as buttons in the bar, limited to the number
12223
+ * specified by `filtersCount`.
12364
12224
  *
12365
12225
  * @returns An array of authorized filter objects, each containing `name` and `column` properties
12366
12226
  */
@@ -12368,6 +12228,15 @@ declare class FiltersBarComponent {
12368
12228
  name: string;
12369
12229
  column: string;
12370
12230
  }[]>;
12231
+ /**
12232
+ * Whether some authorized filters exist beyond the `filtersCount` cap.
12233
+ *
12234
+ * Those filters are never rendered in the bar and are only reachable through
12235
+ * the "more" button, which is therefore permanently visible: the overflow
12236
+ * manager must always reserve its space so the last filter button never
12237
+ * overlaps it (`reserveStop`).
12238
+ */
12239
+ protected hasCappedFilters: _angular_core.Signal<boolean>;
12371
12240
  constructor();
12372
12241
  /**
12373
12242
  * Clears all filters (included baskets) by invoking the clearFilters method on the queryParamsStore.
@@ -12399,7 +12268,7 @@ declare class FiltersBarComponent {
12399
12268
  */
12400
12269
  handleClick(event: MouseEvent): void;
12401
12270
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FiltersBarComponent, never>;
12402
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FiltersBarComponent, "filters-bar, FiltersBar, filtersbar", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "morePosition": { "alias": "morePosition"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "includeFilters": { "alias": "includeFilters"; "required": false; "isSignal": true; }; "excludeFilters": { "alias": "excludeFilters"; "required": false; "isSignal": true; }; "filtersCount": { "alias": "filtersCount"; "required": false; "isSignal": true; }; "showMoreFiltersButton": { "alias": "showMoreFiltersButton"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; }, { "onClearFilters": "onClearFilters"; "onClearBasket": "onClearBasket"; }, never, never, true, never>;
12271
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FiltersBarComponent, "filters-bar, FiltersBar, filtersbar", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "morePosition": { "alias": "morePosition"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "includeFilters": { "alias": "includeFilters"; "required": false; "isSignal": true; }; "excludeFilters": { "alias": "excludeFilters"; "required": false; "isSignal": true; }; "filtersCount": { "alias": "filtersCount"; "required": false; "isSignal": true; }; "showMoreFiltersButton": { "alias": "showMoreFiltersButton"; "required": false; "isSignal": true; }; "homepage": { "alias": "homepage"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; }, { "onClearFilters": "onClearFilters"; "onClearBasket": "onClearBasket"; }, never, never, true, never>;
12403
12272
  }
12404
12273
 
12405
12274
  declare class MoreComponent {
@@ -12408,6 +12277,7 @@ declare class MoreComponent {
12408
12277
  includedFilters: _angular_core.InputSignal<string[]>;
12409
12278
  excludedFilters: _angular_core.InputSignal<string[]>;
12410
12279
  aggregations: _angular_core.InputSignal<Aggregation[] | undefined>;
12280
+ homepage: _angular_core.InputSignalWithTransform<boolean, unknown>;
12411
12281
  appStore: {
12412
12282
  name: _angular_core.Signal<string>;
12413
12283
  description?: _angular_core.Signal<string | undefined> | undefined;
@@ -12726,8 +12596,8 @@ declare class MoreComponent {
12726
12596
  }>;
12727
12597
  queryParamsStore: {
12728
12598
  name?: _angular_core.Signal<string | undefined> | undefined;
12729
- text?: _angular_core.Signal<string | undefined> | undefined;
12730
12599
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
12600
+ text?: _angular_core.Signal<string | undefined> | undefined;
12731
12601
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
12732
12602
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
12733
12603
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -12748,7 +12618,7 @@ declare class MoreComponent {
12748
12618
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
12749
12619
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
12750
12620
  queryId?: _angular_core.Signal<string | undefined> | undefined;
12751
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
12621
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
12752
12622
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
12753
12623
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
12754
12624
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -12781,8 +12651,8 @@ declare class MoreComponent {
12781
12651
  getQuery: () => _sinequa_atomic.Query;
12782
12652
  } & _ngrx_signals.StateSource<{
12783
12653
  name?: string | undefined;
12784
- text?: string | undefined;
12785
12654
  action?: "" | "search" | "open" | "aggregate" | undefined;
12655
+ text?: string | undefined;
12786
12656
  select?: _sinequa_atomic.Select[] | undefined;
12787
12657
  open?: _sinequa_atomic.Open[] | undefined;
12788
12658
  page?: number | undefined;
@@ -12840,7 +12710,7 @@ declare class MoreComponent {
12840
12710
  */
12841
12711
  hasFilters(aggregation: Aggregation): boolean;
12842
12712
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MoreComponent, never>;
12843
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<MoreComponent, "more, More", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "includedFilters": { "alias": "includedFilters"; "required": false; "isSignal": true; }; "excludedFilters": { "alias": "excludedFilters"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12713
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MoreComponent, "more, More", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "includedFilters": { "alias": "includedFilters"; "required": false; "isSignal": true; }; "excludedFilters": { "alias": "excludedFilters"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "homepage": { "alias": "homepage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12844
12714
  }
12845
12715
 
12846
12716
  /**
@@ -13349,7 +13219,7 @@ declare class RecentSearchesComponent {
13349
13219
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
13350
13220
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
13351
13221
  language?: _angular_core.Signal<string | undefined> | undefined;
13352
- userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
13222
+ userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
13353
13223
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
13354
13224
  isDebugMode: _angular_core.Signal<boolean>;
13355
13225
  isDarkMode: _angular_core.Signal<boolean>;
@@ -13415,8 +13285,8 @@ declare class SavedSearchDialog implements DialogInterface {
13415
13285
  private readonly savedSearchesService;
13416
13286
  protected readonly queryParamsStore: {
13417
13287
  name?: _angular_core.Signal<string | undefined> | undefined;
13418
- text?: _angular_core.Signal<string | undefined> | undefined;
13419
13288
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
13289
+ text?: _angular_core.Signal<string | undefined> | undefined;
13420
13290
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
13421
13291
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
13422
13292
  page?: _angular_core.Signal<number | undefined> | undefined;
@@ -13437,7 +13307,7 @@ declare class SavedSearchDialog implements DialogInterface {
13437
13307
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
13438
13308
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
13439
13309
  queryId?: _angular_core.Signal<string | undefined> | undefined;
13440
- aggregations?: _angular_core.Signal<Record<string, _sinequa_atomic.AggregationOptions> | string[] | undefined> | undefined;
13310
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
13441
13311
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
13442
13312
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
13443
13313
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -13470,8 +13340,8 @@ declare class SavedSearchDialog implements DialogInterface {
13470
13340
  getQuery: () => _sinequa_atomic.Query;
13471
13341
  } & _ngrx_signals.StateSource<{
13472
13342
  name?: string | undefined;
13473
- text?: string | undefined;
13474
13343
  action?: "" | "search" | "open" | "aggregate" | undefined;
13344
+ text?: string | undefined;
13475
13345
  select?: _sinequa_atomic.Select[] | undefined;
13476
13346
  open?: _sinequa_atomic.Open[] | undefined;
13477
13347
  page?: number | undefined;
@@ -13524,7 +13394,7 @@ declare class SavedSearchesComponent {
13524
13394
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
13525
13395
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
13526
13396
  language?: _angular_core.Signal<string | undefined> | undefined;
13527
- userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
13397
+ userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
13528
13398
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
13529
13399
  isDebugMode: _angular_core.Signal<boolean>;
13530
13400
  isDarkMode: _angular_core.Signal<boolean>;
@@ -13619,7 +13489,7 @@ declare class UserProfileFormComponent {
13619
13489
  param9: _angular_core.Signal<string>;
13620
13490
  param10: _angular_core.Signal<string>;
13621
13491
  userOverrideActive: _angular_core.Signal<boolean>;
13622
- state: _angular_core.Signal<"error" | "loading" | "initial" | "loaded">;
13492
+ state: _angular_core.Signal<"initial" | "loading" | "loaded" | "error">;
13623
13493
  allowUserOverride: _angular_core.Signal<boolean>;
13624
13494
  isOverridingUser: _angular_core.Signal<boolean>;
13625
13495
  initials: _angular_core.Signal<string>;
@@ -13663,7 +13533,7 @@ declare class UserProfileFormComponent {
13663
13533
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
13664
13534
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
13665
13535
  language?: _angular_core.Signal<string | undefined> | undefined;
13666
- userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
13536
+ userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
13667
13537
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
13668
13538
  isDebugMode: _angular_core.Signal<boolean>;
13669
13539
  isDarkMode: _angular_core.Signal<boolean>;
@@ -14606,5 +14476,5 @@ type AppFeatures = {
14606
14476
  */
14607
14477
  declare const APP_FEATURES: InjectionToken<AppFeatures>;
14608
14478
 
14609
- export { AGGREGATIONS_NAMES, AGGREGATIONS_NAMES_PRESET_DEFAULT, APP_FEATURES, AdvancedFiltersComponent, AdvancedSearch, AdvancedSearchComponent, AggregationComponent, AggregationDateComponent, AggregationDateRangeDialogComponent, AggregationListComponent, AggregationTreeComponent, AggregationsService, AggregationsStore, Alert, AlertDialog, AlertsComponent, AppService, AppStore, ApplicationService, ApplicationStore, ArticleEntities, ArticleExtracts, ArticleLabels, ArticleSimilarDocuments, AsideFiltersComponent, AuditFeedbackType, AuditService, AuthGuard, AuthPageComponent, AutocompleteService, BOOKMARKS_CONFIG, BOOKMARKS_OPTIONS, BackdropComponent, BackdropService, BookmarkButtonComponent, BookmarksComponent, COLLECTIONS_CONFIG, COLLECTIONS_OPTIONS, COMPONENTS_FOR_DOCUMENT_TYPE, ChangePasswordComponent, ChildMarkerDirective, CollectionsComponent, CollectionsDialog, DRAWER_COMPONENT, DRAWER_STACK_MAX_COUNT, DateComponent, DeleteCollectionDialog, DidYouMeanComponent, DocumentLocatorComponent, DrawerAdvancedFiltersComponent, DrawerComponent, DrawerNavbarComponent, DrawerPreviewComponent, DrawerService, DrawerStackComponent, DrawerStackService, DropdownInputComponent, DropdownListComponent, ErrorComponent, ExportDialog, ExportService, FILTERS_BREAKPOINT, FILTER_DATE_ALLOW_CUSTOM_RANGE, FeedbackDialogComponent, FileSizePipe, FilterButtonComponent, FiltersBarComponent, HIGHLIGHTS, HighlightWordPipe, InfinityScrollDirective, InlineWorker, JsonMethodPluginService, KeyboardNavigatorDirective, LabelService, LabelsEditDialog, LoadingComponent, MetadataComponent, MissingTermsComponent, MoreButtonComponent, MoreComponent, MultiSelectLabelsComponent, MultiSelectionToolbarComponent, NON_SEARCHABLE_COLUMNS, NON_SEARCHABLE_DEFAULTS, NavbarTabsComponent, NavigationService, NoResultComponent, OpenArticleOnCtrlEnterDirective, OperatorPipe, OverflowItemDirective, OverflowManagerDirective, OverflowStopDirective, OverrideUserDialogComponent, PREVIEW_CONFIG, PagerComponent, PreviewNavigator, PreviewService, PrincipalService, PrincipalStore, QueryParamsStore, QueryService, RECENT_SEARCHES_CONFIG, RECENT_SEARCHES_OPTIONS, ROUTE_COMPONENTS, RecentSearchesComponent, ResetUserSettingsDialogComponent, SAVED_SEARCHES_CONFIG, SAVED_SEARCHES_OPTIONS, SavedSearchDialog, SavedSearchesComponent, SavedSearchesService, SearchFeedbackComponent, SearchInputFooter, SearchService, SelectArticleDirective, SelectArticleOnClickDirective, SelectionHistoryService, SelectionService, SelectionStore, ShowBookmarkDirective, SignInComponent, SortSelectorComponent, SourceComponent, SourceIconPipe, SponsoredResultsComponent, SyslangPipe, THEMES, TextChunkService, ThemeProviderDirective, ThemeSelectorComponent, ThemeStore, ThemeToggleComponent, TranslocoDateImpurePipe, UserProfileDialog, UserProfileFormComponent, UserProfileService, UserSettingsStore, applyThemeToNativeElement, auditInterceptorFn, authInterceptorFn, bodyInterceptorFn, buildQuery, debouncedSignal, errorInterceptorFn, getCurrentPath, getCurrentQueryName, getQueryNameFromRoute, processCssVars, queryNameResolver, signIn, themeColorNameToCssVariable, themeColorsToCssVariables, toastInterceptorFn, withAggregationsFeatures, withAlertsFeatures, withAppFeatures, withApplicationFeatures, withAssistantFeatures, withBasketsFeatures, withBookmarkFeatures, withBootstrapApp, withExtractsFeatures, withFetch, withMultiSelectionFeatures, withPrincipalFeatures, withQueryParamsFeatures, withRecentSearchesFeatures, withSavedSearchesFeatures, withSelectionFeatures, withThemeBodyHook, withThemes, withThemesFeatures, withUserSettingsFeatures };
14610
- export type { AgentUserSettings, AggEx, AggregationEx, AggregationListEx, AggregationListItem, AggregationTitle, AggregationTreeEx, AggregationsState, AppCJson, AppFeatures, ApplicationState, ArticleMetadata, AssistantDetails, Autocomplete, Basket, Bookmark, BookmarksConfig, CAggregation, CAggregationItem, CCAppState, CCWebServiceLabels, CConverter, CFilter, CFilterEx, CFilterItem, CJ, CJson, CJsonMint, CSources, CollectionsConfig, ComponentMapping, CssVars, DateRange, DocumentOffsets, DocumentPages, DocumentTypeMap, DropdownItem, ExportQueryOptions, Extract, FilterDropdown, KeyboardNavigationOnSelectionHandlers, KeyboardNavigatorOptions, LabelsConfig, MultiSelectionState, MultiSelectionToolbarVariants, PageConfiguration, PreviewEvents, PreviewHighlight, PreviewHighlightName, PreviewHighlights, PrincipalState, SearchItem, SearchOptions, SearchesConfig, SelectionHistoryEvent, SelectionState, SelectionStrategy, SideCJson, SortingChoice, Theme, ThemeBodyHookParameters, ThemeScope, ThemeStoreState, UserSettingsState };
14479
+ export { AGGREGATIONS_NAMES, AGGREGATIONS_NAMES_PRESET_DEFAULT, APP_FEATURES, AdvancedFiltersComponent, AdvancedSearch, AdvancedSearchComponent, AggregationComponent, AggregationDateComponent, AggregationDateRangeDialogComponent, AggregationListComponent, AggregationPanelComponent, AggregationTreeComponent, AggregationsService, AggregationsStore, Alert, AlertDialog, AlertsComponent, AppService, AppStore, ApplicationService, ApplicationStore, ArticleEntities, ArticleExtracts, ArticleLabels, ArticleSimilarDocuments, AsideFiltersComponent, AuditFeedbackType, AuditService, AuthGuard, AuthPageComponent, AutocompleteService, BOOKMARKS_CONFIG, BOOKMARKS_OPTIONS, BackdropComponent, BackdropService, BookmarkButtonComponent, BookmarksComponent, COLLECTIONS_CONFIG, COLLECTIONS_OPTIONS, COMPONENTS_FOR_DOCUMENT_TYPE, ChangePasswordComponent, ChildMarkerDirective, CollectionsComponent, CollectionsDialog, DRAWER_COMPONENT, DRAWER_STACK_MAX_COUNT, DateComponent, DeleteCollectionDialog, DidYouMeanComponent, DocumentLocatorComponent, DrawerAdvancedFiltersComponent, DrawerComponent, DrawerNavbarComponent, DrawerPreviewComponent, DrawerService, DrawerStackComponent, DrawerStackService, DropdownInputComponent, DropdownListComponent, ErrorComponent, ExportDialog, ExportService, FILTERS_BREAKPOINT, FILTER_DATE_ALLOW_CUSTOM_RANGE, FeedbackDialogComponent, FileSizePipe, FilterButtonComponent, FiltersBarComponent, HIGHLIGHTS, HighlightWordPipe, InfinityScrollDirective, InlineWorker, JsonMethodPluginService, KeyboardNavigatorDirective, LabelService, LabelsEditDialog, LoadingComponent, MetadataComponent, MissingTermsComponent, MoreButtonComponent, MoreComponent, MultiSelectLabelsComponent, MultiSelectionToolbarComponent, NON_SEARCHABLE_COLUMNS, NON_SEARCHABLE_DEFAULTS, NavbarTabsComponent, NavigationService, NoResultComponent, OpenArticleOnCtrlEnterDirective, OperatorPipe, OverflowItemDirective, OverflowManagerDirective, OverflowStopDirective, OverrideUserDialogComponent, PREVIEW_CONFIG, PagerComponent, PreviewNavigator, PreviewService, PrincipalService, PrincipalStore, QueryParamsStore, QueryService, RECENT_SEARCHES_CONFIG, RECENT_SEARCHES_OPTIONS, ROUTE_COMPONENTS, RecentSearchesComponent, ResetUserSettingsDialogComponent, SAVED_SEARCHES_CONFIG, SAVED_SEARCHES_OPTIONS, SavedSearchDialog, SavedSearchesComponent, SavedSearchesService, SearchFeedbackComponent, SearchInputFooter, SearchService, SelectArticleDirective, SelectArticleOnClickDirective, SelectionHistoryService, SelectionService, SelectionStore, ShowBookmarkDirective, SidebarNavComponent, SignInComponent, SortSelectorComponent, SourceComponent, SourceIconPipe, SponsoredResultsComponent, SyslangPipe, THEMES, TextChunkService, ThemeProviderDirective, ThemeSelectorComponent, ThemeStore, ThemeToggleComponent, TranslocoDateImpurePipe, UserProfileDialog, UserProfileFormComponent, UserProfileService, UserSettingsStore, applyThemeToNativeElement, auditInterceptorFn, authInterceptorFn, bodyInterceptorFn, buildQuery, debouncedSignal, errorInterceptorFn, getCurrentPath, getCurrentQueryName, getQueryNameFromRoute, injectRouteNavigation, processCssVars, queryNameResolver, signIn, themeColorNameToCssVariable, themeColorsToCssVariables, toastInterceptorFn, withAggregationsFeatures, withAlertsFeatures, withAppFeatures, withApplicationFeatures, withAssistantFeatures, withBasketsFeatures, withBookmarkFeatures, withBootstrapApp, withExtractsFeatures, withFetch, withMultiSelectionFeatures, withPrincipalFeatures, withQueryParamsFeatures, withRecentSearchesFeatures, withSavedSearchesFeatures, withSelectionFeatures, withThemeBodyHook, withThemes, withThemesFeatures, withUserSettingsFeatures };
14480
+ export type { AgentUserSettings, AggEx, AggregationEx, AggregationListEx, AggregationListItem, AggregationTitle, AggregationTreeEx, AggregationsState, AppCJson, AppFeatures, ApplicationState, ArticleMetadata, AssistantDetails, Autocomplete, Basket, Bookmark, BookmarksConfig, CAggregation, CAggregationItem, CCAppState, CCWebServiceLabels, CConverter, CFilter, CFilterEx, CFilterItem, CJ, CJson, CJsonMint, CSources, CollectionsConfig, ComponentMapping, CssVars, DateRange, DocumentOffsets, DocumentPages, DocumentTypeMap, DropdownItem, ExportQueryOptions, Extract, FilterDropdown, KeyboardNavigationOnSelectionHandlers, KeyboardNavigatorOptions, LabelsConfig, MultiSelectionState, MultiSelectionToolbarVariants, NavRouteTab, PageConfiguration, PreviewEvents, PreviewHighlight, PreviewHighlightName, PreviewHighlights, PrincipalState, SearchItem, SearchOptions, SearchesConfig, SelectionHistoryEvent, SelectionState, SelectionStrategy, SideCJson, SortingChoice, Theme, ThemeBodyHookParameters, ThemeScope, ThemeStoreState, UserSettingsState };