@sinequa/atomic-angular 2.14.0 → 2.15.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.
@@ -1074,9 +1074,9 @@ export declare class MetadataComponent {
1074
1074
  event: Event;
1075
1075
  }>;
1076
1076
  class: import("@angular/core").InputSignal<string | undefined>;
1077
- variant: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
1078
- size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "xs" | "xsmall" | "medium" | null | undefined>;
1079
- scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
1077
+ variant: import("@angular/core").InputSignal<"secondary" | "primary" | null | undefined>;
1078
+ size: import("@angular/core").InputSignal<"md" | "small" | "medium" | "sm" | "xs" | "xsmall" | null | undefined>;
1079
+ scheme: import("@angular/core").InputSignal<"error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "success" | "warning" | "info" | null | undefined>;
1080
1080
  metadata: import("@angular/core").InputSignal<(string & Record<never, never>) | KeyOf<Article>>;
1081
1081
  article: import("@angular/core").InputSignal<(string & Record<never, never>) | Partial<Article>>;
1082
1082
  limit: import("@angular/core").InputSignalWithTransform<number | undefined, string | number | undefined>;
@@ -1252,7 +1252,7 @@ export declare class MissingTermsComponent {
1252
1252
  }, {}, never, never, true, never>;
1253
1253
  }
1254
1254
  export declare const multiSelectionToolbarVariants: (props?: ({
1255
- variant?: "dark" | "light" | "glassy" | null | undefined;
1255
+ variant?: "light" | "dark" | "glassy" | "floating" | null | undefined;
1256
1256
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
1257
1257
  export type MultiSelectionToolbarVariants = VariantProps<typeof multiSelectionToolbarVariants>;
1258
1258
  export declare class MultiSelectionToolbarComponent {
@@ -1575,27 +1575,27 @@ export declare class MultiSelectionToolbarComponent {
1575
1575
  columnMap?: Record<string, import("@sinequa/atomic").CCColumn> | undefined;
1576
1576
  }>;
1577
1577
  readonly selection: {
1578
- article?: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic").Article> | undefined;
1578
+ article?: import("@ngrx/signals").DeepSignal<Article> | import("@angular/core").Signal<undefined> | undefined;
1579
1579
  id?: import("@angular/core").Signal<string | undefined> | undefined;
1580
1580
  queryText?: import("@angular/core").Signal<string | undefined> | undefined;
1581
1581
  queryName?: import("@angular/core").Signal<string | undefined> | undefined;
1582
1582
  previewHighlights?: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").PreviewHighlights> | undefined;
1583
1583
  assistantIdsToAttach: import("@angular/core").Signal<string[]>;
1584
- multiSelection: import("@angular/core").Signal<import("@sinequa/atomic").Article[]>;
1584
+ multiSelection: import("@angular/core").Signal<Article[]>;
1585
1585
  multiSelectCount: import("@angular/core").Signal<number>;
1586
1586
  update: (newState: Partial<import("@sinequa/atomic-angular").SelectionState>) => void;
1587
1587
  clear: () => void;
1588
- addArticleToMultiSelection: (article: import("@sinequa/atomic").Article) => void;
1589
- removeArticleFromMultiSelection: (article: import("@sinequa/atomic").Article) => void;
1588
+ addArticleToMultiSelection: (article: Article) => void;
1589
+ removeArticleFromMultiSelection: (article: Article) => void;
1590
1590
  clearMultiSelection: () => void;
1591
1591
  } & import("@ngrx/signals").StateSource<{
1592
- article?: import("@sinequa/atomic").Article | undefined;
1592
+ article?: Article | undefined;
1593
1593
  id?: string | undefined;
1594
1594
  queryText?: string | undefined;
1595
1595
  queryName?: string | undefined;
1596
1596
  previewHighlights?: import("@sinequa/atomic-angular").PreviewHighlights | undefined;
1597
1597
  assistantIdsToAttach: string[];
1598
- multiSelection: import("@sinequa/atomic").Article[];
1598
+ multiSelection: Article[];
1599
1599
  }>;
1600
1600
  private readonly injector;
1601
1601
  readonly appFeatures: {
@@ -1643,7 +1643,11 @@ export declare class MultiSelectionToolbarComponent {
1643
1643
  feedback?: import("@sinequa/atomic-angular").CFeedback;
1644
1644
  } | undefined;
1645
1645
  readonly class: import("@angular/core").InputSignal<string>;
1646
- readonly variant: import("@angular/core").InputSignal<"dark" | "light" | "glassy" | null | undefined>;
1646
+ /**
1647
+ * `dark`, `light`, `glassy`: one bar at the bottom centre of the window. `floating`: detached buttons
1648
+ * in the bottom-right corner of the window, as in lexiQ.
1649
+ */
1650
+ readonly variant: import("@angular/core").InputSignal<"light" | "dark" | "glassy" | "floating" | null | undefined>;
1647
1651
  /**
1648
1652
  * Texte ajouté à l'annonce lecteur d'écran lors de la **première** sélection (ex. « F6 pour accéder
1649
1653
  * aux actions »). Il est fourni par l'application : seule elle sait par quel raccourci elle rend la
@@ -1653,6 +1657,12 @@ export declare class MultiSelectionToolbarComponent {
1653
1657
  readonly updatedCollections: import("@angular/core").OutputEmitterRef<void>;
1654
1658
  /** La sélection vient d'être vidée (bouton, Échap) : l'application replace le focus, la barre devient inerte. */
1655
1659
  readonly cleared: import("@angular/core").OutputEmitterRef<void>;
1660
+ /**
1661
+ * `floating` only: the selection has just been filed in a collection (its name). The panel has
1662
+ * closed and the selection has been emptied (`cleared` fired first); an application with a
1663
+ * "selection mode" leaves it here.
1664
+ */
1665
+ readonly addedToCollection: import("@angular/core").OutputEmitterRef<string>;
1656
1666
  readonly count: import("@angular/core").Signal<number>;
1657
1667
  readonly variants: import("@angular/core").Signal<string>;
1658
1668
  readonly ids: import("@angular/core").Signal<string[]>;
@@ -1669,11 +1679,36 @@ export declare class MultiSelectionToolbarComponent {
1669
1679
  /** Vrai uniquement à la première sélection : ensuite, seul le décompte est annoncé. */
1670
1680
  protected readonly showHint: import("@angular/core").WritableSignal<boolean>;
1671
1681
  private armed;
1682
+ protected readonly floatingButton = "shadow-(--shadow-2) pointer-coarse:h-11";
1683
+ protected readonly hostClass: import("@angular/core").Signal<string>;
1684
+ protected readonly toolbarClass: import("@angular/core").Signal<string>;
1685
+ private static nextId;
1686
+ protected readonly panelId: string;
1687
+ protected readonly panelOpen: import("@angular/core").WritableSignal<boolean>;
1688
+ /** The documents the panel files: the selection at the moment it was opened. */
1689
+ protected readonly panelArticles: import("@angular/core").WritableSignal<Article[]>;
1690
+ /** Read by the status region once the selection is emptied after filing. */
1691
+ protected readonly lastFiled: import("@angular/core").WritableSignal<{
1692
+ count: number;
1693
+ name: string;
1694
+ } | null>;
1695
+ protected collectionsChanged: boolean;
1696
+ private readonly collectionTrigger;
1697
+ private readonly panel;
1698
+ private lastFiledTimer;
1672
1699
  constructor();
1673
1700
  clearSelection: () => void;
1674
1701
  openCollectionDialog: () => Promise<void>;
1675
1702
  openExportDialog: () => void;
1676
1703
  attachToAssistant: () => void;
1704
+ protected togglePanel(): void;
1705
+ /** Close button, emptied selection: hides the popover; its `toggle` event does the rest. */
1706
+ protected closePanel(): void;
1707
+ /** The popover closed — by Escape, a click outside, the close button or after filing. */
1708
+ protected onPanelToggle(event: Event): void;
1709
+ /** Filed: the panel's confirmation has been seen; the selection is done with. */
1710
+ protected onFiled(name: string): void;
1711
+ private panelClosed;
1677
1712
  static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectionToolbarComponent, never>;
1678
1713
  static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectionToolbarComponent, "MultiSelectionToolbar, multi-selection-toolbar", never, {
1679
1714
  "class": {
@@ -1699,6 +1734,7 @@ export declare class MultiSelectionToolbarComponent {
1699
1734
  }, {
1700
1735
  "updatedCollections": "updatedCollections";
1701
1736
  "cleared": "cleared";
1737
+ "addedToCollection": "addedToCollection";
1702
1738
  }, never, never, true, never>;
1703
1739
  }
1704
1740
  export interface NavRouteTab {
@@ -2058,7 +2094,7 @@ export declare class NavbarTabsComponent {
2058
2094
  *
2059
2095
  * @default "primary"
2060
2096
  */
2061
- variant: import("@angular/core").InputSignal<"primary" | "secondary" | "inner">;
2097
+ variant: import("@angular/core").InputSignal<"secondary" | "primary" | "inner">;
2062
2098
  /** The pill strip is the only variant whose tabs keep galactik's own, smaller size. */
2063
2099
  protected readonly isPill: import("@angular/core").Signal<boolean>;
2064
2100
  showCount: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
@@ -3237,7 +3273,7 @@ export declare const PrincipalStore: import("@angular/core").Type<{
3237
3273
  param9: import("@angular/core").Signal<string>;
3238
3274
  param10: import("@angular/core").Signal<string>;
3239
3275
  userOverrideActive: import("@angular/core").Signal<boolean>;
3240
- state: import("@angular/core").Signal<"error" | "initial" | "loading" | "loaded">;
3276
+ state: import("@angular/core").Signal<"error" | "loading" | "loaded" | "initial">;
3241
3277
  allowUserOverride: import("@angular/core").Signal<boolean>;
3242
3278
  isOverridingUser: import("@angular/core").Signal<boolean>;
3243
3279
  initials: import("@angular/core").Signal<string>;
@@ -3464,7 +3500,7 @@ export type SelectionState = {
3464
3500
  * - `clear()`: Clears the selection state, setting `article`, `id`, and `queryText` to `undefined`.
3465
3501
  */
3466
3502
  export declare const SelectionStore: import("@angular/core").Type<{
3467
- article?: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<Article> | undefined;
3503
+ article?: import("@ngrx/signals").DeepSignal<Article> | import("@angular/core").Signal<undefined> | undefined;
3468
3504
  id?: import("@angular/core").Signal<string | undefined> | undefined;
3469
3505
  queryText?: import("@angular/core").Signal<string | undefined> | undefined;
3470
3506
  queryName?: import("@angular/core").Signal<string | undefined> | undefined;
@@ -3635,8 +3671,8 @@ export declare const UserSettingsStore: import("@angular/core").Type<{
3635
3671
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
3636
3672
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
3637
3673
  language?: import("@angular/core").Signal<string | undefined> | undefined;
3638
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
3639
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
3674
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
3675
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
3640
3676
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
3641
3677
  isDebugMode: import("@angular/core").Signal<boolean>;
3642
3678
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -5244,7 +5280,7 @@ export declare class PreviewService {
5244
5280
  extracts: Map<string, Extract[]>;
5245
5281
  }>;
5246
5282
  protected readonly selectionStore: {
5247
- article?: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<Article> | undefined;
5283
+ article?: import("@ngrx/signals").DeepSignal<Article> | import("@angular/core").Signal<undefined> | undefined;
5248
5284
  id?: import("@angular/core").Signal<string | undefined> | undefined;
5249
5285
  queryText?: import("@angular/core").Signal<string | undefined> | undefined;
5250
5286
  queryName?: import("@angular/core").Signal<string | undefined> | undefined;
@@ -6591,8 +6627,8 @@ export declare class ApplicationService {
6591
6627
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
6592
6628
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
6593
6629
  language?: import("@angular/core").Signal<string | undefined> | undefined;
6594
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
6595
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
6630
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
6631
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
6596
6632
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
6597
6633
  isDebugMode: import("@angular/core").Signal<boolean>;
6598
6634
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -6678,7 +6714,7 @@ export declare class ApplicationService {
6678
6714
  param9: import("@angular/core").Signal<string>;
6679
6715
  param10: import("@angular/core").Signal<string>;
6680
6716
  userOverrideActive: import("@angular/core").Signal<boolean>;
6681
- state: import("@angular/core").Signal<"error" | "initial" | "loading" | "loaded">;
6717
+ state: import("@angular/core").Signal<"error" | "loading" | "loaded" | "initial">;
6682
6718
  allowUserOverride: import("@angular/core").Signal<boolean>;
6683
6719
  isOverridingUser: import("@angular/core").Signal<boolean>;
6684
6720
  initials: import("@angular/core").Signal<string>;
@@ -7285,8 +7321,8 @@ export declare class AutocompleteService {
7285
7321
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
7286
7322
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
7287
7323
  language?: import("@angular/core").Signal<string | undefined> | undefined;
7288
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
7289
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
7324
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
7325
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
7290
7326
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
7291
7327
  isDebugMode: import("@angular/core").Signal<boolean>;
7292
7328
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -7929,8 +7965,8 @@ export declare class SavedSearchesService {
7929
7965
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
7930
7966
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
7931
7967
  language?: import("@angular/core").Signal<string | undefined> | undefined;
7932
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
7933
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
7968
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
7969
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
7934
7970
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
7935
7971
  isDebugMode: import("@angular/core").Signal<boolean>;
7936
7972
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -8295,8 +8331,8 @@ export declare class SearchService {
8295
8331
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
8296
8332
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
8297
8333
  language?: import("@angular/core").Signal<string | undefined> | undefined;
8298
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
8299
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
8334
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
8335
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
8300
8336
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
8301
8337
  isDebugMode: import("@angular/core").Signal<boolean>;
8302
8338
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -9175,8 +9211,8 @@ export declare class ShowBookmarkDirective {
9175
9211
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
9176
9212
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
9177
9213
  language?: import("@angular/core").Signal<string | undefined> | undefined;
9178
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
9179
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
9214
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
9215
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
9180
9216
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
9181
9217
  isDebugMode: import("@angular/core").Signal<boolean>;
9182
9218
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -9399,6 +9435,14 @@ export declare class OverflowManagerDirective {
9399
9435
  readonly stop: import("@angular/core").Signal<ElementRef<any> | undefined>;
9400
9436
  readonly target: import("@angular/core").InputSignal<HTMLElement | undefined>;
9401
9437
  readonly margin: import("@angular/core").InputSignal<number>;
9438
+ /**
9439
+ * Margin used only by the "does every item fit?" test, instead of `margin`.
9440
+ * Defaults to `margin`. A container that is exactly as wide as its content
9441
+ * (a centered bar, say) has no spare room, so `margin` would always report an
9442
+ * overflow there: pass a value <= 0 (a negative one is a sub-pixel tolerance).
9443
+ * `margin` still applies to the space reserved for the stop element.
9444
+ */
9445
+ readonly fitMargin: import("@angular/core").InputSignal<number | undefined>;
9402
9446
  readonly direction: import("@angular/core").InputSignal<"horizontal" | "vertical">;
9403
9447
  /**
9404
9448
  * Always reserve the stop element's size, even when every item fits inside
@@ -9407,11 +9451,18 @@ export declare class OverflowManagerDirective {
9407
9451
  * the container), so the last item never overlaps it.
9408
9452
  */
9409
9453
  readonly reserveStop: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
9454
+ /**
9455
+ * Fade an item in when it comes back into view (it was hidden by the previous
9456
+ * count), instead of popping in. Skipped when the user prefers reduced motion.
9457
+ */
9458
+ readonly animate: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
9410
9459
  readonly count: import("@angular/core").OutputEmitterRef<number>;
9411
9460
  private readonly el;
9412
9461
  private readonly destroyRef;
9413
9462
  private readonly resizeObserver;
9414
9463
  private readonly itemsResizeObserver;
9464
+ /** Items hidden by the last committed count, to tell a reveal from an item that stayed visible. */
9465
+ private readonly hiddenItems;
9415
9466
  private countSub;
9416
9467
  private _lastCount;
9417
9468
  constructor();
@@ -9432,6 +9483,7 @@ export declare class OverflowManagerDirective {
9432
9483
  * @param count - The number of items to keep visible.
9433
9484
  */
9434
9485
  toggleToCount(count: number): void;
9486
+ private fadeIn;
9435
9487
  static ɵfac: i0.ɵɵFactoryDeclaration<OverflowManagerDirective, never>;
9436
9488
  static ɵdir: i0.ɵɵDirectiveDeclaration<OverflowManagerDirective, "[overflowManager]", never, {
9437
9489
  "target": {
@@ -9444,6 +9496,11 @@ export declare class OverflowManagerDirective {
9444
9496
  "required": false;
9445
9497
  "isSignal": true;
9446
9498
  };
9499
+ "fitMargin": {
9500
+ "alias": "fitMargin";
9501
+ "required": false;
9502
+ "isSignal": true;
9503
+ };
9447
9504
  "direction": {
9448
9505
  "alias": "direction";
9449
9506
  "required": false;
@@ -9454,6 +9511,11 @@ export declare class OverflowManagerDirective {
9454
9511
  "required": false;
9455
9512
  "isSignal": true;
9456
9513
  };
9514
+ "animate": {
9515
+ "alias": "animate";
9516
+ "required": false;
9517
+ "isSignal": true;
9518
+ };
9457
9519
  }, {
9458
9520
  "count": "count";
9459
9521
  }, ["items", "stop"], never, true, never>;
@@ -10991,7 +11053,7 @@ export declare class AdvancedSearch {
10991
11053
  readonly similarDocuments: import("@angular/core").InputSignal<Article[] | undefined>;
10992
11054
  readonly selected: import("@angular/core").OutputEmitterRef<Article>;
10993
11055
  protected readonly selectionStore: {
10994
- article?: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<Article> | undefined;
11056
+ article?: import("@ngrx/signals").DeepSignal<Article> | import("@angular/core").Signal<undefined> | undefined;
10995
11057
  id?: import("@angular/core").Signal<string | undefined> | undefined;
10996
11058
  queryText?: import("@angular/core").Signal<string | undefined> | undefined;
10997
11059
  queryName?: import("@angular/core").Signal<string | undefined> | undefined;
@@ -11210,7 +11272,7 @@ export declare class AdvancedSearchTabs {
11210
11272
  readonly similarDocuments: import("@angular/core").InputSignal<Article[] | undefined>;
11211
11273
  readonly selected: import("@angular/core").OutputEmitterRef<Article>;
11212
11274
  protected readonly selectionStore: {
11213
- article?: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<Article> | undefined;
11275
+ article?: import("@ngrx/signals").DeepSignal<Article> | import("@angular/core").Signal<undefined> | undefined;
11214
11276
  id?: import("@angular/core").Signal<string | undefined> | undefined;
11215
11277
  queryText?: import("@angular/core").Signal<string | undefined> | undefined;
11216
11278
  queryName?: import("@angular/core").Signal<string | undefined> | undefined;
@@ -12473,10 +12535,10 @@ export declare class SignedOutComponent {
12473
12535
  static ɵcmp: i0.ɵɵComponentDeclaration<SignedOutComponent, "signed-out, SignedOut, signedout", never, {}, {}, never, never, true, never>;
12474
12536
  }
12475
12537
  export declare class BookmarkButtonComponent {
12476
- variant: import("@angular/core").InputSignal<"none" | "primary" | "secondary" | "light-accent" | "accent" | "tertiary" | null | undefined>;
12538
+ variant: import("@angular/core").InputSignal<"secondary" | "tertiary" | "none" | "primary" | "light-accent" | "accent" | null | undefined>;
12477
12539
  /** `neutral` gives a tertiary button the dark icon of the other neutral icon buttons of a toolbar. */
12478
12540
  scheme: import("@angular/core").InputSignal<"default" | "neutral" | null | undefined>;
12479
- size: import("@angular/core").InputSignal<"small" | "large" | "sm" | "md" | "lg" | "xs" | "xsmall" | "medium" | null | undefined>;
12541
+ size: import("@angular/core").InputSignal<"md" | "small" | "medium" | "large" | "lg" | "sm" | "xs" | "xsmall" | null | undefined>;
12480
12542
  /**
12481
12543
  * Tab index applied to the inner button.
12482
12544
  *
@@ -12733,7 +12795,7 @@ export declare class CollectionsDialog {
12733
12795
  readonly showSearch: import("@angular/core").Signal<boolean>;
12734
12796
  /** Collections matching the search text (case-insensitive, by name). */
12735
12797
  readonly filteredCollections: import("@angular/core").Signal<Basket[]>;
12736
- readonly collectionsMap: import("@angular/core").WritableSignal<Record<string, "some" | "none" | "all">>;
12798
+ readonly collectionsMap: import("@angular/core").WritableSignal<Record<string, "some" | "all" | "none">>;
12737
12799
  /** Windowing over the filtered list — renders only the visible rows. */
12738
12800
  readonly virtualizer: import("@tanstack/angular-virtual").AngularVirtualizer<HTMLDivElement, Element>;
12739
12801
  constructor();
@@ -12773,6 +12835,106 @@ export declare class DeleteCollectionDialog {
12773
12835
  }
12774
12836
  /** Imperative entry point: `await DeleteCollection.call({ collection, index })`. */
12775
12837
  export declare const DeleteCollection: import("@sinequa/galactik").Callable<DeleteCollectionArgs, DialogResult>;
12838
+ /** How many of the documents a collection already holds. */
12839
+ export type CollectionCoverage = "all" | "some" | "none";
12840
+ /** What the panel just did, shown in its header (and announced): an addition, a removal or a creation. */
12841
+ type PanelStatus = {
12842
+ kind: "added" | "removed" | "created";
12843
+ name: string;
12844
+ };
12845
+ /**
12846
+ * The "add to collection" panel opened from the multi-selection actions: a list of the user's
12847
+ * collections, each with a button that says where the selected documents stand in it — `+` to add
12848
+ * them, `✓` when they are all there (clicking it takes them out). A collection holding only part of
12849
+ * them keeps the `+` and says so under its name. A new collection is named in place, at the top of
12850
+ * the list (which stays on screen, dimmed), and appears there once created, ready for its `+`.
12851
+ *
12852
+ * The panel owns no positioning: the host shows it (in a popover, a sheet…) and listens to it.
12853
+ * - `done` — an addition has just been saved and confirmed in the header: the panel's
12854
+ * job is over, the host closes it. It fires about a second after the click, so the confirmation is
12855
+ * seen; a removal never ends the panel.
12856
+ * - `changed` — a collection was saved (added to, removed from, created): the host refreshes.
12857
+ * - `closeRequested` — the close button.
12858
+ *
12859
+ * Every change is saved at once, as in the dialog it replaces for the multi-selection: there is no
12860
+ * "Save" button to forget.
12861
+ */
12862
+ export declare class AddToCollectionPanelComponent {
12863
+ /** The documents to file. */
12864
+ readonly articles: import("@angular/core").InputSignal<Article[]>;
12865
+ /** An addition was saved and confirmed: the host closes the panel. Carries the collection's name. */
12866
+ readonly done: import("@angular/core").OutputEmitterRef<string>;
12867
+ /** A collection was saved (added to, removed from, created). */
12868
+ readonly changed: import("@angular/core").OutputEmitterRef<void>;
12869
+ /** The close button. */
12870
+ readonly closeRequested: import("@angular/core").OutputEmitterRef<void>;
12871
+ private readonly userSettingsStore;
12872
+ private readonly injector;
12873
+ protected readonly titleId: string;
12874
+ protected readonly nameId: string;
12875
+ protected readonly errorId: string;
12876
+ private readonly scrollElement;
12877
+ private readonly searchInput;
12878
+ private readonly nameInput;
12879
+ protected readonly collections: import("@angular/core").Signal<Basket[]>;
12880
+ /** Same threshold as the dialog: the field only earns its place past six collections. */
12881
+ protected readonly showSearch: import("@angular/core").Signal<boolean>;
12882
+ protected readonly count: import("@angular/core").Signal<number>;
12883
+ private readonly ids;
12884
+ protected readonly searchText: import("@angular/core").WritableSignal<string>;
12885
+ protected readonly searchField: import("@angular/forms/signals").FieldTree<string, string | number, "writable">;
12886
+ /** Collections created from this panel, newest first: they are listed at the top, where the name field was. */
12887
+ private readonly createdHere;
12888
+ protected readonly filteredCollections: import("@angular/core").Signal<Basket[]>;
12889
+ protected readonly status: import("@angular/core").WritableSignal<PanelStatus | null>;
12890
+ protected readonly creating: import("@angular/core").WritableSignal<boolean>;
12891
+ private readonly createModel;
12892
+ protected readonly createForm: import("@angular/forms/signals").FieldTree<{
12893
+ name: string;
12894
+ }, string | number, "writable">;
12895
+ /**
12896
+ * The message under the name field. A taken name shows as it is typed — the user should not have
12897
+ * to try first — an empty one only once a submission was attempted (the field is then touched).
12898
+ */
12899
+ protected readonly nameError: import("@angular/core").Signal<"nameExists" | "nameRequired" | null>;
12900
+ /** A collection holding part of the documents says so on a second line: its row is taller. */
12901
+ protected readonly virtualizer: import("@tanstack/angular-virtual").AngularVirtualizer<HTMLElement, Element>;
12902
+ private doneTimer;
12903
+ constructor();
12904
+ coverageOf(collection: Basket | undefined): CollectionCoverage;
12905
+ /** How many of the documents the collection already holds. */
12906
+ heldIn(collection: Basket): number;
12907
+ /** `+` adds every document the collection lacks; `✓` takes them all out. */
12908
+ toggle(collection: Basket): Promise<void>;
12909
+ protected startCreation(): void;
12910
+ /**
12911
+ * Leaves the name field for the list. On Escape, the key is kept from the popover around the panel,
12912
+ * which would otherwise close as well: one Escape undoes one thing.
12913
+ */
12914
+ protected cancelCreation(event?: Event): void;
12915
+ /**
12916
+ * Reached only with a valid name (see the schema). As in lexiQ, the collection is created empty and
12917
+ * takes its place at the top of the list, highlighted, with the focus on its `+`: filing the
12918
+ * documents in it is the user's next click, the same one as for any other collection.
12919
+ */
12920
+ private create;
12921
+ private confirmAdded;
12922
+ private nameTaken;
12923
+ protected onHostToggle(event: Event): void;
12924
+ private focusFirst;
12925
+ static ɵfac: i0.ɵɵFactoryDeclaration<AddToCollectionPanelComponent, never>;
12926
+ static ɵcmp: i0.ɵɵComponentDeclaration<AddToCollectionPanelComponent, "AddToCollectionPanel, add-to-collection-panel", never, {
12927
+ "articles": {
12928
+ "alias": "articles";
12929
+ "required": true;
12930
+ "isSignal": true;
12931
+ };
12932
+ }, {
12933
+ "done": "done";
12934
+ "changed": "changed";
12935
+ "closeRequested": "closeRequested";
12936
+ }, never, never, true, never>;
12937
+ }
12776
12938
  /** Editable text/boolean fields of a converter (the app-filled `conversion` is excluded). */
12777
12939
  type ConverterField = "name" | "converter" | "format" | "primary" | "display" | "default";
12778
12940
  /** Groups the toggles are bucketed into, in display order. */
@@ -13572,9 +13734,9 @@ export declare class SearchFeedbackComponent {
13572
13734
  onClose: import("@angular/core").OutputEmitterRef<void>;
13573
13735
  private readonly injector;
13574
13736
  pages: import("@angular/core").InputSignal<any>;
13575
- variant: import("@angular/core").InputSignal<"none" | "primary" | "secondary" | "light-accent" | "accent" | "tertiary" | null | undefined>;
13737
+ variant: import("@angular/core").InputSignal<"secondary" | "tertiary" | "none" | "primary" | "light-accent" | "accent" | null | undefined>;
13576
13738
  /** Size of the trigger button. `sm` fits a row of result options. */
13577
- size: import("@angular/core").InputSignal<"small" | "large" | "sm" | "md" | "lg" | "xs" | "xsmall" | "medium" | null | undefined>;
13739
+ size: import("@angular/core").InputSignal<"md" | "small" | "medium" | "large" | "lg" | "sm" | "xs" | "xsmall" | null | undefined>;
13578
13740
  /** Shows the close cross on the button. Turn it off where the button belongs to the page and is not a suggestion to dismiss. */
13579
13741
  dismissible: import("@angular/core").InputSignal<boolean>;
13580
13742
  readonly auditService: AuditService;
@@ -13927,7 +14089,7 @@ export declare class AggregationDateComponent {
13927
14089
  *
13928
14090
  * @default 'selection'
13929
14091
  */
13930
- emitOn: import("@angular/core").InputSignal<"apply" | "selection">;
14092
+ emitOn: import("@angular/core").InputSignal<"selection" | "apply">;
13931
14093
  readonly title: import("@angular/core").InputSignal<AggregationTitle>;
13932
14094
  readonly displayEmptyDistributionIntervals: import("@angular/core").InputSignal<boolean>;
13933
14095
  onSelect: import("@angular/core").OutputEmitterRef<AggregationItem[]>;
@@ -14083,6 +14245,9 @@ export declare class AggregationDateComponent {
14083
14245
  readonly allowCustomRange: boolean;
14084
14246
  readonly transloco: TranslocoService;
14085
14247
  private readonly injector;
14248
+ private readonly breakpoints;
14249
+ /** Clear all / Apply: a 44px target on touch (a finger, no hover), one step smaller with a mouse. */
14250
+ protected readonly actionSize: import("@angular/core").Signal<"md" | "lg">;
14086
14251
  private readonly host;
14087
14252
  protected readonly selection: import("@angular/core").WritableSignal<boolean>;
14088
14253
  protected readonly validSelection: import("@angular/core").WritableSignal<boolean>;
@@ -16469,7 +16634,7 @@ export declare class AggregationComponent {
16469
16634
  *
16470
16635
  * @default 'selection'
16471
16636
  */
16472
- emitOn: import("@angular/core").InputSignal<"apply" | "selection">;
16637
+ emitOn: import("@angular/core").InputSignal<"selection" | "apply">;
16473
16638
  /**
16474
16639
  * Which sub-component renders the aggregation.
16475
16640
  *
@@ -16482,7 +16647,7 @@ export declare class AggregationComponent {
16482
16647
  *
16483
16648
  * @default "auto"
16484
16649
  */
16485
- type: import("@angular/core").InputSignal<"date" | "list" | "tree" | "auto">;
16650
+ type: import("@angular/core").InputSignal<"list" | "auto" | "tree" | "date">;
16486
16651
  /**
16487
16652
  * Whether the host removes itself from the layout (Tailwind's `hidden`, i.e.
16488
16653
  * `display: none`) when it resolves to zero items. When `false` (default), the
@@ -16534,7 +16699,7 @@ export declare class AggregationComponent {
16534
16699
  * The sub-component to render: the explicit `type` input, or the current
16535
16700
  * date/tree/list heuristic when `type` is `"auto"`.
16536
16701
  */
16537
- protected resolvedType: import("@angular/core").Signal<"date" | "list" | "tree">;
16702
+ protected resolvedType: import("@angular/core").Signal<"list" | "tree" | "date">;
16538
16703
  /** Whether a filter is currently applied on this aggregation. */
16539
16704
  private readonly hasFilters;
16540
16705
  /**
@@ -16730,6 +16895,9 @@ export declare class AggregationPanelComponent {
16730
16895
  private readonly searchBox;
16731
16896
  private readonly searchToggle;
16732
16897
  private readonly injector;
16898
+ private readonly breakpoints;
16899
+ /** Clear all / Apply: a 44px target on touch (a finger, no hover), one step smaller with a mouse. */
16900
+ protected readonly actionSize: import("@angular/core").Signal<"md" | "lg">;
16733
16901
  /** The galactik popover (`[popover]` / `[dropdown]`) this panel is shown in, if any — resolved through the injector tree. */
16734
16902
  protected readonly isInPopover: boolean;
16735
16903
  private static nextId;
@@ -16861,6 +17029,8 @@ export type AppliedFilterChip = {
16861
17029
  readonly field: string;
16862
17030
  /** Aggregation name, when the filter carries one. */
16863
17031
  readonly name?: string;
17032
+ /** Icon configured for the aggregation in the custom JSON (FontAwesome class string), when there is one. */
17033
+ readonly icon?: string;
16864
17034
  /** The value as stored. */
16865
17035
  readonly value: string;
16866
17036
  /** What to show. Pipe it through `syslang`. */
@@ -16937,6 +17107,7 @@ export declare function filterKey(leaf: LegacyFilter): string;
16937
17107
  */
16938
17108
  export declare class AppliedFiltersComponent {
16939
17109
  private readonly queryParamsStore;
17110
+ private readonly appStore;
16940
17111
  private static nextId;
16941
17112
  protected readonly listId: string;
16942
17113
  private readonly list;
@@ -16964,6 +17135,12 @@ export declare class AppliedFiltersComponent {
16964
17135
  readonly syncUrl: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
16965
17136
  /** Whether each chip is prefixed with its aggregation (or field) name. */
16966
17137
  readonly showField: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
17138
+ /**
17139
+ * Whether the aggregation's icon replaces its name in the prefix, when the custom JSON configures one.
17140
+ * The name remains the tooltip and the accessible text. Aggregations without an icon keep `<name>:`.
17141
+ * Only applies while `showField` is on.
17142
+ */
17143
+ readonly fieldIcon: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
16967
17144
  /**
16968
17145
  * Chip fill, passed straight to galactik's `tag`.
16969
17146
  *
@@ -16975,11 +17152,11 @@ export declare class AppliedFiltersComponent {
16975
17152
  * than as "unset". A `null` here would therefore silently neutralise `scheme` — the chips would keep
16976
17153
  * their base look whatever colour was asked for. `undefined` lets the tag apply its own default.
16977
17154
  */
16978
- readonly variant: import("@angular/core").InputSignal<"primary" | "secondary" | null | undefined>;
17155
+ readonly variant: import("@angular/core").InputSignal<"secondary" | "primary" | null | undefined>;
16979
17156
  /** Chip colour scheme, passed to galactik's `tag`. */
16980
- readonly scheme: import("@angular/core").InputSignal<"error" | "sage" | "success" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "warning" | "info" | null | undefined>;
17157
+ readonly scheme: import("@angular/core").InputSignal<"error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "success" | "warning" | "info" | null | undefined>;
16981
17158
  /** Chip size, passed to galactik's `tag`. */
16982
- readonly size: import("@angular/core").InputSignal<"small" | "sm" | "md" | "xs" | "xsmall" | "medium" | null | undefined>;
17159
+ readonly size: import("@angular/core").InputSignal<"md" | "small" | "medium" | "sm" | "xs" | "xsmall" | null | undefined>;
16983
17160
  /** Extra classes for each chip, merged by galactik's `tag`. */
16984
17161
  readonly chipClass: import("@angular/core").InputSignal<string>;
16985
17162
  /**
@@ -17037,6 +17214,11 @@ export declare class AppliedFiltersComponent {
17037
17214
  "required": false;
17038
17215
  "isSignal": true;
17039
17216
  };
17217
+ "fieldIcon": {
17218
+ "alias": "fieldIcon";
17219
+ "required": false;
17220
+ "isSignal": true;
17221
+ };
17040
17222
  "variant": {
17041
17223
  "alias": "variant";
17042
17224
  "required": false;
@@ -17226,7 +17408,7 @@ export declare class FilterButtonComponent {
17226
17408
  * @default "sage"
17227
17409
  */
17228
17410
  scheme: import("@angular/core").InputSignal<FilterScheme>;
17229
- protected variant: import("@angular/core").WritableSignal<"none" | "primary" | "secondary" | "light-accent" | "accent" | "tertiary" | null | undefined>;
17411
+ protected variant: import("@angular/core").WritableSignal<"secondary" | "tertiary" | "none" | "primary" | "light-accent" | "accent" | null | undefined>;
17230
17412
  protected filter: import("@angular/core").WritableSignal<CFilterEx>;
17231
17413
  /** Unique id wiring the trigger's `popovertarget` to the `<div popover>` `id`. */
17232
17414
  protected readonly popoverId: string;
@@ -18631,7 +18813,7 @@ export declare class FiltersBarComponent {
18631
18813
  *
18632
18814
  * @default "start"
18633
18815
  */
18634
- align: import("@angular/core").InputSignal<"start" | "center">;
18816
+ align: import("@angular/core").InputSignal<"center" | "start">;
18635
18817
  /**
18636
18818
  * How far apart the buttons are. `compact` (the default) is the tight spacing of a toolbar; `comfortable` puts
18637
18819
  * `--spacing-lg` (20px) between every button, the quick filters pill and the "more" button included, as under the
@@ -20030,8 +20212,8 @@ export declare class HistoryPanelComponent {
20030
20212
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
20031
20213
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
20032
20214
  language?: import("@angular/core").Signal<string | undefined> | undefined;
20033
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
20034
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
20215
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
20216
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
20035
20217
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
20036
20218
  isDebugMode: import("@angular/core").Signal<boolean>;
20037
20219
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -20184,7 +20366,7 @@ export declare class QuickFiltersComponent {
20184
20366
  private readonly popover;
20185
20367
  protected readonly isOpen: import("@angular/core").Signal<boolean>;
20186
20368
  constructor();
20187
- protected readonly variant: import("@angular/core").Signal<"none" | "primary" | "secondary" | "light-accent" | "accent" | "tertiary" | null | undefined>;
20369
+ protected readonly variant: import("@angular/core").Signal<"secondary" | "tertiary" | "none" | "primary" | "light-accent" | "accent" | null | undefined>;
20188
20370
  protected readonly triggerClass: import("@angular/core").Signal<string>;
20189
20371
  /** What was just done, for the screen readers: kept here, as the list goes with the popover once a quick filter is applied. */
20190
20372
  protected readonly announcement: import("@angular/core").WritableSignal<string>;
@@ -20457,7 +20639,7 @@ export type SearchBoxTab = "suggestions" | "saved";
20457
20639
  */
20458
20640
  export declare class SearchBoxComponent {
20459
20641
  /** Scale of the field: `hero` for a home page (the prototype's pill), `medium` (36px) for the header of a results page. */
20460
- readonly size: import("@angular/core").InputSignal<"small" | "large" | "medium" | "hero" | null | undefined>;
20642
+ readonly size: import("@angular/core").InputSignal<"small" | "medium" | "large" | "hero" | null | undefined>;
20461
20643
  /** Shows the saved-search star once there is something to save. */
20462
20644
  readonly showSave: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
20463
20645
  /** The route a search leads to. */
@@ -20949,8 +21131,8 @@ export declare class SearchBoxComponent {
20949
21131
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
20950
21132
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
20951
21133
  language?: import("@angular/core").Signal<string | undefined> | undefined;
20952
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
20953
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
21134
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
21135
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
20954
21136
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
20955
21137
  isDebugMode: import("@angular/core").Signal<boolean>;
20956
21138
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -21260,8 +21442,8 @@ export declare class RecentSearchesComponent {
21260
21442
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
21261
21443
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
21262
21444
  language?: import("@angular/core").Signal<string | undefined> | undefined;
21263
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
21264
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
21445
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
21446
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
21265
21447
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
21266
21448
  isDebugMode: import("@angular/core").Signal<boolean>;
21267
21449
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -21385,8 +21567,8 @@ export declare class SavedSearchPopover {
21385
21567
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
21386
21568
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
21387
21569
  language?: import("@angular/core").Signal<string | undefined> | undefined;
21388
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
21389
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
21570
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
21571
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
21390
21572
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
21391
21573
  isDebugMode: import("@angular/core").Signal<boolean>;
21392
21574
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -21481,8 +21663,8 @@ export declare class SavedSearchesComponent {
21481
21663
  alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
21482
21664
  collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
21483
21665
  language?: import("@angular/core").Signal<string | undefined> | undefined;
21484
- userTheme: import("@angular/core").Signal<"dark" | "light" | "system" | undefined>;
21485
- agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings> | import("@angular/core").Signal<undefined>;
21666
+ userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
21667
+ agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
21486
21668
  disabledHighlightCategories: import("@angular/core").Signal<string[]>;
21487
21669
  isDebugMode: import("@angular/core").Signal<boolean>;
21488
21670
  isDarkMode: import("@angular/core").Signal<boolean>;
@@ -21655,7 +21837,7 @@ export declare class SettingsAccountPanelComponent {
21655
21837
  param9: import("@angular/core").Signal<string>;
21656
21838
  param10: import("@angular/core").Signal<string>;
21657
21839
  userOverrideActive: import("@angular/core").Signal<boolean>;
21658
- state: import("@angular/core").Signal<"error" | "initial" | "loading" | "loaded">;
21840
+ state: import("@angular/core").Signal<"error" | "loading" | "loaded" | "initial">;
21659
21841
  allowUserOverride: import("@angular/core").Signal<boolean>;
21660
21842
  isOverridingUser: import("@angular/core").Signal<boolean>;
21661
21843
  initials: import("@angular/core").Signal<string>;
@@ -21730,7 +21912,7 @@ export declare class SettingsAppearancePanelComponent {
21730
21912
  private readonly themeIcons;
21731
21913
  private readonly languageIcons;
21732
21914
  private readonly languageLabels;
21733
- protected readonly currentTheme: import("@angular/core").Signal<"dark" | "light" | "system">;
21915
+ protected readonly currentTheme: import("@angular/core").Signal<"light" | "dark" | "system">;
21734
21916
  protected readonly currentLanguage: import("@angular/core").Signal<string>;
21735
21917
  protected readonly themeLabel: (code: string | null) => string;
21736
21918
  protected readonly languageLabel: (code: string | null) => string;
@@ -21819,7 +22001,7 @@ export declare class UserProfileFormComponent {
21819
22001
  param9: Signal<string>;
21820
22002
  param10: Signal<string>;
21821
22003
  userOverrideActive: Signal<boolean>;
21822
- state: Signal<"error" | "initial" | "loading" | "loaded">;
22004
+ state: Signal<"error" | "loading" | "loaded" | "initial">;
21823
22005
  allowUserOverride: Signal<boolean>;
21824
22006
  isOverridingUser: Signal<boolean>;
21825
22007
  initials: Signal<string>;