@sinequa/atomic-angular 2.13.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.
- package/components/multi-selection-toolbar/i18n/de.json +2 -1
- package/components/multi-selection-toolbar/i18n/en.json +2 -1
- package/components/multi-selection-toolbar/i18n/fr.json +2 -1
- package/features/advanced-search/i18n/de.json +9 -1
- package/features/advanced-search/i18n/en.json +9 -1
- package/features/advanced-search/i18n/fr.json +9 -1
- package/features/alerts/i18n/de.json +2 -1
- package/features/alerts/i18n/en.json +2 -1
- package/features/alerts/i18n/fr.json +2 -1
- package/features/collections/i18n/de.json +15 -1
- package/features/collections/i18n/en.json +15 -1
- package/features/collections/i18n/fr.json +15 -1
- package/features/quick-filters/i18n/de.json +2 -1
- package/features/quick-filters/i18n/en.json +2 -1
- package/features/quick-filters/i18n/fr.json +2 -1
- package/features/searches/i18n/de.json +2 -1
- package/features/searches/i18n/en.json +2 -1
- package/features/searches/i18n/fr.json +2 -1
- package/fesm2022/sinequa-atomic-angular-document-workspaces.mjs +45 -43
- package/fesm2022/sinequa-atomic-angular-document-workspaces.mjs.map +1 -1
- package/fesm2022/sinequa-atomic-angular.mjs +2456 -454
- package/fesm2022/sinequa-atomic-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/types/sinequa-atomic-angular-document-workspaces.d.ts +14 -14
- package/types/sinequa-atomic-angular.d.ts +394 -127
|
@@ -4,7 +4,7 @@ import { TranslocoService } from "@jsverse/transloco";
|
|
|
4
4
|
import { Aggregation, AggregationItem, Article, AtomicClient, AtomicClientConfig, AuditEventType, AuditEventTypeValues, AuditEvents, CCApp, CCColumn, CCQuery, CCSortingChoice, CCWebService, Conversion, Credentials, CustomHighlights, DidYouMeanAction, ExportOutputFormat, ExportQueryModel, Filter as Filter$1, FilterOperator, KeyOf, LegacyFilter, LinkResult, PreviewData, Principal, Query, QueryParams, RequestOptions, Result, SpellingCorrectionMode, Suggestion, TextChunk, TextLocation, TreeAggregation, TreeAggregationNode, UserProfile } from "@sinequa/atomic";
|
|
5
5
|
import { CanActivateFn, NavigationEnd, Params, ResolveFn, Route, Router } from "@angular/router";
|
|
6
6
|
import { VariantProps } from "class-variance-authority";
|
|
7
|
-
import { BreakpointObserverService, DialogComponent, DialogEvent, DialogResult, DropdownDirective, PopoverDirective, SheetComponent, SwitchComponent } from "@sinequa/galactik";
|
|
7
|
+
import { BreakpointObserverService, DialogComponent, DialogEvent, DialogResult, DropdownDirective, PopoverDirective, SheetComponent, SwitchComponent, TooltipDirective } from "@sinequa/galactik";
|
|
8
8
|
import { DomSanitizer, SafeHtml, Title } from "@angular/platform-browser";
|
|
9
9
|
import { BehaviorSubject, Observable, Subject } from "rxjs";
|
|
10
10
|
import { FieldTree } from "@angular/forms/signals";
|
|
@@ -891,7 +891,7 @@ export declare class DocumentLocatorComponent implements OnDestroy {
|
|
|
891
891
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
892
892
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
893
893
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
894
|
-
aggregations?: import("@angular/core").Signal<
|
|
894
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
895
895
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
896
896
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
897
897
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -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<"
|
|
1078
|
-
size: import("@angular/core").InputSignal<"
|
|
1079
|
-
scheme: import("@angular/core").InputSignal<"error" | "sage" | "
|
|
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>;
|
|
@@ -1152,7 +1152,7 @@ export declare class MissingTermsComponent {
|
|
|
1152
1152
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
1153
1153
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
1154
1154
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
1155
|
-
aggregations?: import("@angular/core").Signal<
|
|
1155
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
1156
1156
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
1157
1157
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
1158
1158
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | 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?: "
|
|
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("@
|
|
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<
|
|
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:
|
|
1589
|
-
removeArticleFromMultiSelection: (article:
|
|
1588
|
+
addArticleToMultiSelection: (article: Article) => void;
|
|
1589
|
+
removeArticleFromMultiSelection: (article: Article) => void;
|
|
1590
1590
|
clearMultiSelection: () => void;
|
|
1591
1591
|
} & import("@ngrx/signals").StateSource<{
|
|
1592
|
-
article?:
|
|
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:
|
|
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
|
-
|
|
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<"
|
|
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" | "
|
|
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>;
|
|
@@ -3319,7 +3355,7 @@ export declare const QueryParamsStore: import("@angular/core").Type<{
|
|
|
3319
3355
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3320
3356
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
3321
3357
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3322
|
-
aggregations?: import("@angular/core").Signal<
|
|
3358
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
3323
3359
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3324
3360
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3325
3361
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -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("@
|
|
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<"
|
|
3639
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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("@
|
|
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;
|
|
@@ -5293,7 +5329,7 @@ export declare class PreviewService {
|
|
|
5293
5329
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
5294
5330
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
5295
5331
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
5296
|
-
aggregations?: import("@angular/core").Signal<
|
|
5332
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
5297
5333
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
5298
5334
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
5299
5335
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -6343,7 +6379,7 @@ export declare class AggregationsService {
|
|
|
6343
6379
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
6344
6380
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
6345
6381
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
6346
|
-
aggregations?: import("@angular/core").Signal<
|
|
6382
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
6347
6383
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
6348
6384
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
6349
6385
|
neuralSearch?: import("@angular/core").Signal<boolean | 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<"
|
|
6595
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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" | "
|
|
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>;
|
|
@@ -7059,7 +7095,7 @@ export declare class ApplicationService {
|
|
|
7059
7095
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7060
7096
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
7061
7097
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7062
|
-
aggregations?: import("@angular/core").Signal<
|
|
7098
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
7063
7099
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7064
7100
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7065
7101
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -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<"
|
|
7289
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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<"
|
|
7933
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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>;
|
|
@@ -8016,7 +8052,7 @@ export declare class SavedSearchesService {
|
|
|
8016
8052
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8017
8053
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
8018
8054
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8019
|
-
aggregations?: import("@angular/core").Signal<
|
|
8055
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
8020
8056
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8021
8057
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8022
8058
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -8201,7 +8237,7 @@ export declare class SearchService {
|
|
|
8201
8237
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8202
8238
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
8203
8239
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8204
|
-
aggregations?: import("@angular/core").Signal<
|
|
8240
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
8205
8241
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8206
8242
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8207
8243
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -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<"
|
|
8299
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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>;
|
|
@@ -8430,7 +8466,7 @@ export declare class SelectionService {
|
|
|
8430
8466
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8431
8467
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
8432
8468
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8433
|
-
aggregations?: import("@angular/core").Signal<
|
|
8469
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
8434
8470
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8435
8471
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8436
8472
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -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<"
|
|
9179
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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>;
|
|
@@ -9952,7 +10014,7 @@ export declare class SponsoredResultsComponent {
|
|
|
9952
10014
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
9953
10015
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
9954
10016
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
9955
|
-
aggregations?: import("@angular/core").Signal<
|
|
10017
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
9956
10018
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
9957
10019
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
9958
10020
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -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("@
|
|
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;
|
|
@@ -11040,7 +11102,7 @@ export declare class AdvancedSearch {
|
|
|
11040
11102
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
11041
11103
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
11042
11104
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
11043
|
-
aggregations?: import("@angular/core").Signal<
|
|
11105
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
11044
11106
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
11045
11107
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
11046
11108
|
neuralSearch?: import("@angular/core").Signal<boolean | 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("@
|
|
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;
|
|
@@ -11332,6 +11394,11 @@ export declare class ArticleEntities {
|
|
|
11332
11394
|
navigateNext: (entity: string, data: import("@sinequa/atomic-angular").ArticleMetadata) => void;
|
|
11333
11395
|
navigatePrev: (entity: string, data: import("@sinequa/atomic-angular").ArticleMetadata) => void;
|
|
11334
11396
|
};
|
|
11397
|
+
protected readonly row: {
|
|
11398
|
+
enter: (value: string) => void;
|
|
11399
|
+
leave: () => void;
|
|
11400
|
+
activate: (value: string) => void;
|
|
11401
|
+
};
|
|
11335
11402
|
static ɵfac: i0.ɵɵFactoryDeclaration<ArticleEntities, never>;
|
|
11336
11403
|
static ɵcmp: i0.ɵɵComponentDeclaration<ArticleEntities, "article-entities,ArticleEntities,articleentities", never, {
|
|
11337
11404
|
"article": {
|
|
@@ -11477,6 +11544,11 @@ export declare class ArticleMatchLocations {
|
|
|
11477
11544
|
navigateNext: (data: import("@sinequa/atomic-angular").ArticleMetadata) => void;
|
|
11478
11545
|
navigatePrev: (data: import("@sinequa/atomic-angular").ArticleMetadata) => void;
|
|
11479
11546
|
};
|
|
11547
|
+
protected readonly row: {
|
|
11548
|
+
enter: (value: string) => void;
|
|
11549
|
+
leave: () => void;
|
|
11550
|
+
activate: (value: string) => void;
|
|
11551
|
+
};
|
|
11480
11552
|
static ɵfac: i0.ɵɵFactoryDeclaration<ArticleMatchLocations, never>;
|
|
11481
11553
|
static ɵcmp: i0.ɵɵComponentDeclaration<ArticleMatchLocations, "article-match-locations, ArticleMatchLocations, articlematchlocations", never, {}, {}, never, never, true, never>;
|
|
11482
11554
|
}
|
|
@@ -11547,6 +11619,12 @@ export declare class ArticleEntitiesTabPanel {
|
|
|
11547
11619
|
navigateNext: (entity: string, data: ArticleMetadata) => void;
|
|
11548
11620
|
navigatePrev: (entity: string, data: ArticleMetadata) => void;
|
|
11549
11621
|
}>;
|
|
11622
|
+
/** Hover for a mouse, a tap for a finger (see {@link injectRowActivation}). */
|
|
11623
|
+
protected readonly row: {
|
|
11624
|
+
enter: (value: string) => void;
|
|
11625
|
+
leave: () => void;
|
|
11626
|
+
activate: (value: string) => void;
|
|
11627
|
+
};
|
|
11550
11628
|
/** Category expansion state, keyed by entity name — categories default closed. */
|
|
11551
11629
|
private readonly expandedCategories;
|
|
11552
11630
|
protected isExpanded(entity: string): boolean;
|
|
@@ -11654,6 +11732,14 @@ export declare class ArticleMatchLocationsTabPanel {
|
|
|
11654
11732
|
navigateNext: (data: ArticleMetadata) => void;
|
|
11655
11733
|
navigatePrev: (data: ArticleMetadata) => void;
|
|
11656
11734
|
}>;
|
|
11735
|
+
/** The text being searched for: tells an empty panel "no search yet" from "no match". */
|
|
11736
|
+
readonly queryText: import("@angular/core").InputSignal<string>;
|
|
11737
|
+
/** Hover for a mouse, a tap for a finger (see {@link injectRowActivation}). */
|
|
11738
|
+
protected readonly row: {
|
|
11739
|
+
enter: (value: string) => void;
|
|
11740
|
+
leave: () => void;
|
|
11741
|
+
activate: (value: string) => void;
|
|
11742
|
+
};
|
|
11657
11743
|
/**
|
|
11658
11744
|
* Which row currently has keyboard focus — tracked independently of `state().hovering` (mouse
|
|
11659
11745
|
* only) so the prev/next affordance shows on either input method without one clearing the other:
|
|
@@ -11683,6 +11769,11 @@ export declare class ArticleMatchLocationsTabPanel {
|
|
|
11683
11769
|
"required": true;
|
|
11684
11770
|
"isSignal": true;
|
|
11685
11771
|
};
|
|
11772
|
+
"queryText": {
|
|
11773
|
+
"alias": "queryText";
|
|
11774
|
+
"required": false;
|
|
11775
|
+
"isSignal": true;
|
|
11776
|
+
};
|
|
11686
11777
|
}, {}, never, never, true, never>;
|
|
11687
11778
|
}
|
|
11688
11779
|
/**
|
|
@@ -11793,6 +11884,12 @@ export declare class AlertsComponent {
|
|
|
11793
11884
|
/** The second line of each row. */
|
|
11794
11885
|
private readonly summaries;
|
|
11795
11886
|
protected readonly summaryOf: (alert: Alert) => AlertSummaryPart[];
|
|
11887
|
+
/** False while the page is driven with a finger: the line that explains the keys to reorder a row is then not shown. */
|
|
11888
|
+
protected readonly keyboardAvailable: import("@angular/core").Signal<boolean>;
|
|
11889
|
+
/** The name and the second line of a row as one text, for the tooltip that shows them whole when they are cut off. */
|
|
11890
|
+
protected fullText(alert: Alert): string;
|
|
11891
|
+
/** The info button of a row: shows the whole text in the tooltip, or takes it away at a second tap. A tap elsewhere closes it (the tooltip's own). */
|
|
11892
|
+
protected toggleText(tip: TooltipDirective): void;
|
|
11796
11893
|
/** What a screen reader hears after a keyboard move. */
|
|
11797
11894
|
protected readonly announceMove: (alert: Alert, position: number, total: number) => string;
|
|
11798
11895
|
constructor();
|
|
@@ -12438,10 +12535,10 @@ export declare class SignedOutComponent {
|
|
|
12438
12535
|
static ɵcmp: i0.ɵɵComponentDeclaration<SignedOutComponent, "signed-out, SignedOut, signedout", never, {}, {}, never, never, true, never>;
|
|
12439
12536
|
}
|
|
12440
12537
|
export declare class BookmarkButtonComponent {
|
|
12441
|
-
variant: import("@angular/core").InputSignal<"
|
|
12538
|
+
variant: import("@angular/core").InputSignal<"secondary" | "tertiary" | "none" | "primary" | "light-accent" | "accent" | null | undefined>;
|
|
12442
12539
|
/** `neutral` gives a tertiary button the dark icon of the other neutral icon buttons of a toolbar. */
|
|
12443
12540
|
scheme: import("@angular/core").InputSignal<"default" | "neutral" | null | undefined>;
|
|
12444
|
-
size: import("@angular/core").InputSignal<"
|
|
12541
|
+
size: import("@angular/core").InputSignal<"md" | "small" | "medium" | "large" | "lg" | "sm" | "xs" | "xsmall" | null | undefined>;
|
|
12445
12542
|
/**
|
|
12446
12543
|
* Tab index applied to the inner button.
|
|
12447
12544
|
*
|
|
@@ -12519,7 +12616,7 @@ declare class ListPanelComponent<T> {
|
|
|
12519
12616
|
getLabel: import("@angular/core").InputSignal<((item: T) => string) | undefined>;
|
|
12520
12617
|
deleteButtonTitle: import("@angular/core").InputSignal<string>;
|
|
12521
12618
|
/**
|
|
12522
|
-
* Whether rows can be deleted. On by default. Off, rows carry no
|
|
12619
|
+
* Whether rows can be deleted. On by default. Off, rows carry no cross, `Delete` does nothing and
|
|
12523
12620
|
* nothing announces it (no `aria-keyshortcuts`, no hint) — a list that cannot delete must not say
|
|
12524
12621
|
* that it can.
|
|
12525
12622
|
*/
|
|
@@ -12698,7 +12795,7 @@ export declare class CollectionsDialog {
|
|
|
12698
12795
|
readonly showSearch: import("@angular/core").Signal<boolean>;
|
|
12699
12796
|
/** Collections matching the search text (case-insensitive, by name). */
|
|
12700
12797
|
readonly filteredCollections: import("@angular/core").Signal<Basket[]>;
|
|
12701
|
-
readonly collectionsMap: import("@angular/core").WritableSignal<Record<string, "some" | "
|
|
12798
|
+
readonly collectionsMap: import("@angular/core").WritableSignal<Record<string, "some" | "all" | "none">>;
|
|
12702
12799
|
/** Windowing over the filtered list — renders only the visible rows. */
|
|
12703
12800
|
readonly virtualizer: import("@tanstack/angular-virtual").AngularVirtualizer<HTMLDivElement, Element>;
|
|
12704
12801
|
constructor();
|
|
@@ -12738,6 +12835,106 @@ export declare class DeleteCollectionDialog {
|
|
|
12738
12835
|
}
|
|
12739
12836
|
/** Imperative entry point: `await DeleteCollection.call({ collection, index })`. */
|
|
12740
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
|
+
}
|
|
12741
12938
|
/** Editable text/boolean fields of a converter (the app-filled `conversion` is excluded). */
|
|
12742
12939
|
type ConverterField = "name" | "converter" | "format" | "primary" | "display" | "default";
|
|
12743
12940
|
/** Groups the toggles are bucketed into, in display order. */
|
|
@@ -13053,7 +13250,7 @@ export declare class ExportDialog {
|
|
|
13053
13250
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13054
13251
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
13055
13252
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13056
|
-
aggregations?: import("@angular/core").Signal<
|
|
13253
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
13057
13254
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13058
13255
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13059
13256
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -13537,9 +13734,9 @@ export declare class SearchFeedbackComponent {
|
|
|
13537
13734
|
onClose: import("@angular/core").OutputEmitterRef<void>;
|
|
13538
13735
|
private readonly injector;
|
|
13539
13736
|
pages: import("@angular/core").InputSignal<any>;
|
|
13540
|
-
variant: import("@angular/core").InputSignal<"
|
|
13737
|
+
variant: import("@angular/core").InputSignal<"secondary" | "tertiary" | "none" | "primary" | "light-accent" | "accent" | null | undefined>;
|
|
13541
13738
|
/** Size of the trigger button. `sm` fits a row of result options. */
|
|
13542
|
-
size: import("@angular/core").InputSignal<"
|
|
13739
|
+
size: import("@angular/core").InputSignal<"md" | "small" | "medium" | "large" | "lg" | "sm" | "xs" | "xsmall" | null | undefined>;
|
|
13543
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. */
|
|
13544
13741
|
dismissible: import("@angular/core").InputSignal<boolean>;
|
|
13545
13742
|
readonly auditService: AuditService;
|
|
@@ -13570,7 +13767,7 @@ export declare class SearchFeedbackComponent {
|
|
|
13570
13767
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13571
13768
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
13572
13769
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13573
|
-
aggregations?: import("@angular/core").Signal<
|
|
13770
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
13574
13771
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13575
13772
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13576
13773
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -13892,7 +14089,7 @@ export declare class AggregationDateComponent {
|
|
|
13892
14089
|
*
|
|
13893
14090
|
* @default 'selection'
|
|
13894
14091
|
*/
|
|
13895
|
-
emitOn: import("@angular/core").InputSignal<"
|
|
14092
|
+
emitOn: import("@angular/core").InputSignal<"selection" | "apply">;
|
|
13896
14093
|
readonly title: import("@angular/core").InputSignal<AggregationTitle>;
|
|
13897
14094
|
readonly displayEmptyDistributionIntervals: import("@angular/core").InputSignal<boolean>;
|
|
13898
14095
|
onSelect: import("@angular/core").OutputEmitterRef<AggregationItem[]>;
|
|
@@ -13960,7 +14157,7 @@ export declare class AggregationDateComponent {
|
|
|
13960
14157
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13961
14158
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
13962
14159
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13963
|
-
aggregations?: import("@angular/core").Signal<
|
|
14160
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
13964
14161
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13965
14162
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13966
14163
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -14048,6 +14245,9 @@ export declare class AggregationDateComponent {
|
|
|
14048
14245
|
readonly allowCustomRange: boolean;
|
|
14049
14246
|
readonly transloco: TranslocoService;
|
|
14050
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">;
|
|
14051
14251
|
private readonly host;
|
|
14052
14252
|
protected readonly selection: import("@angular/core").WritableSignal<boolean>;
|
|
14053
14253
|
protected readonly validSelection: import("@angular/core").WritableSignal<boolean>;
|
|
@@ -14472,7 +14672,7 @@ export declare class AggregationTreeComponent {
|
|
|
14472
14672
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
14473
14673
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
14474
14674
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
14475
|
-
aggregations?: import("@angular/core").Signal<
|
|
14675
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
14476
14676
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
14477
14677
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
14478
14678
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -15347,7 +15547,7 @@ export declare class AggregationListComponent {
|
|
|
15347
15547
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
15348
15548
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
15349
15549
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
15350
|
-
aggregations?: import("@angular/core").Signal<
|
|
15550
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
15351
15551
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
15352
15552
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
15353
15553
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -15478,14 +15678,7 @@ export declare class AggregationListComponent {
|
|
|
15478
15678
|
};
|
|
15479
15679
|
userProfile?: {
|
|
15480
15680
|
enabled?: boolean;
|
|
15481
|
-
data
|
|
15482
|
-
* Leaves out the header of the facet — its icon, its title, the collapse chevron — for a popover that holds this one facet
|
|
15483
|
-
* (the popover of a filter button, whose button already says which facet it is). Select all, clear and apply are not in the
|
|
15484
|
-
* header, whichever way the facet is shown: they sit in a bar under the search field. A popover that holds several facets
|
|
15485
|
-
* (the "more filters" one) keeps the headers: each of them collapses and expands from its title.
|
|
15486
|
-
*
|
|
15487
|
-
* @default false
|
|
15488
|
-
*/ : string[];
|
|
15681
|
+
data?: string[];
|
|
15489
15682
|
customData?: import("@sinequa/atomic-angular").CustomDataEntry[];
|
|
15490
15683
|
};
|
|
15491
15684
|
previewMultiConversion?: boolean;
|
|
@@ -15499,7 +15692,19 @@ export declare class AggregationListComponent {
|
|
|
15499
15692
|
light?: {
|
|
15500
15693
|
small?: string;
|
|
15501
15694
|
large?: string;
|
|
15502
|
-
sidebar
|
|
15695
|
+
sidebar?
|
|
15696
|
+
/**
|
|
15697
|
+
* When `false`, applying or clearing filters updates the store without
|
|
15698
|
+
* synchronizing the URL (no browser history entry, not shareable/restorable).
|
|
15699
|
+
*
|
|
15700
|
+
* @default true
|
|
15701
|
+
*/
|
|
15702
|
+
/**
|
|
15703
|
+
* When `false`, applying or clearing filters updates the store without
|
|
15704
|
+
* synchronizing the URL (no browser history entry, not shareable/restorable).
|
|
15705
|
+
*
|
|
15706
|
+
* @default true
|
|
15707
|
+
*/ : string;
|
|
15503
15708
|
};
|
|
15504
15709
|
dark?: {
|
|
15505
15710
|
small?: string;
|
|
@@ -15527,14 +15732,7 @@ export declare class AggregationListComponent {
|
|
|
15527
15732
|
};
|
|
15528
15733
|
userProfile?: {
|
|
15529
15734
|
enabled?: boolean;
|
|
15530
|
-
data
|
|
15531
|
-
* Leaves out the header of the facet — its icon, its title, the collapse chevron — for a popover that holds this one facet
|
|
15532
|
-
* (the popover of a filter button, whose button already says which facet it is). Select all, clear and apply are not in the
|
|
15533
|
-
* header, whichever way the facet is shown: they sit in a bar under the search field. A popover that holds several facets
|
|
15534
|
-
* (the "more filters" one) keeps the headers: each of them collapses and expands from its title.
|
|
15535
|
-
*
|
|
15536
|
-
* @default false
|
|
15537
|
-
*/ : string[];
|
|
15735
|
+
data?: string[];
|
|
15538
15736
|
customData?: import("@sinequa/atomic-angular").CustomDataEntry[];
|
|
15539
15737
|
};
|
|
15540
15738
|
previewMultiConversion?: boolean;
|
|
@@ -15570,7 +15768,19 @@ export declare class AggregationListComponent {
|
|
|
15570
15768
|
light?: {
|
|
15571
15769
|
small?: string;
|
|
15572
15770
|
large?: string;
|
|
15573
|
-
sidebar
|
|
15771
|
+
sidebar?
|
|
15772
|
+
/**
|
|
15773
|
+
* When `false`, applying or clearing filters updates the store without
|
|
15774
|
+
* synchronizing the URL (no browser history entry, not shareable/restorable).
|
|
15775
|
+
*
|
|
15776
|
+
* @default true
|
|
15777
|
+
*/
|
|
15778
|
+
/**
|
|
15779
|
+
* When `false`, applying or clearing filters updates the store without
|
|
15780
|
+
* synchronizing the URL (no browser history entry, not shareable/restorable).
|
|
15781
|
+
*
|
|
15782
|
+
* @default true
|
|
15783
|
+
*/ : string;
|
|
15574
15784
|
};
|
|
15575
15785
|
dark?: {
|
|
15576
15786
|
small?: string;
|
|
@@ -15598,14 +15808,7 @@ export declare class AggregationListComponent {
|
|
|
15598
15808
|
};
|
|
15599
15809
|
userProfile?: {
|
|
15600
15810
|
enabled?: boolean;
|
|
15601
|
-
data
|
|
15602
|
-
* Leaves out the header of the facet — its icon, its title, the collapse chevron — for a popover that holds this one facet
|
|
15603
|
-
* (the popover of a filter button, whose button already says which facet it is). Select all, clear and apply are not in the
|
|
15604
|
-
* header, whichever way the facet is shown: they sit in a bar under the search field. A popover that holds several facets
|
|
15605
|
-
* (the "more filters" one) keeps the headers: each of them collapses and expands from its title.
|
|
15606
|
-
*
|
|
15607
|
-
* @default false
|
|
15608
|
-
*/ : string[];
|
|
15811
|
+
data?: string[];
|
|
15609
15812
|
customData?: import("@sinequa/atomic-angular").CustomDataEntry[];
|
|
15610
15813
|
};
|
|
15611
15814
|
previewMultiConversion?: boolean;
|
|
@@ -15699,14 +15902,7 @@ export declare class AggregationListComponent {
|
|
|
15699
15902
|
};
|
|
15700
15903
|
userProfile?: {
|
|
15701
15904
|
enabled?: boolean;
|
|
15702
|
-
data
|
|
15703
|
-
* Leaves out the header of the facet — its icon, its title, the collapse chevron — for a popover that holds this one facet
|
|
15704
|
-
* (the popover of a filter button, whose button already says which facet it is). Select all, clear and apply are not in the
|
|
15705
|
-
* header, whichever way the facet is shown: they sit in a bar under the search field. A popover that holds several facets
|
|
15706
|
-
* (the "more filters" one) keeps the headers: each of them collapses and expands from its title.
|
|
15707
|
-
*
|
|
15708
|
-
* @default false
|
|
15709
|
-
*/ : string[];
|
|
15905
|
+
data?: string[];
|
|
15710
15906
|
customData?: import("@sinequa/atomic-angular").CustomDataEntry[];
|
|
15711
15907
|
};
|
|
15712
15908
|
previewMultiConversion?: boolean;
|
|
@@ -15720,7 +15916,19 @@ export declare class AggregationListComponent {
|
|
|
15720
15916
|
light?: {
|
|
15721
15917
|
small?: string;
|
|
15722
15918
|
large?: string;
|
|
15723
|
-
sidebar
|
|
15919
|
+
sidebar?
|
|
15920
|
+
/**
|
|
15921
|
+
* When `false`, applying or clearing filters updates the store without
|
|
15922
|
+
* synchronizing the URL (no browser history entry, not shareable/restorable).
|
|
15923
|
+
*
|
|
15924
|
+
* @default true
|
|
15925
|
+
*/
|
|
15926
|
+
/**
|
|
15927
|
+
* When `false`, applying or clearing filters updates the store without
|
|
15928
|
+
* synchronizing the URL (no browser history entry, not shareable/restorable).
|
|
15929
|
+
*
|
|
15930
|
+
* @default true
|
|
15931
|
+
*/ : string;
|
|
15724
15932
|
};
|
|
15725
15933
|
dark?: {
|
|
15726
15934
|
small?: string;
|
|
@@ -15748,14 +15956,7 @@ export declare class AggregationListComponent {
|
|
|
15748
15956
|
};
|
|
15749
15957
|
userProfile?: {
|
|
15750
15958
|
enabled?: boolean;
|
|
15751
|
-
data
|
|
15752
|
-
* Leaves out the header of the facet — its icon, its title, the collapse chevron — for a popover that holds this one facet
|
|
15753
|
-
* (the popover of a filter button, whose button already says which facet it is). Select all, clear and apply are not in the
|
|
15754
|
-
* header, whichever way the facet is shown: they sit in a bar under the search field. A popover that holds several facets
|
|
15755
|
-
* (the "more filters" one) keeps the headers: each of them collapses and expands from its title.
|
|
15756
|
-
*
|
|
15757
|
-
* @default false
|
|
15758
|
-
*/ : string[];
|
|
15959
|
+
data?: string[];
|
|
15759
15960
|
customData?: import("@sinequa/atomic-angular").CustomDataEntry[];
|
|
15760
15961
|
};
|
|
15761
15962
|
previewMultiConversion?: boolean;
|
|
@@ -16433,7 +16634,7 @@ export declare class AggregationComponent {
|
|
|
16433
16634
|
*
|
|
16434
16635
|
* @default 'selection'
|
|
16435
16636
|
*/
|
|
16436
|
-
emitOn: import("@angular/core").InputSignal<"
|
|
16637
|
+
emitOn: import("@angular/core").InputSignal<"selection" | "apply">;
|
|
16437
16638
|
/**
|
|
16438
16639
|
* Which sub-component renders the aggregation.
|
|
16439
16640
|
*
|
|
@@ -16446,7 +16647,7 @@ export declare class AggregationComponent {
|
|
|
16446
16647
|
*
|
|
16447
16648
|
* @default "auto"
|
|
16448
16649
|
*/
|
|
16449
|
-
type: import("@angular/core").InputSignal<"
|
|
16650
|
+
type: import("@angular/core").InputSignal<"list" | "auto" | "tree" | "date">;
|
|
16450
16651
|
/**
|
|
16451
16652
|
* Whether the host removes itself from the layout (Tailwind's `hidden`, i.e.
|
|
16452
16653
|
* `display: none`) when it resolves to zero items. When `false` (default), the
|
|
@@ -16498,7 +16699,7 @@ export declare class AggregationComponent {
|
|
|
16498
16699
|
* The sub-component to render: the explicit `type` input, or the current
|
|
16499
16700
|
* date/tree/list heuristic when `type` is `"auto"`.
|
|
16500
16701
|
*/
|
|
16501
|
-
protected resolvedType: import("@angular/core").Signal<"
|
|
16702
|
+
protected resolvedType: import("@angular/core").Signal<"list" | "tree" | "date">;
|
|
16502
16703
|
/** Whether a filter is currently applied on this aggregation. */
|
|
16503
16704
|
private readonly hasFilters;
|
|
16504
16705
|
/**
|
|
@@ -16694,6 +16895,9 @@ export declare class AggregationPanelComponent {
|
|
|
16694
16895
|
private readonly searchBox;
|
|
16695
16896
|
private readonly searchToggle;
|
|
16696
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">;
|
|
16697
16901
|
/** The galactik popover (`[popover]` / `[dropdown]`) this panel is shown in, if any — resolved through the injector tree. */
|
|
16698
16902
|
protected readonly isInPopover: boolean;
|
|
16699
16903
|
private static nextId;
|
|
@@ -16825,6 +17029,8 @@ export type AppliedFilterChip = {
|
|
|
16825
17029
|
readonly field: string;
|
|
16826
17030
|
/** Aggregation name, when the filter carries one. */
|
|
16827
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;
|
|
16828
17034
|
/** The value as stored. */
|
|
16829
17035
|
readonly value: string;
|
|
16830
17036
|
/** What to show. Pipe it through `syslang`. */
|
|
@@ -16901,6 +17107,7 @@ export declare function filterKey(leaf: LegacyFilter): string;
|
|
|
16901
17107
|
*/
|
|
16902
17108
|
export declare class AppliedFiltersComponent {
|
|
16903
17109
|
private readonly queryParamsStore;
|
|
17110
|
+
private readonly appStore;
|
|
16904
17111
|
private static nextId;
|
|
16905
17112
|
protected readonly listId: string;
|
|
16906
17113
|
private readonly list;
|
|
@@ -16928,6 +17135,12 @@ export declare class AppliedFiltersComponent {
|
|
|
16928
17135
|
readonly syncUrl: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
16929
17136
|
/** Whether each chip is prefixed with its aggregation (or field) name. */
|
|
16930
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>;
|
|
16931
17144
|
/**
|
|
16932
17145
|
* Chip fill, passed straight to galactik's `tag`.
|
|
16933
17146
|
*
|
|
@@ -16939,11 +17152,11 @@ export declare class AppliedFiltersComponent {
|
|
|
16939
17152
|
* than as "unset". A `null` here would therefore silently neutralise `scheme` — the chips would keep
|
|
16940
17153
|
* their base look whatever colour was asked for. `undefined` lets the tag apply its own default.
|
|
16941
17154
|
*/
|
|
16942
|
-
readonly variant: import("@angular/core").InputSignal<"
|
|
17155
|
+
readonly variant: import("@angular/core").InputSignal<"secondary" | "primary" | null | undefined>;
|
|
16943
17156
|
/** Chip colour scheme, passed to galactik's `tag`. */
|
|
16944
|
-
readonly scheme: import("@angular/core").InputSignal<"error" | "sage" | "
|
|
17157
|
+
readonly scheme: import("@angular/core").InputSignal<"error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "success" | "warning" | "info" | null | undefined>;
|
|
16945
17158
|
/** Chip size, passed to galactik's `tag`. */
|
|
16946
|
-
readonly size: import("@angular/core").InputSignal<"
|
|
17159
|
+
readonly size: import("@angular/core").InputSignal<"md" | "small" | "medium" | "sm" | "xs" | "xsmall" | null | undefined>;
|
|
16947
17160
|
/** Extra classes for each chip, merged by galactik's `tag`. */
|
|
16948
17161
|
readonly chipClass: import("@angular/core").InputSignal<string>;
|
|
16949
17162
|
/**
|
|
@@ -17001,6 +17214,11 @@ export declare class AppliedFiltersComponent {
|
|
|
17001
17214
|
"required": false;
|
|
17002
17215
|
"isSignal": true;
|
|
17003
17216
|
};
|
|
17217
|
+
"fieldIcon": {
|
|
17218
|
+
"alias": "fieldIcon";
|
|
17219
|
+
"required": false;
|
|
17220
|
+
"isSignal": true;
|
|
17221
|
+
};
|
|
17004
17222
|
"variant": {
|
|
17005
17223
|
"alias": "variant";
|
|
17006
17224
|
"required": false;
|
|
@@ -17190,7 +17408,7 @@ export declare class FilterButtonComponent {
|
|
|
17190
17408
|
* @default "sage"
|
|
17191
17409
|
*/
|
|
17192
17410
|
scheme: import("@angular/core").InputSignal<FilterScheme>;
|
|
17193
|
-
protected variant: import("@angular/core").WritableSignal<"
|
|
17411
|
+
protected variant: import("@angular/core").WritableSignal<"secondary" | "tertiary" | "none" | "primary" | "light-accent" | "accent" | null | undefined>;
|
|
17194
17412
|
protected filter: import("@angular/core").WritableSignal<CFilterEx>;
|
|
17195
17413
|
/** Unique id wiring the trigger's `popovertarget` to the `<div popover>` `id`. */
|
|
17196
17414
|
protected readonly popoverId: string;
|
|
@@ -17247,7 +17465,7 @@ export declare class FilterButtonComponent {
|
|
|
17247
17465
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
17248
17466
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
17249
17467
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
17250
|
-
aggregations?: import("@angular/core").Signal<
|
|
17468
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
17251
17469
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
17252
17470
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
17253
17471
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -18238,7 +18456,7 @@ export declare class MoreButtonComponent {
|
|
|
18238
18456
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
18239
18457
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
18240
18458
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
18241
|
-
aggregations?: import("@angular/core").Signal<
|
|
18459
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
18242
18460
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
18243
18461
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
18244
18462
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -18595,7 +18813,7 @@ export declare class FiltersBarComponent {
|
|
|
18595
18813
|
*
|
|
18596
18814
|
* @default "start"
|
|
18597
18815
|
*/
|
|
18598
|
-
align: import("@angular/core").InputSignal<"
|
|
18816
|
+
align: import("@angular/core").InputSignal<"center" | "start">;
|
|
18599
18817
|
/**
|
|
18600
18818
|
* How far apart the buttons are. `compact` (the default) is the tight spacing of a toolbar; `comfortable` puts
|
|
18601
18819
|
* `--spacing-lg` (20px) between every button, the quick filters pill and the "more" button included, as under the
|
|
@@ -19024,7 +19242,7 @@ export declare class FiltersBarComponent {
|
|
|
19024
19242
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
19025
19243
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
19026
19244
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
19027
|
-
aggregations?: import("@angular/core").Signal<
|
|
19245
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
19028
19246
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
19029
19247
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
19030
19248
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -19994,8 +20212,8 @@ export declare class HistoryPanelComponent {
|
|
|
19994
20212
|
alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
|
|
19995
20213
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
19996
20214
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
19997
|
-
userTheme: import("@angular/core").Signal<"
|
|
19998
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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>;
|
|
19999
20217
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
20000
20218
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
20001
20219
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -20061,7 +20279,8 @@ export declare class HistoryPanelComponent {
|
|
|
20061
20279
|
protected readonly isMobile: import("@angular/core").Signal<boolean>;
|
|
20062
20280
|
protected readonly sheetClasses: string;
|
|
20063
20281
|
protected readonly rowButton = "flex size-5 shrink-0 cursor-pointer items-center justify-center overflow-hidden rounded-full border-0 bg-transparent p-0 transition-[max-width,opacity,background-color,color] duration-150 motion-reduce:transition-none focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-(--stroke-focus) focus-visible:-outline-offset-2";
|
|
20064
|
-
protected readonly rowButtonHidden = "max-w-0 opacity-0 group-hover/row:max-w-5 group-hover/row:opacity-100 group-focus-within/row:max-w-5 group-focus-within/row:opacity-100";
|
|
20282
|
+
protected readonly rowButtonHidden = "max-w-0 opacity-0 group-hover/row:max-w-5 group-hover/row:opacity-100 group-focus-within/row:max-w-5 group-focus-within/row:opacity-100 pointer-coarse:sr-only";
|
|
20283
|
+
protected readonly infoButton = "hidden size-8 shrink-0 cursor-pointer items-center justify-center rounded-full border-0 bg-transparent p-0 text-(--history-panel-icon,var(--font-neutral-muted)) active:bg-(--history-panel-active,var(--bg-neutral-hovered)) focus-visible:outline-2 focus-visible:outline-solid focus-visible:outline-(--stroke-focus) focus-visible:-outline-offset-2 pointer-coarse:flex";
|
|
20065
20284
|
/**
|
|
20066
20285
|
* Gives a `<history-panel>` an opening and closing animation that does not depend on the host
|
|
20067
20286
|
* app: width, padding and margin ease out together, and reduced motion drops the movement. The panel is as tall as
|
|
@@ -20076,6 +20295,8 @@ export declare class HistoryPanelComponent {
|
|
|
20076
20295
|
protected titleOf: (search: SearchItem) => string;
|
|
20077
20296
|
protected isFavorite: (search: SearchItem) => boolean;
|
|
20078
20297
|
protected onTab(value: string[]): void;
|
|
20298
|
+
/** The ⓘ of a row: shows the whole title in its tooltip, or takes it away at a second tap. A tap elsewhere closes it (the tooltip's own). */
|
|
20299
|
+
protected toggleTitle(tip: TooltipDirective): void;
|
|
20079
20300
|
protected onEscape(event: Event): void;
|
|
20080
20301
|
protected select(search: SearchItem): void;
|
|
20081
20302
|
protected toggleFavorite(search: SearchItem): Promise<boolean>;
|
|
@@ -20145,7 +20366,7 @@ export declare class QuickFiltersComponent {
|
|
|
20145
20366
|
private readonly popover;
|
|
20146
20367
|
protected readonly isOpen: import("@angular/core").Signal<boolean>;
|
|
20147
20368
|
constructor();
|
|
20148
|
-
protected readonly variant: import("@angular/core").Signal<"
|
|
20369
|
+
protected readonly variant: import("@angular/core").Signal<"secondary" | "tertiary" | "none" | "primary" | "light-accent" | "accent" | null | undefined>;
|
|
20149
20370
|
protected readonly triggerClass: import("@angular/core").Signal<string>;
|
|
20150
20371
|
/** What was just done, for the screen readers: kept here, as the list goes with the popover once a quick filter is applied. */
|
|
20151
20372
|
protected readonly announcement: import("@angular/core").WritableSignal<string>;
|
|
@@ -20217,6 +20438,7 @@ export declare class QuickFiltersListComponent {
|
|
|
20217
20438
|
private readonly transloco;
|
|
20218
20439
|
private readonly host;
|
|
20219
20440
|
private readonly injector;
|
|
20441
|
+
private readonly isTouch;
|
|
20220
20442
|
protected readonly deleteKeys: string[];
|
|
20221
20443
|
protected readonly quickFilters: import("@angular/core").Signal<QuickFilter[]>;
|
|
20222
20444
|
protected readonly query: import("@angular/core").WritableSignal<string>;
|
|
@@ -20231,6 +20453,8 @@ export declare class QuickFiltersListComponent {
|
|
|
20231
20453
|
private readonly detailsCard;
|
|
20232
20454
|
private hideTimer;
|
|
20233
20455
|
private readonly deleting;
|
|
20456
|
+
/** True while `remove()` hands the focus to a row: the `focusin` it raises is not a reader's visit. */
|
|
20457
|
+
private restoringFocus;
|
|
20234
20458
|
constructor();
|
|
20235
20459
|
/**
|
|
20236
20460
|
* What a quick filter holds, one chip per filter: the icon the application gave the aggregation of the filter in the
|
|
@@ -20243,6 +20467,22 @@ export declare class QuickFiltersListComponent {
|
|
|
20243
20467
|
}[];
|
|
20244
20468
|
/** Shows what a quick filter holds, under the line of its count of filters. */
|
|
20245
20469
|
protected showDetails(quickFilter: QuickFilter, anchor: HTMLElement): void;
|
|
20470
|
+
/**
|
|
20471
|
+
* The keyboard focus reached a row: shows its filters. Not when the list itself put the focus there — after a deletion the
|
|
20472
|
+
* focus is handed to the row that took the place of the deleted one, and its card would open for a row nobody was looking at.
|
|
20473
|
+
* Not on a touch screen either: a tap focuses the row BEFORE the click of the ⓘ, which would then find the card open and close it —
|
|
20474
|
+
* the first tap on the ⓘ did nothing. There, the ⓘ is the only way to the card.
|
|
20475
|
+
*/
|
|
20476
|
+
protected onRowFocus(quickFilter: QuickFilter, anchor: HTMLElement): void;
|
|
20477
|
+
/**
|
|
20478
|
+
* The hover of the count line. A touch screen has none, but a browser still fires a synthetic `mouseenter` at a tap — the card
|
|
20479
|
+
* would flash and be closed by the click that follows: it is the ⓘ that opens it there.
|
|
20480
|
+
*/
|
|
20481
|
+
protected onCountEnter(quickFilter: QuickFilter, anchor: HTMLElement): void;
|
|
20482
|
+
/** The ⓘ of a touch screen: opens the card of the row, or closes it when it is that row's. It never applies the quick filter. */
|
|
20483
|
+
protected toggleDetails(quickFilter: QuickFilter, anchor: HTMLElement, event: Event): void;
|
|
20484
|
+
/** A press outside the card, and outside the ⓘ that toggles it, closes it. */
|
|
20485
|
+
protected onDocumentPointerDown(event: Event): void;
|
|
20246
20486
|
/** Hides the card a moment later, so the pointer can cross from the row to the card. */
|
|
20247
20487
|
protected scheduleHideDetails(): void;
|
|
20248
20488
|
protected cancelHideDetails(): void;
|
|
@@ -20262,7 +20502,7 @@ export declare class QuickFiltersListComponent {
|
|
|
20262
20502
|
* focus was in the list it goes to the row that took its place, or to the list itself when it was the last, so it is never dropped
|
|
20263
20503
|
* on the page.
|
|
20264
20504
|
*/
|
|
20265
|
-
protected remove(quickFilter: QuickFilter, index: number, event
|
|
20505
|
+
protected remove(quickFilter: QuickFilter, index: number, event?: Event): Promise<void>;
|
|
20266
20506
|
static ɵfac: i0.ɵɵFactoryDeclaration<QuickFiltersListComponent, never>;
|
|
20267
20507
|
static ɵcmp: i0.ɵɵComponentDeclaration<QuickFiltersListComponent, "QuickFiltersList, quick-filters-list", never, {
|
|
20268
20508
|
"searchable": {
|
|
@@ -20399,7 +20639,7 @@ export type SearchBoxTab = "suggestions" | "saved";
|
|
|
20399
20639
|
*/
|
|
20400
20640
|
export declare class SearchBoxComponent {
|
|
20401
20641
|
/** Scale of the field: `hero` for a home page (the prototype's pill), `medium` (36px) for the header of a results page. */
|
|
20402
|
-
readonly size: import("@angular/core").InputSignal<"small" | "
|
|
20642
|
+
readonly size: import("@angular/core").InputSignal<"small" | "medium" | "large" | "hero" | null | undefined>;
|
|
20403
20643
|
/** Shows the saved-search star once there is something to save. */
|
|
20404
20644
|
readonly showSave: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
20405
20645
|
/** The route a search leads to. */
|
|
@@ -20480,7 +20720,7 @@ export declare class SearchBoxComponent {
|
|
|
20480
20720
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
20481
20721
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
20482
20722
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
20483
|
-
aggregations?: import("@angular/core").Signal<
|
|
20723
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
20484
20724
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
20485
20725
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
20486
20726
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -20891,8 +21131,8 @@ export declare class SearchBoxComponent {
|
|
|
20891
21131
|
alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
|
|
20892
21132
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
20893
21133
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
20894
|
-
userTheme: import("@angular/core").Signal<"
|
|
20895
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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>;
|
|
20896
21136
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
20897
21137
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
20898
21138
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -21202,8 +21442,8 @@ export declare class RecentSearchesComponent {
|
|
|
21202
21442
|
alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
|
|
21203
21443
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
21204
21444
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
21205
|
-
userTheme: import("@angular/core").Signal<"
|
|
21206
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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>;
|
|
21207
21447
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
21208
21448
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
21209
21449
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -21327,8 +21567,8 @@ export declare class SavedSearchPopover {
|
|
|
21327
21567
|
alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
|
|
21328
21568
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
21329
21569
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
21330
|
-
userTheme: import("@angular/core").Signal<"
|
|
21331
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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>;
|
|
21332
21572
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
21333
21573
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
21334
21574
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -21423,8 +21663,8 @@ export declare class SavedSearchesComponent {
|
|
|
21423
21663
|
alerts: import("@angular/core").Signal<import("@sinequa/atomic-angular").Alert[]>;
|
|
21424
21664
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
21425
21665
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
21426
|
-
userTheme: import("@angular/core").Signal<"
|
|
21427
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
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>;
|
|
21428
21668
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
21429
21669
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
21430
21670
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -21518,13 +21758,29 @@ export interface SettingsDialogProps {
|
|
|
21518
21758
|
export declare class SettingsDialogComponent {
|
|
21519
21759
|
protected readonly call: import("@sinequa/galactik").CallRef<SettingsDialogProps, DialogResult>;
|
|
21520
21760
|
private readonly dialog;
|
|
21761
|
+
/** The navigation: a column, and under md a strip that scrolls sideways. */
|
|
21762
|
+
private readonly strip;
|
|
21763
|
+
private stripPositioned;
|
|
21521
21764
|
protected readonly items: {
|
|
21522
21765
|
id: SettingsPanelId;
|
|
21523
21766
|
labelKey: string;
|
|
21524
21767
|
}[];
|
|
21525
21768
|
protected readonly panel: import("@angular/core").WritableSignal<SettingsPanelId>;
|
|
21769
|
+
/** False while the page is driven with a finger: a list of keyboard shortcuts means nothing on a tablet that has no keyboard. */
|
|
21770
|
+
private readonly keyboardAvailable;
|
|
21771
|
+
/**
|
|
21772
|
+
* The entries of the navigation. "Keyboard shortcuts" is left out without a keyboard — unless it is the panel being shown, which an
|
|
21773
|
+
* application asked for (`Settings.call({ panel: "shortcuts" })`) and must not lose from under the user.
|
|
21774
|
+
*/
|
|
21775
|
+
protected readonly visibleItems: import("@angular/core").Signal<{
|
|
21776
|
+
id: SettingsPanelId;
|
|
21777
|
+
labelKey: string;
|
|
21778
|
+
}[]>;
|
|
21526
21779
|
/** Once the user picks a panel, the focus is theirs: the account panel stops claiming it. */
|
|
21527
21780
|
protected readonly navigated: import("@angular/core").WritableSignal<boolean>;
|
|
21781
|
+
private resizeObserver?;
|
|
21782
|
+
private reveal;
|
|
21783
|
+
private revealWhenLaidOut;
|
|
21528
21784
|
protected navigate(id: SettingsPanelId): void;
|
|
21529
21785
|
/** Set when another instance is already open: this one only redirects it, then ends. */
|
|
21530
21786
|
protected readonly duplicate: boolean;
|
|
@@ -21581,7 +21837,7 @@ export declare class SettingsAccountPanelComponent {
|
|
|
21581
21837
|
param9: import("@angular/core").Signal<string>;
|
|
21582
21838
|
param10: import("@angular/core").Signal<string>;
|
|
21583
21839
|
userOverrideActive: import("@angular/core").Signal<boolean>;
|
|
21584
|
-
state: import("@angular/core").Signal<"error" | "
|
|
21840
|
+
state: import("@angular/core").Signal<"error" | "loading" | "loaded" | "initial">;
|
|
21585
21841
|
allowUserOverride: import("@angular/core").Signal<boolean>;
|
|
21586
21842
|
isOverridingUser: import("@angular/core").Signal<boolean>;
|
|
21587
21843
|
initials: import("@angular/core").Signal<string>;
|
|
@@ -21656,7 +21912,7 @@ export declare class SettingsAppearancePanelComponent {
|
|
|
21656
21912
|
private readonly themeIcons;
|
|
21657
21913
|
private readonly languageIcons;
|
|
21658
21914
|
private readonly languageLabels;
|
|
21659
|
-
protected readonly currentTheme: import("@angular/core").Signal<"
|
|
21915
|
+
protected readonly currentTheme: import("@angular/core").Signal<"light" | "dark" | "system">;
|
|
21660
21916
|
protected readonly currentLanguage: import("@angular/core").Signal<string>;
|
|
21661
21917
|
protected readonly themeLabel: (code: string | null) => string;
|
|
21662
21918
|
protected readonly languageLabel: (code: string | null) => string;
|
|
@@ -21713,6 +21969,11 @@ export interface UserProfileFormModel {
|
|
|
21713
21969
|
customData: Record<string, string>;
|
|
21714
21970
|
}
|
|
21715
21971
|
export declare class UserProfileFormComponent {
|
|
21972
|
+
/**
|
|
21973
|
+
* Whether the form pads itself (16px). On by default, for a page that holds nothing else. Off where the host already has its own
|
|
21974
|
+
* padding, as the settings do: the card of the profile was then 37px from the edge of the panel, while its other sections sat at 0.
|
|
21975
|
+
*/
|
|
21976
|
+
readonly padded: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
21716
21977
|
protected readonly principalStore: {
|
|
21717
21978
|
id: Signal<string>;
|
|
21718
21979
|
id2: Signal<string>;
|
|
@@ -21740,7 +22001,7 @@ export declare class UserProfileFormComponent {
|
|
|
21740
22001
|
param9: Signal<string>;
|
|
21741
22002
|
param10: Signal<string>;
|
|
21742
22003
|
userOverrideActive: Signal<boolean>;
|
|
21743
|
-
state: Signal<"error" | "
|
|
22004
|
+
state: Signal<"error" | "loading" | "loaded" | "initial">;
|
|
21744
22005
|
allowUserOverride: Signal<boolean>;
|
|
21745
22006
|
isOverridingUser: Signal<boolean>;
|
|
21746
22007
|
initials: Signal<string>;
|
|
@@ -22332,7 +22593,13 @@ export declare class UserProfileFormComponent {
|
|
|
22332
22593
|
*/
|
|
22333
22594
|
protected uploadAvatar(event: Event): void;
|
|
22334
22595
|
static ɵfac: i0.ɵɵFactoryDeclaration<UserProfileFormComponent, never>;
|
|
22335
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<UserProfileFormComponent, "user-profile-form, UserProfileForm, userprofileform", never, {
|
|
22596
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UserProfileFormComponent, "user-profile-form, UserProfileForm, userprofileform", never, {
|
|
22597
|
+
"padded": {
|
|
22598
|
+
"alias": "padded";
|
|
22599
|
+
"required": false;
|
|
22600
|
+
"isSignal": true;
|
|
22601
|
+
};
|
|
22602
|
+
}, {}, never, never, true, never>;
|
|
22336
22603
|
}
|
|
22337
22604
|
/**
|
|
22338
22605
|
* Returns a guard function that checks if the user is authenticated.
|