@sinequa/atomic-angular 1.12.0 → 1.14.0

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
@@ -4,7 +4,7 @@ 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
- 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, Filter as Filter$2, PreviewData, TextLocation, TextChunk, UserProfile, CCSortingChoice, LinkResult, ExportQueryModel, ExportOutputFormat, FilterOperator } from '@sinequa/atomic';
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, Filter as Filter$2, PreviewData, TextLocation, TextChunk, UserProfile, CCSortingChoice, LinkResult, DidYouMeanAction, ExportQueryModel, ExportOutputFormat, FilterOperator } from '@sinequa/atomic';
8
8
  import { Router, Params, 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';
@@ -114,9 +114,10 @@ declare class DocumentLocatorComponent implements OnDestroy {
114
114
  readonly el: ElementRef<any>;
115
115
  readonly router: Router;
116
116
  readonly queryParamStore: {
117
+ text?: _angular_core.Signal<string | undefined> | undefined;
117
118
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
118
119
  name?: _angular_core.Signal<string | undefined> | undefined;
119
- text?: _angular_core.Signal<string | undefined> | undefined;
120
+ sort?: _angular_core.Signal<string | undefined> | undefined;
120
121
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
121
122
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
122
123
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -124,7 +125,6 @@ declare class DocumentLocatorComponent implements OnDestroy {
124
125
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
125
126
  tab?: _angular_core.Signal<string | undefined> | undefined;
126
127
  scope?: _angular_core.Signal<string | undefined> | undefined;
127
- sort?: _angular_core.Signal<string | undefined> | undefined;
128
128
  basket?: _angular_core.Signal<string | undefined> | undefined;
129
129
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
130
130
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -186,9 +186,10 @@ declare class DocumentLocatorComponent implements OnDestroy {
186
186
  }> | null;
187
187
  getQuery: () => _sinequa_atomic.Query;
188
188
  } & _ngrx_signals.StateSource<{
189
+ text?: string | undefined;
189
190
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
190
191
  name?: string | undefined;
191
- text?: string | undefined;
192
+ sort?: string | undefined;
192
193
  action?: "" | "search" | "open" | "aggregate" | undefined;
193
194
  select?: _sinequa_atomic.Select[] | undefined;
194
195
  open?: _sinequa_atomic.Open[] | undefined;
@@ -196,7 +197,6 @@ declare class DocumentLocatorComponent implements OnDestroy {
196
197
  pageSize?: number | undefined;
197
198
  tab?: string | undefined;
198
199
  scope?: string | undefined;
199
- sort?: string | undefined;
200
200
  basket?: string | undefined;
201
201
  isFirstPage?: boolean | undefined;
202
202
  strictRefine?: boolean | undefined;
@@ -288,9 +288,10 @@ declare class MetadataComponent {
288
288
  declare class MissingTermsComponent {
289
289
  readonly article: _angular_core.InputSignal<Article$1>;
290
290
  queryParamsStore: {
291
+ text?: _angular_core.Signal<string | undefined> | undefined;
291
292
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
292
293
  name?: _angular_core.Signal<string | undefined> | undefined;
293
- text?: _angular_core.Signal<string | undefined> | undefined;
294
+ sort?: _angular_core.Signal<string | undefined> | undefined;
294
295
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
295
296
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
296
297
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -298,7 +299,6 @@ declare class MissingTermsComponent {
298
299
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
299
300
  tab?: _angular_core.Signal<string | undefined> | undefined;
300
301
  scope?: _angular_core.Signal<string | undefined> | undefined;
301
- sort?: _angular_core.Signal<string | undefined> | undefined;
302
302
  basket?: _angular_core.Signal<string | undefined> | undefined;
303
303
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
304
304
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -360,9 +360,10 @@ declare class MissingTermsComponent {
360
360
  }> | null;
361
361
  getQuery: () => _sinequa_atomic.Query;
362
362
  } & _ngrx_signals.StateSource<{
363
+ text?: string | undefined;
363
364
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
364
365
  name?: string | undefined;
365
- text?: string | undefined;
366
+ sort?: string | undefined;
366
367
  action?: "" | "search" | "open" | "aggregate" | undefined;
367
368
  select?: _sinequa_atomic.Select[] | undefined;
368
369
  open?: _sinequa_atomic.Open[] | undefined;
@@ -370,7 +371,6 @@ declare class MissingTermsComponent {
370
371
  pageSize?: number | undefined;
371
372
  tab?: string | undefined;
372
373
  scope?: string | undefined;
373
- sort?: string | undefined;
374
374
  basket?: string | undefined;
375
375
  isFirstPage?: boolean | undefined;
376
376
  strictRefine?: boolean | undefined;
@@ -403,7 +403,7 @@ declare class MissingTermsComponent {
403
403
  }
404
404
 
405
405
  declare const multiSelectionToolbarVariants: (props?: ({
406
- variant?: "light" | "dark" | "glassy" | null | undefined;
406
+ variant?: "dark" | "light" | "glassy" | null | undefined;
407
407
  } & class_variance_authority_types.ClassProp) | undefined) => string;
408
408
  type MultiSelectionToolbarVariants = VariantProps<typeof multiSelectionToolbarVariants>;
409
409
  declare class MultiSelectionToolbarComponent {
@@ -792,7 +792,7 @@ declare class MultiSelectionToolbarComponent {
792
792
  feedback?: _sinequa_atomic_angular.CFeedback;
793
793
  } | undefined;
794
794
  readonly class: _angular_core.InputSignal<string>;
795
- readonly variant: _angular_core.InputSignal<"light" | "dark" | "glassy" | null | undefined>;
795
+ readonly variant: _angular_core.InputSignal<"dark" | "light" | "glassy" | null | undefined>;
796
796
  readonly updatedCollections: _angular_core.OutputEmitterRef<void>;
797
797
  readonly count: _angular_core.Signal<number>;
798
798
  readonly variants: _angular_core.Signal<string>;
@@ -2195,7 +2195,7 @@ declare const PrincipalStore: _angular_core.Type<{
2195
2195
  param9: _angular_core.Signal<string>;
2196
2196
  param10: _angular_core.Signal<string>;
2197
2197
  userOverrideActive: _angular_core.Signal<boolean>;
2198
- state: _angular_core.Signal<"error" | "loading" | "loaded" | "initial">;
2198
+ state: _angular_core.Signal<"error" | "initial" | "loading" | "loaded">;
2199
2199
  allowUserOverride: _angular_core.Signal<boolean>;
2200
2200
  isOverridingUser: _angular_core.Signal<boolean>;
2201
2201
  initials: _angular_core.Signal<string>;
@@ -2250,9 +2250,10 @@ type FilterMutationOptions = {
2250
2250
  syncUrl?: boolean;
2251
2251
  };
2252
2252
  declare const QueryParamsStore: _angular_core.Type<{
2253
+ text?: _angular_core.Signal<string | undefined> | undefined;
2253
2254
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
2254
2255
  name?: _angular_core.Signal<string | undefined> | undefined;
2255
- text?: _angular_core.Signal<string | undefined> | undefined;
2256
+ sort?: _angular_core.Signal<string | undefined> | undefined;
2256
2257
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
2257
2258
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
2258
2259
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -2260,7 +2261,6 @@ declare const QueryParamsStore: _angular_core.Type<{
2260
2261
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
2261
2262
  tab?: _angular_core.Signal<string | undefined> | undefined;
2262
2263
  scope?: _angular_core.Signal<string | undefined> | undefined;
2263
- sort?: _angular_core.Signal<string | undefined> | undefined;
2264
2264
  basket?: _angular_core.Signal<string | undefined> | undefined;
2265
2265
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
2266
2266
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -2298,9 +2298,10 @@ declare const QueryParamsStore: _angular_core.Type<{
2298
2298
  }> | null;
2299
2299
  getQuery: () => _sinequa_atomic.Query;
2300
2300
  } & _ngrx_signals.StateSource<{
2301
+ text?: string | undefined;
2301
2302
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
2302
2303
  name?: string | undefined;
2303
- text?: string | undefined;
2304
+ sort?: string | undefined;
2304
2305
  action?: "" | "search" | "open" | "aggregate" | undefined;
2305
2306
  select?: _sinequa_atomic.Select[] | undefined;
2306
2307
  open?: _sinequa_atomic.Open[] | undefined;
@@ -2308,7 +2309,6 @@ declare const QueryParamsStore: _angular_core.Type<{
2308
2309
  pageSize?: number | undefined;
2309
2310
  tab?: string | undefined;
2310
2311
  scope?: string | undefined;
2311
- sort?: string | undefined;
2312
2312
  basket?: string | undefined;
2313
2313
  isFirstPage?: boolean | undefined;
2314
2314
  strictRefine?: boolean | undefined;
@@ -2331,9 +2331,10 @@ declare const QueryParamsStore: _angular_core.Type<{
2331
2331
  }>>;
2332
2332
  declare function withQueryParamsFeatures(): _ngrx_signals.SignalStoreFeature<_ngrx_signals.EmptyFeatureResult, {
2333
2333
  state: {
2334
+ text?: string | undefined;
2334
2335
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
2335
2336
  name?: string | undefined;
2336
- text?: string | undefined;
2337
+ sort?: string | undefined;
2337
2338
  action?: "" | "search" | "open" | "aggregate" | undefined;
2338
2339
  select?: _sinequa_atomic.Select[] | undefined;
2339
2340
  open?: _sinequa_atomic.Open[] | undefined;
@@ -2341,7 +2342,6 @@ declare function withQueryParamsFeatures(): _ngrx_signals.SignalStoreFeature<_ng
2341
2342
  pageSize?: number | undefined;
2342
2343
  tab?: string | undefined;
2343
2344
  scope?: string | undefined;
2344
- sort?: string | undefined;
2345
2345
  basket?: string | undefined;
2346
2346
  isFirstPage?: boolean | undefined;
2347
2347
  strictRefine?: boolean | undefined;
@@ -2549,7 +2549,7 @@ declare const UserSettingsStore: _angular_core.Type<{
2549
2549
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
2550
2550
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
2551
2551
  language?: _angular_core.Signal<string | undefined> | undefined;
2552
- userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
2552
+ userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
2553
2553
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
2554
2554
  isDebugMode: _angular_core.Signal<boolean>;
2555
2555
  isDarkMode: _angular_core.Signal<boolean>;
@@ -3089,9 +3089,10 @@ declare class AggregationsService {
3089
3089
  aggregations: Aggregation[];
3090
3090
  }>;
3091
3091
  queryParamsStore: {
3092
+ text?: _angular_core.Signal<string | undefined> | undefined;
3092
3093
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
3093
3094
  name?: _angular_core.Signal<string | undefined> | undefined;
3094
- text?: _angular_core.Signal<string | undefined> | undefined;
3095
+ sort?: _angular_core.Signal<string | undefined> | undefined;
3095
3096
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
3096
3097
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
3097
3098
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -3099,7 +3100,6 @@ declare class AggregationsService {
3099
3100
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
3100
3101
  tab?: _angular_core.Signal<string | undefined> | undefined;
3101
3102
  scope?: _angular_core.Signal<string | undefined> | undefined;
3102
- sort?: _angular_core.Signal<string | undefined> | undefined;
3103
3103
  basket?: _angular_core.Signal<string | undefined> | undefined;
3104
3104
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
3105
3105
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -3161,9 +3161,10 @@ declare class AggregationsService {
3161
3161
  }> | null;
3162
3162
  getQuery: () => Query;
3163
3163
  } & _ngrx_signals.StateSource<{
3164
+ text?: string | undefined;
3164
3165
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
3165
3166
  name?: string | undefined;
3166
- text?: string | undefined;
3167
+ sort?: string | undefined;
3167
3168
  action?: "" | "search" | "open" | "aggregate" | undefined;
3168
3169
  select?: _sinequa_atomic.Select[] | undefined;
3169
3170
  open?: _sinequa_atomic.Open[] | undefined;
@@ -3171,7 +3172,6 @@ declare class AggregationsService {
3171
3172
  pageSize?: number | undefined;
3172
3173
  tab?: string | undefined;
3173
3174
  scope?: string | undefined;
3174
- sort?: string | undefined;
3175
3175
  basket?: string | undefined;
3176
3176
  isFirstPage?: boolean | undefined;
3177
3177
  strictRefine?: boolean | undefined;
@@ -3343,7 +3343,7 @@ declare class ApplicationService {
3343
3343
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
3344
3344
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
3345
3345
  language?: _angular_core.Signal<string | undefined> | undefined;
3346
- userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
3346
+ userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
3347
3347
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
3348
3348
  isDebugMode: _angular_core.Signal<boolean>;
3349
3349
  isDarkMode: _angular_core.Signal<boolean>;
@@ -3415,7 +3415,7 @@ declare class ApplicationService {
3415
3415
  param9: _angular_core.Signal<string>;
3416
3416
  param10: _angular_core.Signal<string>;
3417
3417
  userOverrideActive: _angular_core.Signal<boolean>;
3418
- state: _angular_core.Signal<"error" | "loading" | "loaded" | "initial">;
3418
+ state: _angular_core.Signal<"error" | "initial" | "loading" | "loaded">;
3419
3419
  allowUserOverride: _angular_core.Signal<boolean>;
3420
3420
  isOverridingUser: _angular_core.Signal<boolean>;
3421
3421
  initials: _angular_core.Signal<string>;
@@ -3766,9 +3766,10 @@ declare class ApplicationService {
3766
3766
  columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
3767
3767
  }>;
3768
3768
  queryParamsStore: {
3769
+ text?: _angular_core.Signal<string | undefined> | undefined;
3769
3770
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
3770
3771
  name?: _angular_core.Signal<string | undefined> | undefined;
3771
- text?: _angular_core.Signal<string | undefined> | undefined;
3772
+ sort?: _angular_core.Signal<string | undefined> | undefined;
3772
3773
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
3773
3774
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
3774
3775
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -3776,7 +3777,6 @@ declare class ApplicationService {
3776
3777
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
3777
3778
  tab?: _angular_core.Signal<string | undefined> | undefined;
3778
3779
  scope?: _angular_core.Signal<string | undefined> | undefined;
3779
- sort?: _angular_core.Signal<string | undefined> | undefined;
3780
3780
  basket?: _angular_core.Signal<string | undefined> | undefined;
3781
3781
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
3782
3782
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -3838,9 +3838,10 @@ declare class ApplicationService {
3838
3838
  }> | null;
3839
3839
  getQuery: () => _sinequa_atomic.Query;
3840
3840
  } & _ngrx_signals.StateSource<{
3841
+ text?: string | undefined;
3841
3842
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
3842
3843
  name?: string | undefined;
3843
- text?: string | undefined;
3844
+ sort?: string | undefined;
3844
3845
  action?: "" | "search" | "open" | "aggregate" | undefined;
3845
3846
  select?: _sinequa_atomic.Select[] | undefined;
3846
3847
  open?: _sinequa_atomic.Open[] | undefined;
@@ -3848,7 +3849,6 @@ declare class ApplicationService {
3848
3849
  pageSize?: number | undefined;
3849
3850
  tab?: string | undefined;
3850
3851
  scope?: string | undefined;
3851
- sort?: string | undefined;
3852
3852
  basket?: string | undefined;
3853
3853
  isFirstPage?: boolean | undefined;
3854
3854
  strictRefine?: boolean | undefined;
@@ -4331,7 +4331,7 @@ declare class AutocompleteService {
4331
4331
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
4332
4332
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
4333
4333
  language?: _angular_core.Signal<string | undefined> | undefined;
4334
- userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
4334
+ userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
4335
4335
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
4336
4336
  isDebugMode: _angular_core.Signal<boolean>;
4337
4337
  isDarkMode: _angular_core.Signal<boolean>;
@@ -4975,6 +4975,17 @@ declare function withThemes(app: ApplicationRef, themes: Theme[]): ApplicationRe
4975
4975
  * @returns A promise resolving to a boolean indicating whether the user is authenticated.
4976
4976
  */
4977
4977
  declare function signIn(): Promise<boolean>;
4978
+ /**
4979
+ * Whether a `signIn()` call is currently in flight for this page — kept `true` even after it has
4980
+ * resolved for an oauth/saml redirect that has not unloaded the document yet (see the `.finally()`
4981
+ * above).
4982
+ *
4983
+ * Exposed for `SignInComponent`: `AuthGuard` can mount it while `bootstrapApp()`'s own `signIn()`
4984
+ * is still deciding on, or navigating away for, a provider redirect. Calling `login()` again
4985
+ * directly in that window bypasses this mutex and re-reads the SDK's one-shot redirect guard as a
4986
+ * genuine repeat failure — see the regression this guards against in `sign-in-form.ts`.
4987
+ */
4988
+ declare function isSignInInFlight(): boolean;
4978
4989
  /**
4979
4990
  * @internal Test-only hook: forces the concurrent-call mutex back to its initial (unheld) state.
4980
4991
  * Production code never needs this — the mutex only stays held while a redirect/reload triggered
@@ -5098,9 +5109,10 @@ declare class PreviewService {
5098
5109
  multiSelection: Article$1[];
5099
5110
  }>;
5100
5111
  protected readonly queryParamsStore: {
5112
+ text?: _angular_core.Signal<string | undefined> | undefined;
5101
5113
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5102
5114
  name?: _angular_core.Signal<string | undefined> | undefined;
5103
- text?: _angular_core.Signal<string | undefined> | undefined;
5115
+ sort?: _angular_core.Signal<string | undefined> | undefined;
5104
5116
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
5105
5117
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
5106
5118
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -5108,7 +5120,6 @@ declare class PreviewService {
5108
5120
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
5109
5121
  tab?: _angular_core.Signal<string | undefined> | undefined;
5110
5122
  scope?: _angular_core.Signal<string | undefined> | undefined;
5111
- sort?: _angular_core.Signal<string | undefined> | undefined;
5112
5123
  basket?: _angular_core.Signal<string | undefined> | undefined;
5113
5124
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
5114
5125
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5170,9 +5181,10 @@ declare class PreviewService {
5170
5181
  }> | null;
5171
5182
  getQuery: () => Query;
5172
5183
  } & _ngrx_signals.StateSource<{
5184
+ text?: string | undefined;
5173
5185
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
5174
5186
  name?: string | undefined;
5175
- text?: string | undefined;
5187
+ sort?: string | undefined;
5176
5188
  action?: "" | "search" | "open" | "aggregate" | undefined;
5177
5189
  select?: _sinequa_atomic.Select[] | undefined;
5178
5190
  open?: _sinequa_atomic.Open[] | undefined;
@@ -5180,7 +5192,6 @@ declare class PreviewService {
5180
5192
  pageSize?: number | undefined;
5181
5193
  tab?: string | undefined;
5182
5194
  scope?: string | undefined;
5183
- sort?: string | undefined;
5184
5195
  basket?: string | undefined;
5185
5196
  isFirstPage?: boolean | undefined;
5186
5197
  strictRefine?: boolean | undefined;
@@ -5710,7 +5721,7 @@ declare class SavedSearchesService {
5710
5721
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
5711
5722
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
5712
5723
  language?: _angular_core.Signal<string | undefined> | undefined;
5713
- userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
5724
+ userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
5714
5725
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
5715
5726
  isDebugMode: _angular_core.Signal<boolean>;
5716
5727
  isDarkMode: _angular_core.Signal<boolean>;
@@ -5756,9 +5767,10 @@ declare class SavedSearchesService {
5756
5767
  agents: _sinequa_atomic_angular.AgentUserSettings;
5757
5768
  }>;
5758
5769
  protected readonly queryParamsStore: {
5770
+ text?: _angular_core.Signal<string | undefined> | undefined;
5759
5771
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5760
5772
  name?: _angular_core.Signal<string | undefined> | undefined;
5761
- text?: _angular_core.Signal<string | undefined> | undefined;
5773
+ sort?: _angular_core.Signal<string | undefined> | undefined;
5762
5774
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
5763
5775
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
5764
5776
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -5766,7 +5778,6 @@ declare class SavedSearchesService {
5766
5778
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
5767
5779
  tab?: _angular_core.Signal<string | undefined> | undefined;
5768
5780
  scope?: _angular_core.Signal<string | undefined> | undefined;
5769
- sort?: _angular_core.Signal<string | undefined> | undefined;
5770
5781
  basket?: _angular_core.Signal<string | undefined> | undefined;
5771
5782
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
5772
5783
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5828,9 +5839,10 @@ declare class SavedSearchesService {
5828
5839
  }> | null;
5829
5840
  getQuery: () => _sinequa_atomic.Query;
5830
5841
  } & _ngrx_signals.StateSource<{
5842
+ text?: string | undefined;
5831
5843
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
5832
5844
  name?: string | undefined;
5833
- text?: string | undefined;
5845
+ sort?: string | undefined;
5834
5846
  action?: "" | "search" | "open" | "aggregate" | undefined;
5835
5847
  select?: _sinequa_atomic.Select[] | undefined;
5836
5848
  open?: _sinequa_atomic.Open[] | undefined;
@@ -5838,7 +5850,6 @@ declare class SavedSearchesService {
5838
5850
  pageSize?: number | undefined;
5839
5851
  tab?: string | undefined;
5840
5852
  scope?: string | undefined;
5841
- sort?: string | undefined;
5842
5853
  basket?: string | undefined;
5843
5854
  isFirstPage?: boolean | undefined;
5844
5855
  strictRefine?: boolean | undefined;
@@ -5914,9 +5925,10 @@ declare class SearchService {
5914
5925
  result: Result;
5915
5926
  audit?: AuditEvents;
5916
5927
  protected readonly queryParamsStore: {
5928
+ text?: _angular_core.Signal<string | undefined> | undefined;
5917
5929
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5918
5930
  name?: _angular_core.Signal<string | undefined> | undefined;
5919
- text?: _angular_core.Signal<string | undefined> | undefined;
5931
+ sort?: _angular_core.Signal<string | undefined> | undefined;
5920
5932
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
5921
5933
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
5922
5934
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -5924,7 +5936,6 @@ declare class SearchService {
5924
5936
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
5925
5937
  tab?: _angular_core.Signal<string | undefined> | undefined;
5926
5938
  scope?: _angular_core.Signal<string | undefined> | undefined;
5927
- sort?: _angular_core.Signal<string | undefined> | undefined;
5928
5939
  basket?: _angular_core.Signal<string | undefined> | undefined;
5929
5940
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
5930
5941
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5986,9 +5997,10 @@ declare class SearchService {
5986
5997
  }> | null;
5987
5998
  getQuery: () => Query;
5988
5999
  } & _ngrx_signals.StateSource<{
6000
+ text?: string | undefined;
5989
6001
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
5990
6002
  name?: string | undefined;
5991
- text?: string | undefined;
6003
+ sort?: string | undefined;
5992
6004
  action?: "" | "search" | "open" | "aggregate" | undefined;
5993
6005
  select?: _sinequa_atomic.Select[] | undefined;
5994
6006
  open?: _sinequa_atomic.Open[] | undefined;
@@ -5996,7 +6008,6 @@ declare class SearchService {
5996
6008
  pageSize?: number | undefined;
5997
6009
  tab?: string | undefined;
5998
6010
  scope?: string | undefined;
5999
- sort?: string | undefined;
6000
6011
  basket?: string | undefined;
6001
6012
  isFirstPage?: boolean | undefined;
6002
6013
  strictRefine?: boolean | undefined;
@@ -6026,7 +6037,7 @@ declare class SearchService {
6026
6037
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
6027
6038
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
6028
6039
  language?: _angular_core.Signal<string | undefined> | undefined;
6029
- userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
6040
+ userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
6030
6041
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
6031
6042
  isDebugMode: _angular_core.Signal<boolean>;
6032
6043
  isDarkMode: _angular_core.Signal<boolean>;
@@ -6122,9 +6133,10 @@ declare class SelectionService {
6122
6133
  private readonly location;
6123
6134
  private readonly selectionStore;
6124
6135
  queryParamsStore: {
6136
+ text?: _angular_core.Signal<string | undefined> | undefined;
6125
6137
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
6126
6138
  name?: _angular_core.Signal<string | undefined> | undefined;
6127
- text?: _angular_core.Signal<string | undefined> | undefined;
6139
+ sort?: _angular_core.Signal<string | undefined> | undefined;
6128
6140
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
6129
6141
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
6130
6142
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -6132,7 +6144,6 @@ declare class SelectionService {
6132
6144
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
6133
6145
  tab?: _angular_core.Signal<string | undefined> | undefined;
6134
6146
  scope?: _angular_core.Signal<string | undefined> | undefined;
6135
- sort?: _angular_core.Signal<string | undefined> | undefined;
6136
6147
  basket?: _angular_core.Signal<string | undefined> | undefined;
6137
6148
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
6138
6149
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -6194,9 +6205,10 @@ declare class SelectionService {
6194
6205
  }> | null;
6195
6206
  getQuery: () => _sinequa_atomic.Query;
6196
6207
  } & _ngrx_signals.StateSource<{
6208
+ text?: string | undefined;
6197
6209
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
6198
6210
  name?: string | undefined;
6199
- text?: string | undefined;
6211
+ sort?: string | undefined;
6200
6212
  action?: "" | "search" | "open" | "aggregate" | undefined;
6201
6213
  select?: _sinequa_atomic.Select[] | undefined;
6202
6214
  open?: _sinequa_atomic.Open[] | undefined;
@@ -6204,7 +6216,6 @@ declare class SelectionService {
6204
6216
  pageSize?: number | undefined;
6205
6217
  tab?: string | undefined;
6206
6218
  scope?: string | undefined;
6207
- sort?: string | undefined;
6208
6219
  basket?: string | undefined;
6209
6220
  isFirstPage?: boolean | undefined;
6210
6221
  strictRefine?: boolean | undefined;
@@ -6858,7 +6869,7 @@ declare class ShowBookmarkDirective {
6858
6869
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
6859
6870
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
6860
6871
  language?: _angular_core.Signal<string | undefined> | undefined;
6861
- userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
6872
+ userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
6862
6873
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
6863
6874
  isDebugMode: _angular_core.Signal<boolean>;
6864
6875
  isDarkMode: _angular_core.Signal<boolean>;
@@ -7559,9 +7570,10 @@ declare class SponsoredResultsComponent {
7559
7570
  columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
7560
7571
  }>;
7561
7572
  queryParamStore: {
7573
+ text?: _angular_core.Signal<string | undefined> | undefined;
7562
7574
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7563
7575
  name?: _angular_core.Signal<string | undefined> | undefined;
7564
- text?: _angular_core.Signal<string | undefined> | undefined;
7576
+ sort?: _angular_core.Signal<string | undefined> | undefined;
7565
7577
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
7566
7578
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
7567
7579
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -7569,7 +7581,6 @@ declare class SponsoredResultsComponent {
7569
7581
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
7570
7582
  tab?: _angular_core.Signal<string | undefined> | undefined;
7571
7583
  scope?: _angular_core.Signal<string | undefined> | undefined;
7572
- sort?: _angular_core.Signal<string | undefined> | undefined;
7573
7584
  basket?: _angular_core.Signal<string | undefined> | undefined;
7574
7585
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
7575
7586
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -7631,9 +7642,10 @@ declare class SponsoredResultsComponent {
7631
7642
  }> | null;
7632
7643
  getQuery: () => _sinequa_atomic.Query;
7633
7644
  } & _ngrx_signals.StateSource<{
7645
+ text?: string | undefined;
7634
7646
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
7635
7647
  name?: string | undefined;
7636
- text?: string | undefined;
7648
+ sort?: string | undefined;
7637
7649
  action?: "" | "search" | "open" | "aggregate" | undefined;
7638
7650
  select?: _sinequa_atomic.Select[] | undefined;
7639
7651
  open?: _sinequa_atomic.Open[] | undefined;
@@ -7641,7 +7653,6 @@ declare class SponsoredResultsComponent {
7641
7653
  pageSize?: number | undefined;
7642
7654
  tab?: string | undefined;
7643
7655
  scope?: string | undefined;
7644
- sort?: string | undefined;
7645
7656
  basket?: string | undefined;
7646
7657
  isFirstPage?: boolean | undefined;
7647
7658
  strictRefine?: boolean | undefined;
@@ -7982,9 +7993,10 @@ declare class AggregationDateComponent {
7982
7993
  readonly isControlled: _angular_core.Signal<boolean>;
7983
7994
  readonly aggregationsService: _sinequa_atomic_angular.AggregationsService;
7984
7995
  readonly queryParamsStore: {
7996
+ text?: _angular_core.Signal<string | undefined> | undefined;
7985
7997
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7986
7998
  name?: _angular_core.Signal<string | undefined> | undefined;
7987
- text?: _angular_core.Signal<string | undefined> | undefined;
7999
+ sort?: _angular_core.Signal<string | undefined> | undefined;
7988
8000
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
7989
8001
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
7990
8002
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -7992,7 +8004,6 @@ declare class AggregationDateComponent {
7992
8004
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
7993
8005
  tab?: _angular_core.Signal<string | undefined> | undefined;
7994
8006
  scope?: _angular_core.Signal<string | undefined> | undefined;
7995
- sort?: _angular_core.Signal<string | undefined> | undefined;
7996
8007
  basket?: _angular_core.Signal<string | undefined> | undefined;
7997
8008
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
7998
8009
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -8054,9 +8065,10 @@ declare class AggregationDateComponent {
8054
8065
  }> | null;
8055
8066
  getQuery: () => Query;
8056
8067
  } & _ngrx_signals.StateSource<{
8068
+ text?: string | undefined;
8057
8069
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
8058
8070
  name?: string | undefined;
8059
- text?: string | undefined;
8071
+ sort?: string | undefined;
8060
8072
  action?: "" | "search" | "open" | "aggregate" | undefined;
8061
8073
  select?: _sinequa_atomic.Select[] | undefined;
8062
8074
  open?: _sinequa_atomic.Open[] | undefined;
@@ -8064,7 +8076,6 @@ declare class AggregationDateComponent {
8064
8076
  pageSize?: number | undefined;
8065
8077
  tab?: string | undefined;
8066
8078
  scope?: string | undefined;
8067
- sort?: string | undefined;
8068
8079
  basket?: string | undefined;
8069
8080
  isFirstPage?: boolean | undefined;
8070
8081
  strictRefine?: boolean | undefined;
@@ -8099,6 +8110,22 @@ declare class AggregationDateComponent {
8099
8110
  */
8100
8111
  private seedingForm;
8101
8112
  readonly aggregation: _angular_core.Signal<AggEx | null>;
8113
+ /**
8114
+ * `true` when the aggregation cannot be resolved — missing from the store, or an
8115
+ * empty `[aggregation]` input in controlled mode. Always drives the `hidden`
8116
+ * class on the host — unlike list/tree, there is no separate "resolved but
8117
+ * empty" state to gate behind a `hideWhenEmpty` input here.
8118
+ *
8119
+ * Unlike list/tree, a date aggregation *with* no items stays visible: its custom
8120
+ * range is still usable (same rule as `FilterButton`, which never disables a date
8121
+ * filter).
8122
+ *
8123
+ * Resolved on its own rather than derived from {@link aggregation}: that computed
8124
+ * spreads the resolution into a new object, and the spread of a `null` yields a
8125
+ * non-null `{ items: [] }` shell — the missing case is not observable from it.
8126
+ * Interposing a shared computed is not an option either: its referential equality
8127
+ * check would stop `aggregation()` from recomputing, and with it `dateOptions()`.
8128
+ */
8102
8129
  readonly isEmpty: _angular_core.Signal<boolean>;
8103
8130
  readonly items: _angular_core.Signal<AggregationItem[]>;
8104
8131
  protected readonly dateOptions: _angular_core.Signal<_sinequa_atomic.DateFilter[]>;
@@ -8203,9 +8230,10 @@ declare class AdvancedSearch {
8203
8230
  multiSelection: Article$1[];
8204
8231
  }>;
8205
8232
  protected readonly queryParamsStore: {
8233
+ text?: _angular_core.Signal<string | undefined> | undefined;
8206
8234
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
8207
8235
  name?: _angular_core.Signal<string | undefined> | undefined;
8208
- text?: _angular_core.Signal<string | undefined> | undefined;
8236
+ sort?: _angular_core.Signal<string | undefined> | undefined;
8209
8237
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
8210
8238
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
8211
8239
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -8213,7 +8241,6 @@ declare class AdvancedSearch {
8213
8241
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
8214
8242
  tab?: _angular_core.Signal<string | undefined> | undefined;
8215
8243
  scope?: _angular_core.Signal<string | undefined> | undefined;
8216
- sort?: _angular_core.Signal<string | undefined> | undefined;
8217
8244
  basket?: _angular_core.Signal<string | undefined> | undefined;
8218
8245
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
8219
8246
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -8275,9 +8302,10 @@ declare class AdvancedSearch {
8275
8302
  }> | null;
8276
8303
  getQuery: () => _sinequa_atomic.Query;
8277
8304
  } & _ngrx_signals.StateSource<{
8305
+ text?: string | undefined;
8278
8306
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
8279
8307
  name?: string | undefined;
8280
- text?: string | undefined;
8308
+ sort?: string | undefined;
8281
8309
  action?: "" | "search" | "open" | "aggregate" | undefined;
8282
8310
  select?: _sinequa_atomic.Select[] | undefined;
8283
8311
  open?: _sinequa_atomic.Open[] | undefined;
@@ -8285,7 +8313,6 @@ declare class AdvancedSearch {
8285
8313
  pageSize?: number | undefined;
8286
8314
  tab?: string | undefined;
8287
8315
  scope?: string | undefined;
8288
- sort?: string | undefined;
8289
8316
  basket?: string | undefined;
8290
8317
  isFirstPage?: boolean | undefined;
8291
8318
  strictRefine?: boolean | undefined;
@@ -8692,9 +8719,10 @@ declare class ArticleLabels {
8692
8719
 
8693
8720
  declare class ArticleSimilarDocuments {
8694
8721
  protected readonly queryParamsStore: {
8722
+ text?: _angular_core.Signal<string | undefined> | undefined;
8695
8723
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
8696
8724
  name?: _angular_core.Signal<string | undefined> | undefined;
8697
- text?: _angular_core.Signal<string | undefined> | undefined;
8725
+ sort?: _angular_core.Signal<string | undefined> | undefined;
8698
8726
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
8699
8727
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
8700
8728
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -8702,7 +8730,6 @@ declare class ArticleSimilarDocuments {
8702
8730
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
8703
8731
  tab?: _angular_core.Signal<string | undefined> | undefined;
8704
8732
  scope?: _angular_core.Signal<string | undefined> | undefined;
8705
- sort?: _angular_core.Signal<string | undefined> | undefined;
8706
8733
  basket?: _angular_core.Signal<string | undefined> | undefined;
8707
8734
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
8708
8735
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -8764,9 +8791,10 @@ declare class ArticleSimilarDocuments {
8764
8791
  }> | null;
8765
8792
  getQuery: () => _sinequa_atomic.Query;
8766
8793
  } & _ngrx_signals.StateSource<{
8794
+ text?: string | undefined;
8767
8795
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
8768
8796
  name?: string | undefined;
8769
- text?: string | undefined;
8797
+ sort?: string | undefined;
8770
8798
  action?: "" | "search" | "open" | "aggregate" | undefined;
8771
8799
  select?: _sinequa_atomic.Select[] | undefined;
8772
8800
  open?: _sinequa_atomic.Open[] | undefined;
@@ -8774,7 +8802,6 @@ declare class ArticleSimilarDocuments {
8774
8802
  pageSize?: number | undefined;
8775
8803
  tab?: string | undefined;
8776
8804
  scope?: string | undefined;
8777
- sort?: string | undefined;
8778
8805
  basket?: string | undefined;
8779
8806
  isFirstPage?: boolean | undefined;
8780
8807
  strictRefine?: boolean | undefined;
@@ -8921,19 +8948,22 @@ declare class SignInComponent {
8921
8948
  autoOAuthProvider: string;
8922
8949
  autoSAMLProvider: string;
8923
8950
  bearerToken: string;
8924
- loginPath: string;
8925
8951
  userOverride: {
8926
8952
  username: string;
8927
8953
  domain: string;
8928
8954
  };
8929
8955
  userOverrideActive: boolean;
8930
8956
  authMode: _sinequa_atomic.AuthMode;
8957
+ auth: _sinequa_atomic.AuthOptions;
8958
+ uiLanguage: string;
8959
+ aggregationCounts: _sinequa_atomic.AggregationCounts;
8931
8960
  useCredentials: boolean;
8932
8961
  useSSO: boolean;
8933
8962
  useSAML: boolean;
8934
8963
  logLevel: _sinequa_atomic.LogLevel;
8964
+ loginPath: string;
8935
8965
  createRoutes: boolean;
8936
- } & Record<string, any>>;
8966
+ }> & Record<string, unknown>;
8937
8967
  /**
8938
8968
  * True when authentication is handled outside the credentials form — i.e. by the
8939
8969
  * browser/proxy (`sso`) or by an auto-configured OAuth/SAML provider. In those modes
@@ -9032,8 +9062,8 @@ declare class SignedOutComponent {
9032
9062
  }
9033
9063
 
9034
9064
  declare class BookmarkButtonComponent {
9035
- variant: _angular_core.InputSignal<"default" | "icon" | "primary" | "secondary" | "destructive" | "ai" | "outline" | "none" | "link" | "accent" | "tertiary" | "ghost" | "light-accent" | null | undefined>;
9036
- size: _angular_core.InputSignal<"icon" | "xs" | "sm" | "md" | "lg" | null | undefined>;
9065
+ variant: _angular_core.InputSignal<"icon" | "default" | "none" | "primary" | "secondary" | "destructive" | "ai" | "link" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | null | undefined>;
9066
+ size: _angular_core.InputSignal<"icon" | "sm" | "md" | "lg" | "xs" | null | undefined>;
9037
9067
  readonly article: _angular_core.InputSignal<Partial<Article$1>>;
9038
9068
  private readonly userSettingsStore;
9039
9069
  private readonly route;
@@ -9125,7 +9155,7 @@ declare class CollectionsDialog implements DialogInterface {
9125
9155
  readonly removedFromCollection: _angular_core.WritableSignal<boolean>;
9126
9156
  readonly addedToCollection: _angular_core.WritableSignal<boolean>;
9127
9157
  readonly collections: _angular_core.Signal<Basket[]>;
9128
- readonly collectionsMap: _angular_core.WritableSignal<Record<string, "some" | "all" | "none">>;
9158
+ readonly collectionsMap: _angular_core.WritableSignal<Record<string, "some" | "none" | "all">>;
9129
9159
  open(article: Article$1 | Article$1[]): void;
9130
9160
  containsArticleByName(collectionName: string): boolean;
9131
9161
  containsArticle(collection: Basket): "all" | "some" | "none";
@@ -9224,6 +9254,14 @@ declare class DidYouMeanComponent {
9224
9254
  protected spellingCorrectionMode: _angular_core.Signal<_sinequa_atomic.SpellingCorrectionMode | undefined>;
9225
9255
  protected correction: _angular_core.Signal<string | undefined>;
9226
9256
  protected original: _angular_core.Signal<string | undefined>;
9257
+ /**
9258
+ * Resolves the action to display from the per-term `appliedChanges` reported by the engine (ES-28698).
9259
+ * Falls back to `spellingCorrectionMode`-based inference for engine versions prior to 11.14 that
9260
+ * do not report `appliedChanges`, or when the applied changes disagree on the action to take
9261
+ * (defaults to `suggestion`, the only case that does not assert a search behavior that may not
9262
+ * actually have happened — the root cause of ES-27719).
9263
+ */
9264
+ protected action: _angular_core.Signal<DidYouMeanAction | undefined>;
9227
9265
  readonly router: Router;
9228
9266
  private readonly queryParamsStore;
9229
9267
  selectCorrected(): void;
@@ -9476,9 +9514,10 @@ declare class AdvancedSearchComponent {
9476
9514
  multiSelection: Article$1[];
9477
9515
  }>;
9478
9516
  protected readonly queryParamsStore: {
9517
+ text?: _angular_core.Signal<string | undefined> | undefined;
9479
9518
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
9480
9519
  name?: _angular_core.Signal<string | undefined> | undefined;
9481
- text?: _angular_core.Signal<string | undefined> | undefined;
9520
+ sort?: _angular_core.Signal<string | undefined> | undefined;
9482
9521
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
9483
9522
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
9484
9523
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -9486,7 +9525,6 @@ declare class AdvancedSearchComponent {
9486
9525
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
9487
9526
  tab?: _angular_core.Signal<string | undefined> | undefined;
9488
9527
  scope?: _angular_core.Signal<string | undefined> | undefined;
9489
- sort?: _angular_core.Signal<string | undefined> | undefined;
9490
9528
  basket?: _angular_core.Signal<string | undefined> | undefined;
9491
9529
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
9492
9530
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -9548,9 +9586,10 @@ declare class AdvancedSearchComponent {
9548
9586
  }> | null;
9549
9587
  getQuery: () => _sinequa_atomic.Query;
9550
9588
  } & _ngrx_signals.StateSource<{
9589
+ text?: string | undefined;
9551
9590
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
9552
9591
  name?: string | undefined;
9553
- text?: string | undefined;
9592
+ sort?: string | undefined;
9554
9593
  action?: "" | "search" | "open" | "aggregate" | undefined;
9555
9594
  select?: _sinequa_atomic.Select[] | undefined;
9556
9595
  open?: _sinequa_atomic.Open[] | undefined;
@@ -9558,7 +9597,6 @@ declare class AdvancedSearchComponent {
9558
9597
  pageSize?: number | undefined;
9559
9598
  tab?: string | undefined;
9560
9599
  scope?: string | undefined;
9561
- sort?: string | undefined;
9562
9600
  basket?: string | undefined;
9563
9601
  isFirstPage?: boolean | undefined;
9564
9602
  strictRefine?: boolean | undefined;
@@ -9957,9 +9995,10 @@ declare class DrawerPreviewComponent extends DrawerComponent {
9957
9995
  multiSelection: _sinequa_atomic.Article[];
9958
9996
  }>;
9959
9997
  queryParamsStore: {
9998
+ text?: _angular_core.Signal<string | undefined> | undefined;
9960
9999
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
9961
10000
  name?: _angular_core.Signal<string | undefined> | undefined;
9962
- text?: _angular_core.Signal<string | undefined> | undefined;
10001
+ sort?: _angular_core.Signal<string | undefined> | undefined;
9963
10002
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
9964
10003
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
9965
10004
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -9967,7 +10006,6 @@ declare class DrawerPreviewComponent extends DrawerComponent {
9967
10006
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
9968
10007
  tab?: _angular_core.Signal<string | undefined> | undefined;
9969
10008
  scope?: _angular_core.Signal<string | undefined> | undefined;
9970
- sort?: _angular_core.Signal<string | undefined> | undefined;
9971
10009
  basket?: _angular_core.Signal<string | undefined> | undefined;
9972
10010
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
9973
10011
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10029,9 +10067,10 @@ declare class DrawerPreviewComponent extends DrawerComponent {
10029
10067
  }> | null;
10030
10068
  getQuery: () => _sinequa_atomic.Query;
10031
10069
  } & _ngrx_signals.StateSource<{
10070
+ text?: string | undefined;
10032
10071
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
10033
10072
  name?: string | undefined;
10034
- text?: string | undefined;
10073
+ sort?: string | undefined;
10035
10074
  action?: "" | "search" | "open" | "aggregate" | undefined;
10036
10075
  select?: _sinequa_atomic.Select[] | undefined;
10037
10076
  open?: _sinequa_atomic.Open[] | undefined;
@@ -10039,7 +10078,6 @@ declare class DrawerPreviewComponent extends DrawerComponent {
10039
10078
  pageSize?: number | undefined;
10040
10079
  tab?: string | undefined;
10041
10080
  scope?: string | undefined;
10042
- sort?: string | undefined;
10043
10081
  basket?: string | undefined;
10044
10082
  isFirstPage?: boolean | undefined;
10045
10083
  strictRefine?: boolean | undefined;
@@ -10172,9 +10210,10 @@ declare class ExportDialog implements DialogInterface {
10172
10210
  private appStore;
10173
10211
  readonly exportService: ExportService;
10174
10212
  readonly queryParamsStore: {
10213
+ text?: _angular_core.Signal<string | undefined> | undefined;
10175
10214
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
10176
10215
  name?: _angular_core.Signal<string | undefined> | undefined;
10177
- text?: _angular_core.Signal<string | undefined> | undefined;
10216
+ sort?: _angular_core.Signal<string | undefined> | undefined;
10178
10217
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
10179
10218
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
10180
10219
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -10182,7 +10221,6 @@ declare class ExportDialog implements DialogInterface {
10182
10221
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
10183
10222
  tab?: _angular_core.Signal<string | undefined> | undefined;
10184
10223
  scope?: _angular_core.Signal<string | undefined> | undefined;
10185
- sort?: _angular_core.Signal<string | undefined> | undefined;
10186
10224
  basket?: _angular_core.Signal<string | undefined> | undefined;
10187
10225
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
10188
10226
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10244,9 +10282,10 @@ declare class ExportDialog implements DialogInterface {
10244
10282
  }> | null;
10245
10283
  getQuery: () => _sinequa_atomic.Query;
10246
10284
  } & _ngrx_signals.StateSource<{
10285
+ text?: string | undefined;
10247
10286
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
10248
10287
  name?: string | undefined;
10249
- text?: string | undefined;
10288
+ sort?: string | undefined;
10250
10289
  action?: "" | "search" | "open" | "aggregate" | undefined;
10251
10290
  select?: _sinequa_atomic.Select[] | undefined;
10252
10291
  open?: _sinequa_atomic.Open[] | undefined;
@@ -10254,7 +10293,6 @@ declare class ExportDialog implements DialogInterface {
10254
10293
  pageSize?: number | undefined;
10255
10294
  tab?: string | undefined;
10256
10295
  scope?: string | undefined;
10257
- sort?: string | undefined;
10258
10296
  basket?: string | undefined;
10259
10297
  isFirstPage?: boolean | undefined;
10260
10298
  strictRefine?: boolean | undefined;
@@ -10627,13 +10665,14 @@ declare class SearchFeedbackComponent {
10627
10665
  onClose: _angular_core.OutputEmitterRef<void>;
10628
10666
  readonly feedbackDialog: _angular_core.Signal<FeedbackDialogComponent | undefined>;
10629
10667
  pages: _angular_core.InputSignal<any>;
10630
- variant: _angular_core.InputSignal<"default" | "icon" | "primary" | "secondary" | "destructive" | "ai" | "outline" | "none" | "link" | "accent" | "tertiary" | "ghost" | "light-accent" | null | undefined>;
10668
+ variant: _angular_core.InputSignal<"icon" | "default" | "none" | "primary" | "secondary" | "destructive" | "ai" | "link" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | null | undefined>;
10631
10669
  solid: _angular_core.InputSignal<boolean | null | undefined>;
10632
10670
  readonly auditService: AuditService;
10633
10671
  protected readonly queryParamsStore: {
10672
+ text?: _angular_core.Signal<string | undefined> | undefined;
10634
10673
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
10635
10674
  name?: _angular_core.Signal<string | undefined> | undefined;
10636
- text?: _angular_core.Signal<string | undefined> | undefined;
10675
+ sort?: _angular_core.Signal<string | undefined> | undefined;
10637
10676
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
10638
10677
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
10639
10678
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -10641,7 +10680,6 @@ declare class SearchFeedbackComponent {
10641
10680
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
10642
10681
  tab?: _angular_core.Signal<string | undefined> | undefined;
10643
10682
  scope?: _angular_core.Signal<string | undefined> | undefined;
10644
- sort?: _angular_core.Signal<string | undefined> | undefined;
10645
10683
  basket?: _angular_core.Signal<string | undefined> | undefined;
10646
10684
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
10647
10685
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10703,9 +10741,10 @@ declare class SearchFeedbackComponent {
10703
10741
  }> | null;
10704
10742
  getQuery: () => _sinequa_atomic.Query;
10705
10743
  } & _ngrx_signals.StateSource<{
10744
+ text?: string | undefined;
10706
10745
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
10707
10746
  name?: string | undefined;
10708
- text?: string | undefined;
10747
+ sort?: string | undefined;
10709
10748
  action?: "" | "search" | "open" | "aggregate" | undefined;
10710
10749
  select?: _sinequa_atomic.Select[] | undefined;
10711
10750
  open?: _sinequa_atomic.Open[] | undefined;
@@ -10713,7 +10752,6 @@ declare class SearchFeedbackComponent {
10713
10752
  pageSize?: number | undefined;
10714
10753
  tab?: string | undefined;
10715
10754
  scope?: string | undefined;
10716
- sort?: string | undefined;
10717
10755
  basket?: string | undefined;
10718
10756
  isFirstPage?: boolean | undefined;
10719
10757
  strictRefine?: boolean | undefined;
@@ -10814,6 +10852,20 @@ declare class AggregationTreeComponent {
10814
10852
  * @default undefined — derive from `QueryParamsStore` filters (current behavior)
10815
10853
  */
10816
10854
  controlledSelection: _angular_core.InputSignal<AggregationSelection | undefined>;
10855
+ /**
10856
+ * Whether the host removes itself from the layout (Tailwind's `hidden`, i.e.
10857
+ * `display: none`) when it resolves to zero items with no filter applied.
10858
+ * When `false` (default), the facet stays in the layout with its dimmed,
10859
+ * non-expandable header.
10860
+ *
10861
+ * Does not affect a **missing** aggregation — no entry in the store (or an
10862
+ * empty `[aggregation]` input in controlled mode) — which always hides
10863
+ * unconditionally: a facet with no backing data is not a legitimate empty
10864
+ * state worth an opt-in, it is a misconfiguration.
10865
+ *
10866
+ * @default false
10867
+ */
10868
+ hideWhenEmpty: _angular_core.InputSignalWithTransform<boolean, unknown>;
10817
10869
  onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
10818
10870
  onApply: _angular_core.OutputEmitterRef<void>;
10819
10871
  onClear: _angular_core.OutputEmitterRef<void>;
@@ -10864,9 +10916,10 @@ declare class AggregationTreeComponent {
10864
10916
  aggregations: Aggregation[];
10865
10917
  }>;
10866
10918
  readonly queryParamsStore: {
10919
+ text?: _angular_core.Signal<string | undefined> | undefined;
10867
10920
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
10868
10921
  name?: _angular_core.Signal<string | undefined> | undefined;
10869
- text?: _angular_core.Signal<string | undefined> | undefined;
10922
+ sort?: _angular_core.Signal<string | undefined> | undefined;
10870
10923
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
10871
10924
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
10872
10925
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -10874,7 +10927,6 @@ declare class AggregationTreeComponent {
10874
10927
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
10875
10928
  tab?: _angular_core.Signal<string | undefined> | undefined;
10876
10929
  scope?: _angular_core.Signal<string | undefined> | undefined;
10877
- sort?: _angular_core.Signal<string | undefined> | undefined;
10878
10930
  basket?: _angular_core.Signal<string | undefined> | undefined;
10879
10931
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
10880
10932
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10936,9 +10988,10 @@ declare class AggregationTreeComponent {
10936
10988
  }> | null;
10937
10989
  getQuery: () => Query;
10938
10990
  } & _ngrx_signals.StateSource<{
10991
+ text?: string | undefined;
10939
10992
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
10940
10993
  name?: string | undefined;
10941
- text?: string | undefined;
10994
+ sort?: string | undefined;
10942
10995
  action?: "" | "search" | "open" | "aggregate" | undefined;
10943
10996
  select?: _sinequa_atomic.Select[] | undefined;
10944
10997
  open?: _sinequa_atomic.Open[] | undefined;
@@ -10946,7 +10999,6 @@ declare class AggregationTreeComponent {
10946
10999
  pageSize?: number | undefined;
10947
11000
  tab?: string | undefined;
10948
11001
  scope?: string | undefined;
10949
- sort?: string | undefined;
10950
11002
  basket?: string | undefined;
10951
11003
  isFirstPage?: boolean | undefined;
10952
11004
  strictRefine?: boolean | undefined;
@@ -11299,7 +11351,31 @@ declare class AggregationTreeComponent {
11299
11351
  readonly linkChildren: _angular_core.Signal<boolean | undefined>;
11300
11352
  aggregation: _angular_core.Signal<AggEx | null>;
11301
11353
  items: _angular_core.Signal<AggregationListItem[]>;
11354
+ /**
11355
+ * `true` when there is nothing to render: the aggregation is missing from the
11356
+ * store, or it resolves to zero items. Drives the panel's dimmed header.
11357
+ */
11302
11358
  isEmpty: _angular_core.Signal<boolean>;
11359
+ /**
11360
+ * `true` when the aggregation cannot be resolved at all: missing from the
11361
+ * store (or an empty `[aggregation]` input in controlled mode). Always hides
11362
+ * the host, regardless of `hideWhenEmpty` — a facet with no backing data has
11363
+ * nothing a dimmed header could ever offer the user.
11364
+ */
11365
+ readonly isMissing: _angular_core.Signal<boolean>;
11366
+ /**
11367
+ * `true` when the host is removed from the layout when `hideWhenEmpty` is
11368
+ * `true`: the aggregation resolves but has nothing to render *and* no filter
11369
+ * is applied. Does not cover a missing aggregation — see {@link isMissing},
11370
+ * which hides unconditionally.
11371
+ *
11372
+ * A tree keeps its facet visible while a filter is applied, even with zero nodes.
11373
+ * Unlike a list, the applied values are not merged back into the item list
11374
+ * (`addCurrentFiltersToItems` skips trees), so a filtered tree can legitimately
11375
+ * resolve to nothing — and hiding it would leave no way to clear that filter from
11376
+ * the facet.
11377
+ */
11378
+ readonly isHidden: _angular_core.Signal<boolean>;
11303
11379
  readonly searchedItems: _angular_core.Signal<TreeAggregationNode[] | {
11304
11380
  name: string | null;
11305
11381
  value: string;
@@ -11367,7 +11443,7 @@ declare class AggregationTreeComponent {
11367
11443
  private expandItems;
11368
11444
  private traverse;
11369
11445
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationTreeComponent, never>;
11370
- 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; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "applyOnSelect": { "alias": "applyOnSelect"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; "syncUrl": { "alias": "syncUrl"; "required": false; "isSignal": true; }; "controlledQuery": { "alias": "query"; "required": false; "isSignal": true; }; "controlledAggregation": { "alias": "aggregation"; "required": false; "isSignal": true; }; "controlledSelection": { "alias": "selection"; "required": false; "isSignal": true; }; "itemTemplateInput": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "selectionChange": "selectionChange"; "filtersChange": "filtersChange"; "searchText": "searchTextChange"; }, ["itemDirective"], ["label"], true, never>;
11446
+ 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; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "applyOnSelect": { "alias": "applyOnSelect"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; "syncUrl": { "alias": "syncUrl"; "required": false; "isSignal": true; }; "controlledQuery": { "alias": "query"; "required": false; "isSignal": true; }; "controlledAggregation": { "alias": "aggregation"; "required": false; "isSignal": true; }; "controlledSelection": { "alias": "selection"; "required": false; "isSignal": true; }; "hideWhenEmpty": { "alias": "hideWhenEmpty"; "required": false; "isSignal": true; }; "itemTemplateInput": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "selectionChange": "selectionChange"; "filtersChange": "filtersChange"; "searchText": "searchTextChange"; }, ["itemDirective"], ["label"], true, never>;
11371
11447
  }
11372
11448
 
11373
11449
  declare class AggregationListComponent {
@@ -11430,6 +11506,19 @@ declare class AggregationListComponent {
11430
11506
  * @default undefined — derive from `QueryParamsStore` filters (current behavior)
11431
11507
  */
11432
11508
  controlledSelection: _angular_core.InputSignal<AggregationSelection | undefined>;
11509
+ /**
11510
+ * Whether the host removes itself from the layout (Tailwind's `hidden`, i.e.
11511
+ * `display: none`) when it resolves to zero items. When `false` (default), the
11512
+ * facet stays in the layout with its dimmed, non-expandable header.
11513
+ *
11514
+ * Does not affect a **missing** aggregation — no entry in the store (or an
11515
+ * empty `[aggregation]` input in controlled mode) — which always hides
11516
+ * unconditionally: a facet with no backing data is not a legitimate empty
11517
+ * state worth an opt-in, it is a misconfiguration.
11518
+ *
11519
+ * @default false
11520
+ */
11521
+ hideWhenEmpty: _angular_core.InputSignalWithTransform<boolean, unknown>;
11433
11522
  onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
11434
11523
  onApply: _angular_core.OutputEmitterRef<void>;
11435
11524
  onClear: _angular_core.OutputEmitterRef<void>;
@@ -11487,9 +11576,10 @@ declare class AggregationListComponent {
11487
11576
  aggregations: Aggregation[];
11488
11577
  }>;
11489
11578
  readonly queryParamsStore: {
11579
+ text?: _angular_core.Signal<string | undefined> | undefined;
11490
11580
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
11491
11581
  name?: _angular_core.Signal<string | undefined> | undefined;
11492
- text?: _angular_core.Signal<string | undefined> | undefined;
11582
+ sort?: _angular_core.Signal<string | undefined> | undefined;
11493
11583
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
11494
11584
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
11495
11585
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -11497,7 +11587,6 @@ declare class AggregationListComponent {
11497
11587
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
11498
11588
  tab?: _angular_core.Signal<string | undefined> | undefined;
11499
11589
  scope?: _angular_core.Signal<string | undefined> | undefined;
11500
- sort?: _angular_core.Signal<string | undefined> | undefined;
11501
11590
  basket?: _angular_core.Signal<string | undefined> | undefined;
11502
11591
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
11503
11592
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -11559,9 +11648,10 @@ declare class AggregationListComponent {
11559
11648
  }> | null;
11560
11649
  getQuery: () => Query;
11561
11650
  } & _ngrx_signals.StateSource<{
11651
+ text?: string | undefined;
11562
11652
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
11563
11653
  name?: string | undefined;
11564
- text?: string | undefined;
11654
+ sort?: string | undefined;
11565
11655
  action?: "" | "search" | "open" | "aggregate" | undefined;
11566
11656
  select?: _sinequa_atomic.Select[] | undefined;
11567
11657
  open?: _sinequa_atomic.Open[] | undefined;
@@ -11569,7 +11659,6 @@ declare class AggregationListComponent {
11569
11659
  pageSize?: number | undefined;
11570
11660
  tab?: string | undefined;
11571
11661
  scope?: string | undefined;
11572
- sort?: string | undefined;
11573
11662
  basket?: string | undefined;
11574
11663
  isFirstPage?: boolean | undefined;
11575
11664
  strictRefine?: boolean | undefined;
@@ -11920,7 +12009,20 @@ declare class AggregationListComponent {
11920
12009
  readonly virtualizer: _tanstack_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
11921
12010
  aggregation: _angular_core.Signal<AggEx | null>;
11922
12011
  items: _angular_core.Signal<AggregationListItem[]>;
12012
+ /**
12013
+ * `true` when there is nothing to render: the aggregation is missing from the
12014
+ * store, or it resolves to zero items. Drives the panel's dimmed header.
12015
+ * Drives the `hidden` class on the host only when `hideWhenEmpty` is `true` —
12016
+ * {@link isMissing} handles the unconditional case on its own.
12017
+ */
11923
12018
  isEmpty: _angular_core.Signal<boolean>;
12019
+ /**
12020
+ * `true` when the aggregation cannot be resolved at all: missing from the
12021
+ * store (or an empty `[aggregation]` input in controlled mode). Always hides
12022
+ * the host, regardless of `hideWhenEmpty` — a facet with no backing data has
12023
+ * nothing a dimmed header could ever offer the user.
12024
+ */
12025
+ isMissing: _angular_core.Signal<boolean>;
11924
12026
  searchedItems: _angular_core.Signal<AggregationItem[]>;
11925
12027
  constructor();
11926
12028
  clear(): void;
@@ -11954,7 +12056,7 @@ declare class AggregationListComponent {
11954
12056
  protected getFilters(): LegacyFilter[];
11955
12057
  private addCurrentFiltersToItems;
11956
12058
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationListComponent, never>;
11957
- 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; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "applyOnSelect": { "alias": "applyOnSelect"; "required": false; "isSignal": true; }; "syncUrl": { "alias": "syncUrl"; "required": false; "isSignal": true; }; "controlledQuery": { "alias": "query"; "required": false; "isSignal": true; }; "controlledAggregation": { "alias": "aggregation"; "required": false; "isSignal": true; }; "controlledSelection": { "alias": "selection"; "required": false; "isSignal": true; }; "itemTemplateInput": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "selectionChange": "selectionChange"; "filtersChange": "filtersChange"; "searchText": "searchTextChange"; }, ["itemDirective"], ["label"], true, never>;
12059
+ 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; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "applyOnSelect": { "alias": "applyOnSelect"; "required": false; "isSignal": true; }; "syncUrl": { "alias": "syncUrl"; "required": false; "isSignal": true; }; "controlledQuery": { "alias": "query"; "required": false; "isSignal": true; }; "controlledAggregation": { "alias": "aggregation"; "required": false; "isSignal": true; }; "controlledSelection": { "alias": "selection"; "required": false; "isSignal": true; }; "hideWhenEmpty": { "alias": "hideWhenEmpty"; "required": false; "isSignal": true; }; "itemTemplateInput": { "alias": "itemTemplate"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "selectionChange": "selectionChange"; "filtersChange": "filtersChange"; "searchText": "searchTextChange"; }, ["itemDirective"], ["label"], true, never>;
11958
12060
  }
11959
12061
 
11960
12062
  /**
@@ -12299,6 +12401,7 @@ declare class AggregationComponent {
12299
12401
  aggregations: Aggregation[];
12300
12402
  }>;
12301
12403
  aggregationsService: AggregationsService;
12404
+ private readonly queryParamsStore;
12302
12405
  aggregationDate: _angular_core.Signal<AggregationDateComponent | undefined>;
12303
12406
  aggregationTree: _angular_core.Signal<AggregationTreeComponent | undefined>;
12304
12407
  aggregationList: _angular_core.Signal<AggregationListComponent | undefined>;
@@ -12431,6 +12534,19 @@ declare class AggregationComponent {
12431
12534
  * @default "auto"
12432
12535
  */
12433
12536
  type: _angular_core.InputSignal<"auto" | "list" | "tree" | "date">;
12537
+ /**
12538
+ * Whether the host removes itself from the layout (Tailwind's `hidden`, i.e.
12539
+ * `display: none`) when it resolves to zero items. When `false` (default), the
12540
+ * facet stays in the layout with its dimmed, non-expandable header.
12541
+ *
12542
+ * Does not affect a **missing** aggregation — no entry in the store (or an
12543
+ * empty `[aggregation]` input in controlled mode) — which always hides
12544
+ * unconditionally: a facet with no backing data is not a legitimate empty
12545
+ * state worth an opt-in, it is a misconfiguration.
12546
+ *
12547
+ * @default false
12548
+ */
12549
+ hideWhenEmpty: _angular_core.InputSignalWithTransform<boolean, unknown>;
12434
12550
  /**
12435
12551
  * An output event that emits an array of selected `AggregationItem` objects when the user selects items in the aggregation component. This allows parent components to listen for selection changes and react accordingly, such as applying filters or updating the UI based on the selected items.
12436
12552
  */
@@ -12470,6 +12586,39 @@ declare class AggregationComponent {
12470
12586
  * date/tree/list heuristic when `type` is `"auto"`.
12471
12587
  */
12472
12588
  protected resolvedType: _angular_core.Signal<"list" | "tree" | "date">;
12589
+ /** Whether a filter is currently applied on this aggregation. */
12590
+ private readonly hasFilters;
12591
+ /**
12592
+ * `true` when the aggregation cannot be resolved at all: missing from the store
12593
+ * (or an empty `[aggregation]` input in controlled mode). Always hides the host,
12594
+ * regardless of `hideWhenEmpty` — a facet with no backing data has nothing a
12595
+ * dimmed header could ever offer the user (it can never expand, gain items, or
12596
+ * be searched), so showing it is not a legitimate "empty state" worth an opt-in.
12597
+ */
12598
+ protected readonly isMissing: _angular_core.Signal<boolean>;
12599
+ /**
12600
+ * `true` when the aggregation resolves but has nothing to show: zero items and
12601
+ * no applied filter. When `hideWhenEmpty` is `true`, the host is then removed
12602
+ * from the layout, so a parent laying its facets out with `gap`/`divide` is left
12603
+ * with no phantom slot. When `false` (default), the facet stays with its dimmed,
12604
+ * non-expandable header — unlike {@link isMissing}, this is a legitimate,
12605
+ * temporary state (e.g. the current search matches nothing).
12606
+ *
12607
+ * Two exemptions keep a facet the user can still act on:
12608
+ * - date aggregations, whose custom range stays usable without any bucket — the
12609
+ * same reason `FilterButton` never disables a date filter;
12610
+ * - an aggregation carrying an applied filter. It matters for trees, which can
12611
+ * resolve to zero nodes while filtered (`addCurrentFiltersToItems` does not
12612
+ * merge applied values back into a tree's items); hiding those would leave no
12613
+ * way to clear the filter from the facet. It is a no-op for lists, whose
12614
+ * applied values are always part of the item list. Mirrors
12615
+ * `AggregationTreeComponent.isHidden`.
12616
+ *
12617
+ * Resolved here rather than read from the sub-component's own `isHidden()`: a host
12618
+ * binding must not depend on a `viewChild`, which is still unresolved on the
12619
+ * first change detection pass.
12620
+ */
12621
+ protected readonly isEmpty: _angular_core.Signal<boolean>;
12473
12622
  /**
12474
12623
  * Checks if the specified column is a date filter.
12475
12624
  *
@@ -12478,7 +12627,7 @@ declare class AggregationComponent {
12478
12627
  */
12479
12628
  protected isDate(column: string | undefined): boolean;
12480
12629
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationComponent, never>;
12481
- 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; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "applyOnSelect": { "alias": "applyOnSelect"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; "syncUrl": { "alias": "syncUrl"; "required": false; "isSignal": true; }; "controlledQuery": { "alias": "query"; "required": false; "isSignal": true; }; "controlledAggregation": { "alias": "aggregation"; "required": false; "isSignal": true; }; "controlledSelection": { "alias": "selection"; "required": false; "isSignal": true; }; "emitOn": { "alias": "emitOn"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "selectionChange": "selectionChange"; "filtersChange": "filtersChange"; }, ["itemDirective"], never, true, never>;
12630
+ 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; }; "showCheckbox": { "alias": "showCheckbox"; "required": false; "isSignal": true; }; "applyOnSelect": { "alias": "applyOnSelect"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; "syncUrl": { "alias": "syncUrl"; "required": false; "isSignal": true; }; "controlledQuery": { "alias": "query"; "required": false; "isSignal": true; }; "controlledAggregation": { "alias": "aggregation"; "required": false; "isSignal": true; }; "controlledSelection": { "alias": "selection"; "required": false; "isSignal": true; }; "emitOn": { "alias": "emitOn"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "hideWhenEmpty": { "alias": "hideWhenEmpty"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "selectionChange": "selectionChange"; "filtersChange": "filtersChange"; }, ["itemDirective"], never, true, never>;
12482
12631
  }
12483
12632
 
12484
12633
  declare class AggregationPanelComponent {
@@ -12542,12 +12691,35 @@ declare class AsideFiltersComponent {
12542
12691
  * independently — closer to a typical SBA v2 "Facets List".
12543
12692
  */
12544
12693
  exclusive: _angular_core.InputSignalWithTransform<boolean, unknown>;
12694
+ /**
12695
+ * Whether every aggregation section can be collapsed/expanded by the user.
12696
+ * Relayed as-is to each `<Aggregation [collapsible]>`.
12697
+ *
12698
+ * @default true
12699
+ */
12700
+ collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
12701
+ /**
12702
+ * Whether every aggregation section starts collapsed. Relayed as-is to each
12703
+ * `<Aggregation [collapsed]>`.
12704
+ *
12705
+ * @default true
12706
+ */
12707
+ collapsed: _angular_core.InputSignalWithTransform<boolean, unknown>;
12708
+ /**
12709
+ * Whether a section removes itself from the layout when its aggregation
12710
+ * resolves to zero items, instead of staying with a dimmed, non-expandable
12711
+ * header. Relayed as-is to each `<Aggregation [hideWhenEmpty]>` — a missing
12712
+ * aggregation always hides regardless of this input.
12713
+ *
12714
+ * @default false
12715
+ */
12716
+ hideWhenEmpty: _angular_core.InputSignalWithTransform<boolean, unknown>;
12545
12717
  private readonly appStore;
12546
12718
  private readonly aggregationsStore;
12547
12719
  private readonly aggregationsService;
12548
12720
  asideFilters: _angular_core.Signal<Pick<Aggregation, "column" | "name">[]>;
12549
12721
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AsideFiltersComponent, never>;
12550
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AsideFiltersComponent, "aside-filters, AsideFilters, asidefilters", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "exclusive": { "alias": "exclusive"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12722
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AsideFiltersComponent, "aside-filters, AsideFilters, asidefilters", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "aggregations": { "alias": "aggregations"; "required": false; "isSignal": true; }; "exclusive": { "alias": "exclusive"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "hideWhenEmpty": { "alias": "hideWhenEmpty"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12551
12723
  }
12552
12724
 
12553
12725
  type CFilterEx = CFilter & {
@@ -12564,8 +12736,15 @@ declare class FilterButtonComponent {
12564
12736
  column: _angular_core.InputSignal<string>;
12565
12737
  position: _angular_core.InputSignal<Placement>;
12566
12738
  offset: _angular_core.InputSignal<number>;
12739
+ /**
12740
+ * When true, forces the popover to stay at the exact `position()` placement,
12741
+ * disabling floating-ui's automatic repositioning based on available viewport space.
12742
+ *
12743
+ * @default false
12744
+ */
12745
+ lockPosition: _angular_core.InputSignalWithTransform<boolean, unknown>;
12567
12746
  expandedLevel: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
12568
- protected variant: _angular_core.WritableSignal<"default" | "icon" | "primary" | "secondary" | "destructive" | "ai" | "outline" | "none" | "link" | "accent" | "tertiary" | "ghost" | "light-accent" | null | undefined>;
12747
+ protected variant: _angular_core.WritableSignal<"icon" | "default" | "none" | "primary" | "secondary" | "destructive" | "ai" | "link" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | null | undefined>;
12569
12748
  protected filter: _angular_core.WritableSignal<CFilterEx>;
12570
12749
  popoverRef: _angular_core.Signal<PopoverComponent | undefined>;
12571
12750
  protected nativeElement: any;
@@ -12579,9 +12758,10 @@ declare class FilterButtonComponent {
12579
12758
  aggregations: _sinequa_atomic.Aggregation[];
12580
12759
  }>;
12581
12760
  protected queryParamsStore: {
12761
+ text?: _angular_core.Signal<string | undefined> | undefined;
12582
12762
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
12583
12763
  name?: _angular_core.Signal<string | undefined> | undefined;
12584
- text?: _angular_core.Signal<string | undefined> | undefined;
12764
+ sort?: _angular_core.Signal<string | undefined> | undefined;
12585
12765
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
12586
12766
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
12587
12767
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -12589,7 +12769,6 @@ declare class FilterButtonComponent {
12589
12769
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
12590
12770
  tab?: _angular_core.Signal<string | undefined> | undefined;
12591
12771
  scope?: _angular_core.Signal<string | undefined> | undefined;
12592
- sort?: _angular_core.Signal<string | undefined> | undefined;
12593
12772
  basket?: _angular_core.Signal<string | undefined> | undefined;
12594
12773
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
12595
12774
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -12651,9 +12830,10 @@ declare class FilterButtonComponent {
12651
12830
  }> | null;
12652
12831
  getQuery: () => _sinequa_atomic.Query;
12653
12832
  } & _ngrx_signals.StateSource<{
12833
+ text?: string | undefined;
12654
12834
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
12655
12835
  name?: string | undefined;
12656
- text?: string | undefined;
12836
+ sort?: string | undefined;
12657
12837
  action?: "" | "search" | "open" | "aggregate" | undefined;
12658
12838
  select?: _sinequa_atomic.Select[] | undefined;
12659
12839
  open?: _sinequa_atomic.Open[] | undefined;
@@ -12661,7 +12841,6 @@ declare class FilterButtonComponent {
12661
12841
  pageSize?: number | undefined;
12662
12842
  tab?: string | undefined;
12663
12843
  scope?: string | undefined;
12664
- sort?: string | undefined;
12665
12844
  basket?: string | undefined;
12666
12845
  isFirstPage?: boolean | undefined;
12667
12846
  strictRefine?: boolean | undefined;
@@ -13006,7 +13185,7 @@ declare class FilterButtonComponent {
13006
13185
  */
13007
13186
  protected isDate(column: string): boolean;
13008
13187
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterButtonComponent, never>;
13009
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterButtonComponent, "filter-button, FilterButton", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13188
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterButtonComponent, "filter-button, FilterButton", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "lockPosition": { "alias": "lockPosition"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13010
13189
  }
13011
13190
 
13012
13191
  declare class MoreButtonComponent {
@@ -13326,9 +13505,10 @@ declare class MoreButtonComponent {
13326
13505
  columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
13327
13506
  }>;
13328
13507
  queryParamsStore: {
13508
+ text?: _angular_core.Signal<string | undefined> | undefined;
13329
13509
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
13330
13510
  name?: _angular_core.Signal<string | undefined> | undefined;
13331
- text?: _angular_core.Signal<string | undefined> | undefined;
13511
+ sort?: _angular_core.Signal<string | undefined> | undefined;
13332
13512
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
13333
13513
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
13334
13514
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -13336,7 +13516,6 @@ declare class MoreButtonComponent {
13336
13516
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
13337
13517
  tab?: _angular_core.Signal<string | undefined> | undefined;
13338
13518
  scope?: _angular_core.Signal<string | undefined> | undefined;
13339
- sort?: _angular_core.Signal<string | undefined> | undefined;
13340
13519
  basket?: _angular_core.Signal<string | undefined> | undefined;
13341
13520
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
13342
13521
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -13398,9 +13577,10 @@ declare class MoreButtonComponent {
13398
13577
  }> | null;
13399
13578
  getQuery: () => _sinequa_atomic.Query;
13400
13579
  } & _ngrx_signals.StateSource<{
13580
+ text?: string | undefined;
13401
13581
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
13402
13582
  name?: string | undefined;
13403
- text?: string | undefined;
13583
+ sort?: string | undefined;
13404
13584
  action?: "" | "search" | "open" | "aggregate" | undefined;
13405
13585
  select?: _sinequa_atomic.Select[] | undefined;
13406
13586
  open?: _sinequa_atomic.Open[] | undefined;
@@ -13408,7 +13588,6 @@ declare class MoreButtonComponent {
13408
13588
  pageSize?: number | undefined;
13409
13589
  tab?: string | undefined;
13410
13590
  scope?: string | undefined;
13411
- sort?: string | undefined;
13412
13591
  basket?: string | undefined;
13413
13592
  isFirstPage?: boolean | undefined;
13414
13593
  strictRefine?: boolean | undefined;
@@ -13430,22 +13609,71 @@ declare class MoreButtonComponent {
13430
13609
  id?: string | undefined;
13431
13610
  }>;
13432
13611
  nativeElement: any;
13612
+ breakpointObserver: BreakpointObserverService;
13433
13613
  aggregationsService: AggregationsService;
13434
13614
  count: _angular_core.InputSignalWithTransform<number, unknown>;
13435
13615
  position: _angular_core.InputSignal<Placement>;
13616
+ /**
13617
+ * When true, forces the popover to stay at the exact `position()` placement,
13618
+ * disabling floating-ui's automatic repositioning based on available viewport space.
13619
+ *
13620
+ * @default false
13621
+ */
13622
+ lockPosition: _angular_core.InputSignalWithTransform<boolean, unknown>;
13436
13623
  includedFilters: _angular_core.InputSignal<string[]>;
13437
13624
  excludedFilters: _angular_core.InputSignal<string[]>;
13438
13625
  aggregations: _angular_core.InputSignal<Aggregation[] | undefined>;
13439
13626
  homepage: _angular_core.InputSignalWithTransform<boolean, unknown>;
13627
+ /**
13628
+ * Whether a section removes itself from the layout when its aggregation
13629
+ * resolves to zero items, instead of staying with a dimmed, non-expandable
13630
+ * header. Relayed as-is to `<More [hideWhenEmpty]>`.
13631
+ *
13632
+ * @default false
13633
+ */
13634
+ hideWhenEmpty: _angular_core.InputSignalWithTransform<boolean, unknown>;
13635
+ /**
13636
+ * Above this many overflow filters, the desktop Popover escalates to a modal
13637
+ * Dialog instead of an anchored popover — useful once there are too many facets
13638
+ * to browse comfortably in an anchored popover. Left unset (the default), the
13639
+ * Popover always shows every overflow facet, however many there are, adapting
13640
+ * its own height to the available space (see `PopoverContentComponent`'s
13641
+ * `size()` middleware) rather than escalating. A commonly-used value is `6`.
13642
+ *
13643
+ * @default undefined — never escalate to Dialog
13644
+ */
13645
+ enrichedThreshold: _angular_core.InputSignal<number | undefined>;
13646
+ /** Mobile drawer open state — the desktop Popover/Dialog manage their own. */
13647
+ sheetOpen: _angular_core.WritableSignal<boolean>;
13648
+ /** The inline enriched Dialog — `<dialog #dialogRefEl>` binds a `DialogComponent` instance to the ref by default. */
13649
+ dialogRef: _angular_core.Signal<DialogComponent | undefined>;
13650
+ /** The authorized filters beyond the first `count` already shown in the bar. */
13651
+ private readonly overflowFilters;
13440
13652
  totalFiltersCount: _angular_core.Signal<number>;
13653
+ /**
13654
+ * Above {@link enrichedThreshold} overflow filters, the popover escalates to a modal
13655
+ * Dialog. Always `false` while `enrichedThreshold` is unset — the Popover then shows
13656
+ * every overflow facet regardless of count.
13657
+ */
13658
+ isEnriched: _angular_core.Signal<boolean>;
13441
13659
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MoreButtonComponent, never>;
13442
- 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>;
13660
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MoreButtonComponent, "more-button, MoreButton", never, { "count": { "alias": "count"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "lockPosition": { "alias": "lockPosition"; "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; }; "hideWhenEmpty": { "alias": "hideWhenEmpty"; "required": false; "isSignal": true; }; "enrichedThreshold": { "alias": "enrichedThreshold"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
13443
13661
  }
13444
13662
 
13445
13663
  declare class FiltersBarComponent {
13446
13664
  class: _angular_core.InputSignal<string | undefined>;
13447
13665
  position: _angular_core.InputSignal<Placement>;
13448
13666
  morePosition: _angular_core.InputSignal<Placement>;
13667
+ /**
13668
+ * When true, forces every popover (filter buttons and the "more filters"
13669
+ * button) to stay at its exact `position()`/`morePosition()` placement,
13670
+ * disabling floating-ui's automatic repositioning based on available
13671
+ * viewport space. Relayed as-is to each `<FilterButton [lockPosition]>`
13672
+ * and to `<MoreButton [lockPosition]>`.
13673
+ *
13674
+ * @default false
13675
+ */
13676
+ lockPosition: _angular_core.InputSignalWithTransform<boolean, unknown>;
13449
13677
  aggregations: _angular_core.InputSignal<Aggregation[] | undefined>;
13450
13678
  /**
13451
13679
  * Filters that should be included from the filters bar.
@@ -13836,9 +14064,10 @@ declare class FiltersBarComponent {
13836
14064
  aggregations: Aggregation[];
13837
14065
  }>;
13838
14066
  protected queryParamsStore: {
14067
+ text?: _angular_core.Signal<string | undefined> | undefined;
13839
14068
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
13840
14069
  name?: _angular_core.Signal<string | undefined> | undefined;
13841
- text?: _angular_core.Signal<string | undefined> | undefined;
14070
+ sort?: _angular_core.Signal<string | undefined> | undefined;
13842
14071
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
13843
14072
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
13844
14073
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -13846,7 +14075,6 @@ declare class FiltersBarComponent {
13846
14075
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
13847
14076
  tab?: _angular_core.Signal<string | undefined> | undefined;
13848
14077
  scope?: _angular_core.Signal<string | undefined> | undefined;
13849
- sort?: _angular_core.Signal<string | undefined> | undefined;
13850
14078
  basket?: _angular_core.Signal<string | undefined> | undefined;
13851
14079
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
13852
14080
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -13908,9 +14136,10 @@ declare class FiltersBarComponent {
13908
14136
  }> | null;
13909
14137
  getQuery: () => _sinequa_atomic.Query;
13910
14138
  } & _ngrx_signals.StateSource<{
14139
+ text?: string | undefined;
13911
14140
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
13912
14141
  name?: string | undefined;
13913
- text?: string | undefined;
14142
+ sort?: string | undefined;
13914
14143
  action?: "" | "search" | "open" | "aggregate" | undefined;
13915
14144
  select?: _sinequa_atomic.Select[] | undefined;
13916
14145
  open?: _sinequa_atomic.Open[] | undefined;
@@ -13918,7 +14147,6 @@ declare class FiltersBarComponent {
13918
14147
  pageSize?: number | undefined;
13919
14148
  tab?: string | undefined;
13920
14149
  scope?: string | undefined;
13921
- sort?: string | undefined;
13922
14150
  basket?: string | undefined;
13923
14151
  isFirstPage?: boolean | undefined;
13924
14152
  strictRefine?: boolean | undefined;
@@ -14022,16 +14250,27 @@ declare class FiltersBarComponent {
14022
14250
  */
14023
14251
  handleClick(event: MouseEvent): void;
14024
14252
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FiltersBarComponent, never>;
14025
- 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>;
14253
+ 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; }; "lockPosition": { "alias": "lockPosition"; "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>;
14026
14254
  }
14027
14255
 
14028
14256
  declare class MoreComponent {
14257
+ protected readonly SEARCH_THRESHOLD = 6;
14029
14258
  count: _angular_core.InputSignal<number>;
14030
14259
  includedFilters: _angular_core.InputSignal<string[]>;
14031
14260
  excludedFilters: _angular_core.InputSignal<string[]>;
14032
14261
  aggregations: _angular_core.InputSignal<Aggregation[] | undefined>;
14033
14262
  homepage: _angular_core.InputSignalWithTransform<boolean, unknown>;
14263
+ /**
14264
+ * Whether a section removes itself from the layout when its aggregation
14265
+ * resolves to zero items, instead of staying with a dimmed, non-expandable
14266
+ * header. Relayed as-is to each `<Aggregation [hideWhenEmpty]>` — a missing
14267
+ * aggregation always hides regardless of this input.
14268
+ *
14269
+ * @default false
14270
+ */
14271
+ hideWhenEmpty: _angular_core.InputSignalWithTransform<boolean, unknown>;
14034
14272
  aggregationsService: AggregationsService;
14273
+ protected readonly searchText: _angular_core.ModelSignal<string>;
14035
14274
  /**
14036
14275
  * The overflow filters rendered as accordions: the authorized filters beyond the
14037
14276
  * first `count` (which are already shown in the bar).
@@ -14046,8 +14285,15 @@ declare class MoreComponent {
14046
14285
  column: string;
14047
14286
  name: string;
14048
14287
  }[]>;
14288
+ /** {@link filters}, narrowed to those matching {@link searchText} (case-insensitive, by name). */
14289
+ protected readonly filteredFilters: _angular_core.Signal<{
14290
+ field: string;
14291
+ column: string;
14292
+ name: string;
14293
+ }[]>;
14294
+ protected clearSearch(e: Event): void;
14049
14295
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MoreComponent, never>;
14050
- 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>;
14296
+ 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; }; "hideWhenEmpty": { "alias": "hideWhenEmpty"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "searchText": "searchTextChange"; }, never, never, true, never>;
14051
14297
  }
14052
14298
 
14053
14299
  /**
@@ -14564,7 +14810,7 @@ declare class RecentSearchesComponent {
14564
14810
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
14565
14811
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
14566
14812
  language?: _angular_core.Signal<string | undefined> | undefined;
14567
- userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
14813
+ userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
14568
14814
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
14569
14815
  isDebugMode: _angular_core.Signal<boolean>;
14570
14816
  isDarkMode: _angular_core.Signal<boolean>;
@@ -14629,9 +14875,10 @@ declare class RecentSearchesComponent {
14629
14875
  declare class SavedSearchDialog implements DialogInterface {
14630
14876
  private readonly savedSearchesService;
14631
14877
  protected readonly queryParamsStore: {
14878
+ text?: _angular_core.Signal<string | undefined> | undefined;
14632
14879
  aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
14633
14880
  name?: _angular_core.Signal<string | undefined> | undefined;
14634
- text?: _angular_core.Signal<string | undefined> | undefined;
14881
+ sort?: _angular_core.Signal<string | undefined> | undefined;
14635
14882
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
14636
14883
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
14637
14884
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -14639,7 +14886,6 @@ declare class SavedSearchDialog implements DialogInterface {
14639
14886
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
14640
14887
  tab?: _angular_core.Signal<string | undefined> | undefined;
14641
14888
  scope?: _angular_core.Signal<string | undefined> | undefined;
14642
- sort?: _angular_core.Signal<string | undefined> | undefined;
14643
14889
  basket?: _angular_core.Signal<string | undefined> | undefined;
14644
14890
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
14645
14891
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -14701,9 +14947,10 @@ declare class SavedSearchDialog implements DialogInterface {
14701
14947
  }> | null;
14702
14948
  getQuery: () => _sinequa_atomic.Query;
14703
14949
  } & _ngrx_signals.StateSource<{
14950
+ text?: string | undefined;
14704
14951
  aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
14705
14952
  name?: string | undefined;
14706
- text?: string | undefined;
14953
+ sort?: string | undefined;
14707
14954
  action?: "" | "search" | "open" | "aggregate" | undefined;
14708
14955
  select?: _sinequa_atomic.Select[] | undefined;
14709
14956
  open?: _sinequa_atomic.Open[] | undefined;
@@ -14711,7 +14958,6 @@ declare class SavedSearchDialog implements DialogInterface {
14711
14958
  pageSize?: number | undefined;
14712
14959
  tab?: string | undefined;
14713
14960
  scope?: string | undefined;
14714
- sort?: string | undefined;
14715
14961
  basket?: string | undefined;
14716
14962
  isFirstPage?: boolean | undefined;
14717
14963
  strictRefine?: boolean | undefined;
@@ -14756,7 +15002,7 @@ declare class SavedSearchesComponent {
14756
15002
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
14757
15003
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
14758
15004
  language?: _angular_core.Signal<string | undefined> | undefined;
14759
- userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
15005
+ userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
14760
15006
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
14761
15007
  isDebugMode: _angular_core.Signal<boolean>;
14762
15008
  isDarkMode: _angular_core.Signal<boolean>;
@@ -14851,7 +15097,7 @@ declare class UserProfileFormComponent {
14851
15097
  param9: _angular_core.Signal<string>;
14852
15098
  param10: _angular_core.Signal<string>;
14853
15099
  userOverrideActive: _angular_core.Signal<boolean>;
14854
- state: _angular_core.Signal<"error" | "loading" | "loaded" | "initial">;
15100
+ state: _angular_core.Signal<"error" | "initial" | "loading" | "loaded">;
14855
15101
  allowUserOverride: _angular_core.Signal<boolean>;
14856
15102
  isOverridingUser: _angular_core.Signal<boolean>;
14857
15103
  initials: _angular_core.Signal<string>;
@@ -14895,7 +15141,7 @@ declare class UserProfileFormComponent {
14895
15141
  alerts: _angular_core.Signal<_sinequa_atomic_angular.Alert[]>;
14896
15142
  collapseAssistant?: _angular_core.Signal<boolean | undefined> | undefined;
14897
15143
  language?: _angular_core.Signal<string | undefined> | undefined;
14898
- userTheme: _angular_core.Signal<"light" | "dark" | "system" | undefined>;
15144
+ userTheme: _angular_core.Signal<"dark" | "light" | "system" | undefined>;
14899
15145
  agents: _angular_core.Signal<_sinequa_atomic_angular.AgentUserSettings | undefined>;
14900
15146
  isDebugMode: _angular_core.Signal<boolean>;
14901
15147
  isDarkMode: _angular_core.Signal<boolean>;
@@ -15858,5 +16104,5 @@ type AppFeatures = {
15858
16104
  */
15859
16105
  declare const APP_FEATURES: InjectionToken<AppFeatures>;
15860
16106
 
15861
- export { AGGREGATIONS_NAMES, AGGREGATIONS_NAMES_PRESET_DEFAULT, APP_FEATURES, AdvancedFiltersComponent, AdvancedSearch, AdvancedSearchComponent, AggregationComponent, AggregationDateComponent, AggregationDateRangeDialogComponent, AggregationItemDirective, 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, FeatureFlagsDialogComponent, 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, SignedOutComponent, SortSelectorComponent, SourceComponent, SourceIconPipe, SponsoredResultsComponent, SyslangPipe, THEMES, TextChunkService, ThemeProviderDirective, ThemeSelectorComponent, ThemeStore, ThemeToggleComponent, TranslocoDateImpurePipe, UserProfileDialog, UserProfileFormComponent, UserProfileService, UserSettingsStore, __resetSignInMutexForTests, applyThemeToNativeElement, auditInterceptorFn, authInterceptorFn, bodyInterceptorFn, bootstrapApp, buildQuery, debouncedSignal, errorInterceptorFn, getCurrentPath, getCurrentQueryName, getQueryNameFromRoute, injectRouteNavigation, isAuthRoute, legacyFilterToFilter, processCssVars, queryNameResolver, signIn, themeColorNameToCssVariable, themeColorsToCssVariables, toastInterceptorFn, withAggregationsFeatures, withAlertsFeatures, withAppFeatures, withApplicationFeatures, withAssistantFeatures, withBasketsFeatures, withBookmarkFeatures, withBootstrapApp, withExtractsFeatures, withFetch, withMultiSelectionFeatures, withQueryParamsFeatures, withRecentSearchesFeatures, withSavedSearchesFeatures, withSelectionFeatures, withThemeBodyHook, withThemes, withThemesFeatures, withUserSettingsFeatures };
16107
+ export { AGGREGATIONS_NAMES, AGGREGATIONS_NAMES_PRESET_DEFAULT, APP_FEATURES, AdvancedFiltersComponent, AdvancedSearch, AdvancedSearchComponent, AggregationComponent, AggregationDateComponent, AggregationDateRangeDialogComponent, AggregationItemDirective, 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, FeatureFlagsDialogComponent, 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, SignedOutComponent, SortSelectorComponent, SourceComponent, SourceIconPipe, SponsoredResultsComponent, SyslangPipe, THEMES, TextChunkService, ThemeProviderDirective, ThemeSelectorComponent, ThemeStore, ThemeToggleComponent, TranslocoDateImpurePipe, UserProfileDialog, UserProfileFormComponent, UserProfileService, UserSettingsStore, __resetSignInMutexForTests, applyThemeToNativeElement, auditInterceptorFn, authInterceptorFn, bodyInterceptorFn, bootstrapApp, buildQuery, debouncedSignal, errorInterceptorFn, getCurrentPath, getCurrentQueryName, getQueryNameFromRoute, injectRouteNavigation, isAuthRoute, isSignInInFlight, legacyFilterToFilter, processCssVars, queryNameResolver, signIn, themeColorNameToCssVariable, themeColorsToCssVariables, toastInterceptorFn, withAggregationsFeatures, withAlertsFeatures, withAppFeatures, withApplicationFeatures, withAssistantFeatures, withBasketsFeatures, withBookmarkFeatures, withBootstrapApp, withExtractsFeatures, withFetch, withMultiSelectionFeatures, withQueryParamsFeatures, withRecentSearchesFeatures, withSavedSearchesFeatures, withSelectionFeatures, withThemeBodyHook, withThemes, withThemesFeatures, withUserSettingsFeatures };
15862
16108
  export type { AgentUserSettings, AggEx, AggregationEx, AggregationItemContext, AggregationListEx, AggregationListItem, AggregationSelection, AggregationTitle, AggregationTreeEx, AggregationTreeItemContext, AggregationsState, AppCJson, AppFeatures, ApplicationState, ArticleMetadata, AssistantDetails, Autocomplete, Basket, Bookmark, BookmarksConfig, CAggregation, CAggregationItem, CCAppState, CCWebServiceLabels, CConverter, CFeedback, 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 };