@memberjunction/ng-search 5.43.0 → 5.45.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/dist/lib/module.d.ts +2 -1
- package/dist/lib/module.d.ts.map +1 -1
- package/dist/lib/module.js +10 -3
- package/dist/lib/module.js.map +1 -1
- package/dist/lib/search-filter.component.d.ts +6 -2
- package/dist/lib/search-filter.component.d.ts.map +1 -1
- package/dist/lib/search-filter.component.js +66 -70
- package/dist/lib/search-filter.component.js.map +1 -1
- package/dist/lib/search-overlay.component.js +42 -52
- package/dist/lib/search-overlay.component.js.map +1 -1
- package/dist/lib/search-results.component.js +76 -79
- package/dist/lib/search-results.component.js.map +1 -1
- package/package.json +9 -7
- package/dist/__tests__/search-results.component.test.d.ts +0 -2
- package/dist/__tests__/search-results.component.test.d.ts.map +0 -1
- package/dist/__tests__/search-results.component.test.js +0 -263
- package/dist/__tests__/search-results.component.test.js.map +0 -1
- package/dist/__tests__/search-types.test.d.ts +0 -2
- package/dist/__tests__/search-types.test.d.ts.map +0 -1
- package/dist/__tests__/search-types.test.js +0 -111
- package/dist/__tests__/search-types.test.js.map +0 -1
- package/dist/__tests__/search.service.test.d.ts +0 -2
- package/dist/__tests__/search.service.test.d.ts.map +0 -1
- package/dist/__tests__/search.service.test.js +0 -438
- package/dist/__tests__/search.service.test.js.map +0 -1
|
@@ -11,6 +11,7 @@ import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "@angular/common";
|
|
13
13
|
import * as i2 from "@memberjunction/ng-shared-generic";
|
|
14
|
+
import * as i3 from "@memberjunction/ng-ui-components";
|
|
14
15
|
const _c0 = a0 => ({ $implicit: a0 });
|
|
15
16
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
16
17
|
const _forTrack1 = ($index, $item) => $item.SourceType;
|
|
@@ -21,14 +22,10 @@ function SearchResultsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
21
22
|
i0.ɵɵelementEnd();
|
|
22
23
|
} }
|
|
23
24
|
function SearchResultsComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
-
i0.ɵɵ
|
|
25
|
-
i0.ɵɵelement(1, "i", 4);
|
|
26
|
-
i0.ɵɵelementStart(2, "p", 5);
|
|
27
|
-
i0.ɵɵtext(3, "No results to display");
|
|
28
|
-
i0.ɵɵelementEnd()();
|
|
25
|
+
i0.ɵɵelement(0, "mj-empty-state", 2);
|
|
29
26
|
} }
|
|
30
27
|
function SearchResultsComponent_Conditional_2_Conditional_0_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
-
i0.ɵɵelementStart(0, "span",
|
|
28
|
+
i0.ɵɵelementStart(0, "span", 5);
|
|
32
29
|
i0.ɵɵtext(1);
|
|
33
30
|
i0.ɵɵelementEnd();
|
|
34
31
|
} if (rf & 2) {
|
|
@@ -37,10 +34,10 @@ function SearchResultsComponent_Conditional_2_Conditional_0_Conditional_3_Templa
|
|
|
37
34
|
i0.ɵɵtextInterpolate1(" in ", ctx_r0.FormatTime(ctx_r0.ElapsedMs));
|
|
38
35
|
} }
|
|
39
36
|
function SearchResultsComponent_Conditional_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
-
i0.ɵɵelementStart(0, "div",
|
|
37
|
+
i0.ɵɵelementStart(0, "div", 4)(1, "span");
|
|
41
38
|
i0.ɵɵtext(2);
|
|
42
39
|
i0.ɵɵelementEnd();
|
|
43
|
-
i0.ɵɵconditionalCreate(3, SearchResultsComponent_Conditional_2_Conditional_0_Conditional_3_Template, 2, 1, "span",
|
|
40
|
+
i0.ɵɵconditionalCreate(3, SearchResultsComponent_Conditional_2_Conditional_0_Conditional_3_Template, 2, 1, "span", 5);
|
|
44
41
|
i0.ɵɵelementEnd();
|
|
45
42
|
} if (rf & 2) {
|
|
46
43
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
@@ -53,7 +50,7 @@ function SearchResultsComponent_Conditional_2_Conditional_1_For_2_ng_container_0
|
|
|
53
50
|
i0.ɵɵelementContainer(0);
|
|
54
51
|
} }
|
|
55
52
|
function SearchResultsComponent_Conditional_2_Conditional_1_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
-
i0.ɵɵtemplate(0, SearchResultsComponent_Conditional_2_Conditional_1_For_2_ng_container_0_Template, 1, 0, "ng-container",
|
|
53
|
+
i0.ɵɵtemplate(0, SearchResultsComponent_Conditional_2_Conditional_1_For_2_ng_container_0_Template, 1, 0, "ng-container", 8);
|
|
57
54
|
} if (rf & 2) {
|
|
58
55
|
const result_r2 = ctx.$implicit;
|
|
59
56
|
i0.ɵɵnextContext(3);
|
|
@@ -61,13 +58,13 @@ function SearchResultsComponent_Conditional_2_Conditional_1_For_2_Template(rf, c
|
|
|
61
58
|
i0.ɵɵproperty("ngTemplateOutlet", resultCardTpl_r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, result_r2));
|
|
62
59
|
} }
|
|
63
60
|
function SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_For_4_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
64
|
-
i0.ɵɵelementStart(0, "span",
|
|
61
|
+
i0.ɵɵelementStart(0, "span", 13);
|
|
65
62
|
i0.ɵɵtext(1, "...");
|
|
66
63
|
i0.ɵɵelementEnd();
|
|
67
64
|
} }
|
|
68
65
|
function SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_For_4_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
69
66
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
70
|
-
i0.ɵɵelementStart(0, "button",
|
|
67
|
+
i0.ɵɵelementStart(0, "button", 15);
|
|
71
68
|
i0.ɵɵlistener("click", function SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_For_4_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const p_r6 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r0.GoToPage(p_r6)); });
|
|
72
69
|
i0.ɵɵtext(1);
|
|
73
70
|
i0.ɵɵelementEnd();
|
|
@@ -79,21 +76,21 @@ function SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_For_4_
|
|
|
79
76
|
i0.ɵɵtextInterpolate(p_r6);
|
|
80
77
|
} }
|
|
81
78
|
function SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
-
i0.ɵɵconditionalCreate(0, SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_For_4_Conditional_0_Template, 2, 0, "span",
|
|
79
|
+
i0.ɵɵconditionalCreate(0, SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_For_4_Conditional_0_Template, 2, 0, "span", 13)(1, SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_For_4_Conditional_1_Template, 2, 3, "button", 14);
|
|
83
80
|
} if (rf & 2) {
|
|
84
81
|
const p_r6 = ctx.$implicit;
|
|
85
82
|
i0.ɵɵconditional(p_r6 === -1 ? 0 : 1);
|
|
86
83
|
} }
|
|
87
84
|
function SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
88
85
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
89
|
-
i0.ɵɵelementStart(0, "div",
|
|
86
|
+
i0.ɵɵelementStart(0, "div", 7)(1, "button", 9);
|
|
90
87
|
i0.ɵɵlistener("click", function SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.GoToPage(ctx_r0.CurrentPage - 1)); });
|
|
91
|
-
i0.ɵɵelement(2, "i",
|
|
88
|
+
i0.ɵɵelement(2, "i", 10);
|
|
92
89
|
i0.ɵɵelementEnd();
|
|
93
90
|
i0.ɵɵrepeaterCreate(3, SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_For_4_Template, 2, 1, null, null, i0.ɵɵrepeaterTrackByIndex);
|
|
94
|
-
i0.ɵɵelementStart(5, "button",
|
|
91
|
+
i0.ɵɵelementStart(5, "button", 11);
|
|
95
92
|
i0.ɵɵlistener("click", function SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.GoToPage(ctx_r0.CurrentPage + 1)); });
|
|
96
|
-
i0.ɵɵelement(6, "i",
|
|
93
|
+
i0.ɵɵelement(6, "i", 12);
|
|
97
94
|
i0.ɵɵelementEnd()();
|
|
98
95
|
} if (rf & 2) {
|
|
99
96
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
@@ -105,10 +102,10 @@ function SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_Templa
|
|
|
105
102
|
i0.ɵɵproperty("disabled", ctx_r0.CurrentPage === ctx_r0.TotalPages);
|
|
106
103
|
} }
|
|
107
104
|
function SearchResultsComponent_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
-
i0.ɵɵelementStart(0, "div",
|
|
105
|
+
i0.ɵɵelementStart(0, "div", 6);
|
|
109
106
|
i0.ɵɵrepeaterCreate(1, SearchResultsComponent_Conditional_2_Conditional_1_For_2_Template, 1, 4, "ng-container", null, _forTrack0);
|
|
110
107
|
i0.ɵɵelementEnd();
|
|
111
|
-
i0.ɵɵconditionalCreate(3, SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_Template, 7, 2, "div",
|
|
108
|
+
i0.ɵɵconditionalCreate(3, SearchResultsComponent_Conditional_2_Conditional_1_Conditional_3_Template, 7, 2, "div", 7);
|
|
112
109
|
} if (rf & 2) {
|
|
113
110
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
114
111
|
i0.ɵɵadvance();
|
|
@@ -126,7 +123,7 @@ function SearchResultsComponent_Conditional_2_Conditional_2_For_1_For_9_ng_conta
|
|
|
126
123
|
i0.ɵɵelementContainer(0);
|
|
127
124
|
} }
|
|
128
125
|
function SearchResultsComponent_Conditional_2_Conditional_2_For_1_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
129
|
-
i0.ɵɵtemplate(0, SearchResultsComponent_Conditional_2_Conditional_2_For_1_For_9_ng_container_0_Template, 1, 0, "ng-container",
|
|
126
|
+
i0.ɵɵtemplate(0, SearchResultsComponent_Conditional_2_Conditional_2_For_1_For_9_ng_container_0_Template, 1, 0, "ng-container", 8);
|
|
130
127
|
} if (rf & 2) {
|
|
131
128
|
const result_r9 = ctx.$implicit;
|
|
132
129
|
i0.ɵɵnextContext(4);
|
|
@@ -135,9 +132,9 @@ function SearchResultsComponent_Conditional_2_Conditional_2_For_1_For_9_Template
|
|
|
135
132
|
} }
|
|
136
133
|
function SearchResultsComponent_Conditional_2_Conditional_2_For_1_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
137
134
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
138
|
-
i0.ɵɵelementStart(0, "button",
|
|
135
|
+
i0.ɵɵelementStart(0, "button", 23);
|
|
139
136
|
i0.ɵɵlistener("click", function SearchResultsComponent_Conditional_2_Conditional_2_For_1_Conditional_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const group_r8 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.ToggleGroup(group_r8.SourceType)); });
|
|
140
|
-
i0.ɵɵelement(1, "i",
|
|
137
|
+
i0.ɵɵelement(1, "i", 24);
|
|
141
138
|
i0.ɵɵtext(2);
|
|
142
139
|
i0.ɵɵelementEnd();
|
|
143
140
|
} if (rf & 2) {
|
|
@@ -148,19 +145,19 @@ function SearchResultsComponent_Conditional_2_Conditional_2_For_1_Conditional_10
|
|
|
148
145
|
} }
|
|
149
146
|
function SearchResultsComponent_Conditional_2_Conditional_2_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
150
147
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
151
|
-
i0.ɵɵelementStart(0, "div",
|
|
148
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "div", 17);
|
|
152
149
|
i0.ɵɵlistener("click", function SearchResultsComponent_Conditional_2_Conditional_2_For_1_Template_div_click_1_listener() { const group_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.ToggleGroup(group_r8.SourceType)); });
|
|
153
|
-
i0.ɵɵconditionalCreate(2, SearchResultsComponent_Conditional_2_Conditional_2_For_1_Conditional_2_Template, 1, 2, "i",
|
|
154
|
-
i0.ɵɵelementStart(3, "span",
|
|
150
|
+
i0.ɵɵconditionalCreate(2, SearchResultsComponent_Conditional_2_Conditional_2_For_1_Conditional_2_Template, 1, 2, "i", 18);
|
|
151
|
+
i0.ɵɵelementStart(3, "span", 19);
|
|
155
152
|
i0.ɵɵtext(4);
|
|
156
153
|
i0.ɵɵelementEnd();
|
|
157
|
-
i0.ɵɵelementStart(5, "span",
|
|
154
|
+
i0.ɵɵelementStart(5, "span", 20);
|
|
158
155
|
i0.ɵɵtext(6);
|
|
159
156
|
i0.ɵɵelementEnd();
|
|
160
|
-
i0.ɵɵelement(7, "i",
|
|
157
|
+
i0.ɵɵelement(7, "i", 21);
|
|
161
158
|
i0.ɵɵelementEnd();
|
|
162
159
|
i0.ɵɵrepeaterCreate(8, SearchResultsComponent_Conditional_2_Conditional_2_For_1_For_9_Template, 1, 4, "ng-container", null, _forTrack0);
|
|
163
|
-
i0.ɵɵconditionalCreate(10, SearchResultsComponent_Conditional_2_Conditional_2_For_1_Conditional_10_Template, 3, 1, "button",
|
|
160
|
+
i0.ɵɵconditionalCreate(10, SearchResultsComponent_Conditional_2_Conditional_2_For_1_Conditional_10_Template, 3, 1, "button", 22);
|
|
164
161
|
i0.ɵɵelementEnd();
|
|
165
162
|
} if (rf & 2) {
|
|
166
163
|
const group_r8 = ctx.$implicit;
|
|
@@ -179,13 +176,13 @@ function SearchResultsComponent_Conditional_2_Conditional_2_For_1_Template(rf, c
|
|
|
179
176
|
i0.ɵɵconditional(ctx_r0.HasMoreResults(group_r8) ? 10 : -1);
|
|
180
177
|
} }
|
|
181
178
|
function SearchResultsComponent_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
182
|
-
i0.ɵɵrepeaterCreate(0, SearchResultsComponent_Conditional_2_Conditional_2_For_1_Template, 11, 8, "div",
|
|
179
|
+
i0.ɵɵrepeaterCreate(0, SearchResultsComponent_Conditional_2_Conditional_2_For_1_Template, 11, 8, "div", 16, _forTrack1);
|
|
183
180
|
} if (rf & 2) {
|
|
184
181
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
185
182
|
i0.ɵɵrepeater(ctx_r0.ResultGroups);
|
|
186
183
|
} }
|
|
187
184
|
function SearchResultsComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
188
|
-
i0.ɵɵconditionalCreate(0, SearchResultsComponent_Conditional_2_Conditional_0_Template, 4, 2, "div",
|
|
185
|
+
i0.ɵɵconditionalCreate(0, SearchResultsComponent_Conditional_2_Conditional_0_Template, 4, 2, "div", 4);
|
|
189
186
|
i0.ɵɵconditionalCreate(1, SearchResultsComponent_Conditional_2_Conditional_1_Template, 4, 1)(2, SearchResultsComponent_Conditional_2_Conditional_2_Template, 2, 0);
|
|
190
187
|
} if (rf & 2) {
|
|
191
188
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -194,14 +191,14 @@ function SearchResultsComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
194
191
|
i0.ɵɵconditional(ctx_r0.DisplayMode === "flat" ? 1 : 2);
|
|
195
192
|
} }
|
|
196
193
|
function SearchResultsComponent_ng_template_3_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
197
|
-
i0.ɵɵelement(0, "span",
|
|
194
|
+
i0.ɵɵelement(0, "span", 38);
|
|
198
195
|
} if (rf & 2) {
|
|
199
196
|
const tag_r13 = ctx.$implicit;
|
|
200
197
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
201
198
|
i0.ɵɵproperty("innerHTML", ctx_r0.HighlightMatch(tag_r13), i0.ɵɵsanitizeHtml);
|
|
202
199
|
} }
|
|
203
200
|
function SearchResultsComponent_ng_template_3_Conditional_7_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
204
|
-
i0.ɵɵelementStart(0, "span",
|
|
201
|
+
i0.ɵɵelementStart(0, "span", 39);
|
|
205
202
|
i0.ɵɵtext(1);
|
|
206
203
|
i0.ɵɵelementEnd();
|
|
207
204
|
} if (rf & 2) {
|
|
@@ -210,9 +207,9 @@ function SearchResultsComponent_ng_template_3_Conditional_7_Conditional_3_Templa
|
|
|
210
207
|
i0.ɵɵtextInterpolate1("+", result_r12.Tags.length - 5);
|
|
211
208
|
} }
|
|
212
209
|
function SearchResultsComponent_ng_template_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
213
|
-
i0.ɵɵelementStart(0, "div",
|
|
214
|
-
i0.ɵɵrepeaterCreate(1, SearchResultsComponent_ng_template_3_Conditional_7_For_2_Template, 1, 1, "span",
|
|
215
|
-
i0.ɵɵconditionalCreate(3, SearchResultsComponent_ng_template_3_Conditional_7_Conditional_3_Template, 2, 1, "span",
|
|
210
|
+
i0.ɵɵelementStart(0, "div", 31);
|
|
211
|
+
i0.ɵɵrepeaterCreate(1, SearchResultsComponent_ng_template_3_Conditional_7_For_2_Template, 1, 1, "span", 38, i0.ɵɵrepeaterTrackByIdentity);
|
|
212
|
+
i0.ɵɵconditionalCreate(3, SearchResultsComponent_ng_template_3_Conditional_7_Conditional_3_Template, 2, 1, "span", 39);
|
|
216
213
|
i0.ɵɵelementEnd();
|
|
217
214
|
} if (rf & 2) {
|
|
218
215
|
const result_r12 = i0.ɵɵnextContext().$implicit;
|
|
@@ -222,7 +219,7 @@ function SearchResultsComponent_ng_template_3_Conditional_7_Template(rf, ctx) {
|
|
|
222
219
|
i0.ɵɵconditional(result_r12.Tags.length > 5 ? 3 : -1);
|
|
223
220
|
} }
|
|
224
221
|
function SearchResultsComponent_ng_template_3_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
225
|
-
i0.ɵɵelementStart(0, "div",
|
|
222
|
+
i0.ɵɵelementStart(0, "div", 32)(1, "div", 40)(2, "span", 41);
|
|
226
223
|
i0.ɵɵtext(3);
|
|
227
224
|
i0.ɵɵelementEnd()()();
|
|
228
225
|
} if (rf & 2) {
|
|
@@ -234,10 +231,10 @@ function SearchResultsComponent_ng_template_3_Conditional_8_Template(rf, ctx) {
|
|
|
234
231
|
i0.ɵɵtextInterpolate(ctx_r0.FormatScore(result_r12.Score));
|
|
235
232
|
} }
|
|
236
233
|
function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
237
|
-
i0.ɵɵelementStart(0, "div",
|
|
234
|
+
i0.ɵɵelementStart(0, "div", 42)(1, "span", 55);
|
|
238
235
|
i0.ɵɵtext(2, "Preview");
|
|
239
236
|
i0.ɵɵelementEnd();
|
|
240
|
-
i0.ɵɵelement(3, "p",
|
|
237
|
+
i0.ɵɵelement(3, "p", 56);
|
|
241
238
|
i0.ɵɵelementEnd();
|
|
242
239
|
} if (rf & 2) {
|
|
243
240
|
const result_r12 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -260,8 +257,8 @@ function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_15_Cond
|
|
|
260
257
|
i0.ɵɵtextInterpolate1(" FTS: ", ctx_r0.FormatScore(result_r12.ScoreBreakdown.FullText), " ");
|
|
261
258
|
} }
|
|
262
259
|
function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
263
|
-
i0.ɵɵelementStart(0, "div",
|
|
264
|
-
i0.ɵɵelement(1, "i",
|
|
260
|
+
i0.ɵɵelementStart(0, "div", 44);
|
|
261
|
+
i0.ɵɵelement(1, "i", 57);
|
|
265
262
|
i0.ɵɵelementStart(2, "span");
|
|
266
263
|
i0.ɵɵconditionalCreate(3, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_15_Conditional_3_Template, 1, 1);
|
|
267
264
|
i0.ɵɵconditionalCreate(4, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_15_Conditional_4_Template, 1, 1);
|
|
@@ -274,15 +271,15 @@ function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_15_Temp
|
|
|
274
271
|
i0.ɵɵconditional(result_r12.ScoreBreakdown.FullText ? 4 : -1);
|
|
275
272
|
} }
|
|
276
273
|
function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_16_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
277
|
-
i0.ɵɵelement(0, "span",
|
|
274
|
+
i0.ɵɵelement(0, "span", 58);
|
|
278
275
|
} if (rf & 2) {
|
|
279
276
|
const tag_r15 = ctx.$implicit;
|
|
280
277
|
const ctx_r0 = i0.ɵɵnextContext(4);
|
|
281
278
|
i0.ɵɵproperty("innerHTML", ctx_r0.HighlightMatch(tag_r15), i0.ɵɵsanitizeHtml);
|
|
282
279
|
} }
|
|
283
280
|
function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
284
|
-
i0.ɵɵelementStart(0, "div",
|
|
285
|
-
i0.ɵɵrepeaterCreate(1, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_16_For_2_Template, 1, 1, "span",
|
|
281
|
+
i0.ɵɵelementStart(0, "div", 49);
|
|
282
|
+
i0.ɵɵrepeaterCreate(1, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_16_For_2_Template, 1, 1, "span", 58, i0.ɵɵrepeaterTrackByIdentity);
|
|
286
283
|
i0.ɵɵelementEnd();
|
|
287
284
|
} if (rf & 2) {
|
|
288
285
|
const result_r12 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -291,9 +288,9 @@ function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_16_Temp
|
|
|
291
288
|
} }
|
|
292
289
|
function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_2_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
293
290
|
const _r16 = i0.ɵɵgetCurrentView();
|
|
294
|
-
i0.ɵɵelementStart(0, "a",
|
|
291
|
+
i0.ɵɵelementStart(0, "a", 61);
|
|
295
292
|
i0.ɵɵlistener("click", function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_2_Conditional_0_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r16); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
296
|
-
i0.ɵɵelement(1, "i",
|
|
293
|
+
i0.ɵɵelement(1, "i", 62);
|
|
297
294
|
i0.ɵɵtext(2);
|
|
298
295
|
i0.ɵɵelementEnd();
|
|
299
296
|
} if (rf & 2) {
|
|
@@ -305,9 +302,9 @@ function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_
|
|
|
305
302
|
} }
|
|
306
303
|
function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
307
304
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
308
|
-
i0.ɵɵelementStart(0, "a",
|
|
305
|
+
i0.ɵɵelementStart(0, "a", 63);
|
|
309
306
|
i0.ɵɵlistener("click", function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_2_Conditional_1_Template_a_click_0_listener($event) { i0.ɵɵrestoreView(_r18); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
310
|
-
i0.ɵɵelement(1, "i",
|
|
307
|
+
i0.ɵɵelement(1, "i", 64);
|
|
311
308
|
i0.ɵɵtext(2);
|
|
312
309
|
i0.ɵɵelementEnd();
|
|
313
310
|
} if (rf & 2) {
|
|
@@ -317,13 +314,13 @@ function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_
|
|
|
317
314
|
i0.ɵɵtextInterpolate1(" ", link_r17.Value, " ");
|
|
318
315
|
} }
|
|
319
316
|
function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
320
|
-
i0.ɵɵconditionalCreate(0, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_2_Conditional_0_Template, 3, 2, "a",
|
|
317
|
+
i0.ɵɵconditionalCreate(0, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_2_Conditional_0_Template, 3, 2, "a", 59)(1, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_2_Conditional_1_Template, 3, 2, "a", 60);
|
|
321
318
|
} if (rf & 2) {
|
|
322
319
|
const link_r17 = ctx.$implicit;
|
|
323
320
|
i0.ɵɵconditional(link_r17.Type === "URL" ? 0 : link_r17.Type === "Email" ? 1 : -1);
|
|
324
321
|
} }
|
|
325
322
|
function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
326
|
-
i0.ɵɵelementStart(0, "div",
|
|
323
|
+
i0.ɵɵelementStart(0, "div", 50);
|
|
327
324
|
i0.ɵɵrepeaterCreate(1, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_For_2_Template, 2, 1, null, null, _forTrack2);
|
|
328
325
|
i0.ɵɵelementEnd();
|
|
329
326
|
} if (rf & 2) {
|
|
@@ -333,43 +330,43 @@ function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_Temp
|
|
|
333
330
|
i0.ɵɵrepeater(ctx_r0.GetResolvedLinks(result_r12));
|
|
334
331
|
} }
|
|
335
332
|
function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
336
|
-
i0.ɵɵelement(0, "i",
|
|
333
|
+
i0.ɵɵelement(0, "i", 65);
|
|
337
334
|
i0.ɵɵtext(1, " Open File ");
|
|
338
335
|
} }
|
|
339
336
|
function SearchResultsComponent_ng_template_3_Conditional_14_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
340
|
-
i0.ɵɵelement(0, "i",
|
|
337
|
+
i0.ɵɵelement(0, "i", 62);
|
|
341
338
|
i0.ɵɵtext(1, " Open Record ");
|
|
342
339
|
} }
|
|
343
340
|
function SearchResultsComponent_ng_template_3_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
344
341
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
345
|
-
i0.ɵɵelementStart(0, "div",
|
|
346
|
-
i0.ɵɵconditionalCreate(1, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_1_Template, 4, 1, "div",
|
|
347
|
-
i0.ɵɵelementStart(2, "div",
|
|
348
|
-
i0.ɵɵelement(4, "i",
|
|
342
|
+
i0.ɵɵelementStart(0, "div", 37);
|
|
343
|
+
i0.ɵɵconditionalCreate(1, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_1_Template, 4, 1, "div", 42);
|
|
344
|
+
i0.ɵɵelementStart(2, "div", 43)(3, "div", 44);
|
|
345
|
+
i0.ɵɵelement(4, "i", 45);
|
|
349
346
|
i0.ɵɵelementStart(5, "span");
|
|
350
347
|
i0.ɵɵtext(6);
|
|
351
348
|
i0.ɵɵelementEnd()();
|
|
352
|
-
i0.ɵɵelementStart(7, "div",
|
|
353
|
-
i0.ɵɵelement(8, "i",
|
|
354
|
-
i0.ɵɵelementStart(9, "span",
|
|
349
|
+
i0.ɵɵelementStart(7, "div", 44);
|
|
350
|
+
i0.ɵɵelement(8, "i", 46);
|
|
351
|
+
i0.ɵɵelementStart(9, "span", 47);
|
|
355
352
|
i0.ɵɵtext(10);
|
|
356
353
|
i0.ɵɵelementEnd()();
|
|
357
|
-
i0.ɵɵelementStart(11, "div",
|
|
358
|
-
i0.ɵɵelement(12, "i",
|
|
354
|
+
i0.ɵɵelementStart(11, "div", 44);
|
|
355
|
+
i0.ɵɵelement(12, "i", 48);
|
|
359
356
|
i0.ɵɵelementStart(13, "span");
|
|
360
357
|
i0.ɵɵtext(14);
|
|
361
358
|
i0.ɵɵelementEnd()();
|
|
362
|
-
i0.ɵɵconditionalCreate(15, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_15_Template, 5, 2, "div",
|
|
359
|
+
i0.ɵɵconditionalCreate(15, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_15_Template, 5, 2, "div", 44);
|
|
363
360
|
i0.ɵɵelementEnd();
|
|
364
|
-
i0.ɵɵconditionalCreate(16, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_16_Template, 3, 0, "div",
|
|
365
|
-
i0.ɵɵconditionalCreate(17, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_Template, 3, 0, "div",
|
|
366
|
-
i0.ɵɵelementStart(18, "div",
|
|
361
|
+
i0.ɵɵconditionalCreate(16, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_16_Template, 3, 0, "div", 49);
|
|
362
|
+
i0.ɵɵconditionalCreate(17, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_17_Template, 3, 0, "div", 50);
|
|
363
|
+
i0.ɵɵelementStart(18, "div", 51)(19, "button", 52);
|
|
367
364
|
i0.ɵɵlistener("click", function SearchResultsComponent_ng_template_3_Conditional_14_Template_button_click_19_listener($event) { i0.ɵɵrestoreView(_r14); const result_r12 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnOpenRecord(result_r12, $event)); });
|
|
368
365
|
i0.ɵɵconditionalCreate(20, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_20_Template, 2, 0)(21, SearchResultsComponent_ng_template_3_Conditional_14_Conditional_21_Template, 2, 0);
|
|
369
366
|
i0.ɵɵelementEnd();
|
|
370
|
-
i0.ɵɵelementStart(22, "button",
|
|
367
|
+
i0.ɵɵelementStart(22, "button", 53);
|
|
371
368
|
i0.ɵɵlistener("click", function SearchResultsComponent_ng_template_3_Conditional_14_Template_button_click_22_listener($event) { i0.ɵɵrestoreView(_r14); const result_r12 = i0.ɵɵnextContext().$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnMoreLikeThis(result_r12, $event)); });
|
|
372
|
-
i0.ɵɵelement(23, "i",
|
|
369
|
+
i0.ɵɵelement(23, "i", 54);
|
|
373
370
|
i0.ɵɵtext(24, " See Similar Items ");
|
|
374
371
|
i0.ɵɵelementEnd()()();
|
|
375
372
|
} if (rf & 2) {
|
|
@@ -394,25 +391,25 @@ function SearchResultsComponent_ng_template_3_Conditional_14_Template(rf, ctx) {
|
|
|
394
391
|
} }
|
|
395
392
|
function SearchResultsComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
396
393
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
397
|
-
i0.ɵɵelementStart(0, "div",
|
|
394
|
+
i0.ɵɵelementStart(0, "div", 25)(1, "div", 26);
|
|
398
395
|
i0.ɵɵlistener("click", function SearchResultsComponent_ng_template_3_Template_div_click_1_listener() { const result_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.ToggleExpand(result_r12)); });
|
|
399
|
-
i0.ɵɵelementStart(2, "div",
|
|
396
|
+
i0.ɵɵelementStart(2, "div", 27);
|
|
400
397
|
i0.ɵɵelement(3, "i");
|
|
401
398
|
i0.ɵɵelementEnd();
|
|
402
|
-
i0.ɵɵelementStart(4, "div",
|
|
403
|
-
i0.ɵɵelement(5, "div",
|
|
404
|
-
i0.ɵɵconditionalCreate(7, SearchResultsComponent_ng_template_3_Conditional_7_Template, 4, 1, "div",
|
|
399
|
+
i0.ɵɵelementStart(4, "div", 28);
|
|
400
|
+
i0.ɵɵelement(5, "div", 29)(6, "div", 30);
|
|
401
|
+
i0.ɵɵconditionalCreate(7, SearchResultsComponent_ng_template_3_Conditional_7_Template, 4, 1, "div", 31);
|
|
405
402
|
i0.ɵɵelementEnd();
|
|
406
|
-
i0.ɵɵconditionalCreate(8, SearchResultsComponent_ng_template_3_Conditional_8_Template, 4, 7, "div",
|
|
407
|
-
i0.ɵɵelementStart(9, "div",
|
|
403
|
+
i0.ɵɵconditionalCreate(8, SearchResultsComponent_ng_template_3_Conditional_8_Template, 4, 7, "div", 32);
|
|
404
|
+
i0.ɵɵelementStart(9, "div", 33)(10, "button", 34);
|
|
408
405
|
i0.ɵɵlistener("click", function SearchResultsComponent_ng_template_3_Template_button_click_10_listener($event) { const result_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.OnOpenRecord(result_r12, $event)); });
|
|
409
406
|
i0.ɵɵelement(11, "i");
|
|
410
407
|
i0.ɵɵelementEnd();
|
|
411
|
-
i0.ɵɵelementStart(12, "button",
|
|
408
|
+
i0.ɵɵelementStart(12, "button", 35);
|
|
412
409
|
i0.ɵɵlistener("click", function SearchResultsComponent_ng_template_3_Template_button_click_12_listener($event) { const result_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.ToggleExpand(result_r12, $event)); });
|
|
413
|
-
i0.ɵɵelement(13, "i",
|
|
410
|
+
i0.ɵɵelement(13, "i", 36);
|
|
414
411
|
i0.ɵɵelementEnd()()();
|
|
415
|
-
i0.ɵɵconditionalCreate(14, SearchResultsComponent_ng_template_3_Conditional_14_Template, 25, 8, "div",
|
|
412
|
+
i0.ɵɵconditionalCreate(14, SearchResultsComponent_ng_template_3_Conditional_14_Template, 25, 8, "div", 37);
|
|
416
413
|
i0.ɵɵelementEnd();
|
|
417
414
|
} if (rf & 2) {
|
|
418
415
|
const result_r12 = ctx.$implicit;
|
|
@@ -683,16 +680,16 @@ export class SearchResultsComponent extends BaseAngularComponent {
|
|
|
683
680
|
}
|
|
684
681
|
}
|
|
685
682
|
static ɵfac = /*@__PURE__*/ (() => { let ɵSearchResultsComponent_BaseFactory; return function SearchResultsComponent_Factory(__ngFactoryType__) { return (ɵSearchResultsComponent_BaseFactory || (ɵSearchResultsComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SearchResultsComponent)))(__ngFactoryType__ || SearchResultsComponent); }; })();
|
|
686
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultsComponent, selectors: [["mj-search-results"]], inputs: { ResultGroups: "ResultGroups", FlatResults: "FlatResults", DisplayMode: "DisplayMode", IsLoading: "IsLoading", TotalCount: "TotalCount", ElapsedMs: "ElapsedMs", MaxPerGroup: "MaxPerGroup", PageSize: "PageSize", ShowSummary: "ShowSummary", ShowScores: "ShowScores", ShowTags: "ShowTags", ShowSourceIcons: "ShowSourceIcons", HighlightText: "HighlightText" }, outputs: { ResultSelected: "ResultSelected", OpenRecordRequested: "OpenRecordRequested", MoreLikeThisRequested: "MoreLikeThisRequested" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 1, consts: [["resultCardTpl", ""], [1, "results-loading"], [
|
|
687
|
-
i0.ɵɵconditionalCreate(0, SearchResultsComponent_Conditional_0_Template, 2, 0, "div", 1)(1, SearchResultsComponent_Conditional_1_Template,
|
|
683
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchResultsComponent, selectors: [["mj-search-results"]], inputs: { ResultGroups: "ResultGroups", FlatResults: "FlatResults", DisplayMode: "DisplayMode", IsLoading: "IsLoading", TotalCount: "TotalCount", ElapsedMs: "ElapsedMs", MaxPerGroup: "MaxPerGroup", PageSize: "PageSize", ShowSummary: "ShowSummary", ShowScores: "ShowScores", ShowTags: "ShowTags", ShowSourceIcons: "ShowSourceIcons", HighlightText: "HighlightText" }, outputs: { ResultSelected: "ResultSelected", OpenRecordRequested: "OpenRecordRequested", MoreLikeThisRequested: "MoreLikeThisRequested" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 1, consts: [["resultCardTpl", ""], [1, "results-loading"], ["Variant", "no-results", "Title", "No results to display"], ["text", "Searching...", "size", "medium"], [1, "results-summary"], [1, "results-summary-time"], [1, "results-scroll-area"], [1, "results-pager"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["aria-label", "Previous page", 1, "pager-btn", "pager-prev", 3, "click", "disabled"], [1, "fa-solid", "fa-chevron-left"], ["aria-label", "Next page", 1, "pager-btn", "pager-next", 3, "click", "disabled"], [1, "fa-solid", "fa-chevron-right"], [1, "pager-ellipsis"], [1, "pager-btn", "pager-num", 3, "pager-active"], [1, "pager-btn", "pager-num", 3, "click"], [1, "results-group"], [1, "results-group-header", 3, "click"], [3, "class"], [1, "results-group-label"], [1, "results-group-count"], [1, "fa-solid", "results-group-chevron"], [1, "results-show-more"], [1, "results-show-more", 3, "click"], [1, "fa-solid", "fa-chevron-down"], [1, "result-card"], [1, "result-card-main", 3, "click"], [1, "result-card-icon-wrap"], [1, "result-card-body"], [1, "result-card-title", 3, "innerHTML"], [1, "result-card-entity", 3, "innerHTML"], [1, "result-card-tags"], [1, "result-card-score"], [1, "result-card-actions"], [1, "result-open-btn", 3, "click", "title"], ["title", "Expand details", "aria-label", "Expand details", 1, "result-expand-btn", 3, "click"], [1, "fa-solid"], [1, "result-card-detail"], [1, "result-tag-chip", 3, "innerHTML"], [1, "result-tag-more"], [1, "score-circle"], [1, "score-value"], [1, "detail-section"], [1, "detail-meta"], [1, "detail-meta-item"], [1, "fa-solid", "fa-layer-group"], [1, "fa-solid", "fa-fingerprint"], [1, "detail-record-id"], [1, "fa-solid", "fa-signal"], [1, "detail-tags"], [1, "detail-links"], [1, "detail-actions"], [1, "detail-open-btn", 3, "click"], [1, "detail-similar-btn", 3, "click"], [1, "fa-solid", "fa-shuffle"], [1, "detail-label"], [1, "detail-snippet", 3, "innerHTML"], [1, "fa-solid", "fa-chart-bar"], [1, "result-card-tag", 3, "innerHTML"], ["target", "_blank", 1, "detail-link", 3, "href"], [1, "detail-link", "detail-link-email", 3, "href"], ["target", "_blank", 1, "detail-link", 3, "click", "href"], [1, "fa-solid", "fa-arrow-up-right-from-square"], [1, "detail-link", "detail-link-email", 3, "click", "href"], [1, "fa-solid", "fa-envelope"], [1, "fa-solid", "fa-external-link"]], template: function SearchResultsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
684
|
+
i0.ɵɵconditionalCreate(0, SearchResultsComponent_Conditional_0_Template, 2, 0, "div", 1)(1, SearchResultsComponent_Conditional_1_Template, 1, 0, "mj-empty-state", 2)(2, SearchResultsComponent_Conditional_2_Template, 3, 2);
|
|
688
685
|
i0.ɵɵtemplate(3, SearchResultsComponent_ng_template_3_Template, 15, 17, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
689
686
|
} if (rf & 2) {
|
|
690
687
|
i0.ɵɵconditional(ctx.IsLoading ? 0 : (ctx.DisplayMode === "flat" ? ctx.FlatResults.length : ctx.ResultGroups.length) === 0 && ctx.TotalCount === 0 ? 1 : 2);
|
|
691
|
-
} }, dependencies: [i1.NgTemplateOutlet, i2.LoadingComponent], styles: ["\n\n\n[_nghost-%COMP%] {\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n}\n\n.results-scroll-area[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n min-height: 0;\n}\n\n.results-loading[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n padding: 3rem 1rem;\n}\n\n.results-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 3rem 1rem;\n gap: 0.5rem;\n}\n\n.results-empty-icon[_ngcontent-%COMP%] {\n font-size: 2rem;\n color: var(--mj-text-muted);\n margin-bottom: 0.5rem;\n}\n\n.results-empty-text[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n}\n\n.results-summary[_ngcontent-%COMP%] {\n padding: 0.75rem 1rem;\n color: var(--mj-text-secondary);\n font-size: 0.85rem;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.results-summary-time[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n\n\n.results-group[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.results-group-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.75rem 1rem;\n cursor: pointer;\n transition: background 0.1s ease;\n}\n\n.results-group-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.results-group-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 0.85rem;\n}\n\n.results-group-label[_ngcontent-%COMP%] {\n font-weight: 600;\n font-size: 0.85rem;\n color: var(--mj-text-primary);\n flex: 1;\n}\n\n.results-group-count[_ngcontent-%COMP%] {\n font-size: 0.78rem;\n color: var(--mj-text-muted);\n}\n\n.results-group-chevron[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n transition: transform 0.2s ease;\n}\n\n\n\n.result-card[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-subtle);\n border-radius: 8px;\n margin: 0 0 0.35rem 1.5rem;\n overflow: hidden;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.result-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-border-default);\n}\n\n.result-card-expanded[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.result-card-main[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.65rem 0.85rem;\n cursor: pointer;\n transition: background 0.1s ease;\n}\n\n.result-card-main[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.result-card-icon-wrap[_ngcontent-%COMP%] {\n width: 2rem;\n height: 2rem;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 0.8rem;\n flex-shrink: 0;\n}\n\n.result-card-body[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.result-card-title[_ngcontent-%COMP%] {\n color: var(--mj-text-primary);\n font-weight: 600;\n font-size: 0.85rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.result-card-entity[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n}\n\n.result-card-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 4px;\n}\n\n.result-tag-chip[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 1px 7px;\n border-radius: 10px;\n font-size: 0.65rem;\n font-weight: 500;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-border-default));\n}\n\n.result-tag-more[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 1px 6px;\n font-size: 0.6rem;\n color: var(--mj-text-muted);\n}\n\n.result-card-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.result-open-btn[_ngcontent-%COMP%], \n.result-expand-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-muted);\n font-size: 11px;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.result-open-btn[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.result-expand-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n\n\n.result-card-detail[_ngcontent-%COMP%] {\n padding: 0.75rem 1rem 0.85rem 3.5rem;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n\n.detail-section[_ngcontent-%COMP%] {\n margin-bottom: 0.65rem;\n}\n\n.detail-label[_ngcontent-%COMP%] {\n font-size: 0.7rem;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n margin-bottom: 0.25rem;\n display: block;\n}\n\n.detail-snippet[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.82rem;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.detail-meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 0.75rem;\n margin-bottom: 0.65rem;\n}\n\n.detail-meta-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 5px;\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n\n.detail-meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 0.65rem;\n}\n\n.detail-record-id[_ngcontent-%COMP%] {\n font-family: monospace;\n font-size: 0.7rem;\n max-width: 180px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.detail-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-bottom: 0.65rem;\n}\n\n.detail-links[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-bottom: 8px;\n}\n\n.detail-link[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 6px;\n font-size: 0.72rem;\n color: var(--mj-text-link);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-border-default));\n text-decoration: none;\n transition: background 0.15s ease;\n}\n\n.detail-link[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n text-decoration: underline;\n}\n\n.detail-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 0.6rem;\n}\n\n.detail-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n\n.detail-open-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border: 1px solid var(--mj-brand-primary);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-brand-primary);\n font-size: 0.78rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.detail-open-btn[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.detail-similar-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-secondary);\n font-size: 0.78rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.detail-similar-btn[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n}\n\n.result-card-snippet[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 0.82rem;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.result-card-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem;\n margin-top: 0.35rem;\n}\n\n.result-card-tag[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 0.1rem 0.4rem;\n border-radius: 4px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n}\n\n.result-card-tag-more[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.result-card-score[_ngcontent-%COMP%] {\n flex-shrink: 0;\n margin-top: 0.2rem;\n}\n\n.score-circle[_ngcontent-%COMP%] {\n width: 2.5rem;\n height: 2.5rem;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n \n\n background: color-mix(in srgb, var(--mj-text-muted) 10%, var(--mj-bg-surface));\n border: 2px solid color-mix(in srgb, var(--mj-text-muted) 25%, var(--mj-bg-surface));\n}\n.score-circle.score-high[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-success) 40%, var(--mj-bg-surface));\n}\n.score-circle.score-medium[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-warning) 40%, var(--mj-bg-surface));\n}\n.score-circle.score-low[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-text-muted) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-text-muted) 25%, var(--mj-bg-surface));\n}\n\n.score-value[_ngcontent-%COMP%] {\n font-size: 0.7rem;\n font-weight: 700;\n color: var(--mj-text-secondary);\n}\n.score-high[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: var(--mj-status-success-text, var(--mj-status-success));\n}\n.score-medium[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: var(--mj-status-warning-text, var(--mj-status-warning));\n}\n.score-low[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n\n\n.results-show-more[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n padding: 0.5rem 1rem;\n border: none;\n background: transparent;\n color: var(--mj-brand-primary);\n font-size: 0.82rem;\n cursor: pointer;\n justify-content: center;\n transition: background 0.1s ease;\n}\n\n.results-show-more[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n\n\n.results-pager[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 0.75rem 0;\n flex-shrink: 0;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n}\n\n.pager-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 0.82rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s ease;\n padding: 0 6px;\n}\n\n.pager-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.pager-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.35;\n cursor: default;\n}\n\n.pager-active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.pager-active[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n border-color: var(--mj-brand-primary-hover);\n color: var(--mj-text-inverse);\n}\n\n.pager-ellipsis[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n color: var(--mj-text-muted);\n font-size: 0.8rem;\n}\n\n.pager-prev[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.pager-next[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 0.7rem;\n}\n\n\n\n[_nghost-%COMP%] .search-highlight, \n.search-highlight[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 35%, transparent);\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n}"] });
|
|
688
|
+
} }, dependencies: [i1.NgTemplateOutlet, i2.LoadingComponent, i3.MJEmptyStateComponent], styles: ["\n\n\n[_nghost-%COMP%] {\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n}\n\n.results-scroll-area[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n min-height: 0;\n}\n\n.results-loading[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n padding: 3rem 1rem;\n}\n\n.results-summary[_ngcontent-%COMP%] {\n padding: 0.75rem 1rem;\n color: var(--mj-text-secondary);\n font-size: 0.85rem;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.results-summary-time[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n\n\n.results-group[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.results-group-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.75rem 1rem;\n cursor: pointer;\n transition: background 0.1s ease;\n}\n\n.results-group-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.results-group-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 0.85rem;\n}\n\n.results-group-label[_ngcontent-%COMP%] {\n font-weight: 600;\n font-size: 0.85rem;\n color: var(--mj-text-primary);\n flex: 1;\n}\n\n.results-group-count[_ngcontent-%COMP%] {\n font-size: 0.78rem;\n color: var(--mj-text-muted);\n}\n\n.results-group-chevron[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n transition: transform 0.2s ease;\n}\n\n\n\n.result-card[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-subtle);\n border-radius: 8px;\n margin: 0 0 0.35rem 1.5rem;\n overflow: hidden;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.result-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-border-default);\n}\n\n.result-card-expanded[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.result-card-main[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.65rem 0.85rem;\n cursor: pointer;\n transition: background 0.1s ease;\n}\n\n.result-card-main[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.result-card-icon-wrap[_ngcontent-%COMP%] {\n width: 2rem;\n height: 2rem;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 0.8rem;\n flex-shrink: 0;\n}\n\n.result-card-body[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.result-card-title[_ngcontent-%COMP%] {\n color: var(--mj-text-primary);\n font-weight: 600;\n font-size: 0.85rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.result-card-entity[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n}\n\n.result-card-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 4px;\n}\n\n.result-tag-chip[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 1px 7px;\n border-radius: 10px;\n font-size: 0.65rem;\n font-weight: 500;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-border-default));\n}\n\n.result-tag-more[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 1px 6px;\n font-size: 0.6rem;\n color: var(--mj-text-muted);\n}\n\n.result-card-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.result-open-btn[_ngcontent-%COMP%], \n.result-expand-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-muted);\n font-size: 11px;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.result-open-btn[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.result-expand-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n\n\n.result-card-detail[_ngcontent-%COMP%] {\n padding: 0.75rem 1rem 0.85rem 3.5rem;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n\n.detail-section[_ngcontent-%COMP%] {\n margin-bottom: 0.65rem;\n}\n\n.detail-label[_ngcontent-%COMP%] {\n font-size: 0.7rem;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n margin-bottom: 0.25rem;\n display: block;\n}\n\n.detail-snippet[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.82rem;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.detail-meta[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 0.75rem;\n margin-bottom: 0.65rem;\n}\n\n.detail-meta-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 5px;\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n\n.detail-meta-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 0.65rem;\n}\n\n.detail-record-id[_ngcontent-%COMP%] {\n font-family: monospace;\n font-size: 0.7rem;\n max-width: 180px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.detail-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-bottom: 0.65rem;\n}\n\n.detail-links[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-bottom: 8px;\n}\n\n.detail-link[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 6px;\n font-size: 0.72rem;\n color: var(--mj-text-link);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-border-default));\n text-decoration: none;\n transition: background 0.15s ease;\n}\n\n.detail-link[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n text-decoration: underline;\n}\n\n.detail-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 0.6rem;\n}\n\n.detail-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n}\n\n.detail-open-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border: 1px solid var(--mj-brand-primary);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-brand-primary);\n font-size: 0.78rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.detail-open-btn[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.detail-similar-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-secondary);\n font-size: 0.78rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.detail-similar-btn[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n}\n\n.result-card-snippet[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 0.82rem;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.result-card-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem;\n margin-top: 0.35rem;\n}\n\n.result-card-tag[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 0.1rem 0.4rem;\n border-radius: 4px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n}\n\n.result-card-tag-more[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n.result-card-score[_ngcontent-%COMP%] {\n flex-shrink: 0;\n margin-top: 0.2rem;\n}\n\n.score-circle[_ngcontent-%COMP%] {\n width: 2.5rem;\n height: 2.5rem;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n \n\n background: color-mix(in srgb, var(--mj-text-muted) 10%, var(--mj-bg-surface));\n border: 2px solid color-mix(in srgb, var(--mj-text-muted) 25%, var(--mj-bg-surface));\n}\n.score-circle.score-high[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-success) 40%, var(--mj-bg-surface));\n}\n.score-circle.score-medium[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-warning) 40%, var(--mj-bg-surface));\n}\n.score-circle.score-low[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-text-muted) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-text-muted) 25%, var(--mj-bg-surface));\n}\n\n.score-value[_ngcontent-%COMP%] {\n font-size: 0.7rem;\n font-weight: 700;\n color: var(--mj-text-secondary);\n}\n.score-high[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: var(--mj-status-success-text, var(--mj-status-success));\n}\n.score-medium[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: var(--mj-status-warning-text, var(--mj-status-warning));\n}\n.score-low[_ngcontent-%COMP%] .score-value[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n\n\n.results-show-more[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n padding: 0.5rem 1rem;\n border: none;\n background: transparent;\n color: var(--mj-brand-primary);\n font-size: 0.82rem;\n cursor: pointer;\n justify-content: center;\n transition: background 0.1s ease;\n}\n\n.results-show-more[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n\n\n.results-pager[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 0.75rem 0;\n flex-shrink: 0;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n}\n\n.pager-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 0.82rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s ease;\n padding: 0 6px;\n}\n\n.pager-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.pager-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.35;\n cursor: default;\n}\n\n.pager-active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.pager-active[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n border-color: var(--mj-brand-primary-hover);\n color: var(--mj-text-inverse);\n}\n\n.pager-ellipsis[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n color: var(--mj-text-muted);\n font-size: 0.8rem;\n}\n\n.pager-prev[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.pager-next[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 0.7rem;\n}\n\n\n\n[_nghost-%COMP%] .search-highlight, \n.search-highlight[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-warning) 35%, transparent);\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n}"] });
|
|
692
689
|
}
|
|
693
690
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultsComponent, [{
|
|
694
691
|
type: Component,
|
|
695
|
-
args: [{ standalone: false, selector: 'mj-search-results', template: "@if (IsLoading) {\n <div class=\"results-loading\">\n <mj-loading text=\"Searching...\" size=\"medium\"></mj-loading>\n </div>\n} @else if ((DisplayMode === 'flat' ? FlatResults.length : ResultGroups.length) === 0 && TotalCount === 0) {\n <div class=\"results-empty\">\n <i class=\"fa-solid fa-search results-empty-icon\"></i>\n <p class=\"results-empty-text\">No results to display</p>\n </div>\n} @else {\n <!-- Results summary -->\n @if (ShowSummary) {\n <div class=\"results-summary\">\n <span>{{ TotalCount }} results</span>\n @if (ElapsedMs > 0) {\n <span class=\"results-summary-time\"> in {{ FormatTime(ElapsedMs) }}</span>\n }\n </div>\n }\n\n @if (DisplayMode === 'flat') {\n <!-- \u2550\u2550\u2550\u2550\u2550\u2550 FLAT BLENDED LIST (sorted by score) \u2550\u2550\u2550\u2550\u2550\u2550 -->\n <div class=\"results-scroll-area\">\n @for (result of PagedResults; track result.ID) {\n <ng-container *ngTemplateOutlet=\"resultCardTpl; context: { $implicit: result }\"></ng-container>\n }\n </div>\n\n <!-- Google-style pagination (sticky at bottom) -->\n @if (TotalPages > 1) {\n <div class=\"results-pager\">\n <button class=\"pager-btn pager-prev\" [disabled]=\"CurrentPage === 1\"\n (click)=\"GoToPage(CurrentPage - 1)\" aria-label=\"Previous page\">\n <i class=\"fa-solid fa-chevron-left\"></i>\n </button>\n @for (p of PageNumbers; track $index) {\n @if (p === -1) {\n <span class=\"pager-ellipsis\">...</span>\n } @else {\n <button class=\"pager-btn pager-num\" [class.pager-active]=\"p === CurrentPage\"\n (click)=\"GoToPage(p)\">{{ p }}</button>\n }\n }\n <button class=\"pager-btn pager-next\" [disabled]=\"CurrentPage === TotalPages\"\n (click)=\"GoToPage(CurrentPage + 1)\" aria-label=\"Next page\">\n <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n }\n } @else {\n <!-- \u2550\u2550\u2550\u2550\u2550\u2550 GROUPED BY SOURCE TYPE \u2550\u2550\u2550\u2550\u2550\u2550 -->\n @for (group of ResultGroups; track group.SourceType) {\n <div class=\"results-group\">\n <div class=\"results-group-header\" (click)=\"ToggleGroup(group.SourceType)\">\n @if (ShowSourceIcons) {\n <i [class]=\"group.Icon + ' results-group-icon'\"></i>\n }\n <span class=\"results-group-label\">{{ group.Label }}</span>\n <span class=\"results-group-count\">({{ group.TotalCount }})</span>\n <i class=\"fa-solid results-group-chevron\"\n [class.fa-chevron-down]=\"!IsGroupExpanded(group.SourceType)\"\n [class.fa-chevron-up]=\"IsGroupExpanded(group.SourceType)\"></i>\n </div>\n\n @for (result of GetVisibleResults(group); track result.ID) {\n <ng-container *ngTemplateOutlet=\"resultCardTpl; context: { $implicit: result }\"></ng-container>\n }\n\n @if (HasMoreResults(group)) {\n <button class=\"results-show-more\" (click)=\"ToggleGroup(group.SourceType)\">\n <i class=\"fa-solid fa-chevron-down\"></i>\n Show {{ GetHiddenCount(group) }} more results\n </button>\n }\n </div>\n }\n }\n}\n\n<!-- \u2550\u2550\u2550 Shared result card template \u2550\u2550\u2550 -->\n<ng-template #resultCardTpl let-result>\n <div class=\"result-card\" [class.result-card-expanded]=\"IsExpanded(result.ID)\">\n <!-- Main row -->\n <div class=\"result-card-main\" (click)=\"ToggleExpand(result)\">\n <div class=\"result-card-icon-wrap\">\n <i [class]=\"result.EntityIcon || result.SourceIcon || 'fa-solid fa-database'\"></i>\n </div>\n <div class=\"result-card-body\">\n <div class=\"result-card-title\" [innerHTML]=\"HighlightMatch(result.RecordName || result.Title)\"></div>\n <div class=\"result-card-entity\" [innerHTML]=\"HighlightMatch(result.EntityName)\"></div>\n @if (result.Tags && result.Tags.length > 0) {\n <div class=\"result-card-tags\">\n @for (tag of result.Tags.slice(0, 5); track tag) {\n <span class=\"result-tag-chip\" [innerHTML]=\"HighlightMatch(tag)\"></span>\n }\n @if (result.Tags.length > 5) {\n <span class=\"result-tag-more\">+{{ result.Tags.length - 5 }}</span>\n }\n </div>\n }\n </div>\n @if (ShowScores) {\n <div class=\"result-card-score\">\n <div class=\"score-circle\" [class.score-high]=\"result.Score >= 0.40\" [class.score-medium]=\"result.Score >= 0.15 && result.Score < 0.40\" [class.score-low]=\"result.Score < 0.15\">\n <span class=\"score-value\">{{ FormatScore(result.Score) }}</span>\n </div>\n </div>\n }\n <div class=\"result-card-actions\">\n <button class=\"result-open-btn\" (click)=\"OnOpenRecord(result, $event)\"\n [title]=\"result.ResultType === 'storage-file' ? 'Open file' : 'Open record'\"\n [attr.aria-label]=\"result.ResultType === 'storage-file' ? 'Open file' : 'Open record'\">\n <i [class]=\"result.ResultType === 'storage-file' ? 'fa-solid fa-external-link' : 'fa-solid fa-arrow-up-right-from-square'\"></i>\n </button>\n <button class=\"result-expand-btn\" (click)=\"ToggleExpand(result, $event)\" title=\"Expand details\" aria-label=\"Expand details\">\n <i class=\"fa-solid\" [class.fa-chevron-down]=\"!IsExpanded(result.ID)\"\n [class.fa-chevron-up]=\"IsExpanded(result.ID)\"></i>\n </button>\n </div>\n </div>\n\n <!-- Expanded detail -->\n @if (IsExpanded(result.ID)) {\n <div class=\"result-card-detail\">\n @if (result.Snippet) {\n <div class=\"detail-section\">\n <span class=\"detail-label\">Preview</span>\n <p class=\"detail-snippet\" [innerHTML]=\"HighlightMatch(result.Snippet)\"></p>\n </div>\n }\n <div class=\"detail-meta\">\n <div class=\"detail-meta-item\">\n <i class=\"fa-solid fa-layer-group\"></i>\n <span>{{ result.EntityName }}</span>\n </div>\n <div class=\"detail-meta-item\">\n <i class=\"fa-solid fa-fingerprint\"></i>\n <span class=\"detail-record-id\">{{ result.RecordID }}</span>\n </div>\n <!-- SR-1: Show overall score consistently -->\n <div class=\"detail-meta-item\">\n <i class=\"fa-solid fa-signal\"></i>\n <span>Relevance: {{ FormatScore(result.Score) }}</span>\n </div>\n @if (result.ScoreBreakdown) {\n <div class=\"detail-meta-item\">\n <i class=\"fa-solid fa-chart-bar\"></i>\n <span>\n @if (result.ScoreBreakdown.Vector) { Vector: {{ FormatScore(result.ScoreBreakdown.Vector) }} }\n @if (result.ScoreBreakdown.FullText) { FTS: {{ FormatScore(result.ScoreBreakdown.FullText) }} }\n </span>\n </div>\n }\n </div>\n @if (ShowTags && result.Tags.length > 0) {\n <div class=\"detail-tags\">\n @for (tag of result.Tags; track tag) {\n <span class=\"result-card-tag\" [innerHTML]=\"HighlightMatch(tag)\"></span>\n }\n </div>\n }\n @if (GetResolvedLinks(result).length > 0) {\n <div class=\"detail-links\">\n @for (link of GetResolvedLinks(result); track link.Value) {\n @if (link.Type === 'URL') {\n <a [href]=\"link.Value\" target=\"_blank\" class=\"detail-link\" (click)=\"$event.stopPropagation()\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\"></i>\n {{ TruncateUrl(link.Value) }}\n </a>\n } @else if (link.Type === 'Email') {\n <a [href]=\"'mailto:' + link.Value\" class=\"detail-link detail-link-email\" (click)=\"$event.stopPropagation()\">\n <i class=\"fa-solid fa-envelope\"></i>\n {{ link.Value }}\n </a>\n }\n }\n </div>\n }\n <div class=\"detail-actions\">\n <button class=\"detail-open-btn\" (click)=\"OnOpenRecord(result, $event)\">\n @if (result.ResultType === 'storage-file') {\n <i class=\"fa-solid fa-external-link\"></i> Open File\n } @else {\n <i class=\"fa-solid fa-arrow-up-right-from-square\"></i> Open Record\n }\n </button>\n <button class=\"detail-similar-btn\" (click)=\"OnMoreLikeThis(result, $event)\">\n <i class=\"fa-solid fa-shuffle\"></i> See Similar Items\n </button>\n </div>\n </div>\n }\n </div>\n</ng-template>\n", styles: ["/* Search Results Component */\n\n:host {\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n}\n\n.results-scroll-area {\n flex: 1;\n overflow-y: auto;\n min-height: 0;\n}\n\n.results-loading {\n display: flex;\n justify-content: center;\n padding: 3rem 1rem;\n}\n\n.results-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 3rem 1rem;\n gap: 0.5rem;\n}\n\n.results-empty-icon {\n font-size: 2rem;\n color: var(--mj-text-muted);\n margin-bottom: 0.5rem;\n}\n\n.results-empty-text {\n color: var(--mj-text-muted);\n font-size: 0.9rem;\n}\n\n.results-summary {\n padding: 0.75rem 1rem;\n color: var(--mj-text-secondary);\n font-size: 0.85rem;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.results-summary-time {\n color: var(--mj-text-muted);\n}\n\n/* Group Header */\n.results-group {\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.results-group-header {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.75rem 1rem;\n cursor: pointer;\n transition: background 0.1s ease;\n}\n\n.results-group-header:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.results-group-icon {\n color: var(--mj-brand-primary);\n font-size: 0.85rem;\n}\n\n.results-group-label {\n font-weight: 600;\n font-size: 0.85rem;\n color: var(--mj-text-primary);\n flex: 1;\n}\n\n.results-group-count {\n font-size: 0.78rem;\n color: var(--mj-text-muted);\n}\n\n.results-group-chevron {\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n transition: transform 0.2s ease;\n}\n\n/* Result Card \u2014 expandable */\n.result-card {\n border: 1px solid var(--mj-border-subtle);\n border-radius: 8px;\n margin: 0 0 0.35rem 1.5rem;\n overflow: hidden;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.result-card:hover {\n border-color: var(--mj-border-default);\n}\n\n.result-card-expanded {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.result-card-main {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.65rem 0.85rem;\n cursor: pointer;\n transition: background 0.1s ease;\n}\n\n.result-card-main:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.result-card-icon-wrap {\n width: 2rem;\n height: 2rem;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 0.8rem;\n flex-shrink: 0;\n}\n\n.result-card-body {\n flex: 1;\n min-width: 0;\n}\n\n.result-card-title {\n color: var(--mj-text-primary);\n font-weight: 600;\n font-size: 0.85rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.result-card-entity {\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n}\n\n.result-card-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 4px;\n}\n\n.result-tag-chip {\n display: inline-block;\n padding: 1px 7px;\n border-radius: 10px;\n font-size: 0.65rem;\n font-weight: 500;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-border-default));\n}\n\n.result-tag-more {\n display: inline-block;\n padding: 1px 6px;\n font-size: 0.6rem;\n color: var(--mj-text-muted);\n}\n\n.result-card-actions {\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.result-open-btn,\n.result-expand-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-muted);\n font-size: 11px;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.result-open-btn:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.result-expand-btn:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n/* Expanded detail panel */\n.result-card-detail {\n padding: 0.75rem 1rem 0.85rem 3.5rem;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n\n.detail-section {\n margin-bottom: 0.65rem;\n}\n\n.detail-label {\n font-size: 0.7rem;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n margin-bottom: 0.25rem;\n display: block;\n}\n\n.detail-snippet {\n margin: 0;\n font-size: 0.82rem;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.detail-meta {\n display: flex;\n flex-wrap: wrap;\n gap: 0.75rem;\n margin-bottom: 0.65rem;\n}\n\n.detail-meta-item {\n display: flex;\n align-items: center;\n gap: 5px;\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n\n.detail-meta-item i {\n font-size: 0.65rem;\n}\n\n.detail-record-id {\n font-family: monospace;\n font-size: 0.7rem;\n max-width: 180px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.detail-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-bottom: 0.65rem;\n}\n\n.detail-links {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-bottom: 8px;\n}\n\n.detail-link {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 6px;\n font-size: 0.72rem;\n color: var(--mj-text-link);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-border-default));\n text-decoration: none;\n transition: background 0.15s ease;\n}\n\n.detail-link:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n text-decoration: underline;\n}\n\n.detail-link i {\n font-size: 0.6rem;\n}\n\n.detail-actions {\n display: flex;\n gap: 8px;\n}\n\n.detail-open-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border: 1px solid var(--mj-brand-primary);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-brand-primary);\n font-size: 0.78rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.detail-open-btn:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.detail-similar-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-secondary);\n font-size: 0.78rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.detail-similar-btn:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n}\n\n.result-card-snippet {\n color: var(--mj-text-secondary);\n font-size: 0.82rem;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.result-card-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem;\n margin-top: 0.35rem;\n}\n\n.result-card-tag {\n display: inline-block;\n padding: 0.1rem 0.4rem;\n border-radius: 4px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n}\n\n.result-card-tag-more {\n color: var(--mj-brand-primary);\n}\n\n.result-card-score {\n flex-shrink: 0;\n margin-top: 0.2rem;\n}\n\n.score-circle {\n width: 2.5rem;\n height: 2.5rem;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n /* Default: neutral gray */\n background: color-mix(in srgb, var(--mj-text-muted) 10%, var(--mj-bg-surface));\n border: 2px solid color-mix(in srgb, var(--mj-text-muted) 25%, var(--mj-bg-surface));\n}\n.score-circle.score-high {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-success) 40%, var(--mj-bg-surface));\n}\n.score-circle.score-medium {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-warning) 40%, var(--mj-bg-surface));\n}\n.score-circle.score-low {\n background: color-mix(in srgb, var(--mj-text-muted) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-text-muted) 25%, var(--mj-bg-surface));\n}\n\n.score-value {\n font-size: 0.7rem;\n font-weight: 700;\n color: var(--mj-text-secondary);\n}\n.score-high .score-value {\n color: var(--mj-status-success-text, var(--mj-status-success));\n}\n.score-medium .score-value {\n color: var(--mj-status-warning-text, var(--mj-status-warning));\n}\n.score-low .score-value {\n color: var(--mj-text-muted);\n}\n\n/* Show More Button */\n.results-show-more {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n padding: 0.5rem 1rem;\n border: none;\n background: transparent;\n color: var(--mj-brand-primary);\n font-size: 0.82rem;\n cursor: pointer;\n justify-content: center;\n transition: background 0.1s ease;\n}\n\n.results-show-more:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n/* Google-style Pagination \u2014 pinned at bottom */\n.results-pager {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 0.75rem 0;\n flex-shrink: 0;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n}\n\n.pager-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 0.82rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s ease;\n padding: 0 6px;\n}\n\n.pager-btn:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.pager-btn:disabled {\n opacity: 0.35;\n cursor: default;\n}\n\n.pager-active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.pager-active:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n border-color: var(--mj-brand-primary-hover);\n color: var(--mj-text-inverse);\n}\n\n.pager-ellipsis {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n color: var(--mj-text-muted);\n font-size: 0.8rem;\n}\n\n.pager-prev i,\n.pager-next i {\n font-size: 0.7rem;\n}\n\n/* Search text highlighting */\n:host ::ng-deep .search-highlight,\n.search-highlight {\n background: color-mix(in srgb, var(--mj-status-warning) 35%, transparent);\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n}\n"] }]
|
|
692
|
+
args: [{ standalone: false, selector: 'mj-search-results', template: "@if (IsLoading) {\n <div class=\"results-loading\">\n <mj-loading text=\"Searching...\" size=\"medium\"></mj-loading>\n </div>\n} @else if ((DisplayMode === 'flat' ? FlatResults.length : ResultGroups.length) === 0 && TotalCount === 0) {\n <mj-empty-state\n Variant=\"no-results\"\n Title=\"No results to display\" />\n} @else {\n <!-- Results summary -->\n @if (ShowSummary) {\n <div class=\"results-summary\">\n <span>{{ TotalCount }} results</span>\n @if (ElapsedMs > 0) {\n <span class=\"results-summary-time\"> in {{ FormatTime(ElapsedMs) }}</span>\n }\n </div>\n }\n\n @if (DisplayMode === 'flat') {\n <!-- \u2550\u2550\u2550\u2550\u2550\u2550 FLAT BLENDED LIST (sorted by score) \u2550\u2550\u2550\u2550\u2550\u2550 -->\n <div class=\"results-scroll-area\">\n @for (result of PagedResults; track result.ID) {\n <ng-container *ngTemplateOutlet=\"resultCardTpl; context: { $implicit: result }\"></ng-container>\n }\n </div>\n\n <!-- Google-style pagination (sticky at bottom) -->\n @if (TotalPages > 1) {\n <div class=\"results-pager\">\n <button class=\"pager-btn pager-prev\" [disabled]=\"CurrentPage === 1\"\n (click)=\"GoToPage(CurrentPage - 1)\" aria-label=\"Previous page\">\n <i class=\"fa-solid fa-chevron-left\"></i>\n </button>\n @for (p of PageNumbers; track $index) {\n @if (p === -1) {\n <span class=\"pager-ellipsis\">...</span>\n } @else {\n <button class=\"pager-btn pager-num\" [class.pager-active]=\"p === CurrentPage\"\n (click)=\"GoToPage(p)\">{{ p }}</button>\n }\n }\n <button class=\"pager-btn pager-next\" [disabled]=\"CurrentPage === TotalPages\"\n (click)=\"GoToPage(CurrentPage + 1)\" aria-label=\"Next page\">\n <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n }\n } @else {\n <!-- \u2550\u2550\u2550\u2550\u2550\u2550 GROUPED BY SOURCE TYPE \u2550\u2550\u2550\u2550\u2550\u2550 -->\n @for (group of ResultGroups; track group.SourceType) {\n <div class=\"results-group\">\n <div class=\"results-group-header\" (click)=\"ToggleGroup(group.SourceType)\">\n @if (ShowSourceIcons) {\n <i [class]=\"group.Icon + ' results-group-icon'\"></i>\n }\n <span class=\"results-group-label\">{{ group.Label }}</span>\n <span class=\"results-group-count\">({{ group.TotalCount }})</span>\n <i class=\"fa-solid results-group-chevron\"\n [class.fa-chevron-down]=\"!IsGroupExpanded(group.SourceType)\"\n [class.fa-chevron-up]=\"IsGroupExpanded(group.SourceType)\"></i>\n </div>\n\n @for (result of GetVisibleResults(group); track result.ID) {\n <ng-container *ngTemplateOutlet=\"resultCardTpl; context: { $implicit: result }\"></ng-container>\n }\n\n @if (HasMoreResults(group)) {\n <button class=\"results-show-more\" (click)=\"ToggleGroup(group.SourceType)\">\n <i class=\"fa-solid fa-chevron-down\"></i>\n Show {{ GetHiddenCount(group) }} more results\n </button>\n }\n </div>\n }\n }\n}\n\n<!-- \u2550\u2550\u2550 Shared result card template \u2550\u2550\u2550 -->\n<ng-template #resultCardTpl let-result>\n <div class=\"result-card\" [class.result-card-expanded]=\"IsExpanded(result.ID)\">\n <!-- Main row -->\n <div class=\"result-card-main\" (click)=\"ToggleExpand(result)\">\n <div class=\"result-card-icon-wrap\">\n <i [class]=\"result.EntityIcon || result.SourceIcon || 'fa-solid fa-database'\"></i>\n </div>\n <div class=\"result-card-body\">\n <div class=\"result-card-title\" [innerHTML]=\"HighlightMatch(result.RecordName || result.Title)\"></div>\n <div class=\"result-card-entity\" [innerHTML]=\"HighlightMatch(result.EntityName)\"></div>\n @if (result.Tags && result.Tags.length > 0) {\n <div class=\"result-card-tags\">\n @for (tag of result.Tags.slice(0, 5); track tag) {\n <span class=\"result-tag-chip\" [innerHTML]=\"HighlightMatch(tag)\"></span>\n }\n @if (result.Tags.length > 5) {\n <span class=\"result-tag-more\">+{{ result.Tags.length - 5 }}</span>\n }\n </div>\n }\n </div>\n @if (ShowScores) {\n <div class=\"result-card-score\">\n <div class=\"score-circle\" [class.score-high]=\"result.Score >= 0.40\" [class.score-medium]=\"result.Score >= 0.15 && result.Score < 0.40\" [class.score-low]=\"result.Score < 0.15\">\n <span class=\"score-value\">{{ FormatScore(result.Score) }}</span>\n </div>\n </div>\n }\n <div class=\"result-card-actions\">\n <button class=\"result-open-btn\" (click)=\"OnOpenRecord(result, $event)\"\n [title]=\"result.ResultType === 'storage-file' ? 'Open file' : 'Open record'\"\n [attr.aria-label]=\"result.ResultType === 'storage-file' ? 'Open file' : 'Open record'\">\n <i [class]=\"result.ResultType === 'storage-file' ? 'fa-solid fa-external-link' : 'fa-solid fa-arrow-up-right-from-square'\"></i>\n </button>\n <button class=\"result-expand-btn\" (click)=\"ToggleExpand(result, $event)\" title=\"Expand details\" aria-label=\"Expand details\">\n <i class=\"fa-solid\" [class.fa-chevron-down]=\"!IsExpanded(result.ID)\"\n [class.fa-chevron-up]=\"IsExpanded(result.ID)\"></i>\n </button>\n </div>\n </div>\n\n <!-- Expanded detail -->\n @if (IsExpanded(result.ID)) {\n <div class=\"result-card-detail\">\n @if (result.Snippet) {\n <div class=\"detail-section\">\n <span class=\"detail-label\">Preview</span>\n <p class=\"detail-snippet\" [innerHTML]=\"HighlightMatch(result.Snippet)\"></p>\n </div>\n }\n <div class=\"detail-meta\">\n <div class=\"detail-meta-item\">\n <i class=\"fa-solid fa-layer-group\"></i>\n <span>{{ result.EntityName }}</span>\n </div>\n <div class=\"detail-meta-item\">\n <i class=\"fa-solid fa-fingerprint\"></i>\n <span class=\"detail-record-id\">{{ result.RecordID }}</span>\n </div>\n <!-- SR-1: Show overall score consistently -->\n <div class=\"detail-meta-item\">\n <i class=\"fa-solid fa-signal\"></i>\n <span>Relevance: {{ FormatScore(result.Score) }}</span>\n </div>\n @if (result.ScoreBreakdown) {\n <div class=\"detail-meta-item\">\n <i class=\"fa-solid fa-chart-bar\"></i>\n <span>\n @if (result.ScoreBreakdown.Vector) { Vector: {{ FormatScore(result.ScoreBreakdown.Vector) }} }\n @if (result.ScoreBreakdown.FullText) { FTS: {{ FormatScore(result.ScoreBreakdown.FullText) }} }\n </span>\n </div>\n }\n </div>\n @if (ShowTags && result.Tags.length > 0) {\n <div class=\"detail-tags\">\n @for (tag of result.Tags; track tag) {\n <span class=\"result-card-tag\" [innerHTML]=\"HighlightMatch(tag)\"></span>\n }\n </div>\n }\n @if (GetResolvedLinks(result).length > 0) {\n <div class=\"detail-links\">\n @for (link of GetResolvedLinks(result); track link.Value) {\n @if (link.Type === 'URL') {\n <a [href]=\"link.Value\" target=\"_blank\" class=\"detail-link\" (click)=\"$event.stopPropagation()\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\"></i>\n {{ TruncateUrl(link.Value) }}\n </a>\n } @else if (link.Type === 'Email') {\n <a [href]=\"'mailto:' + link.Value\" class=\"detail-link detail-link-email\" (click)=\"$event.stopPropagation()\">\n <i class=\"fa-solid fa-envelope\"></i>\n {{ link.Value }}\n </a>\n }\n }\n </div>\n }\n <div class=\"detail-actions\">\n <button class=\"detail-open-btn\" (click)=\"OnOpenRecord(result, $event)\">\n @if (result.ResultType === 'storage-file') {\n <i class=\"fa-solid fa-external-link\"></i> Open File\n } @else {\n <i class=\"fa-solid fa-arrow-up-right-from-square\"></i> Open Record\n }\n </button>\n <button class=\"detail-similar-btn\" (click)=\"OnMoreLikeThis(result, $event)\">\n <i class=\"fa-solid fa-shuffle\"></i> See Similar Items\n </button>\n </div>\n </div>\n }\n </div>\n</ng-template>\n", styles: ["/* Search Results Component */\n\n:host {\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1;\n}\n\n.results-scroll-area {\n flex: 1;\n overflow-y: auto;\n min-height: 0;\n}\n\n.results-loading {\n display: flex;\n justify-content: center;\n padding: 3rem 1rem;\n}\n\n.results-summary {\n padding: 0.75rem 1rem;\n color: var(--mj-text-secondary);\n font-size: 0.85rem;\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.results-summary-time {\n color: var(--mj-text-muted);\n}\n\n/* Group Header */\n.results-group {\n border-bottom: 1px solid var(--mj-border-subtle);\n}\n\n.results-group-header {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.75rem 1rem;\n cursor: pointer;\n transition: background 0.1s ease;\n}\n\n.results-group-header:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.results-group-icon {\n color: var(--mj-brand-primary);\n font-size: 0.85rem;\n}\n\n.results-group-label {\n font-weight: 600;\n font-size: 0.85rem;\n color: var(--mj-text-primary);\n flex: 1;\n}\n\n.results-group-count {\n font-size: 0.78rem;\n color: var(--mj-text-muted);\n}\n\n.results-group-chevron {\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n transition: transform 0.2s ease;\n}\n\n/* Result Card \u2014 expandable */\n.result-card {\n border: 1px solid var(--mj-border-subtle);\n border-radius: 8px;\n margin: 0 0 0.35rem 1.5rem;\n overflow: hidden;\n transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.result-card:hover {\n border-color: var(--mj-border-default);\n}\n\n.result-card-expanded {\n border-color: var(--mj-brand-primary);\n box-shadow: 0 2px 8px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.result-card-main {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.65rem 0.85rem;\n cursor: pointer;\n transition: background 0.1s ease;\n}\n\n.result-card-main:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n.result-card-icon-wrap {\n width: 2rem;\n height: 2rem;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n font-size: 0.8rem;\n flex-shrink: 0;\n}\n\n.result-card-body {\n flex: 1;\n min-width: 0;\n}\n\n.result-card-title {\n color: var(--mj-text-primary);\n font-weight: 600;\n font-size: 0.85rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.result-card-entity {\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n}\n\n.result-card-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 4px;\n}\n\n.result-tag-chip {\n display: inline-block;\n padding: 1px 7px;\n border-radius: 10px;\n font-size: 0.65rem;\n font-weight: 500;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 20%, var(--mj-border-default));\n}\n\n.result-tag-more {\n display: inline-block;\n padding: 1px 6px;\n font-size: 0.6rem;\n color: var(--mj-text-muted);\n}\n\n.result-card-actions {\n display: flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.result-open-btn,\n.result-expand-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-muted);\n font-size: 11px;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.result-open-btn:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.result-expand-btn:hover {\n background: var(--mj-bg-surface-hover);\n color: var(--mj-text-primary);\n}\n\n/* Expanded detail panel */\n.result-card-detail {\n padding: 0.75rem 1rem 0.85rem 3.5rem;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n}\n\n.detail-section {\n margin-bottom: 0.65rem;\n}\n\n.detail-label {\n font-size: 0.7rem;\n font-weight: 600;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n margin-bottom: 0.25rem;\n display: block;\n}\n\n.detail-snippet {\n margin: 0;\n font-size: 0.82rem;\n color: var(--mj-text-secondary);\n line-height: 1.5;\n}\n\n.detail-meta {\n display: flex;\n flex-wrap: wrap;\n gap: 0.75rem;\n margin-bottom: 0.65rem;\n}\n\n.detail-meta-item {\n display: flex;\n align-items: center;\n gap: 5px;\n font-size: 0.75rem;\n color: var(--mj-text-muted);\n}\n\n.detail-meta-item i {\n font-size: 0.65rem;\n}\n\n.detail-record-id {\n font-family: monospace;\n font-size: 0.7rem;\n max-width: 180px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.detail-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-bottom: 0.65rem;\n}\n\n.detail-links {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-bottom: 8px;\n}\n\n.detail-link {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 6px;\n font-size: 0.72rem;\n color: var(--mj-text-link);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-border-default));\n text-decoration: none;\n transition: background 0.15s ease;\n}\n\n.detail-link:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n text-decoration: underline;\n}\n\n.detail-link i {\n font-size: 0.6rem;\n}\n\n.detail-actions {\n display: flex;\n gap: 8px;\n}\n\n.detail-open-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border: 1px solid var(--mj-brand-primary);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-brand-primary);\n font-size: 0.78rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.detail-open-btn:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n}\n\n.detail-similar-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-secondary);\n font-size: 0.78rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n}\n\n.detail-similar-btn:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n}\n\n.result-card-snippet {\n color: var(--mj-text-secondary);\n font-size: 0.82rem;\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.result-card-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem;\n margin-top: 0.35rem;\n}\n\n.result-card-tag {\n display: inline-block;\n padding: 0.1rem 0.4rem;\n border-radius: 4px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-muted);\n font-size: 0.7rem;\n}\n\n.result-card-tag-more {\n color: var(--mj-brand-primary);\n}\n\n.result-card-score {\n flex-shrink: 0;\n margin-top: 0.2rem;\n}\n\n.score-circle {\n width: 2.5rem;\n height: 2.5rem;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n /* Default: neutral gray */\n background: color-mix(in srgb, var(--mj-text-muted) 10%, var(--mj-bg-surface));\n border: 2px solid color-mix(in srgb, var(--mj-text-muted) 25%, var(--mj-bg-surface));\n}\n.score-circle.score-high {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-success) 40%, var(--mj-bg-surface));\n}\n.score-circle.score-medium {\n background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-status-warning) 40%, var(--mj-bg-surface));\n}\n.score-circle.score-low {\n background: color-mix(in srgb, var(--mj-text-muted) 10%, var(--mj-bg-surface));\n border-color: color-mix(in srgb, var(--mj-text-muted) 25%, var(--mj-bg-surface));\n}\n\n.score-value {\n font-size: 0.7rem;\n font-weight: 700;\n color: var(--mj-text-secondary);\n}\n.score-high .score-value {\n color: var(--mj-status-success-text, var(--mj-status-success));\n}\n.score-medium .score-value {\n color: var(--mj-status-warning-text, var(--mj-status-warning));\n}\n.score-low .score-value {\n color: var(--mj-text-muted);\n}\n\n/* Show More Button */\n.results-show-more {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n padding: 0.5rem 1rem;\n border: none;\n background: transparent;\n color: var(--mj-brand-primary);\n font-size: 0.82rem;\n cursor: pointer;\n justify-content: center;\n transition: background 0.1s ease;\n}\n\n.results-show-more:hover {\n background: var(--mj-bg-surface-hover);\n}\n\n/* Google-style Pagination \u2014 pinned at bottom */\n.results-pager {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n padding: 0.75rem 0;\n flex-shrink: 0;\n border-top: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface);\n}\n\n.pager-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface);\n color: var(--mj-text-secondary);\n font-size: 0.82rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s ease;\n padding: 0 6px;\n}\n\n.pager-btn:hover:not(:disabled) {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n\n.pager-btn:disabled {\n opacity: 0.35;\n cursor: default;\n}\n\n.pager-active {\n background: var(--mj-brand-primary);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.pager-active:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n border-color: var(--mj-brand-primary-hover);\n color: var(--mj-text-inverse);\n}\n\n.pager-ellipsis {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n color: var(--mj-text-muted);\n font-size: 0.8rem;\n}\n\n.pager-prev i,\n.pager-next i {\n font-size: 0.7rem;\n}\n\n/* Search text highlighting */\n:host ::ng-deep .search-highlight,\n.search-highlight {\n background: color-mix(in srgb, var(--mj-status-warning) 35%, transparent);\n color: inherit;\n padding: 1px 2px;\n border-radius: 2px;\n}\n"] }]
|
|
696
693
|
}], null, { ResultGroups: [{
|
|
697
694
|
type: Input
|
|
698
695
|
}], FlatResults: [{
|