@sinequa/atomic-angular 1.7.2 → 1.8.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, 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, 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,8 +114,10 @@ declare class DocumentLocatorComponent implements OnDestroy {
114
114
  readonly el: ElementRef<any>;
115
115
  readonly router: Router;
116
116
  readonly queryParamStore: {
117
- name?: _angular_core.Signal<string | undefined> | undefined;
118
117
  text?: _angular_core.Signal<string | undefined> | undefined;
118
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
119
+ name?: _angular_core.Signal<string | undefined> | undefined;
120
+ sort?: _angular_core.Signal<string | undefined> | undefined;
119
121
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
120
122
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
121
123
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -123,7 +125,6 @@ declare class DocumentLocatorComponent implements OnDestroy {
123
125
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
124
126
  tab?: _angular_core.Signal<string | undefined> | undefined;
125
127
  scope?: _angular_core.Signal<string | undefined> | undefined;
126
- sort?: _angular_core.Signal<string | undefined> | undefined;
127
128
  basket?: _angular_core.Signal<string | undefined> | undefined;
128
129
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
129
130
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -137,7 +138,6 @@ declare class DocumentLocatorComponent implements OnDestroy {
137
138
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
138
139
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
139
140
  queryId?: _angular_core.Signal<string | undefined> | undefined;
140
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
141
141
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
142
142
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
143
143
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -183,8 +183,10 @@ declare class DocumentLocatorComponent implements OnDestroy {
183
183
  }> | null;
184
184
  getQuery: () => _sinequa_atomic.Query;
185
185
  } & _ngrx_signals.StateSource<{
186
- name?: string | undefined;
187
186
  text?: string | undefined;
187
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
188
+ name?: string | undefined;
189
+ sort?: string | undefined;
188
190
  action?: "" | "search" | "open" | "aggregate" | undefined;
189
191
  select?: _sinequa_atomic.Select[] | undefined;
190
192
  open?: _sinequa_atomic.Open[] | undefined;
@@ -192,7 +194,6 @@ declare class DocumentLocatorComponent implements OnDestroy {
192
194
  pageSize?: number | undefined;
193
195
  tab?: string | undefined;
194
196
  scope?: string | undefined;
195
- sort?: string | undefined;
196
197
  basket?: string | undefined;
197
198
  isFirstPage?: boolean | undefined;
198
199
  strictRefine?: boolean | undefined;
@@ -206,7 +207,6 @@ declare class DocumentLocatorComponent implements OnDestroy {
206
207
  relevanceTransforms?: string | undefined;
207
208
  removeDuplicates?: boolean | undefined;
208
209
  queryId?: string | undefined;
209
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
210
210
  orderBy?: string | undefined;
211
211
  groupBy?: string | undefined;
212
212
  neuralSearch?: boolean | undefined;
@@ -285,8 +285,10 @@ declare class MetadataComponent {
285
285
  declare class MissingTermsComponent {
286
286
  readonly article: _angular_core.InputSignal<Article$1>;
287
287
  queryParamsStore: {
288
- name?: _angular_core.Signal<string | undefined> | undefined;
289
288
  text?: _angular_core.Signal<string | undefined> | undefined;
289
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
290
+ name?: _angular_core.Signal<string | undefined> | undefined;
291
+ sort?: _angular_core.Signal<string | undefined> | undefined;
290
292
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
291
293
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
292
294
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -294,7 +296,6 @@ declare class MissingTermsComponent {
294
296
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
295
297
  tab?: _angular_core.Signal<string | undefined> | undefined;
296
298
  scope?: _angular_core.Signal<string | undefined> | undefined;
297
- sort?: _angular_core.Signal<string | undefined> | undefined;
298
299
  basket?: _angular_core.Signal<string | undefined> | undefined;
299
300
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
300
301
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -308,7 +309,6 @@ declare class MissingTermsComponent {
308
309
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
309
310
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
310
311
  queryId?: _angular_core.Signal<string | undefined> | undefined;
311
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
312
312
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
313
313
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
314
314
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -354,8 +354,10 @@ declare class MissingTermsComponent {
354
354
  }> | null;
355
355
  getQuery: () => _sinequa_atomic.Query;
356
356
  } & _ngrx_signals.StateSource<{
357
- name?: string | undefined;
358
357
  text?: string | undefined;
358
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
359
+ name?: string | undefined;
360
+ sort?: string | undefined;
359
361
  action?: "" | "search" | "open" | "aggregate" | undefined;
360
362
  select?: _sinequa_atomic.Select[] | undefined;
361
363
  open?: _sinequa_atomic.Open[] | undefined;
@@ -363,7 +365,6 @@ declare class MissingTermsComponent {
363
365
  pageSize?: number | undefined;
364
366
  tab?: string | undefined;
365
367
  scope?: string | undefined;
366
- sort?: string | undefined;
367
368
  basket?: string | undefined;
368
369
  isFirstPage?: boolean | undefined;
369
370
  strictRefine?: boolean | undefined;
@@ -377,7 +378,6 @@ declare class MissingTermsComponent {
377
378
  relevanceTransforms?: string | undefined;
378
379
  removeDuplicates?: boolean | undefined;
379
380
  queryId?: string | undefined;
380
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
381
381
  orderBy?: string | undefined;
382
382
  groupBy?: string | undefined;
383
383
  neuralSearch?: boolean | undefined;
@@ -1296,6 +1296,35 @@ type AggregationTreeEx = TreeAggregation & {
1296
1296
  items: AggregationListItem[];
1297
1297
  };
1298
1298
  type AggregationEx = AggregationListEx | AggregationTreeEx;
1299
+ /**
1300
+ * Controlled selection for the `<Aggregation>` family of components.
1301
+ *
1302
+ * - `values`: selected item values (list aggregations)
1303
+ * - `paths`: selected tree paths in the `"/A/B/*"` format — the same format used
1304
+ * by the `values` of the stored tree filters
1305
+ * - `option`: a selected date option (date aggregations) — the `value` of the
1306
+ * aggregation item (the real filter value, e.g. `"this-week"`), never its
1307
+ * `display`. The component re-selects that option directly, which is robust
1308
+ * across days for presets whose bounds are computed relative to today.
1309
+ * - `range`: a custom date range (date aggregations) — the `from`/`to` bounds.
1310
+ *
1311
+ * `option` and `range` are mutually exclusive: a date selection is either a
1312
+ * preset or a custom range, never both.
1313
+ */
1314
+ type AggregationSelection = {
1315
+ kind: "values";
1316
+ values: string[];
1317
+ } | {
1318
+ kind: "paths";
1319
+ paths: string[];
1320
+ } | {
1321
+ kind: "option";
1322
+ option: string;
1323
+ } | {
1324
+ kind: "range";
1325
+ from?: string;
1326
+ to?: string;
1327
+ };
1299
1328
 
1300
1329
  type Autocomplete = {
1301
1330
  bookmarks?: number;
@@ -2220,8 +2249,10 @@ type FilterMutationOptions = {
2220
2249
  syncUrl?: boolean;
2221
2250
  };
2222
2251
  declare const QueryParamsStore: _angular_core.Type<{
2223
- name?: _angular_core.Signal<string | undefined> | undefined;
2224
2252
  text?: _angular_core.Signal<string | undefined> | undefined;
2253
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
2254
+ name?: _angular_core.Signal<string | undefined> | undefined;
2255
+ sort?: _angular_core.Signal<string | undefined> | undefined;
2225
2256
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
2226
2257
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
2227
2258
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -2229,7 +2260,6 @@ declare const QueryParamsStore: _angular_core.Type<{
2229
2260
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
2230
2261
  tab?: _angular_core.Signal<string | undefined> | undefined;
2231
2262
  scope?: _angular_core.Signal<string | undefined> | undefined;
2232
- sort?: _angular_core.Signal<string | undefined> | undefined;
2233
2263
  basket?: _angular_core.Signal<string | undefined> | undefined;
2234
2264
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
2235
2265
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -2243,7 +2273,6 @@ declare const QueryParamsStore: _angular_core.Type<{
2243
2273
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
2244
2274
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
2245
2275
  queryId?: _angular_core.Signal<string | undefined> | undefined;
2246
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
2247
2276
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
2248
2277
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
2249
2278
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -2267,8 +2296,10 @@ declare const QueryParamsStore: _angular_core.Type<{
2267
2296
  }> | null;
2268
2297
  getQuery: () => _sinequa_atomic.Query;
2269
2298
  } & _ngrx_signals.StateSource<{
2270
- name?: string | undefined;
2271
2299
  text?: string | undefined;
2300
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
2301
+ name?: string | undefined;
2302
+ sort?: string | undefined;
2272
2303
  action?: "" | "search" | "open" | "aggregate" | undefined;
2273
2304
  select?: _sinequa_atomic.Select[] | undefined;
2274
2305
  open?: _sinequa_atomic.Open[] | undefined;
@@ -2276,7 +2307,6 @@ declare const QueryParamsStore: _angular_core.Type<{
2276
2307
  pageSize?: number | undefined;
2277
2308
  tab?: string | undefined;
2278
2309
  scope?: string | undefined;
2279
- sort?: string | undefined;
2280
2310
  basket?: string | undefined;
2281
2311
  isFirstPage?: boolean | undefined;
2282
2312
  strictRefine?: boolean | undefined;
@@ -2290,7 +2320,6 @@ declare const QueryParamsStore: _angular_core.Type<{
2290
2320
  relevanceTransforms?: string | undefined;
2291
2321
  removeDuplicates?: boolean | undefined;
2292
2322
  queryId?: string | undefined;
2293
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
2294
2323
  orderBy?: string | undefined;
2295
2324
  groupBy?: string | undefined;
2296
2325
  neuralSearch?: boolean | undefined;
@@ -2300,8 +2329,10 @@ declare const QueryParamsStore: _angular_core.Type<{
2300
2329
  }>>;
2301
2330
  declare function withQueryParamsFeatures(): _ngrx_signals.SignalStoreFeature<_ngrx_signals.EmptyFeatureResult, {
2302
2331
  state: {
2303
- name?: string | undefined;
2304
2332
  text?: string | undefined;
2333
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
2334
+ name?: string | undefined;
2335
+ sort?: string | undefined;
2305
2336
  action?: "" | "search" | "open" | "aggregate" | undefined;
2306
2337
  select?: _sinequa_atomic.Select[] | undefined;
2307
2338
  open?: _sinequa_atomic.Open[] | undefined;
@@ -2309,7 +2340,6 @@ declare function withQueryParamsFeatures(): _ngrx_signals.SignalStoreFeature<_ng
2309
2340
  pageSize?: number | undefined;
2310
2341
  tab?: string | undefined;
2311
2342
  scope?: string | undefined;
2312
- sort?: string | undefined;
2313
2343
  basket?: string | undefined;
2314
2344
  isFirstPage?: boolean | undefined;
2315
2345
  strictRefine?: boolean | undefined;
@@ -2323,7 +2353,6 @@ declare function withQueryParamsFeatures(): _ngrx_signals.SignalStoreFeature<_ng
2323
2353
  relevanceTransforms?: string | undefined;
2324
2354
  removeDuplicates?: boolean | undefined;
2325
2355
  queryId?: string | undefined;
2326
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
2327
2356
  orderBy?: string | undefined;
2328
2357
  groupBy?: string | undefined;
2329
2358
  neuralSearch?: boolean | undefined;
@@ -3057,8 +3086,10 @@ declare class AggregationsService {
3057
3086
  aggregations: Aggregation[];
3058
3087
  }>;
3059
3088
  queryParamsStore: {
3060
- name?: _angular_core.Signal<string | undefined> | undefined;
3061
3089
  text?: _angular_core.Signal<string | undefined> | undefined;
3090
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
3091
+ name?: _angular_core.Signal<string | undefined> | undefined;
3092
+ sort?: _angular_core.Signal<string | undefined> | undefined;
3062
3093
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
3063
3094
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
3064
3095
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -3066,7 +3097,6 @@ declare class AggregationsService {
3066
3097
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
3067
3098
  tab?: _angular_core.Signal<string | undefined> | undefined;
3068
3099
  scope?: _angular_core.Signal<string | undefined> | undefined;
3069
- sort?: _angular_core.Signal<string | undefined> | undefined;
3070
3100
  basket?: _angular_core.Signal<string | undefined> | undefined;
3071
3101
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
3072
3102
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -3080,7 +3110,6 @@ declare class AggregationsService {
3080
3110
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
3081
3111
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
3082
3112
  queryId?: _angular_core.Signal<string | undefined> | undefined;
3083
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
3084
3113
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
3085
3114
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
3086
3115
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -3126,8 +3155,10 @@ declare class AggregationsService {
3126
3155
  }> | null;
3127
3156
  getQuery: () => Query;
3128
3157
  } & _ngrx_signals.StateSource<{
3129
- name?: string | undefined;
3130
3158
  text?: string | undefined;
3159
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
3160
+ name?: string | undefined;
3161
+ sort?: string | undefined;
3131
3162
  action?: "" | "search" | "open" | "aggregate" | undefined;
3132
3163
  select?: _sinequa_atomic.Select[] | undefined;
3133
3164
  open?: _sinequa_atomic.Open[] | undefined;
@@ -3135,7 +3166,6 @@ declare class AggregationsService {
3135
3166
  pageSize?: number | undefined;
3136
3167
  tab?: string | undefined;
3137
3168
  scope?: string | undefined;
3138
- sort?: string | undefined;
3139
3169
  basket?: string | undefined;
3140
3170
  isFirstPage?: boolean | undefined;
3141
3171
  strictRefine?: boolean | undefined;
@@ -3149,7 +3179,6 @@ declare class AggregationsService {
3149
3179
  relevanceTransforms?: string | undefined;
3150
3180
  removeDuplicates?: boolean | undefined;
3151
3181
  queryId?: string | undefined;
3152
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
3153
3182
  orderBy?: string | undefined;
3154
3183
  groupBy?: string | undefined;
3155
3184
  neuralSearch?: boolean | undefined;
@@ -3159,10 +3188,25 @@ declare class AggregationsService {
3159
3188
  }>;
3160
3189
  nonSearchableColumns: string[];
3161
3190
  protected API_URL: string;
3162
- loadMore(query: Partial<Query>, aggregation: Aggregation, audit?: AuditEvents): Observable<Aggregation>;
3163
- open(query: Partial<Query>, aggregation: TreeAggregation, item: TreeAggregationNode): Observable<TreeAggregation>;
3191
+ loadMore(query: Partial<Query>, aggregation: Aggregation, audit?: AuditEvents, options?: {
3192
+ count?: number;
3193
+ }): Observable<Aggregation>;
3194
+ open(query: Partial<Query>, aggregation: TreeAggregation, item: TreeAggregationNode, options?: {
3195
+ guardFree?: boolean;
3196
+ }): Observable<TreeAggregation>;
3164
3197
  getAggregation(name: string, column: string | null): AggEx | null | undefined;
3165
3198
  processAggregation(name: string, column: string | null): AggEx | null | undefined;
3199
+ /**
3200
+ * Applies the app-level customization (custom JSON display/icon/hidden/searchable,
3201
+ * non-searchable columns) and marks the `$selected` items on the given aggregation.
3202
+ *
3203
+ * @param agg - The aggregation to enrich (mutated in place and returned).
3204
+ * @param selectionValues - Controlled selection: the selected values (list) or
3205
+ * `"/A/B/*"` paths (tree). When `undefined`, the selection is derived from the
3206
+ * shared `QueryParamsStore` filters (default behavior). An empty array means
3207
+ * "nothing selected" and skips the store read entirely.
3208
+ */
3209
+ enrichAggregation(agg: AggEx, selectionValues?: string[]): AggEx;
3166
3210
  /**
3167
3211
  * Converts an `AggregationItem` to a `LegacyFilter`.
3168
3212
  *
@@ -4617,6 +4661,23 @@ declare class InlineWorker {
4617
4661
  terminate(): void;
4618
4662
  }
4619
4663
 
4664
+ /**
4665
+ * Converts a `LegacyFilter` to the structured `Filter` model, built with the
4666
+ * `filter.*` helpers of `@sinequa/atomic`. The result is assignable as-is to
4667
+ * `query.filters` / `fetchQuery({ filters })`.
4668
+ *
4669
+ * Covers the shapes produced by the aggregation components when applying
4670
+ * filters (`toFilter`, `getFiltersForTree`, `getFormValueFilter`,
4671
+ * `buildAppliedFilter`): `in` values, `and`/`or` expression trees, `between`
4672
+ * ranges, scalar leaves (`eq`/`contains`/`gte`/`lte`/…) and the operator-less
4673
+ * `{ field, value }` form (treated as `eq`).
4674
+ *
4675
+ * Returns `undefined` for an absent filter or a degenerate shape (leaf without
4676
+ * `field`/`value`, empty combinator) — consistent with the `filter.and`/`or`
4677
+ * collapsing rules and with an absent `query.filters`.
4678
+ */
4679
+ declare function legacyFilterToFilter(legacy: LegacyFilter | undefined): Filter$2 | undefined;
4680
+
4620
4681
  /**
4621
4682
  * Retrieves the query name from the current route.
4622
4683
  *
@@ -4853,8 +4914,10 @@ declare class PreviewService {
4853
4914
  multiSelection: Article$1[];
4854
4915
  }>;
4855
4916
  protected readonly queryParamsStore: {
4856
- name?: _angular_core.Signal<string | undefined> | undefined;
4857
4917
  text?: _angular_core.Signal<string | undefined> | undefined;
4918
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
4919
+ name?: _angular_core.Signal<string | undefined> | undefined;
4920
+ sort?: _angular_core.Signal<string | undefined> | undefined;
4858
4921
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
4859
4922
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
4860
4923
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -4862,7 +4925,6 @@ declare class PreviewService {
4862
4925
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
4863
4926
  tab?: _angular_core.Signal<string | undefined> | undefined;
4864
4927
  scope?: _angular_core.Signal<string | undefined> | undefined;
4865
- sort?: _angular_core.Signal<string | undefined> | undefined;
4866
4928
  basket?: _angular_core.Signal<string | undefined> | undefined;
4867
4929
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
4868
4930
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -4876,7 +4938,6 @@ declare class PreviewService {
4876
4938
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
4877
4939
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
4878
4940
  queryId?: _angular_core.Signal<string | undefined> | undefined;
4879
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
4880
4941
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
4881
4942
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
4882
4943
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -4922,8 +4983,10 @@ declare class PreviewService {
4922
4983
  }> | null;
4923
4984
  getQuery: () => Query;
4924
4985
  } & _ngrx_signals.StateSource<{
4925
- name?: string | undefined;
4926
4986
  text?: string | undefined;
4987
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
4988
+ name?: string | undefined;
4989
+ sort?: string | undefined;
4927
4990
  action?: "" | "search" | "open" | "aggregate" | undefined;
4928
4991
  select?: _sinequa_atomic.Select[] | undefined;
4929
4992
  open?: _sinequa_atomic.Open[] | undefined;
@@ -4931,7 +4994,6 @@ declare class PreviewService {
4931
4994
  pageSize?: number | undefined;
4932
4995
  tab?: string | undefined;
4933
4996
  scope?: string | undefined;
4934
- sort?: string | undefined;
4935
4997
  basket?: string | undefined;
4936
4998
  isFirstPage?: boolean | undefined;
4937
4999
  strictRefine?: boolean | undefined;
@@ -4945,7 +5007,6 @@ declare class PreviewService {
4945
5007
  relevanceTransforms?: string | undefined;
4946
5008
  removeDuplicates?: boolean | undefined;
4947
5009
  queryId?: string | undefined;
4948
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
4949
5010
  orderBy?: string | undefined;
4950
5011
  groupBy?: string | undefined;
4951
5012
  neuralSearch?: boolean | undefined;
@@ -5502,8 +5563,10 @@ declare class SavedSearchesService {
5502
5563
  agents: _sinequa_atomic_angular.AgentUserSettings;
5503
5564
  }>;
5504
5565
  protected readonly queryParamsStore: {
5505
- name?: _angular_core.Signal<string | undefined> | undefined;
5506
5566
  text?: _angular_core.Signal<string | undefined> | undefined;
5567
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5568
+ name?: _angular_core.Signal<string | undefined> | undefined;
5569
+ sort?: _angular_core.Signal<string | undefined> | undefined;
5507
5570
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
5508
5571
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
5509
5572
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -5511,7 +5574,6 @@ declare class SavedSearchesService {
5511
5574
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
5512
5575
  tab?: _angular_core.Signal<string | undefined> | undefined;
5513
5576
  scope?: _angular_core.Signal<string | undefined> | undefined;
5514
- sort?: _angular_core.Signal<string | undefined> | undefined;
5515
5577
  basket?: _angular_core.Signal<string | undefined> | undefined;
5516
5578
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
5517
5579
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5525,7 +5587,6 @@ declare class SavedSearchesService {
5525
5587
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
5526
5588
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
5527
5589
  queryId?: _angular_core.Signal<string | undefined> | undefined;
5528
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5529
5590
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
5530
5591
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
5531
5592
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5571,8 +5632,10 @@ declare class SavedSearchesService {
5571
5632
  }> | null;
5572
5633
  getQuery: () => _sinequa_atomic.Query;
5573
5634
  } & _ngrx_signals.StateSource<{
5574
- name?: string | undefined;
5575
5635
  text?: string | undefined;
5636
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
5637
+ name?: string | undefined;
5638
+ sort?: string | undefined;
5576
5639
  action?: "" | "search" | "open" | "aggregate" | undefined;
5577
5640
  select?: _sinequa_atomic.Select[] | undefined;
5578
5641
  open?: _sinequa_atomic.Open[] | undefined;
@@ -5580,7 +5643,6 @@ declare class SavedSearchesService {
5580
5643
  pageSize?: number | undefined;
5581
5644
  tab?: string | undefined;
5582
5645
  scope?: string | undefined;
5583
- sort?: string | undefined;
5584
5646
  basket?: string | undefined;
5585
5647
  isFirstPage?: boolean | undefined;
5586
5648
  strictRefine?: boolean | undefined;
@@ -5594,7 +5656,6 @@ declare class SavedSearchesService {
5594
5656
  relevanceTransforms?: string | undefined;
5595
5657
  removeDuplicates?: boolean | undefined;
5596
5658
  queryId?: string | undefined;
5597
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
5598
5659
  orderBy?: string | undefined;
5599
5660
  groupBy?: string | undefined;
5600
5661
  neuralSearch?: boolean | undefined;
@@ -5657,8 +5718,10 @@ declare class SearchService {
5657
5718
  result: Result;
5658
5719
  audit?: AuditEvents;
5659
5720
  protected readonly queryParamsStore: {
5660
- name?: _angular_core.Signal<string | undefined> | undefined;
5661
5721
  text?: _angular_core.Signal<string | undefined> | undefined;
5722
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5723
+ name?: _angular_core.Signal<string | undefined> | undefined;
5724
+ sort?: _angular_core.Signal<string | undefined> | undefined;
5662
5725
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
5663
5726
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
5664
5727
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -5666,7 +5729,6 @@ declare class SearchService {
5666
5729
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
5667
5730
  tab?: _angular_core.Signal<string | undefined> | undefined;
5668
5731
  scope?: _angular_core.Signal<string | undefined> | undefined;
5669
- sort?: _angular_core.Signal<string | undefined> | undefined;
5670
5732
  basket?: _angular_core.Signal<string | undefined> | undefined;
5671
5733
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
5672
5734
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5680,7 +5742,6 @@ declare class SearchService {
5680
5742
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
5681
5743
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
5682
5744
  queryId?: _angular_core.Signal<string | undefined> | undefined;
5683
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5684
5745
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
5685
5746
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
5686
5747
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5726,8 +5787,10 @@ declare class SearchService {
5726
5787
  }> | null;
5727
5788
  getQuery: () => Query;
5728
5789
  } & _ngrx_signals.StateSource<{
5729
- name?: string | undefined;
5730
5790
  text?: string | undefined;
5791
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
5792
+ name?: string | undefined;
5793
+ sort?: string | undefined;
5731
5794
  action?: "" | "search" | "open" | "aggregate" | undefined;
5732
5795
  select?: _sinequa_atomic.Select[] | undefined;
5733
5796
  open?: _sinequa_atomic.Open[] | undefined;
@@ -5735,7 +5798,6 @@ declare class SearchService {
5735
5798
  pageSize?: number | undefined;
5736
5799
  tab?: string | undefined;
5737
5800
  scope?: string | undefined;
5738
- sort?: string | undefined;
5739
5801
  basket?: string | undefined;
5740
5802
  isFirstPage?: boolean | undefined;
5741
5803
  strictRefine?: boolean | undefined;
@@ -5749,7 +5811,6 @@ declare class SearchService {
5749
5811
  relevanceTransforms?: string | undefined;
5750
5812
  removeDuplicates?: boolean | undefined;
5751
5813
  queryId?: string | undefined;
5752
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
5753
5814
  orderBy?: string | undefined;
5754
5815
  groupBy?: string | undefined;
5755
5816
  neuralSearch?: boolean | undefined;
@@ -5862,8 +5923,10 @@ declare class SelectionService {
5862
5923
  private readonly location;
5863
5924
  private readonly selectionStore;
5864
5925
  queryParamsStore: {
5865
- name?: _angular_core.Signal<string | undefined> | undefined;
5866
5926
  text?: _angular_core.Signal<string | undefined> | undefined;
5927
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5928
+ name?: _angular_core.Signal<string | undefined> | undefined;
5929
+ sort?: _angular_core.Signal<string | undefined> | undefined;
5867
5930
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
5868
5931
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
5869
5932
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -5871,7 +5934,6 @@ declare class SelectionService {
5871
5934
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
5872
5935
  tab?: _angular_core.Signal<string | undefined> | undefined;
5873
5936
  scope?: _angular_core.Signal<string | undefined> | undefined;
5874
- sort?: _angular_core.Signal<string | undefined> | undefined;
5875
5937
  basket?: _angular_core.Signal<string | undefined> | undefined;
5876
5938
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
5877
5939
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5885,7 +5947,6 @@ declare class SelectionService {
5885
5947
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
5886
5948
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
5887
5949
  queryId?: _angular_core.Signal<string | undefined> | undefined;
5888
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
5889
5950
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
5890
5951
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
5891
5952
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -5931,8 +5992,10 @@ declare class SelectionService {
5931
5992
  }> | null;
5932
5993
  getQuery: () => _sinequa_atomic.Query;
5933
5994
  } & _ngrx_signals.StateSource<{
5934
- name?: string | undefined;
5935
5995
  text?: string | undefined;
5996
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
5997
+ name?: string | undefined;
5998
+ sort?: string | undefined;
5936
5999
  action?: "" | "search" | "open" | "aggregate" | undefined;
5937
6000
  select?: _sinequa_atomic.Select[] | undefined;
5938
6001
  open?: _sinequa_atomic.Open[] | undefined;
@@ -5940,7 +6003,6 @@ declare class SelectionService {
5940
6003
  pageSize?: number | undefined;
5941
6004
  tab?: string | undefined;
5942
6005
  scope?: string | undefined;
5943
- sort?: string | undefined;
5944
6006
  basket?: string | undefined;
5945
6007
  isFirstPage?: boolean | undefined;
5946
6008
  strictRefine?: boolean | undefined;
@@ -5954,7 +6016,6 @@ declare class SelectionService {
5954
6016
  relevanceTransforms?: string | undefined;
5955
6017
  removeDuplicates?: boolean | undefined;
5956
6018
  queryId?: string | undefined;
5957
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
5958
6019
  orderBy?: string | undefined;
5959
6020
  groupBy?: string | undefined;
5960
6021
  neuralSearch?: boolean | undefined;
@@ -6440,6 +6501,78 @@ declare class SourceComponent {
6440
6501
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SourceComponent, "source, Source", never, { "collection": { "alias": "collection"; "required": false; "isSignal": true; }; "connector": { "alias": "connector"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6441
6502
  }
6442
6503
 
6504
+ /**
6505
+ * Context of a projected `<ng-template aggregationItem>` — the content/label
6506
+ * region of a single item in `<aggregation-list>` / `<aggregation-tree>`.
6507
+ * The host owns only the content; the component keeps the checkbox,
6508
+ * click-to-select, count, virtualization and (tree) chevron/indentation/recursion.
6509
+ *
6510
+ * The `level` / `expanded` / `hasChildren` fields are **tree-only**: they are
6511
+ * populated by `<aggregation-tree>` and left `undefined` by `<aggregation-list>`
6512
+ * (hence optional — a single directive serves both). See {@link AggregationTreeItemContext}
6513
+ * for the tree-specialized (all-required) shape, if you prefer to annotate `let-*` manually.
6514
+ */
6515
+ interface AggregationItemContext {
6516
+ /** The aggregation item (list) or node (tree). */
6517
+ $implicit: AggregationListItem;
6518
+ /** The aggregation column. */
6519
+ field: string | null | undefined;
6520
+ /** Whether the item is currently selected. */
6521
+ selected: boolean;
6522
+ /** The item's document count. */
6523
+ count: number;
6524
+ /** The localized display label (`display || value`, run through `syslang`). */
6525
+ name: string;
6526
+ /** The current search-within-facet text — re-apply `highlightWord` with it if needed. */
6527
+ searchText: string;
6528
+ /** Tree only — depth level of the node (drives indentation in the default template). */
6529
+ level?: number;
6530
+ /** Tree only — whether the node is expanded. */
6531
+ expanded?: boolean;
6532
+ /** Tree only — whether the node has (or may lazily load) children. */
6533
+ hasChildren?: boolean;
6534
+ }
6535
+ /**
6536
+ * Tree-specialized context: same as {@link AggregationItemContext} but with the
6537
+ * structural fields required. `<aggregation-tree>` always populates them; use this
6538
+ * type to annotate `let-*` when you want them non-optional in a tree template.
6539
+ */
6540
+ interface AggregationTreeItemContext extends AggregationItemContext {
6541
+ level: number;
6542
+ expanded: boolean;
6543
+ hasChildren: boolean;
6544
+ }
6545
+ /**
6546
+ * Marker directive: project a custom template for the content/label region of
6547
+ * each aggregation item. Put it on an `<ng-template>` inside `<aggregation-list>`
6548
+ * or `<aggregation-tree>`:
6549
+ *
6550
+ * ```html
6551
+ * <aggregation-list name="Languages" column="language" [aggregation]="agg">
6552
+ * <ng-template aggregationItem let-item let-count="count" let-selected="selected">
6553
+ * <span>{{ item.display }}</span>
6554
+ * <span class="badge">{{ count }}</span>
6555
+ * </ng-template>
6556
+ * </aggregation-list>
6557
+ * ```
6558
+ *
6559
+ * When no template is projected, the component renders its default row content.
6560
+ * The `let-*` variables are typed under `strictTemplates` via
6561
+ * {@link AggregationItemDirective.ngTemplateContextGuard}; the host must import
6562
+ * this directive in its component `imports`.
6563
+ */
6564
+ declare class AggregationItemDirective {
6565
+ readonly template: TemplateRef<AggregationItemContext>;
6566
+ /**
6567
+ * Narrows the `let-*` of `<ng-template aggregationItem>` under `strictTemplates`.
6568
+ * Tree-only fields (`level`/`expanded`/`hasChildren`) are typed as optional; a tree
6569
+ * template can re-annotate them via {@link AggregationTreeItemContext} if desired.
6570
+ */
6571
+ static ngTemplateContextGuard(_dir: AggregationItemDirective, ctx: unknown): ctx is AggregationItemContext;
6572
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationItemDirective, never>;
6573
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AggregationItemDirective, "[aggregationItem]", never, {}, {}, never, never, true, never>;
6574
+ }
6575
+
6443
6576
  /**
6444
6577
  * Directive to mark a child element for special processing.
6445
6578
  * This can be used to apply specific styles or behaviors to child elements.
@@ -7224,8 +7357,10 @@ declare class SponsoredResultsComponent {
7224
7357
  columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
7225
7358
  }>;
7226
7359
  queryParamStore: {
7227
- name?: _angular_core.Signal<string | undefined> | undefined;
7228
7360
  text?: _angular_core.Signal<string | undefined> | undefined;
7361
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7362
+ name?: _angular_core.Signal<string | undefined> | undefined;
7363
+ sort?: _angular_core.Signal<string | undefined> | undefined;
7229
7364
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
7230
7365
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
7231
7366
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -7233,7 +7368,6 @@ declare class SponsoredResultsComponent {
7233
7368
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
7234
7369
  tab?: _angular_core.Signal<string | undefined> | undefined;
7235
7370
  scope?: _angular_core.Signal<string | undefined> | undefined;
7236
- sort?: _angular_core.Signal<string | undefined> | undefined;
7237
7371
  basket?: _angular_core.Signal<string | undefined> | undefined;
7238
7372
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
7239
7373
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -7247,7 +7381,6 @@ declare class SponsoredResultsComponent {
7247
7381
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
7248
7382
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
7249
7383
  queryId?: _angular_core.Signal<string | undefined> | undefined;
7250
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7251
7384
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
7252
7385
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
7253
7386
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -7293,8 +7426,10 @@ declare class SponsoredResultsComponent {
7293
7426
  }> | null;
7294
7427
  getQuery: () => _sinequa_atomic.Query;
7295
7428
  } & _ngrx_signals.StateSource<{
7296
- name?: string | undefined;
7297
7429
  text?: string | undefined;
7430
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
7431
+ name?: string | undefined;
7432
+ sort?: string | undefined;
7298
7433
  action?: "" | "search" | "open" | "aggregate" | undefined;
7299
7434
  select?: _sinequa_atomic.Select[] | undefined;
7300
7435
  open?: _sinequa_atomic.Open[] | undefined;
@@ -7302,7 +7437,6 @@ declare class SponsoredResultsComponent {
7302
7437
  pageSize?: number | undefined;
7303
7438
  tab?: string | undefined;
7304
7439
  scope?: string | undefined;
7305
- sort?: string | undefined;
7306
7440
  basket?: string | undefined;
7307
7441
  isFirstPage?: boolean | undefined;
7308
7442
  strictRefine?: boolean | undefined;
@@ -7316,7 +7450,6 @@ declare class SponsoredResultsComponent {
7316
7450
  relevanceTransforms?: string | undefined;
7317
7451
  removeDuplicates?: boolean | undefined;
7318
7452
  queryId?: string | undefined;
7319
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
7320
7453
  orderBy?: string | undefined;
7321
7454
  groupBy?: string | undefined;
7322
7455
  neuralSearch?: boolean | undefined;
@@ -7571,20 +7704,67 @@ declare class AggregationDateComponent {
7571
7704
  * @default true
7572
7705
  */
7573
7706
  syncUrl: _angular_core.InputSignalWithTransform<boolean, unknown>;
7707
+ /**
7708
+ * Controlled query. When set, the component's own operations run against this
7709
+ * query instead of reading the shared `QueryParamsStore`. Use to target a query
7710
+ * not tied to the current app, without mutating the shared store or the URL.
7711
+ *
7712
+ * @default undefined — read `QueryParamsStore.getQuery()` (current behavior)
7713
+ */
7714
+ controlledQuery: _angular_core.InputSignal<Query | undefined>;
7715
+ /**
7716
+ * Controlled data. When set, the component renders this aggregation object
7717
+ * instead of reading it from the shared `AggregationsStore`.
7718
+ *
7719
+ * @default undefined — read `AggregationsStore` (current behavior)
7720
+ */
7721
+ controlledAggregation: _angular_core.InputSignal<Aggregation | undefined>;
7722
+ /**
7723
+ * Controlled selection. When set, the date form is derived from this value
7724
+ * instead of the shared `QueryParamsStore` filters:
7725
+ * `{ kind: "option", option }` re-selects the date option whose aggregation
7726
+ * item `value` matches (the real filter value, never the `display`);
7727
+ * `{ kind: "range", from, to }` fills the custom range from the bounds.
7728
+ * The two kinds are mutually exclusive — a date selection is either a preset
7729
+ * or a custom range.
7730
+ *
7731
+ * @default undefined — derive from `QueryParamsStore` filters (current behavior)
7732
+ */
7733
+ controlledSelection: _angular_core.InputSignal<AggregationSelection | undefined>;
7574
7734
  readonly title: _angular_core.InputSignal<AggregationTitle>;
7575
7735
  readonly displayEmptyDistributionIntervals: _angular_core.InputSignal<boolean>;
7576
7736
  onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
7577
7737
  onApply: _angular_core.OutputEmitterRef<void>;
7578
7738
  onClear: _angular_core.OutputEmitterRef<void>;
7739
+ /**
7740
+ * Emits the new selection (`{ kind: "option" }` preset or `{ kind: "range" }`
7741
+ * custom range) in controlled mode. The counterpart of the `[selection]` input,
7742
+ * emitted before `filtersChange`. Date is a radio list, so this fires **live at
7743
+ * selection time** — picking a preset radio, or confirming a date in the custom
7744
+ * range picker — not on an apply click (the custom-range radio alone, with no
7745
+ * date picked, emits nothing). Also emitted on clear. In controlled mode this is
7746
+ * the only way changes surface: nothing is written to the shared stores or the URL.
7747
+ */
7748
+ selectionChange: _angular_core.OutputEmitterRef<AggregationSelection>;
7749
+ /**
7750
+ * Emits the selection as a structured `Filter` (the exact filter the default
7751
+ * mode would write to the store), ready for `fetchQuery({ filters })`.
7752
+ * `undefined` on clear. Controlled mode only — emitted right after
7753
+ * `selectionChange` (see its live-emission timing).
7754
+ */
7755
+ filtersChange: _angular_core.OutputEmitterRef<Filter$2 | undefined>;
7579
7756
  isCollapsed: _angular_core.WritableSignal<boolean>;
7580
7757
  expanded: _angular_core.Signal<"" | null>;
7581
7758
  protected readonly searchText: _angular_core.ModelSignal<string>;
7582
7759
  private readonly searchInput;
7583
7760
  private readonly base;
7761
+ readonly isControlled: _angular_core.Signal<boolean>;
7584
7762
  readonly aggregationsService: _sinequa_atomic_angular.AggregationsService;
7585
7763
  readonly queryParamsStore: {
7586
- name?: _angular_core.Signal<string | undefined> | undefined;
7587
7764
  text?: _angular_core.Signal<string | undefined> | undefined;
7765
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7766
+ name?: _angular_core.Signal<string | undefined> | undefined;
7767
+ sort?: _angular_core.Signal<string | undefined> | undefined;
7588
7768
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
7589
7769
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
7590
7770
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -7592,7 +7772,6 @@ declare class AggregationDateComponent {
7592
7772
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
7593
7773
  tab?: _angular_core.Signal<string | undefined> | undefined;
7594
7774
  scope?: _angular_core.Signal<string | undefined> | undefined;
7595
- sort?: _angular_core.Signal<string | undefined> | undefined;
7596
7775
  basket?: _angular_core.Signal<string | undefined> | undefined;
7597
7776
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
7598
7777
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -7606,7 +7785,6 @@ declare class AggregationDateComponent {
7606
7785
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
7607
7786
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
7608
7787
  queryId?: _angular_core.Signal<string | undefined> | undefined;
7609
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7610
7788
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
7611
7789
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
7612
7790
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -7650,10 +7828,12 @@ declare class AggregationDateComponent {
7650
7828
  }) => Partial<LegacyFilter & {
7651
7829
  count: number;
7652
7830
  }> | null;
7653
- getQuery: () => _sinequa_atomic.Query;
7831
+ getQuery: () => Query;
7654
7832
  } & _ngrx_signals.StateSource<{
7655
- name?: string | undefined;
7656
7833
  text?: string | undefined;
7834
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
7835
+ name?: string | undefined;
7836
+ sort?: string | undefined;
7657
7837
  action?: "" | "search" | "open" | "aggregate" | undefined;
7658
7838
  select?: _sinequa_atomic.Select[] | undefined;
7659
7839
  open?: _sinequa_atomic.Open[] | undefined;
@@ -7661,7 +7841,6 @@ declare class AggregationDateComponent {
7661
7841
  pageSize?: number | undefined;
7662
7842
  tab?: string | undefined;
7663
7843
  scope?: string | undefined;
7664
- sort?: string | undefined;
7665
7844
  basket?: string | undefined;
7666
7845
  isFirstPage?: boolean | undefined;
7667
7846
  strictRefine?: boolean | undefined;
@@ -7675,7 +7854,6 @@ declare class AggregationDateComponent {
7675
7854
  relevanceTransforms?: string | undefined;
7676
7855
  removeDuplicates?: boolean | undefined;
7677
7856
  queryId?: string | undefined;
7678
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
7679
7857
  orderBy?: string | undefined;
7680
7858
  groupBy?: string | undefined;
7681
7859
  neuralSearch?: boolean | undefined;
@@ -7689,6 +7867,13 @@ declare class AggregationDateComponent {
7689
7867
  readonly transloco: TranslocoService;
7690
7868
  protected readonly selection: _angular_core.WritableSignal<boolean>;
7691
7869
  protected readonly validSelection: _angular_core.WritableSignal<boolean>;
7870
+ /**
7871
+ * Guards live emission while the form is seeded programmatically from the
7872
+ * `[selection]` input (see the seeding effect below). `form.setValue`/`patchValue`
7873
+ * emit `valueChanges` synchronously; without this flag a controlled host that
7874
+ * re-feeds `[selection]` from `selectionChange` would loop indefinitely.
7875
+ */
7876
+ private seedingForm;
7692
7877
  readonly aggregation: _angular_core.Signal<AggEx | null>;
7693
7878
  readonly isEmpty: _angular_core.Signal<boolean>;
7694
7879
  readonly items: _angular_core.Signal<AggregationItem[]>;
@@ -7706,6 +7891,13 @@ declare class AggregationDateComponent {
7706
7891
  protected readonly customRangeFrom: _angular_core.Signal<string>;
7707
7892
  protected readonly customRangeTo: _angular_core.Signal<string>;
7708
7893
  constructor();
7894
+ /**
7895
+ * Emits the current form selection through `selectionChange` then `filtersChange`
7896
+ * (controlled mode). Shared by `apply()` and the live emission paths so both
7897
+ * produce identical payloads. Throws if the form is not a valid selection
7898
+ * (`getFormValueFilter`) — callers decide how to surface it.
7899
+ */
7900
+ private emitCurrentSelection;
7709
7901
  select(): void;
7710
7902
  apply(): void;
7711
7903
  clear(notify?: boolean): void;
@@ -7713,10 +7905,39 @@ declare class AggregationDateComponent {
7713
7905
  protected selectAndOpenDialog(): void;
7714
7906
  protected onRangeSelected(range: DateRange): void;
7715
7907
  private updateForm;
7908
+ /**
7909
+ * Derives the form from a controlled selection.
7910
+ * `{ kind: "option" }` re-selects the date option whose item `value` matches —
7911
+ * no operator/value matching, so presets whose bounds are computed relative to
7912
+ * today survive a round-trip across days; a value unknown to the aggregation
7913
+ * resets the form. `{ kind: "range" }` fills the custom range from the bounds.
7914
+ */
7915
+ private updateFormFromSelection;
7916
+ /**
7917
+ * The date option codes (what `form.option` holds) are the items' `display`
7918
+ * with a fallback on their `value` (see `translateAggregationToDateOptions`).
7919
+ * The controlled selection persists the item `value` — the real filter value —
7920
+ * so these two helpers convert between the option code and the item value.
7921
+ */
7922
+ private optionToItemValue;
7923
+ private itemValueToOption;
7924
+ /**
7925
+ * Converts a controlled `{ kind: "range" }` selection to the `LegacyFilter`
7926
+ * shape `updateForm` expects (which only reads `operator`/`value`/`filters`).
7927
+ * Returns `undefined` for an empty or non-range selection, which resets the form.
7928
+ */
7929
+ private rangeToLegacyFilter;
7930
+ /**
7931
+ * Converts the applied `LegacyFilter` to a `{ kind: "range" }` selection
7932
+ * (the shape emitted through `selectionChange` in controlled mode).
7933
+ * Mirrors the operator handling of `updateForm`. Presets whose operator is not
7934
+ * a range operator (e.g. `eq`) collapse to `from = to = value`.
7935
+ */
7936
+ private toRangeSelection;
7716
7937
  private toEndOfDay;
7717
7938
  private getFormValueFilter;
7718
7939
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationDateComponent, never>;
7719
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationDateComponent, "aggregation-date, AggregationDate, aggregationdate", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "syncUrl": { "alias": "syncUrl"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "displayEmptyDistributionIntervals": { "alias": "displayEmptyDistributionIntervals"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "searchText": "searchTextChange"; }, never, ["label"], true, never>;
7940
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationDateComponent, "aggregation-date, AggregationDate, aggregationdate", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "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; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "displayEmptyDistributionIntervals": { "alias": "displayEmptyDistributionIntervals"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "selectionChange": "selectionChange"; "filtersChange": "filtersChange"; "searchText": "searchTextChange"; }, never, ["label"], true, never>;
7720
7941
  }
7721
7942
 
7722
7943
  /**
@@ -7758,8 +7979,10 @@ declare class AdvancedSearch {
7758
7979
  multiSelection: Article$1[];
7759
7980
  }>;
7760
7981
  protected readonly queryParamsStore: {
7761
- name?: _angular_core.Signal<string | undefined> | undefined;
7762
7982
  text?: _angular_core.Signal<string | undefined> | undefined;
7983
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7984
+ name?: _angular_core.Signal<string | undefined> | undefined;
7985
+ sort?: _angular_core.Signal<string | undefined> | undefined;
7763
7986
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
7764
7987
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
7765
7988
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -7767,7 +7990,6 @@ declare class AdvancedSearch {
7767
7990
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
7768
7991
  tab?: _angular_core.Signal<string | undefined> | undefined;
7769
7992
  scope?: _angular_core.Signal<string | undefined> | undefined;
7770
- sort?: _angular_core.Signal<string | undefined> | undefined;
7771
7993
  basket?: _angular_core.Signal<string | undefined> | undefined;
7772
7994
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
7773
7995
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -7781,7 +8003,6 @@ declare class AdvancedSearch {
7781
8003
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
7782
8004
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
7783
8005
  queryId?: _angular_core.Signal<string | undefined> | undefined;
7784
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
7785
8006
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
7786
8007
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
7787
8008
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -7827,8 +8048,10 @@ declare class AdvancedSearch {
7827
8048
  }> | null;
7828
8049
  getQuery: () => _sinequa_atomic.Query;
7829
8050
  } & _ngrx_signals.StateSource<{
7830
- name?: string | undefined;
7831
8051
  text?: string | undefined;
8052
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
8053
+ name?: string | undefined;
8054
+ sort?: string | undefined;
7832
8055
  action?: "" | "search" | "open" | "aggregate" | undefined;
7833
8056
  select?: _sinequa_atomic.Select[] | undefined;
7834
8057
  open?: _sinequa_atomic.Open[] | undefined;
@@ -7836,7 +8059,6 @@ declare class AdvancedSearch {
7836
8059
  pageSize?: number | undefined;
7837
8060
  tab?: string | undefined;
7838
8061
  scope?: string | undefined;
7839
- sort?: string | undefined;
7840
8062
  basket?: string | undefined;
7841
8063
  isFirstPage?: boolean | undefined;
7842
8064
  strictRefine?: boolean | undefined;
@@ -7850,7 +8072,6 @@ declare class AdvancedSearch {
7850
8072
  relevanceTransforms?: string | undefined;
7851
8073
  removeDuplicates?: boolean | undefined;
7852
8074
  queryId?: string | undefined;
7853
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
7854
8075
  orderBy?: string | undefined;
7855
8076
  groupBy?: string | undefined;
7856
8077
  neuralSearch?: boolean | undefined;
@@ -8244,8 +8465,10 @@ declare class ArticleLabels {
8244
8465
 
8245
8466
  declare class ArticleSimilarDocuments {
8246
8467
  protected readonly queryParamsStore: {
8247
- name?: _angular_core.Signal<string | undefined> | undefined;
8248
8468
  text?: _angular_core.Signal<string | undefined> | undefined;
8469
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
8470
+ name?: _angular_core.Signal<string | undefined> | undefined;
8471
+ sort?: _angular_core.Signal<string | undefined> | undefined;
8249
8472
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
8250
8473
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
8251
8474
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -8253,7 +8476,6 @@ declare class ArticleSimilarDocuments {
8253
8476
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
8254
8477
  tab?: _angular_core.Signal<string | undefined> | undefined;
8255
8478
  scope?: _angular_core.Signal<string | undefined> | undefined;
8256
- sort?: _angular_core.Signal<string | undefined> | undefined;
8257
8479
  basket?: _angular_core.Signal<string | undefined> | undefined;
8258
8480
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
8259
8481
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -8267,7 +8489,6 @@ declare class ArticleSimilarDocuments {
8267
8489
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
8268
8490
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
8269
8491
  queryId?: _angular_core.Signal<string | undefined> | undefined;
8270
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
8271
8492
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
8272
8493
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
8273
8494
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -8313,8 +8534,10 @@ declare class ArticleSimilarDocuments {
8313
8534
  }> | null;
8314
8535
  getQuery: () => _sinequa_atomic.Query;
8315
8536
  } & _ngrx_signals.StateSource<{
8316
- name?: string | undefined;
8317
8537
  text?: string | undefined;
8538
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
8539
+ name?: string | undefined;
8540
+ sort?: string | undefined;
8318
8541
  action?: "" | "search" | "open" | "aggregate" | undefined;
8319
8542
  select?: _sinequa_atomic.Select[] | undefined;
8320
8543
  open?: _sinequa_atomic.Open[] | undefined;
@@ -8322,7 +8545,6 @@ declare class ArticleSimilarDocuments {
8322
8545
  pageSize?: number | undefined;
8323
8546
  tab?: string | undefined;
8324
8547
  scope?: string | undefined;
8325
- sort?: string | undefined;
8326
8548
  basket?: string | undefined;
8327
8549
  isFirstPage?: boolean | undefined;
8328
8550
  strictRefine?: boolean | undefined;
@@ -8336,7 +8558,6 @@ declare class ArticleSimilarDocuments {
8336
8558
  relevanceTransforms?: string | undefined;
8337
8559
  removeDuplicates?: boolean | undefined;
8338
8560
  queryId?: string | undefined;
8339
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
8340
8561
  orderBy?: string | undefined;
8341
8562
  groupBy?: string | undefined;
8342
8563
  neuralSearch?: boolean | undefined;
@@ -8581,7 +8802,7 @@ declare class SignedOutComponent {
8581
8802
  }
8582
8803
 
8583
8804
  declare class BookmarkButtonComponent {
8584
- variant: _angular_core.InputSignal<"default" | "icon" | "primary" | "secondary" | "destructive" | "ai" | "link" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | "none" | null | undefined>;
8805
+ variant: _angular_core.InputSignal<"icon" | "default" | "none" | "primary" | "secondary" | "destructive" | "ai" | "link" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | null | undefined>;
8585
8806
  size: _angular_core.InputSignal<"icon" | "xs" | "sm" | "md" | "lg" | null | undefined>;
8586
8807
  readonly article: _angular_core.InputSignal<Partial<Article$1>>;
8587
8808
  private readonly userSettingsStore;
@@ -9025,8 +9246,10 @@ declare class AdvancedSearchComponent {
9025
9246
  multiSelection: Article$1[];
9026
9247
  }>;
9027
9248
  protected readonly queryParamsStore: {
9028
- name?: _angular_core.Signal<string | undefined> | undefined;
9029
9249
  text?: _angular_core.Signal<string | undefined> | undefined;
9250
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
9251
+ name?: _angular_core.Signal<string | undefined> | undefined;
9252
+ sort?: _angular_core.Signal<string | undefined> | undefined;
9030
9253
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
9031
9254
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
9032
9255
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -9034,7 +9257,6 @@ declare class AdvancedSearchComponent {
9034
9257
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
9035
9258
  tab?: _angular_core.Signal<string | undefined> | undefined;
9036
9259
  scope?: _angular_core.Signal<string | undefined> | undefined;
9037
- sort?: _angular_core.Signal<string | undefined> | undefined;
9038
9260
  basket?: _angular_core.Signal<string | undefined> | undefined;
9039
9261
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
9040
9262
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -9048,7 +9270,6 @@ declare class AdvancedSearchComponent {
9048
9270
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
9049
9271
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
9050
9272
  queryId?: _angular_core.Signal<string | undefined> | undefined;
9051
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
9052
9273
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
9053
9274
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
9054
9275
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -9094,8 +9315,10 @@ declare class AdvancedSearchComponent {
9094
9315
  }> | null;
9095
9316
  getQuery: () => _sinequa_atomic.Query;
9096
9317
  } & _ngrx_signals.StateSource<{
9097
- name?: string | undefined;
9098
9318
  text?: string | undefined;
9319
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
9320
+ name?: string | undefined;
9321
+ sort?: string | undefined;
9099
9322
  action?: "" | "search" | "open" | "aggregate" | undefined;
9100
9323
  select?: _sinequa_atomic.Select[] | undefined;
9101
9324
  open?: _sinequa_atomic.Open[] | undefined;
@@ -9103,7 +9326,6 @@ declare class AdvancedSearchComponent {
9103
9326
  pageSize?: number | undefined;
9104
9327
  tab?: string | undefined;
9105
9328
  scope?: string | undefined;
9106
- sort?: string | undefined;
9107
9329
  basket?: string | undefined;
9108
9330
  isFirstPage?: boolean | undefined;
9109
9331
  strictRefine?: boolean | undefined;
@@ -9117,7 +9339,6 @@ declare class AdvancedSearchComponent {
9117
9339
  relevanceTransforms?: string | undefined;
9118
9340
  removeDuplicates?: boolean | undefined;
9119
9341
  queryId?: string | undefined;
9120
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
9121
9342
  orderBy?: string | undefined;
9122
9343
  groupBy?: string | undefined;
9123
9344
  neuralSearch?: boolean | undefined;
@@ -9503,8 +9724,10 @@ declare class DrawerPreviewComponent extends DrawerComponent {
9503
9724
  multiSelection: _sinequa_atomic.Article[];
9504
9725
  }>;
9505
9726
  queryParamsStore: {
9506
- name?: _angular_core.Signal<string | undefined> | undefined;
9507
9727
  text?: _angular_core.Signal<string | undefined> | undefined;
9728
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
9729
+ name?: _angular_core.Signal<string | undefined> | undefined;
9730
+ sort?: _angular_core.Signal<string | undefined> | undefined;
9508
9731
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
9509
9732
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
9510
9733
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -9512,7 +9735,6 @@ declare class DrawerPreviewComponent extends DrawerComponent {
9512
9735
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
9513
9736
  tab?: _angular_core.Signal<string | undefined> | undefined;
9514
9737
  scope?: _angular_core.Signal<string | undefined> | undefined;
9515
- sort?: _angular_core.Signal<string | undefined> | undefined;
9516
9738
  basket?: _angular_core.Signal<string | undefined> | undefined;
9517
9739
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
9518
9740
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -9526,7 +9748,6 @@ declare class DrawerPreviewComponent extends DrawerComponent {
9526
9748
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
9527
9749
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
9528
9750
  queryId?: _angular_core.Signal<string | undefined> | undefined;
9529
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
9530
9751
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
9531
9752
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
9532
9753
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -9572,8 +9793,10 @@ declare class DrawerPreviewComponent extends DrawerComponent {
9572
9793
  }> | null;
9573
9794
  getQuery: () => _sinequa_atomic.Query;
9574
9795
  } & _ngrx_signals.StateSource<{
9575
- name?: string | undefined;
9576
9796
  text?: string | undefined;
9797
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
9798
+ name?: string | undefined;
9799
+ sort?: string | undefined;
9577
9800
  action?: "" | "search" | "open" | "aggregate" | undefined;
9578
9801
  select?: _sinequa_atomic.Select[] | undefined;
9579
9802
  open?: _sinequa_atomic.Open[] | undefined;
@@ -9581,7 +9804,6 @@ declare class DrawerPreviewComponent extends DrawerComponent {
9581
9804
  pageSize?: number | undefined;
9582
9805
  tab?: string | undefined;
9583
9806
  scope?: string | undefined;
9584
- sort?: string | undefined;
9585
9807
  basket?: string | undefined;
9586
9808
  isFirstPage?: boolean | undefined;
9587
9809
  strictRefine?: boolean | undefined;
@@ -9595,7 +9817,6 @@ declare class DrawerPreviewComponent extends DrawerComponent {
9595
9817
  relevanceTransforms?: string | undefined;
9596
9818
  removeDuplicates?: boolean | undefined;
9597
9819
  queryId?: string | undefined;
9598
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
9599
9820
  orderBy?: string | undefined;
9600
9821
  groupBy?: string | undefined;
9601
9822
  neuralSearch?: boolean | undefined;
@@ -9715,8 +9936,10 @@ declare class ExportDialog implements DialogInterface {
9715
9936
  private appStore;
9716
9937
  readonly exportService: ExportService;
9717
9938
  readonly queryParamsStore: {
9718
- name?: _angular_core.Signal<string | undefined> | undefined;
9719
9939
  text?: _angular_core.Signal<string | undefined> | undefined;
9940
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
9941
+ name?: _angular_core.Signal<string | undefined> | undefined;
9942
+ sort?: _angular_core.Signal<string | undefined> | undefined;
9720
9943
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
9721
9944
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
9722
9945
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -9724,7 +9947,6 @@ declare class ExportDialog implements DialogInterface {
9724
9947
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
9725
9948
  tab?: _angular_core.Signal<string | undefined> | undefined;
9726
9949
  scope?: _angular_core.Signal<string | undefined> | undefined;
9727
- sort?: _angular_core.Signal<string | undefined> | undefined;
9728
9950
  basket?: _angular_core.Signal<string | undefined> | undefined;
9729
9951
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
9730
9952
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -9738,7 +9960,6 @@ declare class ExportDialog implements DialogInterface {
9738
9960
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
9739
9961
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
9740
9962
  queryId?: _angular_core.Signal<string | undefined> | undefined;
9741
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
9742
9963
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
9743
9964
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
9744
9965
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -9784,8 +10005,10 @@ declare class ExportDialog implements DialogInterface {
9784
10005
  }> | null;
9785
10006
  getQuery: () => _sinequa_atomic.Query;
9786
10007
  } & _ngrx_signals.StateSource<{
9787
- name?: string | undefined;
9788
10008
  text?: string | undefined;
10009
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
10010
+ name?: string | undefined;
10011
+ sort?: string | undefined;
9789
10012
  action?: "" | "search" | "open" | "aggregate" | undefined;
9790
10013
  select?: _sinequa_atomic.Select[] | undefined;
9791
10014
  open?: _sinequa_atomic.Open[] | undefined;
@@ -9793,7 +10016,6 @@ declare class ExportDialog implements DialogInterface {
9793
10016
  pageSize?: number | undefined;
9794
10017
  tab?: string | undefined;
9795
10018
  scope?: string | undefined;
9796
- sort?: string | undefined;
9797
10019
  basket?: string | undefined;
9798
10020
  isFirstPage?: boolean | undefined;
9799
10021
  strictRefine?: boolean | undefined;
@@ -9807,7 +10029,6 @@ declare class ExportDialog implements DialogInterface {
9807
10029
  relevanceTransforms?: string | undefined;
9808
10030
  removeDuplicates?: boolean | undefined;
9809
10031
  queryId?: string | undefined;
9810
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
9811
10032
  orderBy?: string | undefined;
9812
10033
  groupBy?: string | undefined;
9813
10034
  neuralSearch?: boolean | undefined;
@@ -10167,12 +10388,14 @@ declare class SearchFeedbackComponent {
10167
10388
  onClose: _angular_core.OutputEmitterRef<void>;
10168
10389
  readonly feedbackDialog: _angular_core.Signal<FeedbackDialogComponent | undefined>;
10169
10390
  pages: _angular_core.InputSignal<any>;
10170
- variant: _angular_core.InputSignal<"default" | "icon" | "primary" | "secondary" | "destructive" | "ai" | "link" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | "none" | null | undefined>;
10391
+ variant: _angular_core.InputSignal<"icon" | "default" | "none" | "primary" | "secondary" | "destructive" | "ai" | "link" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | null | undefined>;
10171
10392
  solid: _angular_core.InputSignal<boolean | null | undefined>;
10172
10393
  readonly auditService: AuditService;
10173
10394
  protected readonly queryParamsStore: {
10174
- name?: _angular_core.Signal<string | undefined> | undefined;
10175
10395
  text?: _angular_core.Signal<string | undefined> | undefined;
10396
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
10397
+ name?: _angular_core.Signal<string | undefined> | undefined;
10398
+ sort?: _angular_core.Signal<string | undefined> | undefined;
10176
10399
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
10177
10400
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
10178
10401
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -10180,7 +10403,6 @@ declare class SearchFeedbackComponent {
10180
10403
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
10181
10404
  tab?: _angular_core.Signal<string | undefined> | undefined;
10182
10405
  scope?: _angular_core.Signal<string | undefined> | undefined;
10183
- sort?: _angular_core.Signal<string | undefined> | undefined;
10184
10406
  basket?: _angular_core.Signal<string | undefined> | undefined;
10185
10407
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
10186
10408
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10194,7 +10416,6 @@ declare class SearchFeedbackComponent {
10194
10416
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
10195
10417
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
10196
10418
  queryId?: _angular_core.Signal<string | undefined> | undefined;
10197
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
10198
10419
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
10199
10420
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
10200
10421
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10240,8 +10461,10 @@ declare class SearchFeedbackComponent {
10240
10461
  }> | null;
10241
10462
  getQuery: () => _sinequa_atomic.Query;
10242
10463
  } & _ngrx_signals.StateSource<{
10243
- name?: string | undefined;
10244
10464
  text?: string | undefined;
10465
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
10466
+ name?: string | undefined;
10467
+ sort?: string | undefined;
10245
10468
  action?: "" | "search" | "open" | "aggregate" | undefined;
10246
10469
  select?: _sinequa_atomic.Select[] | undefined;
10247
10470
  open?: _sinequa_atomic.Open[] | undefined;
@@ -10249,7 +10472,6 @@ declare class SearchFeedbackComponent {
10249
10472
  pageSize?: number | undefined;
10250
10473
  tab?: string | undefined;
10251
10474
  scope?: string | undefined;
10252
- sort?: string | undefined;
10253
10475
  basket?: string | undefined;
10254
10476
  isFirstPage?: boolean | undefined;
10255
10477
  strictRefine?: boolean | undefined;
@@ -10263,7 +10485,6 @@ declare class SearchFeedbackComponent {
10263
10485
  relevanceTransforms?: string | undefined;
10264
10486
  removeDuplicates?: boolean | undefined;
10265
10487
  queryId?: string | undefined;
10266
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
10267
10488
  orderBy?: string | undefined;
10268
10489
  groupBy?: string | undefined;
10269
10490
  neuralSearch?: boolean | undefined;
@@ -10300,6 +10521,14 @@ declare class AggregationTreeComponent {
10300
10521
  collapsed: _angular_core.InputSignal<boolean>;
10301
10522
  searchable: _angular_core.InputSignal<boolean | undefined>;
10302
10523
  showFiltersCount: _angular_core.InputSignalWithTransform<boolean, unknown>;
10524
+ /**
10525
+ * Whether to render the per-node checkbox. When `false`, the checkbox is hidden
10526
+ * but selection still toggles on row click — pair it with a custom `aggregationItem`
10527
+ * template that reflects the `selected` context to convey selection.
10528
+ *
10529
+ * @default true
10530
+ */
10531
+ showCheckbox: _angular_core.InputSignalWithTransform<boolean, unknown>;
10303
10532
  expandedLevel: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
10304
10533
  /**
10305
10534
  * When `false`, applying or clearing filters updates the store without
@@ -10308,15 +10537,63 @@ declare class AggregationTreeComponent {
10308
10537
  * @default true
10309
10538
  */
10310
10539
  syncUrl: _angular_core.InputSignalWithTransform<boolean, unknown>;
10540
+ /**
10541
+ * Controlled query. When set, the component's own operations (load-more,
10542
+ * search-within-facet, tree-expand) run against this query instead of reading
10543
+ * the shared `QueryParamsStore`. Use to target a query not tied to the current
10544
+ * app, without mutating the shared store or the URL.
10545
+ *
10546
+ * @default undefined — read `QueryParamsStore.getQuery()` (current behavior)
10547
+ */
10548
+ controlledQuery: _angular_core.InputSignal<Query | undefined>;
10549
+ /**
10550
+ * Controlled data. When set, the component renders this aggregation object
10551
+ * instead of reading it from the shared `AggregationsStore`.
10552
+ *
10553
+ * @default undefined — read `AggregationsStore` (current behavior)
10554
+ */
10555
+ controlledAggregation: _angular_core.InputSignal<Aggregation | undefined>;
10556
+ /**
10557
+ * Controlled selection. When set, item `$selected` state is derived from this
10558
+ * value (`paths` in the `"/A/B/*"` format) instead of the shared
10559
+ * `QueryParamsStore` filters.
10560
+ *
10561
+ * @default undefined — derive from `QueryParamsStore` filters (current behavior)
10562
+ */
10563
+ controlledSelection: _angular_core.InputSignal<AggregationSelection | undefined>;
10311
10564
  onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
10312
10565
  onApply: _angular_core.OutputEmitterRef<void>;
10313
10566
  onClear: _angular_core.OutputEmitterRef<void>;
10567
+ /**
10568
+ * Emits the new selection (`"/A/B/*"` paths) when the user applies or clears
10569
+ * filters in controlled mode. The counterpart of the `[selection]` input —
10570
+ * emitted before `filtersChange` and `onApply`/`onClear`. In controlled mode
10571
+ * this is the only way changes surface: nothing is written to the shared
10572
+ * stores or the URL.
10573
+ */
10574
+ selectionChange: _angular_core.OutputEmitterRef<AggregationSelection>;
10575
+ /**
10576
+ * Emits the applied selection as a structured `Filter` (the exact filter the
10577
+ * default mode would write to the store), ready for `fetchQuery({ filters })`.
10578
+ * `undefined` on clear. Controlled mode only — emitted after `selectionChange`,
10579
+ * before `onApply`/`onClear`.
10580
+ */
10581
+ filtersChange: _angular_core.OutputEmitterRef<Filter$2 | undefined>;
10314
10582
  virtualItems: _angular_core.Signal<readonly ElementRef<HTMLDivElement>[]>;
10315
10583
  scrollElement: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
10584
+ protected readonly itemDirective: _angular_core.Signal<AggregationItemDirective | undefined>;
10585
+ /**
10586
+ * Item content template relayed by the `<Aggregation>` wrapper (which cannot
10587
+ * project content into this component). Also usable directly as a `TemplateRef`
10588
+ * input. A directive projected straight onto this component takes precedence.
10589
+ */
10590
+ readonly itemTemplateInput: _angular_core.InputSignal<TemplateRef<AggregationItemContext> | undefined>;
10591
+ protected readonly resolvedItemTemplate: _angular_core.Signal<TemplateRef<AggregationItemContext> | undefined>;
10316
10592
  selection: _angular_core.WritableSignal<boolean>;
10317
10593
  isAllSelected: _angular_core.WritableSignal<boolean>;
10318
10594
  searchText: _angular_core.ModelSignal<string>;
10319
10595
  private readonly base;
10596
+ readonly isControlled: _angular_core.Signal<boolean>;
10320
10597
  readonly aggregationsStore: {
10321
10598
  aggregations: _angular_core.Signal<Aggregation[]>;
10322
10599
  update: (aggregations: Aggregation[]) => void;
@@ -10327,8 +10604,10 @@ declare class AggregationTreeComponent {
10327
10604
  aggregations: Aggregation[];
10328
10605
  }>;
10329
10606
  readonly queryParamsStore: {
10330
- name?: _angular_core.Signal<string | undefined> | undefined;
10331
10607
  text?: _angular_core.Signal<string | undefined> | undefined;
10608
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
10609
+ name?: _angular_core.Signal<string | undefined> | undefined;
10610
+ sort?: _angular_core.Signal<string | undefined> | undefined;
10332
10611
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
10333
10612
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
10334
10613
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -10336,7 +10615,6 @@ declare class AggregationTreeComponent {
10336
10615
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
10337
10616
  tab?: _angular_core.Signal<string | undefined> | undefined;
10338
10617
  scope?: _angular_core.Signal<string | undefined> | undefined;
10339
- sort?: _angular_core.Signal<string | undefined> | undefined;
10340
10618
  basket?: _angular_core.Signal<string | undefined> | undefined;
10341
10619
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
10342
10620
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10350,7 +10628,6 @@ declare class AggregationTreeComponent {
10350
10628
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
10351
10629
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
10352
10630
  queryId?: _angular_core.Signal<string | undefined> | undefined;
10353
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
10354
10631
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
10355
10632
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
10356
10633
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10394,10 +10671,12 @@ declare class AggregationTreeComponent {
10394
10671
  }) => Partial<LegacyFilter & {
10395
10672
  count: number;
10396
10673
  }> | null;
10397
- getQuery: () => _sinequa_atomic.Query;
10674
+ getQuery: () => Query;
10398
10675
  } & _ngrx_signals.StateSource<{
10399
- name?: string | undefined;
10400
10676
  text?: string | undefined;
10677
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
10678
+ name?: string | undefined;
10679
+ sort?: string | undefined;
10401
10680
  action?: "" | "search" | "open" | "aggregate" | undefined;
10402
10681
  select?: _sinequa_atomic.Select[] | undefined;
10403
10682
  open?: _sinequa_atomic.Open[] | undefined;
@@ -10405,7 +10684,6 @@ declare class AggregationTreeComponent {
10405
10684
  pageSize?: number | undefined;
10406
10685
  tab?: string | undefined;
10407
10686
  scope?: string | undefined;
10408
- sort?: string | undefined;
10409
10687
  basket?: string | undefined;
10410
10688
  isFirstPage?: boolean | undefined;
10411
10689
  strictRefine?: boolean | undefined;
@@ -10419,7 +10697,6 @@ declare class AggregationTreeComponent {
10419
10697
  relevanceTransforms?: string | undefined;
10420
10698
  removeDuplicates?: boolean | undefined;
10421
10699
  queryId?: string | undefined;
10422
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
10423
10700
  orderBy?: string | undefined;
10424
10701
  groupBy?: string | undefined;
10425
10702
  neuralSearch?: boolean | undefined;
@@ -10750,14 +11027,14 @@ declare class AggregationTreeComponent {
10750
11027
  readonly suggests: _angular_core.WritableSignal<_sinequa_atomic.Suggestion[]>;
10751
11028
  readonly hasFilters: _angular_core.Signal<boolean>;
10752
11029
  readonly filtersCount: _angular_core.Signal<number>;
10753
- readonly query: _sinequa_atomic.Query;
11030
+ readonly query: Query;
10754
11031
  readonly filters: _angular_core.WritableSignal<LegacyFilter[]>;
10755
11032
  readonly showCount: _angular_core.Signal<boolean>;
10756
11033
  readonly quickFilter: _angular_core.Signal<boolean | undefined>;
10757
11034
  readonly isDate: _angular_core.Signal<boolean>;
10758
11035
  readonly virtualizer: _tanstack_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
10759
11036
  readonly linkChildren: _angular_core.Signal<boolean | undefined>;
10760
- aggregation: _angular_core.Signal<_sinequa_atomic_angular.AggEx | null>;
11037
+ aggregation: _angular_core.Signal<AggEx | null>;
10761
11038
  items: _angular_core.Signal<AggregationListItem[]>;
10762
11039
  isEmpty: _angular_core.Signal<boolean>;
10763
11040
  readonly searchedItems: _angular_core.Signal<TreeAggregationNode[] | {
@@ -10798,7 +11075,7 @@ declare class AggregationTreeComponent {
10798
11075
  private expandItems;
10799
11076
  private traverse;
10800
11077
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationTreeComponent, never>;
10801
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationTreeComponent, "AggregationTree, aggregation-tree, aggregationtree", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; "syncUrl": { "alias": "syncUrl"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "searchText": "searchTextChange"; }, never, never, true, never>;
11078
+ 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; }; "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"], never, true, never>;
10802
11079
  }
10803
11080
 
10804
11081
  declare class AggregationListComponent {
@@ -10811,6 +11088,14 @@ declare class AggregationListComponent {
10811
11088
  collapsed: _angular_core.InputSignal<boolean>;
10812
11089
  searchable: _angular_core.InputSignal<boolean | undefined>;
10813
11090
  showFiltersCount: _angular_core.InputSignalWithTransform<boolean | null, unknown>;
11091
+ /**
11092
+ * Whether to render the per-item checkbox. When `false`, the checkbox is hidden
11093
+ * but selection still toggles on row click — pair it with a custom `aggregationItem`
11094
+ * template that reflects the `selected` context to convey selection.
11095
+ *
11096
+ * @default true
11097
+ */
11098
+ showCheckbox: _angular_core.InputSignalWithTransform<boolean, unknown>;
10814
11099
  /**
10815
11100
  * When `false`, applying or clearing filters updates the store without
10816
11101
  * synchronizing the URL (no browser history entry, not shareable/restorable).
@@ -10818,14 +11103,61 @@ declare class AggregationListComponent {
10818
11103
  * @default true
10819
11104
  */
10820
11105
  syncUrl: _angular_core.InputSignalWithTransform<boolean, unknown>;
11106
+ /**
11107
+ * Controlled query. When set, the component's own operations (load-more,
11108
+ * search-within-facet) run against this query instead of reading the shared
11109
+ * `QueryParamsStore`. Use to target a query not tied to the current app,
11110
+ * without mutating the shared store or the URL.
11111
+ *
11112
+ * @default undefined — read `QueryParamsStore.getQuery()` (current behavior)
11113
+ */
11114
+ controlledQuery: _angular_core.InputSignal<Query | undefined>;
11115
+ /**
11116
+ * Controlled data. When set, the component renders this aggregation object
11117
+ * instead of reading it from the shared `AggregationsStore`.
11118
+ *
11119
+ * @default undefined — read `AggregationsStore` (current behavior)
11120
+ */
11121
+ controlledAggregation: _angular_core.InputSignal<Aggregation | undefined>;
11122
+ /**
11123
+ * Controlled selection. When set, item `$selected` state is derived from this
11124
+ * value instead of the shared `QueryParamsStore` filters.
11125
+ *
11126
+ * @default undefined — derive from `QueryParamsStore` filters (current behavior)
11127
+ */
11128
+ controlledSelection: _angular_core.InputSignal<AggregationSelection | undefined>;
10821
11129
  onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
10822
11130
  onApply: _angular_core.OutputEmitterRef<void>;
10823
11131
  onClear: _angular_core.OutputEmitterRef<void>;
11132
+ /**
11133
+ * Emits the new selection (item values) when the user applies or clears
11134
+ * filters in controlled mode. The counterpart of the `[selection]` input —
11135
+ * emitted before `filtersChange` and `onApply`/`onClear`. In controlled mode
11136
+ * this is the only way changes surface: nothing is written to the shared
11137
+ * stores or the URL.
11138
+ */
11139
+ selectionChange: _angular_core.OutputEmitterRef<AggregationSelection>;
11140
+ /**
11141
+ * Emits the applied selection as a structured `Filter` (the exact filter the
11142
+ * default mode would write to the store), ready for `fetchQuery({ filters })`.
11143
+ * `undefined` on clear. Controlled mode only — emitted after `selectionChange`,
11144
+ * before `onApply`/`onClear`.
11145
+ */
11146
+ filtersChange: _angular_core.OutputEmitterRef<Filter$2 | undefined>;
10824
11147
  scrollElement: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
11148
+ protected readonly itemDirective: _angular_core.Signal<AggregationItemDirective | undefined>;
11149
+ /**
11150
+ * Item content template relayed by the `<Aggregation>` wrapper (which cannot
11151
+ * project content into this component). Also usable directly as a `TemplateRef`
11152
+ * input. A directive projected straight onto this component takes precedence.
11153
+ */
11154
+ readonly itemTemplateInput: _angular_core.InputSignal<TemplateRef<AggregationItemContext> | undefined>;
11155
+ protected readonly resolvedItemTemplate: _angular_core.Signal<TemplateRef<AggregationItemContext> | undefined>;
10825
11156
  selection: _angular_core.WritableSignal<boolean>;
10826
11157
  isAllSelected: _angular_core.WritableSignal<boolean>;
10827
11158
  searchText: _angular_core.ModelSignal<string>;
10828
11159
  private readonly base;
11160
+ readonly isControlled: _angular_core.Signal<boolean>;
10829
11161
  readonly aggregationsStore: {
10830
11162
  aggregations: _angular_core.Signal<Aggregation[]>;
10831
11163
  update: (aggregations: Aggregation[]) => void;
@@ -10836,8 +11168,10 @@ declare class AggregationListComponent {
10836
11168
  aggregations: Aggregation[];
10837
11169
  }>;
10838
11170
  readonly queryParamsStore: {
10839
- name?: _angular_core.Signal<string | undefined> | undefined;
10840
11171
  text?: _angular_core.Signal<string | undefined> | undefined;
11172
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
11173
+ name?: _angular_core.Signal<string | undefined> | undefined;
11174
+ sort?: _angular_core.Signal<string | undefined> | undefined;
10841
11175
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
10842
11176
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
10843
11177
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -10845,7 +11179,6 @@ declare class AggregationListComponent {
10845
11179
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
10846
11180
  tab?: _angular_core.Signal<string | undefined> | undefined;
10847
11181
  scope?: _angular_core.Signal<string | undefined> | undefined;
10848
- sort?: _angular_core.Signal<string | undefined> | undefined;
10849
11182
  basket?: _angular_core.Signal<string | undefined> | undefined;
10850
11183
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
10851
11184
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10859,7 +11192,6 @@ declare class AggregationListComponent {
10859
11192
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
10860
11193
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
10861
11194
  queryId?: _angular_core.Signal<string | undefined> | undefined;
10862
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
10863
11195
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
10864
11196
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
10865
11197
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -10903,10 +11235,12 @@ declare class AggregationListComponent {
10903
11235
  }) => Partial<LegacyFilter & {
10904
11236
  count: number;
10905
11237
  }> | null;
10906
- getQuery: () => _sinequa_atomic.Query;
11238
+ getQuery: () => Query;
10907
11239
  } & _ngrx_signals.StateSource<{
10908
- name?: string | undefined;
10909
11240
  text?: string | undefined;
11241
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
11242
+ name?: string | undefined;
11243
+ sort?: string | undefined;
10910
11244
  action?: "" | "search" | "open" | "aggregate" | undefined;
10911
11245
  select?: _sinequa_atomic.Select[] | undefined;
10912
11246
  open?: _sinequa_atomic.Open[] | undefined;
@@ -10914,7 +11248,6 @@ declare class AggregationListComponent {
10914
11248
  pageSize?: number | undefined;
10915
11249
  tab?: string | undefined;
10916
11250
  scope?: string | undefined;
10917
- sort?: string | undefined;
10918
11251
  basket?: string | undefined;
10919
11252
  isFirstPage?: boolean | undefined;
10920
11253
  strictRefine?: boolean | undefined;
@@ -10928,7 +11261,6 @@ declare class AggregationListComponent {
10928
11261
  relevanceTransforms?: string | undefined;
10929
11262
  removeDuplicates?: boolean | undefined;
10930
11263
  queryId?: string | undefined;
10931
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
10932
11264
  orderBy?: string | undefined;
10933
11265
  groupBy?: string | undefined;
10934
11266
  neuralSearch?: boolean | undefined;
@@ -11257,14 +11589,14 @@ declare class AggregationListComponent {
11257
11589
  readonly suggests: _angular_core.WritableSignal<_sinequa_atomic.Suggestion[]>;
11258
11590
  readonly hasFilters: _angular_core.Signal<boolean>;
11259
11591
  readonly filtersCount: _angular_core.Signal<number>;
11260
- readonly query: _sinequa_atomic.Query;
11592
+ readonly query: Query;
11261
11593
  readonly filters: _angular_core.WritableSignal<LegacyFilter[]>;
11262
11594
  readonly showCount: _angular_core.Signal<boolean>;
11263
11595
  readonly quickFilter: _angular_core.Signal<boolean | undefined>;
11264
11596
  readonly isDate: _angular_core.Signal<boolean>;
11265
11597
  private readonly cdr;
11266
11598
  readonly virtualizer: _tanstack_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
11267
- aggregation: _angular_core.Signal<_sinequa_atomic_angular.AggEx | null>;
11599
+ aggregation: _angular_core.Signal<AggEx | null>;
11268
11600
  items: _angular_core.Signal<AggregationListItem[]>;
11269
11601
  isEmpty: _angular_core.Signal<boolean>;
11270
11602
  searchedItems: _angular_core.Signal<AggregationItem[]>;
@@ -11282,7 +11614,7 @@ declare class AggregationListComponent {
11282
11614
  protected getFilters(): LegacyFilter[];
11283
11615
  private addCurrentFiltersToItems;
11284
11616
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationListComponent, never>;
11285
- 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; }; "syncUrl": { "alias": "syncUrl"; "required": false; "isSignal": true; }; "searchText": { "alias": "searchText"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "searchText": "searchTextChange"; }, never, never, true, never>;
11617
+ 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; }; "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"], never, true, never>;
11286
11618
  }
11287
11619
 
11288
11620
  /**
@@ -11492,8 +11824,8 @@ declare class AggregationComponent {
11492
11824
  isDateColumn: (column: string) => boolean;
11493
11825
  isTabSearch: (queryName: string) => boolean;
11494
11826
  getAggregationCount: (queryName: string | undefined, aggregationName: string) => number;
11495
- getAuthorizedFilters: () => _sinequa_atomic.Aggregation[];
11496
- getAuthorized: (filters: Pick<_sinequa_atomic_angular.CFilter, "column" | "name">[]) => _sinequa_atomic.Aggregation[];
11827
+ getAuthorizedFilters: () => Aggregation[];
11828
+ getAuthorized: (filters: Pick<_sinequa_atomic_angular.CFilter, "column" | "name">[]) => Aggregation[];
11497
11829
  getNamedCustomizationJson: (name: string) => unknown | undefined;
11498
11830
  getAggregationIcon: (column: string) => string | undefined;
11499
11831
  getAggregationItemsCustomization: (column: string) => _sinequa_atomic_angular.CFilterItem[] | undefined;
@@ -11618,18 +11950,24 @@ declare class AggregationComponent {
11618
11950
  columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
11619
11951
  }>;
11620
11952
  aggregationsStore: {
11621
- aggregations: _angular_core.Signal<_sinequa_atomic.Aggregation[]>;
11622
- update: (aggregations: _sinequa_atomic.Aggregation[]) => void;
11623
- updateAggregation: (aggregation: _sinequa_atomic.Aggregation) => void;
11953
+ aggregations: _angular_core.Signal<Aggregation[]>;
11954
+ update: (aggregations: Aggregation[]) => void;
11955
+ updateAggregation: (aggregation: Aggregation) => void;
11624
11956
  clear: () => void;
11625
- getAggregation: (name: string, kind?: "column" | "name") => _sinequa_atomic.Aggregation | undefined;
11957
+ getAggregation: (name: string, kind?: "column" | "name") => Aggregation | undefined;
11626
11958
  } & _ngrx_signals.StateSource<{
11627
- aggregations: _sinequa_atomic.Aggregation[];
11959
+ aggregations: Aggregation[];
11628
11960
  }>;
11629
11961
  aggregationsService: AggregationsService;
11630
11962
  aggregationDate: _angular_core.Signal<AggregationDateComponent | undefined>;
11631
11963
  aggregationTree: _angular_core.Signal<AggregationTreeComponent | undefined>;
11632
11964
  aggregationList: _angular_core.Signal<AggregationListComponent | undefined>;
11965
+ /**
11966
+ * Host-projected `<ng-template aggregationItem>`, relayed to the active list/tree
11967
+ * sub-component (the wrapper has no `<ng-content>`, so the sub-component's own
11968
+ * `contentChild` cannot see it). See {@link AggregationItemDirective}.
11969
+ */
11970
+ protected readonly itemDirective: _angular_core.Signal<AggregationItemDirective | undefined>;
11633
11971
  class: _angular_core.InputSignal<string>;
11634
11972
  /**
11635
11973
  * The name of the <details> element. When you provide the same id, the component work as an accordion
@@ -11673,6 +12011,13 @@ declare class AggregationComponent {
11673
12011
  * "Undefined" and not "false" because this input overrides the custom json settings
11674
12012
  */
11675
12013
  searchable: _angular_core.InputSignal<undefined>;
12014
+ /**
12015
+ * Whether to render the per-item checkbox (list/tree). When `false`, the checkbox
12016
+ * is hidden but selection still toggles on row click. Ignored by the date variant.
12017
+ *
12018
+ * @default true
12019
+ */
12020
+ showCheckbox: _angular_core.InputSignalWithTransform<boolean, unknown>;
11676
12021
  expandedLevel: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
11677
12022
  /**
11678
12023
  * Controls whether applying or clearing a filter synchronizes the URL.
@@ -11684,12 +12029,64 @@ declare class AggregationComponent {
11684
12029
  * @default true
11685
12030
  */
11686
12031
  syncUrl: _angular_core.InputSignalWithTransform<boolean, unknown>;
12032
+ /**
12033
+ * Controlled query. When set, the aggregation's own operations (load-more,
12034
+ * search-within-facet, tree-expand) run against this query instead of reading
12035
+ * the shared `QueryParamsStore`. Use to target a query not tied to the current
12036
+ * app, without mutating the shared store or the URL.
12037
+ *
12038
+ * @default undefined — read `QueryParamsStore.getQuery()` (current behavior)
12039
+ */
12040
+ controlledQuery: _angular_core.InputSignal<Query | undefined>;
12041
+ /**
12042
+ * Controlled data. When set, the component renders this aggregation object
12043
+ * (name/column/items) instead of reading it from the shared `AggregationsStore`.
12044
+ *
12045
+ * @default undefined — read `AggregationsStore` (current behavior)
12046
+ */
12047
+ controlledAggregation: _angular_core.InputSignal<Aggregation | undefined>;
12048
+ /**
12049
+ * Controlled selection. When set, item `$selected` state is derived from this
12050
+ * value (list: item values; tree: `"/A/B/*"` paths; date: the range) instead
12051
+ * of the shared `QueryParamsStore` filters.
12052
+ *
12053
+ * @default undefined — derive from `QueryParamsStore` filters (current behavior)
12054
+ */
12055
+ controlledSelection: _angular_core.InputSignal<AggregationSelection | undefined>;
12056
+ /**
12057
+ * Which sub-component renders the aggregation.
12058
+ *
12059
+ * `"auto"` (default) keeps the current heuristic: a date column of the app
12060
+ * (`AppStore.isDateColumn`) renders `<AggregationDate>`, a tree aggregation
12061
+ * renders `<AggregationTree>`, anything else `<AggregationList>`. Set an
12062
+ * explicit value in controlled mode when the heuristic cannot apply — e.g. a
12063
+ * date facet of a query not attached to the current app, whose column is
12064
+ * unknown to the app's column map.
12065
+ *
12066
+ * @default "auto"
12067
+ */
12068
+ type: _angular_core.InputSignal<"auto" | "list" | "tree" | "date">;
11687
12069
  /**
11688
12070
  * 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.
11689
12071
  */
11690
12072
  onSelect: _angular_core.OutputEmitterRef<AggregationItem[]>;
11691
12073
  onApply: _angular_core.OutputEmitterRef<void>;
11692
12074
  onClear: _angular_core.OutputEmitterRef<void>;
12075
+ /**
12076
+ * Emits the new selection when the user applies or clears filters in
12077
+ * controlled mode (list: item values; tree: `"/A/B/*"` paths; date: option or
12078
+ * range). The counterpart of the `[selection]` input — emitted before
12079
+ * `filtersChange` and `onApply`/`onClear`. In controlled mode this is the only
12080
+ * way changes surface: nothing is written to the shared stores or the URL.
12081
+ */
12082
+ selectionChange: _angular_core.OutputEmitterRef<AggregationSelection>;
12083
+ /**
12084
+ * Emits the applied selection as a structured `Filter` (the exact filter the
12085
+ * default mode would write to the store), ready for `fetchQuery({ filters })`.
12086
+ * `undefined` on clear. Controlled mode only — emitted after `selectionChange`,
12087
+ * before `onApply`/`onClear`.
12088
+ */
12089
+ filtersChange: _angular_core.OutputEmitterRef<Filter$2 | undefined>;
11693
12090
  /**
11694
12091
  * A computed property that retrieves the items to be displayed in the aggregation component. It checks for the presence of date, tree, or list aggregation components and returns their respective items. If none of these components are present, it returns an empty array. This allows the component to dynamically display the appropriate items based on the type of aggregation being rendered.
11695
12092
  *
@@ -11702,7 +12099,12 @@ declare class AggregationComponent {
11702
12099
  * @returns An array of selected items from the aggregation component.
11703
12100
  */
11704
12101
  protected selectedItems: _angular_core.Signal<AggregationItem[]>;
11705
- protected aggregation: _angular_core.Signal<_sinequa_atomic_angular.AggEx | undefined>;
12102
+ protected aggregation: _angular_core.Signal<Aggregation | undefined>;
12103
+ /**
12104
+ * The sub-component to render: the explicit `type` input, or the current
12105
+ * date/tree/list heuristic when `type` is `"auto"`.
12106
+ */
12107
+ protected resolvedType: _angular_core.Signal<"list" | "tree" | "date">;
11706
12108
  /**
11707
12109
  * Checks if the specified column is a date filter.
11708
12110
  *
@@ -11711,7 +12113,7 @@ declare class AggregationComponent {
11711
12113
  */
11712
12114
  protected isDate(column: string | undefined): boolean;
11713
12115
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AggregationComponent, never>;
11714
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AggregationComponent, "Aggregation, aggregation", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "showFiltersCount": { "alias": "showFiltersCount"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "expandedLevel": { "alias": "expandedLevel"; "required": false; "isSignal": true; }; "syncUrl": { "alias": "syncUrl"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; }, never, never, true, never>;
12116
+ 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; }; "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; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "onSelect": "onSelect"; "onApply": "onApply"; "onClear": "onClear"; "selectionChange": "selectionChange"; "filtersChange": "filtersChange"; }, ["itemDirective"], never, true, never>;
11715
12117
  }
11716
12118
 
11717
12119
  declare class AggregationPanelComponent {
@@ -11779,7 +12181,7 @@ declare class FilterButtonComponent {
11779
12181
  position: _angular_core.InputSignal<Placement>;
11780
12182
  offset: _angular_core.InputSignal<number>;
11781
12183
  expandedLevel: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
11782
- protected variant: _angular_core.WritableSignal<"default" | "icon" | "primary" | "secondary" | "destructive" | "ai" | "link" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | "none" | null | undefined>;
12184
+ protected variant: _angular_core.WritableSignal<"icon" | "default" | "none" | "primary" | "secondary" | "destructive" | "ai" | "link" | "outline" | "accent" | "tertiary" | "ghost" | "light-accent" | null | undefined>;
11783
12185
  protected filter: _angular_core.WritableSignal<CFilterEx>;
11784
12186
  popoverRef: _angular_core.Signal<PopoverComponent | undefined>;
11785
12187
  protected nativeElement: any;
@@ -11793,8 +12195,10 @@ declare class FilterButtonComponent {
11793
12195
  aggregations: _sinequa_atomic.Aggregation[];
11794
12196
  }>;
11795
12197
  protected queryParamsStore: {
11796
- name?: _angular_core.Signal<string | undefined> | undefined;
11797
12198
  text?: _angular_core.Signal<string | undefined> | undefined;
12199
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
12200
+ name?: _angular_core.Signal<string | undefined> | undefined;
12201
+ sort?: _angular_core.Signal<string | undefined> | undefined;
11798
12202
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
11799
12203
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
11800
12204
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -11802,7 +12206,6 @@ declare class FilterButtonComponent {
11802
12206
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
11803
12207
  tab?: _angular_core.Signal<string | undefined> | undefined;
11804
12208
  scope?: _angular_core.Signal<string | undefined> | undefined;
11805
- sort?: _angular_core.Signal<string | undefined> | undefined;
11806
12209
  basket?: _angular_core.Signal<string | undefined> | undefined;
11807
12210
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
11808
12211
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -11816,7 +12219,6 @@ declare class FilterButtonComponent {
11816
12219
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
11817
12220
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
11818
12221
  queryId?: _angular_core.Signal<string | undefined> | undefined;
11819
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
11820
12222
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
11821
12223
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
11822
12224
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -11862,8 +12264,10 @@ declare class FilterButtonComponent {
11862
12264
  }> | null;
11863
12265
  getQuery: () => _sinequa_atomic.Query;
11864
12266
  } & _ngrx_signals.StateSource<{
11865
- name?: string | undefined;
11866
12267
  text?: string | undefined;
12268
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
12269
+ name?: string | undefined;
12270
+ sort?: string | undefined;
11867
12271
  action?: "" | "search" | "open" | "aggregate" | undefined;
11868
12272
  select?: _sinequa_atomic.Select[] | undefined;
11869
12273
  open?: _sinequa_atomic.Open[] | undefined;
@@ -11871,7 +12275,6 @@ declare class FilterButtonComponent {
11871
12275
  pageSize?: number | undefined;
11872
12276
  tab?: string | undefined;
11873
12277
  scope?: string | undefined;
11874
- sort?: string | undefined;
11875
12278
  basket?: string | undefined;
11876
12279
  isFirstPage?: boolean | undefined;
11877
12280
  strictRefine?: boolean | undefined;
@@ -11885,7 +12288,6 @@ declare class FilterButtonComponent {
11885
12288
  relevanceTransforms?: string | undefined;
11886
12289
  removeDuplicates?: boolean | undefined;
11887
12290
  queryId?: string | undefined;
11888
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
11889
12291
  orderBy?: string | undefined;
11890
12292
  groupBy?: string | undefined;
11891
12293
  neuralSearch?: boolean | undefined;
@@ -12537,8 +12939,10 @@ declare class MoreButtonComponent {
12537
12939
  columnMap?: Record<string, _sinequa_atomic.CCColumn> | undefined;
12538
12940
  }>;
12539
12941
  queryParamsStore: {
12540
- name?: _angular_core.Signal<string | undefined> | undefined;
12541
12942
  text?: _angular_core.Signal<string | undefined> | undefined;
12943
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
12944
+ name?: _angular_core.Signal<string | undefined> | undefined;
12945
+ sort?: _angular_core.Signal<string | undefined> | undefined;
12542
12946
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
12543
12947
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
12544
12948
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -12546,7 +12950,6 @@ declare class MoreButtonComponent {
12546
12950
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
12547
12951
  tab?: _angular_core.Signal<string | undefined> | undefined;
12548
12952
  scope?: _angular_core.Signal<string | undefined> | undefined;
12549
- sort?: _angular_core.Signal<string | undefined> | undefined;
12550
12953
  basket?: _angular_core.Signal<string | undefined> | undefined;
12551
12954
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
12552
12955
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -12560,7 +12963,6 @@ declare class MoreButtonComponent {
12560
12963
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
12561
12964
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
12562
12965
  queryId?: _angular_core.Signal<string | undefined> | undefined;
12563
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
12564
12966
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
12565
12967
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
12566
12968
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -12606,8 +13008,10 @@ declare class MoreButtonComponent {
12606
13008
  }> | null;
12607
13009
  getQuery: () => _sinequa_atomic.Query;
12608
13010
  } & _ngrx_signals.StateSource<{
12609
- name?: string | undefined;
12610
13011
  text?: string | undefined;
13012
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
13013
+ name?: string | undefined;
13014
+ sort?: string | undefined;
12611
13015
  action?: "" | "search" | "open" | "aggregate" | undefined;
12612
13016
  select?: _sinequa_atomic.Select[] | undefined;
12613
13017
  open?: _sinequa_atomic.Open[] | undefined;
@@ -12615,7 +13019,6 @@ declare class MoreButtonComponent {
12615
13019
  pageSize?: number | undefined;
12616
13020
  tab?: string | undefined;
12617
13021
  scope?: string | undefined;
12618
- sort?: string | undefined;
12619
13022
  basket?: string | undefined;
12620
13023
  isFirstPage?: boolean | undefined;
12621
13024
  strictRefine?: boolean | undefined;
@@ -12629,7 +13032,6 @@ declare class MoreButtonComponent {
12629
13032
  relevanceTransforms?: string | undefined;
12630
13033
  removeDuplicates?: boolean | undefined;
12631
13034
  queryId?: string | undefined;
12632
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
12633
13035
  orderBy?: string | undefined;
12634
13036
  groupBy?: string | undefined;
12635
13037
  neuralSearch?: boolean | undefined;
@@ -13044,8 +13446,10 @@ declare class FiltersBarComponent {
13044
13446
  aggregations: Aggregation[];
13045
13447
  }>;
13046
13448
  protected queryParamsStore: {
13047
- name?: _angular_core.Signal<string | undefined> | undefined;
13048
13449
  text?: _angular_core.Signal<string | undefined> | undefined;
13450
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
13451
+ name?: _angular_core.Signal<string | undefined> | undefined;
13452
+ sort?: _angular_core.Signal<string | undefined> | undefined;
13049
13453
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
13050
13454
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
13051
13455
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -13053,7 +13457,6 @@ declare class FiltersBarComponent {
13053
13457
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
13054
13458
  tab?: _angular_core.Signal<string | undefined> | undefined;
13055
13459
  scope?: _angular_core.Signal<string | undefined> | undefined;
13056
- sort?: _angular_core.Signal<string | undefined> | undefined;
13057
13460
  basket?: _angular_core.Signal<string | undefined> | undefined;
13058
13461
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
13059
13462
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -13067,7 +13470,6 @@ declare class FiltersBarComponent {
13067
13470
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
13068
13471
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
13069
13472
  queryId?: _angular_core.Signal<string | undefined> | undefined;
13070
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
13071
13473
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
13072
13474
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
13073
13475
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -13113,8 +13515,10 @@ declare class FiltersBarComponent {
13113
13515
  }> | null;
13114
13516
  getQuery: () => _sinequa_atomic.Query;
13115
13517
  } & _ngrx_signals.StateSource<{
13116
- name?: string | undefined;
13117
13518
  text?: string | undefined;
13519
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
13520
+ name?: string | undefined;
13521
+ sort?: string | undefined;
13118
13522
  action?: "" | "search" | "open" | "aggregate" | undefined;
13119
13523
  select?: _sinequa_atomic.Select[] | undefined;
13120
13524
  open?: _sinequa_atomic.Open[] | undefined;
@@ -13122,7 +13526,6 @@ declare class FiltersBarComponent {
13122
13526
  pageSize?: number | undefined;
13123
13527
  tab?: string | undefined;
13124
13528
  scope?: string | undefined;
13125
- sort?: string | undefined;
13126
13529
  basket?: string | undefined;
13127
13530
  isFirstPage?: boolean | undefined;
13128
13531
  strictRefine?: boolean | undefined;
@@ -13136,7 +13539,6 @@ declare class FiltersBarComponent {
13136
13539
  relevanceTransforms?: string | undefined;
13137
13540
  removeDuplicates?: boolean | undefined;
13138
13541
  queryId?: string | undefined;
13139
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
13140
13542
  orderBy?: string | undefined;
13141
13543
  groupBy?: string | undefined;
13142
13544
  neuralSearch?: boolean | undefined;
@@ -13562,8 +13964,10 @@ declare class MoreComponent {
13562
13964
  aggregations: Aggregation[];
13563
13965
  }>;
13564
13966
  queryParamsStore: {
13565
- name?: _angular_core.Signal<string | undefined> | undefined;
13566
13967
  text?: _angular_core.Signal<string | undefined> | undefined;
13968
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
13969
+ name?: _angular_core.Signal<string | undefined> | undefined;
13970
+ sort?: _angular_core.Signal<string | undefined> | undefined;
13567
13971
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
13568
13972
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
13569
13973
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -13571,7 +13975,6 @@ declare class MoreComponent {
13571
13975
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
13572
13976
  tab?: _angular_core.Signal<string | undefined> | undefined;
13573
13977
  scope?: _angular_core.Signal<string | undefined> | undefined;
13574
- sort?: _angular_core.Signal<string | undefined> | undefined;
13575
13978
  basket?: _angular_core.Signal<string | undefined> | undefined;
13576
13979
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
13577
13980
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -13585,7 +13988,6 @@ declare class MoreComponent {
13585
13988
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
13586
13989
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
13587
13990
  queryId?: _angular_core.Signal<string | undefined> | undefined;
13588
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
13589
13991
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
13590
13992
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
13591
13993
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -13631,8 +14033,10 @@ declare class MoreComponent {
13631
14033
  }> | null;
13632
14034
  getQuery: () => _sinequa_atomic.Query;
13633
14035
  } & _ngrx_signals.StateSource<{
13634
- name?: string | undefined;
13635
14036
  text?: string | undefined;
14037
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
14038
+ name?: string | undefined;
14039
+ sort?: string | undefined;
13636
14040
  action?: "" | "search" | "open" | "aggregate" | undefined;
13637
14041
  select?: _sinequa_atomic.Select[] | undefined;
13638
14042
  open?: _sinequa_atomic.Open[] | undefined;
@@ -13640,7 +14044,6 @@ declare class MoreComponent {
13640
14044
  pageSize?: number | undefined;
13641
14045
  tab?: string | undefined;
13642
14046
  scope?: string | undefined;
13643
- sort?: string | undefined;
13644
14047
  basket?: string | undefined;
13645
14048
  isFirstPage?: boolean | undefined;
13646
14049
  strictRefine?: boolean | undefined;
@@ -13654,7 +14057,6 @@ declare class MoreComponent {
13654
14057
  relevanceTransforms?: string | undefined;
13655
14058
  removeDuplicates?: boolean | undefined;
13656
14059
  queryId?: string | undefined;
13657
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
13658
14060
  orderBy?: string | undefined;
13659
14061
  groupBy?: string | undefined;
13660
14062
  neuralSearch?: boolean | undefined;
@@ -14273,8 +14675,10 @@ declare class RecentSearchesComponent {
14273
14675
  declare class SavedSearchDialog implements DialogInterface {
14274
14676
  private readonly savedSearchesService;
14275
14677
  protected readonly queryParamsStore: {
14276
- name?: _angular_core.Signal<string | undefined> | undefined;
14277
14678
  text?: _angular_core.Signal<string | undefined> | undefined;
14679
+ aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
14680
+ name?: _angular_core.Signal<string | undefined> | undefined;
14681
+ sort?: _angular_core.Signal<string | undefined> | undefined;
14278
14682
  action?: _angular_core.Signal<"" | "open" | "search" | "aggregate" | undefined> | undefined;
14279
14683
  select?: _angular_core.Signal<_sinequa_atomic.Select[] | undefined> | undefined;
14280
14684
  open?: _angular_core.Signal<_sinequa_atomic.Open[] | undefined> | undefined;
@@ -14282,7 +14686,6 @@ declare class SavedSearchDialog implements DialogInterface {
14282
14686
  pageSize?: _angular_core.Signal<number | undefined> | undefined;
14283
14687
  tab?: _angular_core.Signal<string | undefined> | undefined;
14284
14688
  scope?: _angular_core.Signal<string | undefined> | undefined;
14285
- sort?: _angular_core.Signal<string | undefined> | undefined;
14286
14689
  basket?: _angular_core.Signal<string | undefined> | undefined;
14287
14690
  isFirstPage?: _angular_core.Signal<boolean | undefined> | undefined;
14288
14691
  strictRefine?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -14296,7 +14699,6 @@ declare class SavedSearchDialog implements DialogInterface {
14296
14699
  relevanceTransforms?: _angular_core.Signal<string | undefined> | undefined;
14297
14700
  removeDuplicates?: _angular_core.Signal<boolean | undefined> | undefined;
14298
14701
  queryId?: _angular_core.Signal<string | undefined> | undefined;
14299
- aggregations?: _angular_core.Signal<string[] | Record<string, _sinequa_atomic.AggregationOptions> | undefined> | undefined;
14300
14702
  orderBy?: _angular_core.Signal<string | undefined> | undefined;
14301
14703
  groupBy?: _angular_core.Signal<string | undefined> | undefined;
14302
14704
  neuralSearch?: _angular_core.Signal<boolean | undefined> | undefined;
@@ -14342,8 +14744,10 @@ declare class SavedSearchDialog implements DialogInterface {
14342
14744
  }> | null;
14343
14745
  getQuery: () => _sinequa_atomic.Query;
14344
14746
  } & _ngrx_signals.StateSource<{
14345
- name?: string | undefined;
14346
14747
  text?: string | undefined;
14748
+ aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
14749
+ name?: string | undefined;
14750
+ sort?: string | undefined;
14347
14751
  action?: "" | "search" | "open" | "aggregate" | undefined;
14348
14752
  select?: _sinequa_atomic.Select[] | undefined;
14349
14753
  open?: _sinequa_atomic.Open[] | undefined;
@@ -14351,7 +14755,6 @@ declare class SavedSearchDialog implements DialogInterface {
14351
14755
  pageSize?: number | undefined;
14352
14756
  tab?: string | undefined;
14353
14757
  scope?: string | undefined;
14354
- sort?: string | undefined;
14355
14758
  basket?: string | undefined;
14356
14759
  isFirstPage?: boolean | undefined;
14357
14760
  strictRefine?: boolean | undefined;
@@ -14365,7 +14768,6 @@ declare class SavedSearchDialog implements DialogInterface {
14365
14768
  relevanceTransforms?: string | undefined;
14366
14769
  removeDuplicates?: boolean | undefined;
14367
14770
  queryId?: string | undefined;
14368
- aggregations?: (Record<string, _sinequa_atomic.AggregationOptions> | string[]) | undefined;
14369
14771
  orderBy?: string | undefined;
14370
14772
  groupBy?: string | undefined;
14371
14773
  neuralSearch?: boolean | undefined;
@@ -15499,5 +15901,5 @@ type AppFeatures = {
15499
15901
  */
15500
15902
  declare const APP_FEATURES: InjectionToken<AppFeatures>;
15501
15903
 
15502
- export { AGGREGATIONS_NAMES, AGGREGATIONS_NAMES_PRESET_DEFAULT, APP_FEATURES, AdvancedFiltersComponent, AdvancedSearch, AdvancedSearchComponent, AggregationComponent, AggregationDateComponent, AggregationDateRangeDialogComponent, AggregationListComponent, AggregationPanelComponent, AggregationTreeComponent, AggregationsService, AggregationsStore, Alert, AlertDialog, AlertsComponent, AppService, AppStore, ApplicationService, ApplicationStore, ArticleEntities, ArticleExtracts, ArticleLabels, ArticleSimilarDocuments, AsideFiltersComponent, AuditFeedbackType, AuditService, AuthGuard, AuthPageComponent, AutocompleteService, BOOKMARKS_CONFIG, BOOKMARKS_OPTIONS, BackdropComponent, BackdropService, BookmarkButtonComponent, BookmarksComponent, COLLECTIONS_CONFIG, COLLECTIONS_OPTIONS, COMPONENTS_FOR_DOCUMENT_TYPE, ChangePasswordComponent, ChildMarkerDirective, CollectionsComponent, CollectionsDialog, DRAWER_COMPONENT, DRAWER_STACK_MAX_COUNT, DateComponent, DeleteCollectionDialog, DidYouMeanComponent, DocumentLocatorComponent, DrawerAdvancedFiltersComponent, DrawerComponent, DrawerNavbarComponent, DrawerPreviewComponent, DrawerService, DrawerStackComponent, DrawerStackService, DropdownInputComponent, DropdownListComponent, ErrorComponent, ExportDialog, ExportService, FILTERS_BREAKPOINT, FILTER_DATE_ALLOW_CUSTOM_RANGE, 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, applyThemeToNativeElement, auditInterceptorFn, authInterceptorFn, bodyInterceptorFn, bootstrapApp, buildQuery, debouncedSignal, errorInterceptorFn, getCurrentPath, getCurrentQueryName, getQueryNameFromRoute, injectRouteNavigation, processCssVars, queryNameResolver, signIn, themeColorNameToCssVariable, themeColorsToCssVariables, toastInterceptorFn, withAggregationsFeatures, withAlertsFeatures, withAppFeatures, withApplicationFeatures, withAssistantFeatures, withBasketsFeatures, withBookmarkFeatures, withBootstrapApp, withExtractsFeatures, withFetch, withMultiSelectionFeatures, withPrincipalFeatures, withQueryParamsFeatures, withRecentSearchesFeatures, withSavedSearchesFeatures, withSelectionFeatures, withThemeBodyHook, withThemes, withThemesFeatures, withUserSettingsFeatures };
15503
- export type { AgentUserSettings, AggEx, AggregationEx, AggregationListEx, AggregationListItem, AggregationTitle, AggregationTreeEx, 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 };
15904
+ 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, applyThemeToNativeElement, auditInterceptorFn, authInterceptorFn, bodyInterceptorFn, bootstrapApp, buildQuery, debouncedSignal, errorInterceptorFn, getCurrentPath, getCurrentQueryName, getQueryNameFromRoute, injectRouteNavigation, legacyFilterToFilter, processCssVars, queryNameResolver, signIn, themeColorNameToCssVariable, themeColorsToCssVariables, toastInterceptorFn, withAggregationsFeatures, withAlertsFeatures, withAppFeatures, withApplicationFeatures, withAssistantFeatures, withBasketsFeatures, withBookmarkFeatures, withBootstrapApp, withExtractsFeatures, withFetch, withMultiSelectionFeatures, withPrincipalFeatures, withQueryParamsFeatures, withRecentSearchesFeatures, withSavedSearchesFeatures, withSelectionFeatures, withThemeBodyHook, withThemes, withThemesFeatures, withUserSettingsFeatures };
15905
+ 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 };