@sinequa/atomic-angular 2.10.0 → 2.11.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/features/filters/i18n/de.json +20 -1
- package/features/filters/i18n/en.json +20 -1
- package/features/filters/i18n/fr.json +20 -1
- package/features/quick-filters/i18n/de.json +5 -1
- package/features/quick-filters/i18n/en.json +5 -1
- package/features/quick-filters/i18n/fr.json +5 -1
- package/fesm2022/sinequa-atomic-angular.mjs +1773 -695
- package/fesm2022/sinequa-atomic-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/types/sinequa-atomic-angular-document-workspaces.d.ts +4 -4
- package/types/sinequa-atomic-angular.d.ts +326 -91
|
@@ -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,11 +1074,11 @@ 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<"
|
|
1077
|
+
variant: import("@angular/core").InputSignal<"secondary" | "primary" | null | undefined>;
|
|
1078
|
+
size: import("@angular/core").InputSignal<"md" | "small" | "medium" | "sm" | "xsmall" | "xs" | null | undefined>;
|
|
1079
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
|
-
article: import("@angular/core").InputSignal<
|
|
1081
|
+
article: import("@angular/core").InputSignal<(string & Record<never, never>) | Partial<Article>>;
|
|
1082
1082
|
limit: import("@angular/core").InputSignalWithTransform<number | undefined, string | number | undefined>;
|
|
1083
1083
|
items: import("@angular/core").Signal<string[]>;
|
|
1084
1084
|
handleClick(event: Event, item: LegacyFilter): void;
|
|
@@ -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;
|
|
@@ -1575,7 +1575,7 @@ 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<import("@sinequa/atomic").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;
|
|
@@ -2046,6 +2046,21 @@ export declare class NavbarTabsComponent {
|
|
|
2046
2046
|
* than "tabs" in that context (e.g. "result categories").
|
|
2047
2047
|
*/
|
|
2048
2048
|
ariaLabel: import("@angular/core").InputSignal<string | undefined>;
|
|
2049
|
+
/**
|
|
2050
|
+
* Look of the tab strip, from galactik's `TabList`.
|
|
2051
|
+
*
|
|
2052
|
+
* - `primary` (default): the tabs sit in a bordered pill strip, the selected one filled;
|
|
2053
|
+
* - `secondary`: a flat row on a white background, the selected tab underlined;
|
|
2054
|
+
* - `inner`: the same underline on a transparent background — for a strip that lives inside a
|
|
2055
|
+
* page rather than on a bar of its own, such as the result categories under a search field.
|
|
2056
|
+
*
|
|
2057
|
+
* The two underline variants also get the larger tab of the design (44px, 14px semibold).
|
|
2058
|
+
*
|
|
2059
|
+
* @default "primary"
|
|
2060
|
+
*/
|
|
2061
|
+
variant: import("@angular/core").InputSignal<"secondary" | "primary" | "inner">;
|
|
2062
|
+
/** The pill strip is the only variant whose tabs keep galactik's own, smaller size. */
|
|
2063
|
+
protected readonly isPill: import("@angular/core").Signal<boolean>;
|
|
2049
2064
|
showCount: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
2050
2065
|
/**
|
|
2051
2066
|
* When enabled (default), tab labels are never clipped: tabs that do not fit
|
|
@@ -2118,6 +2133,11 @@ export declare class NavbarTabsComponent {
|
|
|
2118
2133
|
"required": false;
|
|
2119
2134
|
"isSignal": true;
|
|
2120
2135
|
};
|
|
2136
|
+
"variant": {
|
|
2137
|
+
"alias": "variant";
|
|
2138
|
+
"required": false;
|
|
2139
|
+
"isSignal": true;
|
|
2140
|
+
};
|
|
2121
2141
|
"showCount": {
|
|
2122
2142
|
"alias": "showCount";
|
|
2123
2143
|
"required": false;
|
|
@@ -2947,7 +2967,7 @@ export declare const PrincipalStore: import("@angular/core").Type<{
|
|
|
2947
2967
|
param9: import("@angular/core").Signal<string>;
|
|
2948
2968
|
param10: import("@angular/core").Signal<string>;
|
|
2949
2969
|
userOverrideActive: import("@angular/core").Signal<boolean>;
|
|
2950
|
-
state: import("@angular/core").Signal<"error" | "
|
|
2970
|
+
state: import("@angular/core").Signal<"error" | "loading" | "loaded" | "initial">;
|
|
2951
2971
|
allowUserOverride: import("@angular/core").Signal<boolean>;
|
|
2952
2972
|
isOverridingUser: import("@angular/core").Signal<boolean>;
|
|
2953
2973
|
initials: import("@angular/core").Signal<string>;
|
|
@@ -3029,7 +3049,7 @@ export declare const QueryParamsStore: import("@angular/core").Type<{
|
|
|
3029
3049
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3030
3050
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
3031
3051
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3032
|
-
aggregations?: import("@angular/core").Signal<
|
|
3052
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
3033
3053
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3034
3054
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3035
3055
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -3174,7 +3194,7 @@ export type SelectionState = {
|
|
|
3174
3194
|
* - `clear()`: Clears the selection state, setting `article`, `id`, and `queryText` to `undefined`.
|
|
3175
3195
|
*/
|
|
3176
3196
|
export declare const SelectionStore: import("@angular/core").Type<{
|
|
3177
|
-
article?: import("@
|
|
3197
|
+
article?: import("@ngrx/signals").DeepSignal<Article> | import("@angular/core").Signal<undefined> | undefined;
|
|
3178
3198
|
id?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3179
3199
|
queryText?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3180
3200
|
queryName?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
@@ -3346,7 +3366,7 @@ export declare const UserSettingsStore: import("@angular/core").Type<{
|
|
|
3346
3366
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
3347
3367
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
3348
3368
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
3349
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
3369
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
3350
3370
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
3351
3371
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
3352
3372
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -4580,7 +4600,7 @@ export declare class AggregationsService {
|
|
|
4580
4600
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
4581
4601
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
4582
4602
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
4583
|
-
aggregations?: import("@angular/core").Signal<
|
|
4603
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
4584
4604
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
4585
4605
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
4586
4606
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -4829,7 +4849,7 @@ export declare class ApplicationService {
|
|
|
4829
4849
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
4830
4850
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
4831
4851
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
4832
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
4852
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
4833
4853
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
4834
4854
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
4835
4855
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -4915,7 +4935,7 @@ export declare class ApplicationService {
|
|
|
4915
4935
|
param9: import("@angular/core").Signal<string>;
|
|
4916
4936
|
param10: import("@angular/core").Signal<string>;
|
|
4917
4937
|
userOverrideActive: import("@angular/core").Signal<boolean>;
|
|
4918
|
-
state: import("@angular/core").Signal<"error" | "
|
|
4938
|
+
state: import("@angular/core").Signal<"error" | "loading" | "loaded" | "initial">;
|
|
4919
4939
|
allowUserOverride: import("@angular/core").Signal<boolean>;
|
|
4920
4940
|
isOverridingUser: import("@angular/core").Signal<boolean>;
|
|
4921
4941
|
initials: import("@angular/core").Signal<string>;
|
|
@@ -5296,7 +5316,7 @@ export declare class ApplicationService {
|
|
|
5296
5316
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
5297
5317
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
5298
5318
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
5299
|
-
aggregations?: import("@angular/core").Signal<
|
|
5319
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
5300
5320
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
5301
5321
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
5302
5322
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -5875,7 +5895,7 @@ export declare class AutocompleteService {
|
|
|
5875
5895
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
5876
5896
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
5877
5897
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
5878
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
5898
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
5879
5899
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
5880
5900
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
5881
5901
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -6825,7 +6845,7 @@ export declare class PreviewService {
|
|
|
6825
6845
|
extracts: Map<string, Extract[]>;
|
|
6826
6846
|
}>;
|
|
6827
6847
|
protected readonly selectionStore: {
|
|
6828
|
-
article?: import("@
|
|
6848
|
+
article?: import("@ngrx/signals").DeepSignal<Article> | import("@angular/core").Signal<undefined> | undefined;
|
|
6829
6849
|
id?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
6830
6850
|
queryText?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
6831
6851
|
queryName?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
@@ -6874,7 +6894,7 @@ export declare class PreviewService {
|
|
|
6874
6894
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
6875
6895
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
6876
6896
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
6877
|
-
aggregations?: import("@angular/core").Signal<
|
|
6897
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
6878
6898
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
6879
6899
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
6880
6900
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -7472,7 +7492,7 @@ export declare class SavedSearchesService {
|
|
|
7472
7492
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
7473
7493
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7474
7494
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
7475
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
7495
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
7476
7496
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
7477
7497
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
7478
7498
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -7558,7 +7578,7 @@ export declare class SavedSearchesService {
|
|
|
7558
7578
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7559
7579
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
7560
7580
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7561
|
-
aggregations?: import("@angular/core").Signal<
|
|
7581
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
7562
7582
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7563
7583
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7564
7584
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -7743,7 +7763,7 @@ export declare class SearchService {
|
|
|
7743
7763
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7744
7764
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
7745
7765
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7746
|
-
aggregations?: import("@angular/core").Signal<
|
|
7766
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
7747
7767
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7748
7768
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7749
7769
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -7838,7 +7858,7 @@ export declare class SearchService {
|
|
|
7838
7858
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
7839
7859
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7840
7860
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
7841
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
7861
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
7842
7862
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
7843
7863
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
7844
7864
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -7972,7 +7992,7 @@ export declare class SelectionService {
|
|
|
7972
7992
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7973
7993
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
7974
7994
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7975
|
-
aggregations?: import("@angular/core").Signal<
|
|
7995
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
7976
7996
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7977
7997
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
7978
7998
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -8688,7 +8708,7 @@ export declare class ShowBookmarkDirective {
|
|
|
8688
8708
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
8689
8709
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
8690
8710
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
8691
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
8711
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
8692
8712
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
8693
8713
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
8694
8714
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -9464,7 +9484,7 @@ export declare class SponsoredResultsComponent {
|
|
|
9464
9484
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
9465
9485
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
9466
9486
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
9467
|
-
aggregations?: import("@angular/core").Signal<
|
|
9487
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
9468
9488
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
9469
9489
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
9470
9490
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -10503,7 +10523,7 @@ export declare class AdvancedSearch {
|
|
|
10503
10523
|
readonly similarDocuments: import("@angular/core").InputSignal<Article[] | undefined>;
|
|
10504
10524
|
readonly selected: import("@angular/core").OutputEmitterRef<Article>;
|
|
10505
10525
|
protected readonly selectionStore: {
|
|
10506
|
-
article?: import("@
|
|
10526
|
+
article?: import("@ngrx/signals").DeepSignal<Article> | import("@angular/core").Signal<undefined> | undefined;
|
|
10507
10527
|
id?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
10508
10528
|
queryText?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
10509
10529
|
queryName?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
@@ -10552,7 +10572,7 @@ export declare class AdvancedSearch {
|
|
|
10552
10572
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
10553
10573
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
10554
10574
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
10555
|
-
aggregations?: import("@angular/core").Signal<
|
|
10575
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
10556
10576
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
10557
10577
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
10558
10578
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -10738,7 +10758,7 @@ export declare class AdvancedSearchTabs {
|
|
|
10738
10758
|
readonly similarDocuments: import("@angular/core").InputSignal<Article[] | undefined>;
|
|
10739
10759
|
readonly selected: import("@angular/core").OutputEmitterRef<Article>;
|
|
10740
10760
|
protected readonly selectionStore: {
|
|
10741
|
-
article?: import("@
|
|
10761
|
+
article?: import("@ngrx/signals").DeepSignal<Article> | import("@angular/core").Signal<undefined> | undefined;
|
|
10742
10762
|
id?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
10743
10763
|
queryText?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
10744
10764
|
queryName?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
@@ -11952,8 +11972,8 @@ export declare class SignedOutComponent {
|
|
|
11952
11972
|
static ɵcmp: i0.ɵɵComponentDeclaration<SignedOutComponent, "signed-out, SignedOut, signedout", never, {}, {}, never, never, true, never>;
|
|
11953
11973
|
}
|
|
11954
11974
|
export declare class BookmarkButtonComponent {
|
|
11955
|
-
variant: import("@angular/core").InputSignal<"
|
|
11956
|
-
size: import("@angular/core").InputSignal<"
|
|
11975
|
+
variant: import("@angular/core").InputSignal<"secondary" | "tertiary" | "none" | "light-accent" | "accent" | "primary" | null | undefined>;
|
|
11976
|
+
size: import("@angular/core").InputSignal<"md" | "small" | "medium" | "large" | "sm" | "xsmall" | "xs" | "lg" | null | undefined>;
|
|
11957
11977
|
/**
|
|
11958
11978
|
* Tab index applied to the inner button.
|
|
11959
11979
|
*
|
|
@@ -12205,7 +12225,7 @@ export declare class CollectionsDialog {
|
|
|
12205
12225
|
readonly showSearch: import("@angular/core").Signal<boolean>;
|
|
12206
12226
|
/** Collections matching the search text (case-insensitive, by name). */
|
|
12207
12227
|
readonly filteredCollections: import("@angular/core").Signal<Basket[]>;
|
|
12208
|
-
readonly collectionsMap: import("@angular/core").WritableSignal<Record<string, "some" | "
|
|
12228
|
+
readonly collectionsMap: import("@angular/core").WritableSignal<Record<string, "some" | "all" | "none">>;
|
|
12209
12229
|
/** Windowing over the filtered list — renders only the visible rows. */
|
|
12210
12230
|
readonly virtualizer: import("@tanstack/angular-virtual").AngularVirtualizer<HTMLDivElement, Element>;
|
|
12211
12231
|
constructor();
|
|
@@ -12560,7 +12580,7 @@ export declare class ExportDialog {
|
|
|
12560
12580
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
12561
12581
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
12562
12582
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
12563
|
-
aggregations?: import("@angular/core").Signal<
|
|
12583
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
12564
12584
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
12565
12585
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
12566
12586
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -13044,7 +13064,7 @@ export declare class SearchFeedbackComponent {
|
|
|
13044
13064
|
onClose: import("@angular/core").OutputEmitterRef<void>;
|
|
13045
13065
|
private readonly injector;
|
|
13046
13066
|
pages: import("@angular/core").InputSignal<any>;
|
|
13047
|
-
variant: import("@angular/core").InputSignal<"
|
|
13067
|
+
variant: import("@angular/core").InputSignal<"secondary" | "tertiary" | "none" | "light-accent" | "accent" | "primary" | null | undefined>;
|
|
13048
13068
|
readonly auditService: AuditService;
|
|
13049
13069
|
protected readonly queryParamsStore: {
|
|
13050
13070
|
name?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
@@ -13073,7 +13093,7 @@ export declare class SearchFeedbackComponent {
|
|
|
13073
13093
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13074
13094
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
13075
13095
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13076
|
-
aggregations?: import("@angular/core").Signal<
|
|
13096
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
13077
13097
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13078
13098
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13079
13099
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -13453,7 +13473,7 @@ export declare class AggregationDateComponent {
|
|
|
13453
13473
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13454
13474
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
13455
13475
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13456
|
-
aggregations?: import("@angular/core").Signal<
|
|
13476
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
13457
13477
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13458
13478
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13459
13479
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -13965,7 +13985,7 @@ export declare class AggregationTreeComponent {
|
|
|
13965
13985
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13966
13986
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
13967
13987
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13968
|
-
aggregations?: import("@angular/core").Signal<
|
|
13988
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
13969
13989
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13970
13990
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
13971
13991
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -14838,7 +14858,7 @@ export declare class AggregationListComponent {
|
|
|
14838
14858
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
14839
14859
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
14840
14860
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
14841
|
-
aggregations?: import("@angular/core").Signal<
|
|
14861
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
14842
14862
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
14843
14863
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
14844
14864
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -15900,7 +15920,7 @@ export declare class AggregationComponent {
|
|
|
15900
15920
|
*
|
|
15901
15921
|
* @default "auto"
|
|
15902
15922
|
*/
|
|
15903
|
-
type: import("@angular/core").InputSignal<"
|
|
15923
|
+
type: import("@angular/core").InputSignal<"list" | "auto" | "tree" | "date">;
|
|
15904
15924
|
/**
|
|
15905
15925
|
* Whether the host removes itself from the layout (Tailwind's `hidden`, i.e.
|
|
15906
15926
|
* `display: none`) when it resolves to zero items. When `false` (default), the
|
|
@@ -16139,9 +16159,28 @@ export declare class AggregationPanelComponent {
|
|
|
16139
16159
|
isCollapsed: import("@angular/core").WritableSignal<boolean>;
|
|
16140
16160
|
expanded: import("@angular/core").Signal<"" | null>;
|
|
16141
16161
|
private readonly searchBox;
|
|
16162
|
+
private readonly searchToggle;
|
|
16163
|
+
private readonly injector;
|
|
16142
16164
|
/** The galactik popover (`[popover]` / `[dropdown]`) this panel is shown in, if any — resolved through the injector tree. */
|
|
16143
16165
|
protected readonly isInPopover: boolean;
|
|
16144
|
-
|
|
16166
|
+
private static nextId;
|
|
16167
|
+
protected readonly searchId: string;
|
|
16168
|
+
private readonly searchRequested;
|
|
16169
|
+
/**
|
|
16170
|
+
* Whether the facet has a search field at all: the facet allows it (`searchable`, from the custom JSON or the
|
|
16171
|
+
* `searchable` input of the facet) and there is something to search in.
|
|
16172
|
+
*/
|
|
16173
|
+
protected readonly canSearch: import("@angular/core").Signal<boolean>;
|
|
16174
|
+
/**
|
|
16175
|
+
* The search field is out of the way until the user asks for it with the magnifier: a field that is always there costs a
|
|
16176
|
+
* line per facet, and most of the time nobody searches. A text already in the field keeps it open — it is filtering the
|
|
16177
|
+
* values, and a filter you cannot see is not a filter you can undo.
|
|
16178
|
+
*/
|
|
16179
|
+
protected readonly showSearch: import("@angular/core").Signal<boolean>;
|
|
16180
|
+
/** Opens the search field and puts the focus in it, or closes it, drops its text and gives the focus back to the magnifier. */
|
|
16181
|
+
protected toggleSearch(event?: Event): void;
|
|
16182
|
+
/** Escape in the field closes it, as it would a popover: the way back is the key the user already knows. */
|
|
16183
|
+
protected onSearchEscape(event: Event): void;
|
|
16145
16184
|
onHeaderClick(event: Event): void;
|
|
16146
16185
|
onToggle(event: Event): void;
|
|
16147
16186
|
static ɵfac: i0.ɵɵFactoryDeclaration<AggregationPanelComponent, never>;
|
|
@@ -16322,6 +16361,19 @@ export declare function filterKey(leaf: LegacyFilter): string;
|
|
|
16322
16361
|
*/
|
|
16323
16362
|
export declare class AppliedFiltersComponent {
|
|
16324
16363
|
private readonly queryParamsStore;
|
|
16364
|
+
private static nextId;
|
|
16365
|
+
protected readonly listId: string;
|
|
16366
|
+
private readonly list;
|
|
16367
|
+
/** Whether the chips take more lines than `maxLines`: only then is there anything to fold. */
|
|
16368
|
+
protected readonly foldable: import("@angular/core").WritableSignal<boolean>;
|
|
16369
|
+
/** The list is unfolded. */
|
|
16370
|
+
protected readonly expanded: import("@angular/core").WritableSignal<boolean>;
|
|
16371
|
+
/** Height of `maxLines` lines of chips, and of all of them, in pixels — measured, as the chips wrap with the width. */
|
|
16372
|
+
private readonly foldedHeight;
|
|
16373
|
+
private readonly fullHeight;
|
|
16374
|
+
/** The height the list is given: none (it is as tall as its chips) until there is something to fold. */
|
|
16375
|
+
protected readonly listHeight: import("@angular/core").Signal<number | null>;
|
|
16376
|
+
protected toggle(): void;
|
|
16325
16377
|
/**
|
|
16326
16378
|
* The filters to display. Omit it to read the current query's own — the common case.
|
|
16327
16379
|
*
|
|
@@ -16347,13 +16399,26 @@ export declare class AppliedFiltersComponent {
|
|
|
16347
16399
|
* than as "unset". A `null` here would therefore silently neutralise `scheme` — the chips would keep
|
|
16348
16400
|
* their base look whatever colour was asked for. `undefined` lets the tag apply its own default.
|
|
16349
16401
|
*/
|
|
16350
|
-
readonly variant: import("@angular/core").InputSignal<"
|
|
16402
|
+
readonly variant: import("@angular/core").InputSignal<"secondary" | "primary" | null | undefined>;
|
|
16351
16403
|
/** Chip colour scheme, passed to galactik's `tag`. */
|
|
16352
16404
|
readonly scheme: import("@angular/core").InputSignal<"error" | "sage" | "almond" | "pink" | "grey" | "yellow" | "cherry" | "indigo" | "cyan" | "success" | "warning" | "info" | null | undefined>;
|
|
16353
16405
|
/** Chip size, passed to galactik's `tag`. */
|
|
16354
|
-
readonly size: import("@angular/core").InputSignal<"
|
|
16406
|
+
readonly size: import("@angular/core").InputSignal<"md" | "small" | "medium" | "sm" | "xsmall" | "xs" | null | undefined>;
|
|
16355
16407
|
/** Extra classes for each chip, merged by galactik's `tag`. */
|
|
16356
16408
|
readonly chipClass: import("@angular/core").InputSignal<string>;
|
|
16409
|
+
/**
|
|
16410
|
+
* How many lines of chips are shown before the rest is folded behind a "show more" button. `0` never folds.
|
|
16411
|
+
*
|
|
16412
|
+
* @default 2
|
|
16413
|
+
*/
|
|
16414
|
+
readonly maxLines: import("@angular/core").InputSignalWithTransform<number, unknown>;
|
|
16415
|
+
/**
|
|
16416
|
+
* Whether the "clear all" button ends the list of chips (shown from two chips on). Turn it off when the screen has a clear
|
|
16417
|
+
* button of its own.
|
|
16418
|
+
*
|
|
16419
|
+
* @default true
|
|
16420
|
+
*/
|
|
16421
|
+
readonly showClearAll: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
16357
16422
|
/** A chip was removed. */
|
|
16358
16423
|
readonly removed: import("@angular/core").OutputEmitterRef<AppliedFilterChip>;
|
|
16359
16424
|
/** Every chip was removed. */
|
|
@@ -16362,6 +16427,12 @@ export declare class AppliedFiltersComponent {
|
|
|
16362
16427
|
readonly filtersChange: import("@angular/core").OutputEmitterRef<LegacyFilter[]>;
|
|
16363
16428
|
/** Something changed, whichever way. Re-run the search on this and ignore the rest. */
|
|
16364
16429
|
readonly changed: import("@angular/core").OutputEmitterRef<void>;
|
|
16430
|
+
constructor();
|
|
16431
|
+
/**
|
|
16432
|
+
* Reads how the chips wrap: the rows are the distinct tops of the chips, so the height of `maxLines` lines is the top of the
|
|
16433
|
+
* next row less the gap, and the whole list is its `scrollHeight`. The chips below the folded height are made `inert`.
|
|
16434
|
+
*/
|
|
16435
|
+
private measure;
|
|
16365
16436
|
/** One chip per applied value, expanded from the stored entries through their leaves. */
|
|
16366
16437
|
readonly chips: import("@angular/core").Signal<AppliedFilterChip[]>;
|
|
16367
16438
|
/**
|
|
@@ -16410,6 +16481,16 @@ export declare class AppliedFiltersComponent {
|
|
|
16410
16481
|
"required": false;
|
|
16411
16482
|
"isSignal": true;
|
|
16412
16483
|
};
|
|
16484
|
+
"maxLines": {
|
|
16485
|
+
"alias": "maxLines";
|
|
16486
|
+
"required": false;
|
|
16487
|
+
"isSignal": true;
|
|
16488
|
+
};
|
|
16489
|
+
"showClearAll": {
|
|
16490
|
+
"alias": "showClearAll";
|
|
16491
|
+
"required": false;
|
|
16492
|
+
"isSignal": true;
|
|
16493
|
+
};
|
|
16413
16494
|
}, {
|
|
16414
16495
|
"removed": "removed";
|
|
16415
16496
|
"cleared": "cleared";
|
|
@@ -16569,7 +16650,7 @@ export declare class FilterButtonComponent {
|
|
|
16569
16650
|
* @default "sage"
|
|
16570
16651
|
*/
|
|
16571
16652
|
scheme: import("@angular/core").InputSignal<FilterScheme>;
|
|
16572
|
-
protected variant: import("@angular/core").WritableSignal<"
|
|
16653
|
+
protected variant: import("@angular/core").WritableSignal<"secondary" | "tertiary" | "none" | "light-accent" | "accent" | "primary" | null | undefined>;
|
|
16573
16654
|
protected filter: import("@angular/core").WritableSignal<CFilterEx>;
|
|
16574
16655
|
/** Unique id wiring the trigger's `popovertarget` to the `<div popover>` `id`. */
|
|
16575
16656
|
protected readonly popoverId: string;
|
|
@@ -16626,7 +16707,7 @@ export declare class FilterButtonComponent {
|
|
|
16626
16707
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
16627
16708
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
16628
16709
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
16629
|
-
aggregations?: import("@angular/core").Signal<
|
|
16710
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
16630
16711
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
16631
16712
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
16632
16713
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -17617,7 +17698,7 @@ export declare class MoreButtonComponent {
|
|
|
17617
17698
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
17618
17699
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
17619
17700
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
17620
|
-
aggregations?: import("@angular/core").Signal<
|
|
17701
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
17621
17702
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
17622
17703
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
17623
17704
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -18403,7 +18484,7 @@ export declare class FiltersBarComponent {
|
|
|
18403
18484
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
18404
18485
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
18405
18486
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
18406
|
-
aggregations?: import("@angular/core").Signal<
|
|
18487
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
18407
18488
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
18408
18489
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
18409
18490
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -18686,6 +18767,80 @@ export declare class FiltersBarComponent {
|
|
|
18686
18767
|
"onClearBasket": "onClearBasket";
|
|
18687
18768
|
}, never, ["[filtersBarStart]"], true, never>;
|
|
18688
18769
|
}
|
|
18770
|
+
type FiltersTab = "all" | "quick";
|
|
18771
|
+
/**
|
|
18772
|
+
* The filters panel: the facets of the search, and the quick filters of the user, in one card-sized column.
|
|
18773
|
+
*
|
|
18774
|
+
* "All" holds the facets (`<aside-filters>`, driven by the application's filters configuration) with a field that narrows them by
|
|
18775
|
+
* name, the count of documents, and a button that saves the filters applied right now as a quick filter (a card under the button
|
|
18776
|
+
* asks for its name). "Quick Filters" is the list of the `<quick-filters>` pill, inline (`<quick-filters-list>`): one line per quick filter, with the
|
|
18777
|
+
* count of its filters — hovering it shows them as tags — and a cross that deletes it. A click on a quick filter replaces **all** the
|
|
18778
|
+
* applied filters by its own and keeps the rest of the query, the text above all.
|
|
18779
|
+
*
|
|
18780
|
+
* The panel is the content only: it fills the height it is given and scrolls inside. Where it goes — a column next to the results, an
|
|
18781
|
+
* overlay, a sheet — and what surrounds it are the host's. The host closes it on `closed`.
|
|
18782
|
+
*
|
|
18783
|
+
* ```html
|
|
18784
|
+
* <filters-panel [documentCount]="result()?.rowCount ?? 0" (closed)="open.set(false)" />
|
|
18785
|
+
* ```
|
|
18786
|
+
*/
|
|
18787
|
+
export declare class FiltersPanelComponent {
|
|
18788
|
+
/**
|
|
18789
|
+
* How many documents the search found: the count under the field, which is also what a quick filter would be saved over. The panel
|
|
18790
|
+
* does not run the search, the page does.
|
|
18791
|
+
*/
|
|
18792
|
+
readonly documentCount: import("@angular/core").InputSignal<number>;
|
|
18793
|
+
/** The user closes the panel (the cross of its header). Closing is the host's: it decides how the panel is shown. */
|
|
18794
|
+
readonly closed: import("@angular/core").OutputEmitterRef<void>;
|
|
18795
|
+
private readonly appStore;
|
|
18796
|
+
private readonly aggregationsStore;
|
|
18797
|
+
private readonly queryParamsStore;
|
|
18798
|
+
private readonly userSettingsStore;
|
|
18799
|
+
private readonly transloco;
|
|
18800
|
+
private readonly injector;
|
|
18801
|
+
protected readonly nameId: string;
|
|
18802
|
+
protected readonly tab: import("@angular/core").WritableSignal<FiltersTab>;
|
|
18803
|
+
protected readonly query: import("@angular/core").WritableSignal<string>;
|
|
18804
|
+
protected readonly saving: import("@angular/core").WritableSignal<boolean>;
|
|
18805
|
+
protected readonly announcement: import("@angular/core").WritableSignal<string>;
|
|
18806
|
+
protected readonly name: import("@angular/core").WritableSignal<string>;
|
|
18807
|
+
/** How many values the query is filtered by: nothing to save as a quick filter when it is zero. */
|
|
18808
|
+
protected readonly appliedCount: import("@angular/core").Signal<number>;
|
|
18809
|
+
private readonly nameInput;
|
|
18810
|
+
private readonly saveButton;
|
|
18811
|
+
/**
|
|
18812
|
+
* The facets whose name contains the query, as the names `<aside-filters [aggregations]>` takes.
|
|
18813
|
+
* Empty query → the component's own configuration-driven list (the input is left empty).
|
|
18814
|
+
*
|
|
18815
|
+
* An explicit list bypasses the `position` and "hidden" rules of that configuration, so the same two
|
|
18816
|
+
* rules are applied here first.
|
|
18817
|
+
*/
|
|
18818
|
+
protected readonly matching: import("@angular/core").Signal<string[]>;
|
|
18819
|
+
protected selectTab(values: readonly string[]): void;
|
|
18820
|
+
/** The leaf filters of an entry, flattening a nested and/or tree. */
|
|
18821
|
+
private leaves;
|
|
18822
|
+
/** How many values a leaf holds: an `in` list holds several, anything else one. */
|
|
18823
|
+
private valuesOf;
|
|
18824
|
+
/** Opens the card under the button and puts the focus in its field: it appears at the user's request, so the next key is the name. */
|
|
18825
|
+
protected startSaving(): void;
|
|
18826
|
+
/** Closes the card without saving, and gives the focus back to the button that opened it. */
|
|
18827
|
+
protected closeSaving(): void;
|
|
18828
|
+
/** Escape closes the card, not the whole filters panel the card is in. */
|
|
18829
|
+
protected onSaveEscape(event: Event): void;
|
|
18830
|
+
protected saveQuickFilter(event: Event): Promise<void>;
|
|
18831
|
+
/** The list applied a quick filter (it replaced the filters of the query by its own): the screen readers are told. */
|
|
18832
|
+
protected onQuickFilterApplied(quickFilter: QuickFilter): void;
|
|
18833
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FiltersPanelComponent, never>;
|
|
18834
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FiltersPanelComponent, "filters-panel, FiltersPanel, filterspanel", never, {
|
|
18835
|
+
"documentCount": {
|
|
18836
|
+
"alias": "documentCount";
|
|
18837
|
+
"required": false;
|
|
18838
|
+
"isSignal": true;
|
|
18839
|
+
};
|
|
18840
|
+
}, {
|
|
18841
|
+
"closed": "closed";
|
|
18842
|
+
}, never, never, true, never>;
|
|
18843
|
+
}
|
|
18689
18844
|
/**
|
|
18690
18845
|
* Injection token that indicates whether custom date ranges are allowed.
|
|
18691
18846
|
*
|
|
@@ -19300,7 +19455,7 @@ export declare class HistoryPanelComponent {
|
|
|
19300
19455
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
19301
19456
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
19302
19457
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
19303
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
19458
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
19304
19459
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
19305
19460
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
19306
19461
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -19412,8 +19567,8 @@ export declare class HistoryPanelComponent {
|
|
|
19412
19567
|
* The user's quick filters: named sets of filters that one click applies again. A pill, like the filters of the bar it is
|
|
19413
19568
|
* meant to sit in front of (the `filtersBarStart` slot of `<filters-bar>`), that opens a popover with a search field and the
|
|
19414
19569
|
* list. A click on a quick filter **replaces** the active filters by its own and closes the popover, and hovering its count of
|
|
19415
|
-
* filters shows what it holds. Quick filters are made
|
|
19416
|
-
* is
|
|
19570
|
+
* filters shows what it holds, and the cross at the end of a row deletes it. Quick filters are made elsewhere (the filters of
|
|
19571
|
+
* the results page): this is where they are applied and deleted.
|
|
19417
19572
|
*
|
|
19418
19573
|
* They live in the user settings (`UserSettingsStore.quickFilters`), so they follow the user from one page, and one device, to
|
|
19419
19574
|
* the other.
|
|
@@ -19435,9 +19590,6 @@ export declare class QuickFiltersComponent {
|
|
|
19435
19590
|
readonly offset: import("@angular/core").InputSignal<number>;
|
|
19436
19591
|
/** Emitted with the quick filter a click has just applied. */
|
|
19437
19592
|
readonly applied: import("@angular/core").OutputEmitterRef<QuickFilter>;
|
|
19438
|
-
private readonly userSettingsStore;
|
|
19439
|
-
private readonly queryParamsStore;
|
|
19440
|
-
private readonly appStore;
|
|
19441
19593
|
private readonly transloco;
|
|
19442
19594
|
private readonly host;
|
|
19443
19595
|
protected readonly popoverId: string;
|
|
@@ -19450,32 +19602,13 @@ export declare class QuickFiltersComponent {
|
|
|
19450
19602
|
protected readonly resized: import("@angular/core").WritableSignal<boolean>;
|
|
19451
19603
|
private readonly flippedAbove;
|
|
19452
19604
|
protected readonly placement: import("@angular/core").Signal<Placement>;
|
|
19453
|
-
/** The row whose hover card is showing: its quick filter, and the element the card hangs from. */
|
|
19454
|
-
protected readonly details: import("@angular/core").WritableSignal<{
|
|
19455
|
-
quickFilter: QuickFilter;
|
|
19456
|
-
anchor: HTMLElement;
|
|
19457
|
-
} | null>;
|
|
19458
|
-
private readonly detailsCard;
|
|
19459
|
-
private hideTimer;
|
|
19460
19605
|
private readonly popover;
|
|
19461
19606
|
protected readonly isOpen: import("@angular/core").Signal<boolean>;
|
|
19462
19607
|
constructor();
|
|
19463
|
-
protected readonly variant: import("@angular/core").Signal<"
|
|
19608
|
+
protected readonly variant: import("@angular/core").Signal<"secondary" | "tertiary" | "none" | "light-accent" | "accent" | "primary" | null | undefined>;
|
|
19464
19609
|
protected readonly triggerClass: import("@angular/core").Signal<string>;
|
|
19465
|
-
|
|
19466
|
-
protected readonly query: import("@angular/core").WritableSignal<string>;
|
|
19467
|
-
protected readonly filtered: import("@angular/core").Signal<QuickFilter[]>;
|
|
19468
|
-
/** What was just done, for the screen readers. */
|
|
19610
|
+
/** What was just done, for the screen readers: kept here, as the list goes with the popover once a quick filter is applied. */
|
|
19469
19611
|
protected readonly announcement: import("@angular/core").WritableSignal<string>;
|
|
19470
|
-
/**
|
|
19471
|
-
* What a quick filter holds, one chip per filter: the icon the application gave the aggregation of the filter in the
|
|
19472
|
-
* "filters" custom JSON (the one its filter button shows) and the value. The icon says what is filtered on, so the name is
|
|
19473
|
-
* left out; an aggregation without an icon keeps it (`Authors: John`), or the value alone would say nothing.
|
|
19474
|
-
*/
|
|
19475
|
-
protected chips(quickFilter: QuickFilter): {
|
|
19476
|
-
text: string;
|
|
19477
|
-
icon?: string;
|
|
19478
|
-
}[];
|
|
19479
19612
|
protected onToggle(): void;
|
|
19480
19613
|
/**
|
|
19481
19614
|
* Gives the position back to Floating UI: a top edge that was moved is put back where the placement leaves it, and the
|
|
@@ -19484,21 +19617,9 @@ export declare class QuickFiltersComponent {
|
|
|
19484
19617
|
private unpin;
|
|
19485
19618
|
/** The user starts to resize: pins the popover, on the side Floating UI had put it. */
|
|
19486
19619
|
protected onResizeStart(): void;
|
|
19487
|
-
/** Shows what a quick filter holds, under its row. */
|
|
19488
|
-
protected showDetails(quickFilter: QuickFilter, event: Event): void;
|
|
19489
|
-
/** Hides the card a moment later, so the pointer can cross from the row to the card. */
|
|
19490
|
-
protected scheduleHideDetails(): void;
|
|
19491
|
-
protected cancelHideDetails(): void;
|
|
19492
|
-
protected hideDetails(): void;
|
|
19493
|
-
/** The popover is closed with nothing half done: no search, no name being typed. */
|
|
19494
|
-
private reset;
|
|
19495
19620
|
/** Closes the popover when the focus leaves the whole component. `null` (focus left the document) leaves it open. */
|
|
19496
19621
|
protected closeOnFocusLeave(event: FocusEvent): void;
|
|
19497
|
-
/**
|
|
19498
|
-
protected readonly picked: import("@angular/core").WritableSignal<QuickFilter[]>;
|
|
19499
|
-
/** A row was chosen in the list. */
|
|
19500
|
-
protected pick(values: readonly QuickFilter[]): void;
|
|
19501
|
-
/** A click on a quick filter: its filters replace the active ones. */
|
|
19622
|
+
/** The list applied a quick filter: the popover closes, and the page is told. */
|
|
19502
19623
|
protected apply(quickFilter: QuickFilter): void;
|
|
19503
19624
|
static ɵfac: i0.ɵɵFactoryDeclaration<QuickFiltersComponent, never>;
|
|
19504
19625
|
static ɵcmp: i0.ɵɵComponentDeclaration<QuickFiltersComponent, "QuickFilters, quick-filters", never, {
|
|
@@ -19526,6 +19647,104 @@ export declare class QuickFiltersComponent {
|
|
|
19526
19647
|
"applied": "applied";
|
|
19527
19648
|
}, never, never, true, never>;
|
|
19528
19649
|
}
|
|
19650
|
+
/**
|
|
19651
|
+
* The list of the user's quick filters, to be placed where the host wants it: inline (a tab of the filters panel) or in a popover
|
|
19652
|
+
* (the `<quick-filters>` pill). It is the content only; the host owns the container, and what happens once a quick filter is applied.
|
|
19653
|
+
*
|
|
19654
|
+
* One row per quick filter: its name and, under it, the count of its filters — hovering that line (or focusing the row) shows them as
|
|
19655
|
+
* chips in a card, whose cut-off texts get a tooltip. A click on a row **replaces** the active filters by its own (the rest of the query stays, the text above all) and the host
|
|
19656
|
+
* is told with `applied`. The cross at the end of the row (or `Del` when the row has the focus) deletes the quick filter from the
|
|
19657
|
+
* user's settings. Quick filters are made elsewhere: where the filters are saved as one.
|
|
19658
|
+
*
|
|
19659
|
+
* ```html
|
|
19660
|
+
* <quick-filters-list [searchable]="true" (applied)="popover.close()" />
|
|
19661
|
+
* ```
|
|
19662
|
+
*/
|
|
19663
|
+
export declare class QuickFiltersListComponent {
|
|
19664
|
+
/** Shows a field that narrows the list by name. It only appears once there is something to narrow. */
|
|
19665
|
+
readonly searchable: import("@angular/core").InputSignal<boolean>;
|
|
19666
|
+
/** Shows the cross that deletes a quick filter, and lets `Del` do the same. */
|
|
19667
|
+
readonly deletable: import("@angular/core").InputSignal<boolean>;
|
|
19668
|
+
/** What the empty state says under its title, when the default does not fit where the list is. */
|
|
19669
|
+
readonly emptyHint: import("@angular/core").InputSignal<string | undefined>;
|
|
19670
|
+
/** Emitted with the quick filter a click has just applied: the host decides what follows (close a popover…). */
|
|
19671
|
+
readonly applied: import("@angular/core").OutputEmitterRef<QuickFilter>;
|
|
19672
|
+
/** Emitted with the quick filter that has just been deleted. */
|
|
19673
|
+
readonly deleted: import("@angular/core").OutputEmitterRef<QuickFilter>;
|
|
19674
|
+
private readonly userSettingsStore;
|
|
19675
|
+
private readonly queryParamsStore;
|
|
19676
|
+
private readonly appStore;
|
|
19677
|
+
private readonly transloco;
|
|
19678
|
+
private readonly host;
|
|
19679
|
+
private readonly injector;
|
|
19680
|
+
protected readonly deleteKeys: string[];
|
|
19681
|
+
protected readonly quickFilters: import("@angular/core").Signal<QuickFilter[]>;
|
|
19682
|
+
protected readonly query: import("@angular/core").WritableSignal<string>;
|
|
19683
|
+
protected readonly filtered: import("@angular/core").Signal<QuickFilter[]>;
|
|
19684
|
+
/** What was just done, for the screen readers. */
|
|
19685
|
+
protected readonly announcement: import("@angular/core").WritableSignal<string>;
|
|
19686
|
+
/** The row whose hover card is showing: its quick filter, and the element the card hangs from. */
|
|
19687
|
+
protected readonly details: import("@angular/core").WritableSignal<{
|
|
19688
|
+
quickFilter: QuickFilter;
|
|
19689
|
+
anchor: HTMLElement;
|
|
19690
|
+
} | null>;
|
|
19691
|
+
private readonly detailsCard;
|
|
19692
|
+
private hideTimer;
|
|
19693
|
+
private readonly deleting;
|
|
19694
|
+
constructor();
|
|
19695
|
+
/**
|
|
19696
|
+
* What a quick filter holds, one chip per filter: the icon the application gave the aggregation of the filter in the
|
|
19697
|
+
* "filters" custom JSON (the one its filter button shows) and the value. The icon says what is filtered on, so the name is
|
|
19698
|
+
* left out; an aggregation without an icon keeps it (`Authors: John`), or the value alone would say nothing.
|
|
19699
|
+
*/
|
|
19700
|
+
protected chips(quickFilter: QuickFilter): {
|
|
19701
|
+
text: string;
|
|
19702
|
+
icon?: string;
|
|
19703
|
+
}[];
|
|
19704
|
+
/** Shows what a quick filter holds, under the line of its count of filters. */
|
|
19705
|
+
protected showDetails(quickFilter: QuickFilter, anchor: HTMLElement): void;
|
|
19706
|
+
/** Hides the card a moment later, so the pointer can cross from the row to the card. */
|
|
19707
|
+
protected scheduleHideDetails(): void;
|
|
19708
|
+
protected cancelHideDetails(): void;
|
|
19709
|
+
/** Escape takes the card away first (WCAG 1.4.13); only a second one reaches what the list is in (a panel, a popover). */
|
|
19710
|
+
protected onEscape(event: Event): void;
|
|
19711
|
+
/** What the list holds as selected: nothing, ever — choosing a row applies it and the list starts again. */
|
|
19712
|
+
protected readonly picked: import("@angular/core").WritableSignal<QuickFilter[]>;
|
|
19713
|
+
/** A row was chosen in the list. */
|
|
19714
|
+
protected pick(values: readonly QuickFilter[]): void;
|
|
19715
|
+
/**
|
|
19716
|
+
* A click on a quick filter: its filters replace ALL the applied ones — the whole `filters` of the query, not a merge with them.
|
|
19717
|
+
* Everything else the query holds stays, the text above all: `patch` only writes what it is given.
|
|
19718
|
+
*/
|
|
19719
|
+
private apply;
|
|
19720
|
+
/**
|
|
19721
|
+
* Deletes a quick filter from the user's settings. The toast says it is done. A deleted row leaves the DOM with the focus: when the
|
|
19722
|
+
* 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
|
|
19723
|
+
* on the page.
|
|
19724
|
+
*/
|
|
19725
|
+
protected remove(quickFilter: QuickFilter, index: number, event: Event): Promise<void>;
|
|
19726
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QuickFiltersListComponent, never>;
|
|
19727
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QuickFiltersListComponent, "QuickFiltersList, quick-filters-list", never, {
|
|
19728
|
+
"searchable": {
|
|
19729
|
+
"alias": "searchable";
|
|
19730
|
+
"required": false;
|
|
19731
|
+
"isSignal": true;
|
|
19732
|
+
};
|
|
19733
|
+
"deletable": {
|
|
19734
|
+
"alias": "deletable";
|
|
19735
|
+
"required": false;
|
|
19736
|
+
"isSignal": true;
|
|
19737
|
+
};
|
|
19738
|
+
"emptyHint": {
|
|
19739
|
+
"alias": "emptyHint";
|
|
19740
|
+
"required": false;
|
|
19741
|
+
"isSignal": true;
|
|
19742
|
+
};
|
|
19743
|
+
}, {
|
|
19744
|
+
"applied": "applied";
|
|
19745
|
+
"deleted": "deleted";
|
|
19746
|
+
}, never, never, true, never>;
|
|
19747
|
+
}
|
|
19529
19748
|
/** Order of the categories of the suggestions, first to last. */
|
|
19530
19749
|
export declare const SEARCH_BOX_CATEGORIES_SORT: InjectionToken<string[]>;
|
|
19531
19750
|
/** The icon of each category of suggestion. */
|
|
@@ -19626,7 +19845,7 @@ export declare class SearchBoxComponent {
|
|
|
19626
19845
|
relevanceTransforms?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
19627
19846
|
removeDuplicates?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
19628
19847
|
queryId?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
19629
|
-
aggregations?: import("@angular/core").Signal<
|
|
19848
|
+
aggregations?: import("@angular/core").Signal<Record<string, import("@sinequa/atomic").AggregationOptions> | string[] | undefined> | undefined;
|
|
19630
19849
|
orderBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
19631
19850
|
groupBy?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
19632
19851
|
neuralSearch?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
@@ -20038,7 +20257,7 @@ export declare class SearchBoxComponent {
|
|
|
20038
20257
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
20039
20258
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
20040
20259
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
20041
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
20260
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
20042
20261
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
20043
20262
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
20044
20263
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -20318,7 +20537,7 @@ export declare class RecentSearchesComponent {
|
|
|
20318
20537
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
20319
20538
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
20320
20539
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
20321
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
20540
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
20322
20541
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
20323
20542
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
20324
20543
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -20443,7 +20662,7 @@ export declare class SavedSearchPopover {
|
|
|
20443
20662
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
20444
20663
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
20445
20664
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
20446
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
20665
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
20447
20666
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
20448
20667
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
20449
20668
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -20539,7 +20758,7 @@ export declare class SavedSearchesComponent {
|
|
|
20539
20758
|
collapseAssistant?: import("@angular/core").Signal<boolean | undefined> | undefined;
|
|
20540
20759
|
language?: import("@angular/core").Signal<string | undefined> | undefined;
|
|
20541
20760
|
userTheme: import("@angular/core").Signal<"light" | "dark" | "system" | undefined>;
|
|
20542
|
-
agents: import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings
|
|
20761
|
+
agents: import("@angular/core").Signal<undefined> | import("@ngrx/signals").DeepSignal<import("@sinequa/atomic-angular").AgentUserSettings>;
|
|
20543
20762
|
disabledHighlightCategories: import("@angular/core").Signal<string[]>;
|
|
20544
20763
|
isDebugMode: import("@angular/core").Signal<boolean>;
|
|
20545
20764
|
isDarkMode: import("@angular/core").Signal<boolean>;
|
|
@@ -20696,7 +20915,7 @@ export declare class SettingsAccountPanelComponent {
|
|
|
20696
20915
|
param9: import("@angular/core").Signal<string>;
|
|
20697
20916
|
param10: import("@angular/core").Signal<string>;
|
|
20698
20917
|
userOverrideActive: import("@angular/core").Signal<boolean>;
|
|
20699
|
-
state: import("@angular/core").Signal<"error" | "
|
|
20918
|
+
state: import("@angular/core").Signal<"error" | "loading" | "loaded" | "initial">;
|
|
20700
20919
|
allowUserOverride: import("@angular/core").Signal<boolean>;
|
|
20701
20920
|
isOverridingUser: import("@angular/core").Signal<boolean>;
|
|
20702
20921
|
initials: import("@angular/core").Signal<string>;
|
|
@@ -20855,7 +21074,7 @@ export declare class UserProfileFormComponent {
|
|
|
20855
21074
|
param9: Signal<string>;
|
|
20856
21075
|
param10: Signal<string>;
|
|
20857
21076
|
userOverrideActive: Signal<boolean>;
|
|
20858
|
-
state: Signal<"error" | "
|
|
21077
|
+
state: Signal<"error" | "loading" | "loaded" | "initial">;
|
|
20859
21078
|
allowUserOverride: Signal<boolean>;
|
|
20860
21079
|
isOverridingUser: Signal<boolean>;
|
|
20861
21080
|
initials: Signal<string>;
|
|
@@ -22016,6 +22235,22 @@ export declare class FileSizePipe implements PipeTransform {
|
|
|
22016
22235
|
static ɵfac: i0.ɵɵFactoryDeclaration<FileSizePipe, never>;
|
|
22017
22236
|
static ɵpipe: i0.ɵɵPipeDeclaration<FileSizePipe, "fileSize", true>;
|
|
22018
22237
|
}
|
|
22238
|
+
/**
|
|
22239
|
+
* Writes a number the way the interface language does: `1,060` in English, `1 060` in French, `1.060` in German.
|
|
22240
|
+
*
|
|
22241
|
+
* Not Angular's `number` pipe: that one follows `LOCALE_ID`, which an application fixes once for good, so it would keep grouping
|
|
22242
|
+
* digits the same way in another language. The language here is the one transloco holds, read as a signal so a template using the
|
|
22243
|
+
* pipe updates by itself when the user changes it (the pipe stays pure).
|
|
22244
|
+
*
|
|
22245
|
+
* `null` and `undefined` are written as `0`.
|
|
22246
|
+
*/
|
|
22247
|
+
export declare class LocalizedNumberPipe implements PipeTransform {
|
|
22248
|
+
private readonly transloco;
|
|
22249
|
+
private readonly lang;
|
|
22250
|
+
transform(value: number | null | undefined): string;
|
|
22251
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocalizedNumberPipe, never>;
|
|
22252
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<LocalizedNumberPipe, "localizedNumber", true>;
|
|
22253
|
+
}
|
|
22019
22254
|
/**
|
|
22020
22255
|
* The `@sinequa/atomic` client the surrounding injector works with.
|
|
22021
22256
|
*
|