@eric-emg/symphiq-components 1.2.105 → 1.2.107
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/fesm2022/symphiq-components.mjs +82082 -38288
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +1160 -195
- package/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/styles.css +2693 -263
package/index.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as _jebgem_model from '@jebgem/model';
|
|
2
|
-
import { InsightBlockInterface, PerformanceMetricInterface,
|
|
2
|
+
import { ProfileItemInterface, ViewModeEnum, GoalV3Interface, ObjectiveV3Interface, StrategyV3Interface, OperationalCategoryInterface, CategoryStrengthInterface, CategoryGapInterface, CategoryOpportunityInterface, InsightBlockInterface, ProfileAnalysisRecommendationInterface, PerformanceMetricInterface, KeyStrengthInterface, CriticalGapInterface, FocusAreaTopPriorityInterface, AiChartInterface, ProfileAnalysisRecommendationActionStepInterface, MetricStatusEnum, TrendDirectionEnum, CompetitiveScoreEnum, ProfileSectionInterface, ProfileSubsectionInterface, ProfileInterface, BreakdownMetricInterface, UserInterface, FunnelAnalysisInterface, PerformanceOverviewStructuredV3Interface, OverallAssessmentInterface, ProfileItemTypeEnum, IconObjectInterface as IconObjectInterface$1, NapkinVisualInterface, HierarchyDataInterface, ProfileAnalysisInterface, ProfileAnalysisTypeEnum, FocusAreaDetailInterface, IconSourceEnum, FocusAreaDomainEnum, ProfileAnalysisSectionV3Interface, ExecutiveSummaryInterface, FocusAreaExecutiveSummaryInterface, MetricExecutiveSummaryInterface, ChartTypeEnum } from '@jebgem/model';
|
|
3
3
|
export * from '@jebgem/model';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
|
-
import { AfterViewInit, ElementRef, WritableSignal, OnInit, OnDestroy, OnChanges, SimpleChanges,
|
|
5
|
+
import { AfterViewInit, ElementRef, WritableSignal, OnInit, OnDestroy, OnChanges, SimpleChanges, EventEmitter, Renderer2 } from '@angular/core';
|
|
6
6
|
import * as rxjs from 'rxjs';
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
8
8
|
import { HttpClient } from '@angular/common/http';
|
|
9
9
|
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
10
10
|
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
11
|
+
import * as _jebgem_model_lib_funnel_analysis_performance_overview_structured_v3_interface from '@jebgem/model/lib/funnel-analysis/performance-overview-structured-v3.interface';
|
|
11
12
|
|
|
12
13
|
interface FunnelMetricOrder {
|
|
13
14
|
metric: string;
|
|
@@ -39,17 +40,249 @@ interface VisualizationData {
|
|
|
39
40
|
title: string;
|
|
40
41
|
data: unknown;
|
|
41
42
|
}
|
|
43
|
+
interface FunnelStrengthInterface {
|
|
44
|
+
id?: string;
|
|
45
|
+
title?: string;
|
|
46
|
+
description?: string;
|
|
47
|
+
relatedMetrics?: string[];
|
|
48
|
+
category?: string;
|
|
49
|
+
priority?: number;
|
|
50
|
+
businessContext?: string;
|
|
51
|
+
impactScore?: number;
|
|
52
|
+
quantifiedValue?: string;
|
|
53
|
+
}
|
|
54
|
+
interface FunnelWeaknessInterface {
|
|
55
|
+
id?: string;
|
|
56
|
+
title?: string;
|
|
57
|
+
description?: string;
|
|
58
|
+
relatedMetrics?: string[];
|
|
59
|
+
category?: string;
|
|
60
|
+
priority?: number;
|
|
61
|
+
businessContext?: string;
|
|
62
|
+
impactScore?: number;
|
|
63
|
+
quantifiedValue?: string;
|
|
64
|
+
severityLevel?: 'CRITICAL' | 'HIGH' | 'MEDIUM';
|
|
65
|
+
suggestedActions?: string[];
|
|
66
|
+
}
|
|
67
|
+
interface ItemDetailModalData {
|
|
68
|
+
item: ProfileItemInterface;
|
|
69
|
+
viewMode: ViewModeEnum;
|
|
70
|
+
itemType?: string;
|
|
71
|
+
sectionTitle?: string;
|
|
72
|
+
subsectionTitle?: string;
|
|
73
|
+
isCompactMode?: boolean;
|
|
74
|
+
fromProfileAnalysis?: boolean;
|
|
75
|
+
}
|
|
76
|
+
interface GoalDetailModalData {
|
|
77
|
+
goal: GoalV3Interface;
|
|
78
|
+
viewMode: ViewModeEnum;
|
|
79
|
+
sourceCategory?: string;
|
|
80
|
+
sourceGapTitle?: string;
|
|
81
|
+
}
|
|
82
|
+
interface GoalObjectivesModalData {
|
|
83
|
+
goal: GoalV3Interface;
|
|
84
|
+
viewMode: ViewModeEnum;
|
|
85
|
+
}
|
|
86
|
+
interface ObjectiveStrategiesModalData {
|
|
87
|
+
objective: ObjectiveV3Interface;
|
|
88
|
+
goalTitle?: string;
|
|
89
|
+
viewMode: ViewModeEnum;
|
|
90
|
+
}
|
|
91
|
+
interface StrategyRecommendationsModalData {
|
|
92
|
+
strategy: StrategyV3Interface;
|
|
93
|
+
objectiveTitle?: string;
|
|
94
|
+
goalTitle?: string;
|
|
95
|
+
viewMode: ViewModeEnum;
|
|
96
|
+
}
|
|
97
|
+
interface CategoryDetailModalData {
|
|
98
|
+
category: OperationalCategoryInterface;
|
|
99
|
+
viewMode: ViewModeEnum;
|
|
100
|
+
scrollToSection?: 'strengths' | 'gaps' | 'opportunities';
|
|
101
|
+
}
|
|
102
|
+
interface StrengthDetailModalData {
|
|
103
|
+
strength: CategoryStrengthInterface;
|
|
104
|
+
categoryTitle: string;
|
|
105
|
+
viewMode: ViewModeEnum;
|
|
106
|
+
allFunnelStrengths?: FunnelStrengthInterface[];
|
|
107
|
+
}
|
|
108
|
+
interface GapDetailModalData {
|
|
109
|
+
gap: CategoryGapInterface;
|
|
110
|
+
categoryTitle: string;
|
|
111
|
+
viewMode: ViewModeEnum;
|
|
112
|
+
}
|
|
113
|
+
interface OpportunityDetailModalData {
|
|
114
|
+
opportunity: CategoryOpportunityInterface;
|
|
115
|
+
categoryTitle: string;
|
|
116
|
+
viewMode: ViewModeEnum;
|
|
117
|
+
allStrengths?: FunnelStrengthInterface[];
|
|
118
|
+
allGoals?: GoalV3Interface[];
|
|
119
|
+
}
|
|
120
|
+
interface GoalInsightsListModalData {
|
|
121
|
+
insights: InsightBlockInterface[];
|
|
122
|
+
goalContext: {
|
|
123
|
+
title: string;
|
|
124
|
+
description: string;
|
|
125
|
+
icon: string;
|
|
126
|
+
};
|
|
127
|
+
viewMode?: ViewModeEnum;
|
|
128
|
+
sourceCategory?: string;
|
|
129
|
+
sourceGapTitle?: string;
|
|
130
|
+
}
|
|
131
|
+
interface GoalBusinessInsightsListModalData {
|
|
132
|
+
businessInsights: ProfileAnalysisRecommendationInterface[];
|
|
133
|
+
goalContext: {
|
|
134
|
+
title: string;
|
|
135
|
+
description: string;
|
|
136
|
+
icon: string;
|
|
137
|
+
};
|
|
138
|
+
viewMode: ViewModeEnum;
|
|
139
|
+
sourceCategory?: string;
|
|
140
|
+
sourceGapTitle?: string;
|
|
141
|
+
}
|
|
142
|
+
interface RecommendationInsightsListModalData {
|
|
143
|
+
insights: InsightBlockInterface[];
|
|
144
|
+
recommendationContext: {
|
|
145
|
+
title: string;
|
|
146
|
+
description: string;
|
|
147
|
+
icon: string;
|
|
148
|
+
};
|
|
149
|
+
goalTitle?: string;
|
|
150
|
+
objectiveTitle?: string;
|
|
151
|
+
strategyTitle?: string;
|
|
152
|
+
}
|
|
153
|
+
interface RecommendationBusinessInsightsListModalData {
|
|
154
|
+
businessInsights: ProfileAnalysisRecommendationInterface[];
|
|
155
|
+
recommendationContext: {
|
|
156
|
+
title: string;
|
|
157
|
+
description: string;
|
|
158
|
+
icon: string;
|
|
159
|
+
};
|
|
160
|
+
goalTitle?: string;
|
|
161
|
+
objectiveTitle?: string;
|
|
162
|
+
strategyTitle?: string;
|
|
163
|
+
}
|
|
164
|
+
interface MetricsListModalData {
|
|
165
|
+
metrics: PerformanceMetricInterface[];
|
|
166
|
+
goalContext?: {
|
|
167
|
+
title: string;
|
|
168
|
+
description: string;
|
|
169
|
+
icon?: string;
|
|
170
|
+
businessContext?: string;
|
|
171
|
+
priority?: number;
|
|
172
|
+
};
|
|
173
|
+
insightContext?: {
|
|
174
|
+
title: string;
|
|
175
|
+
description: string;
|
|
176
|
+
businessContext: string;
|
|
177
|
+
priority: number;
|
|
178
|
+
};
|
|
179
|
+
recommendationContext?: {
|
|
180
|
+
title: string;
|
|
181
|
+
description: string;
|
|
182
|
+
};
|
|
183
|
+
directlyAffectedMetricId?: string;
|
|
184
|
+
indirectlyAffectedMetricIds?: string[];
|
|
185
|
+
viewMode?: ViewModeEnum;
|
|
186
|
+
sourceCategory?: string;
|
|
187
|
+
sourceGapTitle?: string;
|
|
188
|
+
goalTitle?: string;
|
|
189
|
+
objectiveTitle?: string;
|
|
190
|
+
strategyTitle?: string;
|
|
191
|
+
}
|
|
192
|
+
interface BusinessInsightDetailModalData {
|
|
193
|
+
recommendation: ProfileAnalysisRecommendationInterface;
|
|
194
|
+
goalContext: {
|
|
195
|
+
title: string;
|
|
196
|
+
description: string;
|
|
197
|
+
icon: string;
|
|
198
|
+
};
|
|
199
|
+
viewMode: ViewModeEnum;
|
|
200
|
+
}
|
|
201
|
+
interface KeyStrengthsListModalData {
|
|
202
|
+
keyStrengths: KeyStrengthInterface[];
|
|
203
|
+
viewMode: ViewModeEnum;
|
|
204
|
+
}
|
|
205
|
+
interface CriticalGapsListModalData {
|
|
206
|
+
criticalGaps: CriticalGapInterface[];
|
|
207
|
+
viewMode: ViewModeEnum;
|
|
208
|
+
}
|
|
209
|
+
interface KeyStrengthDetailModalData {
|
|
210
|
+
strength: KeyStrengthInterface;
|
|
211
|
+
viewMode: ViewModeEnum;
|
|
212
|
+
}
|
|
213
|
+
interface CriticalGapDetailModalData {
|
|
214
|
+
gap: CriticalGapInterface;
|
|
215
|
+
viewMode: ViewModeEnum;
|
|
216
|
+
categoryTitle?: string;
|
|
217
|
+
}
|
|
218
|
+
interface FunnelStrengthsListModalData {
|
|
219
|
+
strengths: FunnelStrengthInterface[];
|
|
220
|
+
count: number;
|
|
221
|
+
isLightMode: boolean;
|
|
222
|
+
}
|
|
223
|
+
interface FunnelWeaknessesListModalData {
|
|
224
|
+
weaknesses: FunnelWeaknessInterface[];
|
|
225
|
+
count: number;
|
|
226
|
+
isLightMode: boolean;
|
|
227
|
+
}
|
|
228
|
+
interface FunnelStrengthDetailModalData {
|
|
229
|
+
strength: FunnelStrengthInterface;
|
|
230
|
+
totalCount: number;
|
|
231
|
+
isLightMode: boolean;
|
|
232
|
+
}
|
|
233
|
+
interface FunnelWeaknessDetailModalData {
|
|
234
|
+
weakness: FunnelWeaknessInterface;
|
|
235
|
+
totalCount: number;
|
|
236
|
+
isLightMode: boolean;
|
|
237
|
+
}
|
|
238
|
+
interface TopPrioritiesListModalData {
|
|
239
|
+
priorities: FocusAreaTopPriorityInterface[];
|
|
240
|
+
viewMode: ViewModeEnum;
|
|
241
|
+
focusAreaName?: string;
|
|
242
|
+
}
|
|
243
|
+
interface TopPriorityDetailModalData {
|
|
244
|
+
priority: FocusAreaTopPriorityInterface;
|
|
245
|
+
index: number;
|
|
246
|
+
totalCount: number;
|
|
247
|
+
viewMode: ViewModeEnum;
|
|
248
|
+
focusAreaName?: string;
|
|
249
|
+
}
|
|
250
|
+
interface FocusAreaStrengthsListModalData {
|
|
251
|
+
strengths: CategoryStrengthInterface[];
|
|
252
|
+
viewMode: ViewModeEnum;
|
|
253
|
+
categoryTitle: string;
|
|
254
|
+
}
|
|
255
|
+
interface FocusAreaGapsListModalData {
|
|
256
|
+
gaps: CategoryGapInterface[];
|
|
257
|
+
viewMode: ViewModeEnum;
|
|
258
|
+
categoryTitle: string;
|
|
259
|
+
}
|
|
260
|
+
interface FocusAreaOpportunitiesListModalData {
|
|
261
|
+
opportunities: CategoryOpportunityInterface[];
|
|
262
|
+
viewMode: ViewModeEnum;
|
|
263
|
+
categoryTitle: string;
|
|
264
|
+
}
|
|
265
|
+
interface FocusAreaStrengthDetailModalData {
|
|
266
|
+
strength: CategoryStrengthInterface;
|
|
267
|
+
categoryTitle: string;
|
|
268
|
+
viewMode: ViewModeEnum;
|
|
269
|
+
totalCount?: number;
|
|
270
|
+
}
|
|
271
|
+
interface FocusAreaGapDetailModalData {
|
|
272
|
+
gap: CategoryGapInterface;
|
|
273
|
+
categoryTitle: string;
|
|
274
|
+
viewMode: ViewModeEnum;
|
|
275
|
+
totalCount?: number;
|
|
276
|
+
}
|
|
277
|
+
interface FocusAreaOpportunityDetailModalData {
|
|
278
|
+
opportunity: CategoryOpportunityInterface;
|
|
279
|
+
categoryTitle: string;
|
|
280
|
+
viewMode: ViewModeEnum;
|
|
281
|
+
totalCount?: number;
|
|
282
|
+
}
|
|
42
283
|
interface ModalState {
|
|
43
|
-
type: 'insight' | 'metric' | 'chart' | 'insights-list' | 'metrics-list' | 'charts-list' | 'recommendations-list' | 'competitive-analysis' | 'competitive-gap' | 'visualization' | 'recommendation-action-steps' | null;
|
|
284
|
+
type: 'insight' | 'metric' | 'chart' | 'insights-list' | 'goal-insights-list' | 'goal-business-insights-list' | 'recommendation-business-insights-list' | 'recommendation-insights-list' | 'business-insight-detail' | 'metrics-list' | 'charts-list' | 'recommendations-list' | 'competitive-analysis' | 'competitive-gap' | 'visualization' | 'recommendation-action-steps' | 'item-detail' | 'goal-detail' | 'goal-objectives' | 'objective-strategies' | 'strategy-recommendations' | 'category-detail' | 'strength-detail' | 'gap-detail' | 'opportunity-detail' | 'key-strengths-list' | 'critical-gaps-list' | 'key-strength-detail' | 'critical-gap-detail' | 'funnel-strengths-list' | 'funnel-weaknesses-list' | 'funnel-strength-detail' | 'funnel-weakness-detail' | 'top-priorities-list' | 'top-priority-detail' | 'focus-area-strengths-list' | 'focus-area-gaps-list' | 'focus-area-opportunities-list' | 'focus-area-strength-detail' | 'focus-area-gap-detail' | 'focus-area-opportunity-detail' | null;
|
|
44
285
|
data: InsightBlockInterface | InsightBlockInterface[] | PerformanceMetricInterface | PerformanceMetricInterface[] | AiChartInterface | {
|
|
45
|
-
metrics: PerformanceMetricInterface[];
|
|
46
|
-
insightContext?: {
|
|
47
|
-
title: string;
|
|
48
|
-
description: string;
|
|
49
|
-
businessContext: string;
|
|
50
|
-
priority: number;
|
|
51
|
-
};
|
|
52
|
-
} | {
|
|
53
286
|
charts: AiChartInterface[];
|
|
54
287
|
insightContext?: {
|
|
55
288
|
title: string;
|
|
@@ -80,30 +313,82 @@ interface ModalState {
|
|
|
80
313
|
title?: string;
|
|
81
314
|
actionSteps: ProfileAnalysisRecommendationActionStepInterface[];
|
|
82
315
|
viewMode: ViewModeEnum;
|
|
83
|
-
} | VisualizationData |
|
|
316
|
+
} | ItemDetailModalData | VisualizationData | GoalDetailModalData | GoalObjectivesModalData | ObjectiveStrategiesModalData | StrategyRecommendationsModalData | CategoryDetailModalData | StrengthDetailModalData | GapDetailModalData | OpportunityDetailModalData | GoalInsightsListModalData | GoalBusinessInsightsListModalData | RecommendationBusinessInsightsListModalData | RecommendationInsightsListModalData | MetricsListModalData | BusinessInsightDetailModalData | KeyStrengthsListModalData | CriticalGapsListModalData | KeyStrengthDetailModalData | CriticalGapDetailModalData | FunnelStrengthsListModalData | FunnelWeaknessesListModalData | FunnelStrengthDetailModalData | FunnelWeaknessDetailModalData | TopPrioritiesListModalData | TopPriorityDetailModalData | FocusAreaStrengthsListModalData | FocusAreaGapsListModalData | FocusAreaOpportunitiesListModalData | FocusAreaStrengthDetailModalData | FocusAreaGapDetailModalData | FocusAreaOpportunityDetailModalData | {
|
|
317
|
+
insight: InsightBlockInterface;
|
|
318
|
+
} | null;
|
|
84
319
|
charts: AiChartInterface[];
|
|
85
320
|
previousState?: ModalState | null;
|
|
86
321
|
expandedSection?: string;
|
|
322
|
+
navigationStack?: ModalState[];
|
|
323
|
+
openedFromMainBody?: boolean;
|
|
87
324
|
}
|
|
88
325
|
declare class ModalService {
|
|
89
326
|
private modalState;
|
|
90
327
|
modalState$: rxjs.Observable<ModalState>;
|
|
328
|
+
viewInContextSignal: _angular_core.WritableSignal<{
|
|
329
|
+
itemId: string;
|
|
330
|
+
itemType?: string;
|
|
331
|
+
} | null>;
|
|
332
|
+
constructor();
|
|
333
|
+
/**
|
|
334
|
+
* Checks if the current modal context is from Profile Analysis Dashboard
|
|
335
|
+
* by looking at the current modal state and navigation stack
|
|
336
|
+
*/
|
|
337
|
+
private isInProfileAnalysisContext;
|
|
91
338
|
openInsightModal(insight: InsightBlockInterface, charts?: AiChartInterface[], previousState?: ModalState): void;
|
|
92
339
|
openMetricModal(metric: PerformanceMetricInterface, charts?: AiChartInterface[], previousState?: ModalState, expandedSection?: string): void;
|
|
93
340
|
openChartModal(chart: AiChartInterface, previousState?: ModalState): void;
|
|
94
341
|
openInsightsListModal(insights: InsightBlockInterface[], charts?: AiChartInterface[]): void;
|
|
95
|
-
|
|
342
|
+
openGoalInsightsListModal(insights: InsightBlockInterface[], metrics: PerformanceMetricInterface[], charts: AiChartInterface[], goalContext: {
|
|
343
|
+
title: string;
|
|
344
|
+
description: string;
|
|
345
|
+
icon: string;
|
|
346
|
+
}, previousState?: ModalState, sourceCategory?: string, sourceGapTitle?: string): void;
|
|
347
|
+
openGoalBusinessInsightsListModal(businessInsights: ProfileAnalysisRecommendationInterface[], goalContext: {
|
|
348
|
+
title: string;
|
|
349
|
+
description: string;
|
|
350
|
+
icon: string;
|
|
351
|
+
}, viewMode: ViewModeEnum, previousState?: ModalState, sourceCategory?: string, sourceGapTitle?: string): void;
|
|
352
|
+
openRecommendationInsightsListModal(insights: InsightBlockInterface[], metrics: PerformanceMetricInterface[], charts: AiChartInterface[], recommendationContext: {
|
|
353
|
+
title: string;
|
|
354
|
+
description: string;
|
|
355
|
+
icon: string;
|
|
356
|
+
}, previousState?: ModalState, goalTitle?: string, objectiveTitle?: string, strategyTitle?: string): void;
|
|
357
|
+
openRecommendationBusinessInsightsListModal(businessInsights: ProfileAnalysisRecommendationInterface[], recommendationContext: {
|
|
358
|
+
title: string;
|
|
359
|
+
description: string;
|
|
360
|
+
icon: string;
|
|
361
|
+
}, previousState?: ModalState, goalTitle?: string, objectiveTitle?: string, strategyTitle?: string): void;
|
|
362
|
+
navigateToBusinessInsightDetail(recommendation: ProfileAnalysisRecommendationInterface, goalContext: {
|
|
363
|
+
title: string;
|
|
364
|
+
description: string;
|
|
365
|
+
icon: string;
|
|
366
|
+
}, viewMode: ViewModeEnum): void;
|
|
367
|
+
openMetricsListModal(metrics: PerformanceMetricInterface[], charts?: AiChartInterface[], goalContext?: {
|
|
96
368
|
title: string;
|
|
97
369
|
description: string;
|
|
98
370
|
businessContext: string;
|
|
99
371
|
priority: number;
|
|
372
|
+
}, previousState?: ModalState): void;
|
|
373
|
+
openGoalMetricsListModal(metrics: PerformanceMetricInterface[], charts: AiChartInterface[], goalContext: {
|
|
374
|
+
title: string;
|
|
375
|
+
description: string;
|
|
376
|
+
icon: string;
|
|
377
|
+
}, previousState?: ModalState, sourceCategory?: string, sourceGapTitle?: string): void;
|
|
378
|
+
openRecommendationMetricsListModal(metrics: PerformanceMetricInterface[], charts: AiChartInterface[], recommendationContext: {
|
|
379
|
+
title: string;
|
|
380
|
+
description: string;
|
|
381
|
+
}, directlyAffectedMetricId?: string, indirectlyAffectedMetricIds?: string[], previousState?: ModalState, hierarchyContext?: {
|
|
382
|
+
goalTitle?: string;
|
|
383
|
+
objectiveTitle?: string;
|
|
384
|
+
strategyTitle?: string;
|
|
100
385
|
}): void;
|
|
101
386
|
openChartsListModal(charts: AiChartInterface[], insightContext?: {
|
|
102
387
|
title: string;
|
|
103
388
|
description: string;
|
|
104
389
|
businessContext: string;
|
|
105
390
|
priority: number;
|
|
106
|
-
}): void;
|
|
391
|
+
}, previousState?: ModalState): void;
|
|
107
392
|
openRecommendationsListModal(recommendations: string[], insightContext: {
|
|
108
393
|
title: string;
|
|
109
394
|
description: string;
|
|
@@ -120,7 +405,42 @@ declare class ModalService {
|
|
|
120
405
|
openVisualizationModal(visualization: VisualizationData, previousState?: ModalState): void;
|
|
121
406
|
openCompetitiveGapModal(item: ProfileItemInterface, viewMode: ViewModeEnum, previousState?: ModalState): void;
|
|
122
407
|
openRecommendationActionStepsModal(title: string | undefined, actionSteps: ProfileAnalysisRecommendationActionStepInterface[], viewMode: ViewModeEnum, previousState?: ModalState): void;
|
|
408
|
+
openItemDetailModal(item: ProfileItemInterface, viewMode: ViewModeEnum, itemType?: string, sectionTitle?: string, subsectionTitle?: string, previousState?: ModalState, isCompactMode?: boolean, fromProfileAnalysis?: boolean): void;
|
|
409
|
+
navigateToItemInModal(item: ProfileItemInterface, viewMode: ViewModeEnum, itemType?: string, sectionTitle?: string, subsectionTitle?: string, isCompactMode?: boolean, fromProfileAnalysis?: boolean): void;
|
|
410
|
+
navigateBackInModal(): void;
|
|
411
|
+
navigateToStackIndex(index: number): void;
|
|
412
|
+
triggerViewInContext(itemId: string, itemType?: string): void;
|
|
413
|
+
clearViewInContext(): void;
|
|
123
414
|
goBack(previousState: ModalState): void;
|
|
415
|
+
isItemDetailModalOpen(): boolean;
|
|
416
|
+
openGoalDetailModal(goal: GoalV3Interface, viewMode: ViewModeEnum): void;
|
|
417
|
+
openGoalObjectivesModal(goal: GoalV3Interface, viewMode: ViewModeEnum): void;
|
|
418
|
+
navigateToGoalDetail(goal: GoalV3Interface, viewMode: ViewModeEnum): void;
|
|
419
|
+
navigateToGoalObjectives(goal: GoalV3Interface, viewMode: ViewModeEnum): void;
|
|
420
|
+
navigateToObjectiveStrategies(objective: ObjectiveV3Interface, goalTitle: string | undefined, viewMode: ViewModeEnum): void;
|
|
421
|
+
navigateToStrategyRecommendations(strategy: StrategyV3Interface, objectiveTitle: string | undefined, goalTitle: string | undefined, viewMode: ViewModeEnum): void;
|
|
422
|
+
openCategoryDetailModal(category: OperationalCategoryInterface, viewMode: ViewModeEnum, scrollToSection?: 'strengths' | 'gaps' | 'opportunities'): void;
|
|
423
|
+
navigateToStrengthDetail(strength: CategoryStrengthInterface, categoryTitle: string, viewMode: ViewModeEnum, allFunnelStrengths?: FunnelStrengthInterface[]): void;
|
|
424
|
+
navigateToGapDetail(gap: CategoryGapInterface, categoryTitle: string, viewMode: ViewModeEnum): void;
|
|
425
|
+
navigateToOpportunityDetail(opportunity: CategoryOpportunityInterface, categoryTitle: string, viewMode: ViewModeEnum, allStrengths?: FunnelStrengthInterface[], allGoals?: GoalV3Interface[]): void;
|
|
426
|
+
openKeyStrengthsListModal(keyStrengths: KeyStrengthInterface[], viewMode: ViewModeEnum): void;
|
|
427
|
+
openCriticalGapsListModal(criticalGaps: CriticalGapInterface[], viewMode: ViewModeEnum): void;
|
|
428
|
+
navigateToKeyStrengthDetail(strength: KeyStrengthInterface, viewMode: ViewModeEnum): void;
|
|
429
|
+
navigateToCriticalGapDetail(gap: CriticalGapInterface, viewMode: ViewModeEnum): void;
|
|
430
|
+
openFunnelStrengthsListModal(strengths: FunnelStrengthInterface[], isLightMode: boolean): void;
|
|
431
|
+
openFunnelWeaknessesListModal(weaknesses: FunnelWeaknessInterface[], isLightMode: boolean): void;
|
|
432
|
+
navigateToFunnelStrengthDetail(strength: FunnelStrengthInterface, isLightMode: boolean): void;
|
|
433
|
+
navigateToFunnelWeaknessDetail(weakness: FunnelWeaknessInterface, isLightMode: boolean): void;
|
|
434
|
+
openFunnelWeaknessDetailModal(weakness: InsightBlockInterface, parentModalState?: ModalState): void;
|
|
435
|
+
openFunnelStrengthDetailModal(strength: any, parentModalState?: ModalState): void;
|
|
436
|
+
openTopPrioritiesListModal(priorities: FocusAreaTopPriorityInterface[], viewMode: ViewModeEnum, focusAreaName?: string): void;
|
|
437
|
+
navigateToTopPriorityDetail(priority: FocusAreaTopPriorityInterface, index: number, viewMode: ViewModeEnum, focusAreaName?: string): void;
|
|
438
|
+
openFocusAreaStrengthsListModal(strengths: CategoryStrengthInterface[], viewMode: ViewModeEnum, categoryTitle: string): void;
|
|
439
|
+
navigateToFocusAreaStrengthDetail(strength: CategoryStrengthInterface, categoryTitle: string, viewMode: ViewModeEnum): void;
|
|
440
|
+
openFocusAreaGapsListModal(gaps: CategoryGapInterface[], viewMode: ViewModeEnum, categoryTitle: string): void;
|
|
441
|
+
navigateToFocusAreaGapDetail(gap: CategoryGapInterface, categoryTitle: string, viewMode: ViewModeEnum): void;
|
|
442
|
+
openFocusAreaOpportunitiesListModal(opportunities: CategoryOpportunityInterface[], viewMode: ViewModeEnum, categoryTitle: string): void;
|
|
443
|
+
navigateToFocusAreaOpportunityDetail(opportunity: CategoryOpportunityInterface, categoryTitle: string, viewMode: ViewModeEnum): void;
|
|
124
444
|
closeModal(): void;
|
|
125
445
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalService, never>;
|
|
126
446
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ModalService>;
|
|
@@ -182,6 +502,7 @@ interface MetricValueTooltipContent {
|
|
|
182
502
|
current: number[];
|
|
183
503
|
prior?: number[];
|
|
184
504
|
};
|
|
505
|
+
currencySymbol?: string;
|
|
185
506
|
}
|
|
186
507
|
interface StatusBadgeTooltipContent {
|
|
187
508
|
status: MetricStatusEnum;
|
|
@@ -196,6 +517,7 @@ interface StatusBadgeTooltipContent {
|
|
|
196
517
|
description?: string;
|
|
197
518
|
priority?: number;
|
|
198
519
|
priorityExplanation?: string;
|
|
520
|
+
currencySymbol?: string;
|
|
199
521
|
}
|
|
200
522
|
interface TrendIndicatorTooltipContent {
|
|
201
523
|
metricName: string;
|
|
@@ -210,6 +532,7 @@ interface TrendIndicatorTooltipContent {
|
|
|
210
532
|
current: number[];
|
|
211
533
|
prior?: number[];
|
|
212
534
|
};
|
|
535
|
+
currencySymbol?: string;
|
|
213
536
|
}
|
|
214
537
|
interface PriorityBadgeTooltipContent {
|
|
215
538
|
priority: number;
|
|
@@ -241,6 +564,7 @@ interface CompetitiveBenchmarkTooltipContent {
|
|
|
241
564
|
metricName?: string;
|
|
242
565
|
currentValue?: number;
|
|
243
566
|
unit?: string;
|
|
567
|
+
currencySymbol?: string;
|
|
244
568
|
}
|
|
245
569
|
interface InsightsListTooltipContent {
|
|
246
570
|
title: string;
|
|
@@ -267,6 +591,7 @@ interface CompetitiveStatusTooltipContent {
|
|
|
267
591
|
unit: string;
|
|
268
592
|
status?: CompetitiveScoreEnum;
|
|
269
593
|
}>;
|
|
594
|
+
currencySymbol?: string;
|
|
270
595
|
}
|
|
271
596
|
interface FunnelStageCompetitiveTooltipContent {
|
|
272
597
|
funnelStage: string;
|
|
@@ -298,14 +623,15 @@ interface FunnelStageCompetitiveTooltipContent {
|
|
|
298
623
|
};
|
|
299
624
|
unit: string;
|
|
300
625
|
}>;
|
|
626
|
+
currencySymbol?: string;
|
|
301
627
|
}
|
|
302
628
|
|
|
303
629
|
declare class TooltipDataService {
|
|
304
630
|
private formatCache;
|
|
305
631
|
private metricLookupCache;
|
|
306
|
-
extractMetricTooltipData(metric: PerformanceMetricInterface, chart?: AiChartInterface): MetricValueTooltipContent;
|
|
307
|
-
extractStatusTooltipData(metric: PerformanceMetricInterface): StatusBadgeTooltipContent;
|
|
308
|
-
extractTrendTooltipData(metric: PerformanceMetricInterface, chart?: AiChartInterface): TrendIndicatorTooltipContent;
|
|
632
|
+
extractMetricTooltipData(metric: PerformanceMetricInterface, chart?: AiChartInterface, currencySymbol?: string): MetricValueTooltipContent;
|
|
633
|
+
extractStatusTooltipData(metric: PerformanceMetricInterface, currencySymbol?: string): StatusBadgeTooltipContent;
|
|
634
|
+
extractTrendTooltipData(metric: PerformanceMetricInterface, chart?: AiChartInterface, currencySymbol?: string): TrendIndicatorTooltipContent;
|
|
309
635
|
extractPriorityTooltipData(insight: InsightBlockInterface): PriorityBadgeTooltipContent;
|
|
310
636
|
extractBreakdownRowTooltipData(metric: PerformanceMetricInterface): BreakdownRowTooltipContent;
|
|
311
637
|
findMetricByName(name: string, metrics: PerformanceMetricInterface[]): PerformanceMetricInterface | undefined;
|
|
@@ -321,7 +647,7 @@ declare class TooltipDataService {
|
|
|
321
647
|
getPriorityLabel(priority: number): string;
|
|
322
648
|
isInverseMetric(metricName: string): boolean;
|
|
323
649
|
formatDimensionValue(value?: string): string;
|
|
324
|
-
extractCompetitiveBenchmarkTooltipData(metric: PerformanceMetricInterface): CompetitiveBenchmarkTooltipContent | null;
|
|
650
|
+
extractCompetitiveBenchmarkTooltipData(metric: PerformanceMetricInterface, currencySymbol?: string): CompetitiveBenchmarkTooltipContent | null;
|
|
325
651
|
hasCompetitiveBenchmark(metric: PerformanceMetricInterface): boolean;
|
|
326
652
|
getCompetitiveScoreLabel(score: string): string;
|
|
327
653
|
private determineUnit;
|
|
@@ -330,7 +656,7 @@ declare class TooltipDataService {
|
|
|
330
656
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TooltipDataService>;
|
|
331
657
|
}
|
|
332
658
|
|
|
333
|
-
type ViewMode = '
|
|
659
|
+
type ViewMode = 'compact' | 'expanded';
|
|
334
660
|
type LayoutMode = 'bento' | 'grid' | 'masonry';
|
|
335
661
|
declare class ViewModeService {
|
|
336
662
|
private viewMode;
|
|
@@ -344,7 +670,6 @@ declare class ViewModeService {
|
|
|
344
670
|
toggleViewMode(): void;
|
|
345
671
|
setViewMode(mode: ViewMode): void;
|
|
346
672
|
setLayoutMode(mode: LayoutMode): void;
|
|
347
|
-
isSimplified(): boolean;
|
|
348
673
|
isCompact(): boolean;
|
|
349
674
|
isExpanded(): boolean;
|
|
350
675
|
isBentoLayout(): boolean;
|
|
@@ -611,9 +936,39 @@ declare class BusinessProfileSearchService {
|
|
|
611
936
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<BusinessProfileSearchService>;
|
|
612
937
|
}
|
|
613
938
|
|
|
939
|
+
interface RelatedFunnelContent {
|
|
940
|
+
insights: InsightBlockInterface[];
|
|
941
|
+
metrics: PerformanceMetricInterface[];
|
|
942
|
+
}
|
|
943
|
+
interface RelatedBusinessContent {
|
|
944
|
+
insights: ProfileAnalysisRecommendationInterface[];
|
|
945
|
+
}
|
|
946
|
+
interface CrossDashboardRelationships {
|
|
947
|
+
funnelAnalysis?: RelatedFunnelContent;
|
|
948
|
+
businessAnalysis?: RelatedBusinessContent;
|
|
949
|
+
}
|
|
950
|
+
declare class CrossDashboardRelationshipsService {
|
|
951
|
+
getRelatedFunnelInsights(goal: GoalV3Interface, allInsights: InsightBlockInterface[]): InsightBlockInterface[];
|
|
952
|
+
getRelatedFunnelMetrics(goal: GoalV3Interface, allMetrics: PerformanceMetricInterface[]): PerformanceMetricInterface[];
|
|
953
|
+
getRelatedBusinessInsights(goal: GoalV3Interface, allBusinessInsights: ProfileAnalysisRecommendationInterface[]): ProfileAnalysisRecommendationInterface[];
|
|
954
|
+
getRelatedContentForGoal(goal: GoalV3Interface, allInsights: InsightBlockInterface[], allMetrics: PerformanceMetricInterface[], allBusinessInsights: ProfileAnalysisRecommendationInterface[]): CrossDashboardRelationships;
|
|
955
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CrossDashboardRelationshipsService, never>;
|
|
956
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CrossDashboardRelationshipsService>;
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
interface BreadcrumbLevel {
|
|
960
|
+
label: string;
|
|
961
|
+
clickable: boolean;
|
|
962
|
+
onClick?: () => void;
|
|
963
|
+
}
|
|
964
|
+
|
|
614
965
|
declare class ModalComponent {
|
|
615
966
|
isLightMode: _angular_core.InputSignal<boolean>;
|
|
616
967
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
968
|
+
allMetrics: _angular_core.InputSignal<PerformanceMetricInterface[]>;
|
|
969
|
+
allInsights: _angular_core.InputSignal<InsightBlockInterface[]>;
|
|
970
|
+
allCharts: _angular_core.InputSignal<AiChartInterface[]>;
|
|
971
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
617
972
|
private metricNameCache;
|
|
618
973
|
private allMetricsSignal;
|
|
619
974
|
private modalStateSignal;
|
|
@@ -622,7 +977,7 @@ declare class ModalComponent {
|
|
|
622
977
|
private animatedTrendValues;
|
|
623
978
|
private animationFrames;
|
|
624
979
|
isOpen: _angular_core.Signal<boolean>;
|
|
625
|
-
modalType: _angular_core.Signal<"
|
|
980
|
+
modalType: _angular_core.Signal<"insight" | "metric" | "chart" | "insights-list" | "goal-insights-list" | "goal-business-insights-list" | "business-insight-detail" | "metrics-list" | "charts-list" | "recommendations-list" | "competitive-analysis" | "funnel-strengths-list" | "funnel-weaknesses-list" | "funnel-strength-detail" | "funnel-weakness-detail" | null>;
|
|
626
981
|
charts: _angular_core.Signal<AiChartInterface[]>;
|
|
627
982
|
modalKey: _angular_core.Signal<number>;
|
|
628
983
|
insightData: _angular_core.Signal<InsightBlockInterface | null>;
|
|
@@ -635,7 +990,13 @@ declare class ModalComponent {
|
|
|
635
990
|
chartPieData: _angular_core.Signal<AiChartInterface | null>;
|
|
636
991
|
chartAreaData: _angular_core.Signal<AiChartInterface | null>;
|
|
637
992
|
insightsListData: _angular_core.Signal<InsightBlockInterface[] | null>;
|
|
638
|
-
|
|
993
|
+
goalInsightsListData: _angular_core.Signal<InsightBlockInterface[] | null>;
|
|
994
|
+
goalInsightsContext: _angular_core.Signal<{
|
|
995
|
+
title: string;
|
|
996
|
+
description: string;
|
|
997
|
+
icon: string;
|
|
998
|
+
} | null>;
|
|
999
|
+
metricsListData: _angular_core.Signal<InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | FunnelStrengthsListModalData | FunnelWeaknessesListModalData | FunnelStrengthDetailModalData | FunnelWeaknessDetailModalData | (InsightBlockInterface | PerformanceMetricInterface)[] | null>;
|
|
639
1000
|
metricsListMetrics: _angular_core.Signal<PerformanceMetricInterface[]>;
|
|
640
1001
|
metricsListInsightContext: _angular_core.Signal<{
|
|
641
1002
|
title: string;
|
|
@@ -643,7 +1004,7 @@ declare class ModalComponent {
|
|
|
643
1004
|
businessContext: string;
|
|
644
1005
|
priority: number;
|
|
645
1006
|
} | null>;
|
|
646
|
-
chartsListData: _angular_core.Signal<InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | (InsightBlockInterface | PerformanceMetricInterface)[] | null>;
|
|
1007
|
+
chartsListData: _angular_core.Signal<InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | FunnelStrengthsListModalData | FunnelWeaknessesListModalData | FunnelStrengthDetailModalData | FunnelWeaknessDetailModalData | (InsightBlockInterface | PerformanceMetricInterface)[] | null>;
|
|
647
1008
|
chartsListCharts: _angular_core.Signal<AiChartInterface[]>;
|
|
648
1009
|
chartsListInsightContext: _angular_core.Signal<{
|
|
649
1010
|
title: string;
|
|
@@ -651,7 +1012,7 @@ declare class ModalComponent {
|
|
|
651
1012
|
businessContext: string;
|
|
652
1013
|
priority: number;
|
|
653
1014
|
} | null>;
|
|
654
|
-
recommendationsListData: _angular_core.Signal<InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | (InsightBlockInterface | PerformanceMetricInterface)[] | null>;
|
|
1015
|
+
recommendationsListData: _angular_core.Signal<InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | FunnelStrengthsListModalData | FunnelWeaknessesListModalData | FunnelStrengthDetailModalData | FunnelWeaknessDetailModalData | (InsightBlockInterface | PerformanceMetricInterface)[] | null>;
|
|
655
1016
|
recommendationsListRecommendations: _angular_core.Signal<string[]>;
|
|
656
1017
|
recommendationsListInsightContext: _angular_core.Signal<{
|
|
657
1018
|
title: string;
|
|
@@ -659,7 +1020,7 @@ declare class ModalComponent {
|
|
|
659
1020
|
businessContext: string;
|
|
660
1021
|
priority: number;
|
|
661
1022
|
} | null>;
|
|
662
|
-
competitiveAnalysisData: _angular_core.Signal<InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | (InsightBlockInterface | PerformanceMetricInterface)[] | null>;
|
|
1023
|
+
competitiveAnalysisData: _angular_core.Signal<InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | FunnelStrengthsListModalData | FunnelWeaknessesListModalData | FunnelStrengthDetailModalData | FunnelWeaknessDetailModalData | (InsightBlockInterface | PerformanceMetricInterface)[] | null>;
|
|
663
1024
|
competitiveAnalysisContext: _angular_core.Signal<{
|
|
664
1025
|
title: string;
|
|
665
1026
|
description: string;
|
|
@@ -667,37 +1028,68 @@ declare class ModalComponent {
|
|
|
667
1028
|
competitiveAnalysis: string;
|
|
668
1029
|
priority: number;
|
|
669
1030
|
} | null>;
|
|
1031
|
+
funnelStrengthsListData: _angular_core.Signal<FunnelStrengthInterface[] | null>;
|
|
1032
|
+
funnelStrengthsListCount: _angular_core.Signal<number>;
|
|
1033
|
+
funnelWeaknessesListData: _angular_core.Signal<FunnelWeaknessInterface[] | null>;
|
|
1034
|
+
funnelWeaknessesListCount: _angular_core.Signal<number>;
|
|
1035
|
+
funnelStrengthDetailData: _angular_core.Signal<FunnelStrengthInterface | null>;
|
|
1036
|
+
funnelStrengthDetailTotalCount: _angular_core.Signal<number>;
|
|
1037
|
+
funnelWeaknessDetailData: _angular_core.Signal<FunnelWeaknessInterface | null>;
|
|
1038
|
+
funnelWeaknessDetailTotalCount: _angular_core.Signal<number>;
|
|
1039
|
+
goalBusinessInsightsListData: _angular_core.Signal<any[] | null>;
|
|
1040
|
+
goalBusinessInsightsContext: _angular_core.Signal<{
|
|
1041
|
+
title: string;
|
|
1042
|
+
description: string;
|
|
1043
|
+
icon: string;
|
|
1044
|
+
} | null>;
|
|
1045
|
+
isBusinessInsightDetailModal: _angular_core.Signal<boolean>;
|
|
1046
|
+
businessInsightDetailData: _angular_core.Signal<{
|
|
1047
|
+
recommendation: any;
|
|
1048
|
+
goalContext: {
|
|
1049
|
+
title: string;
|
|
1050
|
+
description: string;
|
|
1051
|
+
icon: string;
|
|
1052
|
+
};
|
|
1053
|
+
viewMode: ViewModeEnum;
|
|
1054
|
+
} | null>;
|
|
670
1055
|
modalHeaderPriorityBadge: _angular_core.Signal<number | null>;
|
|
671
1056
|
competitiveAnalysisPanelClass: _angular_core.Signal<string>;
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
1057
|
+
protected computedAllMetrics: _angular_core.Signal<PerformanceMetricInterface[]>;
|
|
1058
|
+
protected computedAllInsights: _angular_core.Signal<InsightBlockInterface[]>;
|
|
1059
|
+
protected computedAllCharts: _angular_core.Signal<AiChartInterface[]>;
|
|
1060
|
+
protected allBusinessInsights: _angular_core.Signal<ProfileAnalysisRecommendationInterface[]>;
|
|
675
1061
|
hasPreviousState: _angular_core.Signal<boolean>;
|
|
676
1062
|
currentModalState: _angular_core.Signal<{
|
|
677
|
-
type: "insight" | "metric" | "chart" | "insights-list" | "metrics-list" | "charts-list" | "recommendations-list" | "competitive-analysis" | null;
|
|
678
|
-
data: InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | (InsightBlockInterface | PerformanceMetricInterface)[] | null;
|
|
1063
|
+
type: "insight" | "metric" | "chart" | "insights-list" | "goal-insights-list" | "goal-business-insights-list" | "metrics-list" | "charts-list" | "recommendations-list" | "competitive-analysis" | "funnel-strengths-list" | "funnel-weaknesses-list" | "funnel-strength-detail" | "funnel-weakness-detail" | "business-insight-detail" | null;
|
|
1064
|
+
data: InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | (InsightBlockInterface | PerformanceMetricInterface)[] | FunnelStrengthsListModalData | FunnelWeaknessesListModalData | FunnelStrengthDetailModalData | FunnelWeaknessDetailModalData | null;
|
|
679
1065
|
charts: AiChartInterface[];
|
|
680
1066
|
openedAt: number;
|
|
681
|
-
previousState:
|
|
682
|
-
type: "insight" | "metric" | "chart" | "insights-list" | "metrics-list" | "charts-list" | "recommendations-list" | "competitive-analysis";
|
|
683
|
-
data: InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | (InsightBlockInterface | PerformanceMetricInterface)[];
|
|
684
|
-
charts: AiChartInterface[];
|
|
685
|
-
previousState: null;
|
|
686
|
-
} | null;
|
|
1067
|
+
previousState: ModalState | null;
|
|
687
1068
|
expandedSection: string | undefined;
|
|
1069
|
+
navigationStack: ModalState[];
|
|
688
1070
|
}>;
|
|
689
1071
|
expandedSection: _angular_core.Signal<string | undefined>;
|
|
690
1072
|
modalTitle: _angular_core.Signal<string>;
|
|
1073
|
+
modalDepth: _angular_core.Signal<number>;
|
|
1074
|
+
baseZIndex: _angular_core.Signal<number>;
|
|
1075
|
+
backdropZIndex: _angular_core.Signal<number>;
|
|
1076
|
+
contentZIndex: _angular_core.Signal<number>;
|
|
691
1077
|
private modalService;
|
|
1078
|
+
private breadcrumbService;
|
|
1079
|
+
shouldShowBreadcrumbs: _angular_core.Signal<boolean>;
|
|
1080
|
+
breadcrumbs: _angular_core.Signal<BreadcrumbLevel[]>;
|
|
692
1081
|
constructor();
|
|
693
1082
|
getInsightContextPriorityBadgeClass(priority: number): string;
|
|
694
1083
|
private computeModalTitle;
|
|
695
1084
|
closeModal(): void;
|
|
696
1085
|
openInsightModal(insight: InsightBlockInterface): void;
|
|
1086
|
+
openBusinessInsightDetail(businessInsight: any): void;
|
|
697
1087
|
openMetricModalFromList(metric: PerformanceMetricInterface): void;
|
|
698
1088
|
openChartModalFromList(chart: AiChartInterface): void;
|
|
699
1089
|
goBack(): void;
|
|
1090
|
+
navigateToList(): void;
|
|
700
1091
|
formatMetricName(name: string): string;
|
|
1092
|
+
getPriorityBadgeClasses(priority: number): string;
|
|
701
1093
|
formatMetricValue(metric: PerformanceMetricInterface): string;
|
|
702
1094
|
getMetricTrendClass(metric: PerformanceMetricInterface): string;
|
|
703
1095
|
animateMetricsList(metrics: PerformanceMetricInterface[]): void;
|
|
@@ -708,7 +1100,7 @@ declare class ModalComponent {
|
|
|
708
1100
|
formatAnimatedMetricValue(metric: PerformanceMetricInterface, animatedValue: number): string;
|
|
709
1101
|
setMetricsAndInsights(metrics: PerformanceMetricInterface[], insights: InsightBlockInterface[], allCharts?: AiChartInterface[]): void;
|
|
710
1102
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalComponent, never>;
|
|
711
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalComponent, "symphiq-funnel-analysis-modal", never, { "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1103
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalComponent, "symphiq-funnel-analysis-modal", never, { "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "allMetrics": { "alias": "allMetrics"; "required": false; "isSignal": true; }; "allInsights": { "alias": "allInsights"; "required": false; "isSignal": true; }; "allCharts": { "alias": "allCharts"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
712
1104
|
}
|
|
713
1105
|
|
|
714
1106
|
interface NavSection {
|
|
@@ -764,6 +1156,45 @@ declare class SearchService {
|
|
|
764
1156
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SearchService>;
|
|
765
1157
|
}
|
|
766
1158
|
|
|
1159
|
+
declare class ProfileContextService {
|
|
1160
|
+
private contextIndex;
|
|
1161
|
+
indexProfile(sections: ProfileSectionInterface[], recommendations?: ProfileAnalysisRecommendationInterface[]): void;
|
|
1162
|
+
getRegions(): ProfileItemInterface[];
|
|
1163
|
+
getSeasons(): ProfileItemInterface[];
|
|
1164
|
+
getPriceTiers(): ProfileItemInterface[];
|
|
1165
|
+
getCustomerSegments(): ProfileItemInterface[];
|
|
1166
|
+
getProductCategories(): ProfileItemInterface[];
|
|
1167
|
+
getFocusAreas(): ProfileItemInterface[];
|
|
1168
|
+
getItemById(id: string): ProfileItemInterface | undefined;
|
|
1169
|
+
getItemsByIds(ids: string[]): ProfileItemInterface[];
|
|
1170
|
+
getCompetitors(): ProfileItemInterface[];
|
|
1171
|
+
getRecommendationById(id: string): ProfileAnalysisRecommendationInterface | undefined;
|
|
1172
|
+
getCompetitorsByIds(ids: string[]): ProfileItemInterface[];
|
|
1173
|
+
getRecommendationsByProfileItemIds(itemIds: string[]): ProfileAnalysisRecommendationInterface[];
|
|
1174
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileContextService, never>;
|
|
1175
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ProfileContextService>;
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
declare class ProfileItemLookupService {
|
|
1179
|
+
private profileData;
|
|
1180
|
+
setProfile(profile: ProfileInterface | undefined): void;
|
|
1181
|
+
findItemById(id: string): ProfileItemInterface | undefined;
|
|
1182
|
+
findItemsByIds(ids: string[]): ProfileItemInterface[];
|
|
1183
|
+
findItemWithContext(id: string): {
|
|
1184
|
+
item: ProfileItemInterface;
|
|
1185
|
+
sectionTitle: string;
|
|
1186
|
+
subsectionTitle: string;
|
|
1187
|
+
} | undefined;
|
|
1188
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileItemLookupService, never>;
|
|
1189
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ProfileItemLookupService>;
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
declare enum DisplayModeEnum {
|
|
1193
|
+
SIMPLIFIED = "SIMPLIFIED",
|
|
1194
|
+
COMPACT = "COMPACT",
|
|
1195
|
+
EXPANDED = "EXPANDED"
|
|
1196
|
+
}
|
|
1197
|
+
|
|
767
1198
|
interface ScrollBaseDetail {
|
|
768
1199
|
isScrolling: boolean;
|
|
769
1200
|
}
|
|
@@ -783,17 +1214,20 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
783
1214
|
viewModeService: ViewModeService;
|
|
784
1215
|
searchService: SearchService;
|
|
785
1216
|
private tooltipService;
|
|
1217
|
+
private profileContextService;
|
|
1218
|
+
private profileItemLookupService;
|
|
786
1219
|
modalComponent?: ModalComponent;
|
|
787
1220
|
dashboardContainer?: ElementRef<HTMLElement>;
|
|
788
1221
|
protected readonly ViewModeEnum: typeof ViewModeEnum;
|
|
789
1222
|
requestedByUser: _angular_core.InputSignal<UserInterface | undefined>;
|
|
790
1223
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
791
1224
|
funnelAnalysis: _angular_core.InputSignal<FunnelAnalysisInterface | undefined>;
|
|
1225
|
+
businessProfile: _angular_core.InputSignal<ProfileInterface | undefined>;
|
|
792
1226
|
embedded: _angular_core.InputSignal<boolean>;
|
|
793
1227
|
scrollEvent: _angular_core.InputSignal<ScrollCustomEvent | null | undefined>;
|
|
794
1228
|
scrollElement: _angular_core.InputSignal<HTMLElement | null | undefined>;
|
|
795
1229
|
isLoading: _angular_core.InputSignal<boolean | undefined>;
|
|
796
|
-
|
|
1230
|
+
isOnboarded: _angular_core.InputSignal<boolean>;
|
|
797
1231
|
selectedCategory: _angular_core.WritableSignal<string>;
|
|
798
1232
|
reverseSortOrder: _angular_core.WritableSignal<boolean>;
|
|
799
1233
|
selectedSectionFilter: _angular_core.WritableSignal<string>;
|
|
@@ -809,6 +1243,13 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
809
1243
|
isCompetitiveTransitioning: _angular_core.WritableSignal<boolean>;
|
|
810
1244
|
isOverallAssessmentLoading: _angular_core.WritableSignal<boolean>;
|
|
811
1245
|
areChartsLoading: _angular_core.Signal<boolean>;
|
|
1246
|
+
protected displayMode: _angular_core.WritableSignal<DisplayModeEnum>;
|
|
1247
|
+
protected isViewModeSwitcherOpen: _angular_core.WritableSignal<boolean>;
|
|
1248
|
+
protected isViewModeSwitching: _angular_core.WritableSignal<boolean>;
|
|
1249
|
+
protected isSimplifiedView: _angular_core.Signal<boolean>;
|
|
1250
|
+
protected isCompactView: _angular_core.Signal<boolean>;
|
|
1251
|
+
protected isExpandedView: _angular_core.Signal<boolean>;
|
|
1252
|
+
protected displayModeLabel: _angular_core.Signal<"Simplified" | "Compact" | "Expanded">;
|
|
812
1253
|
private loadingStartTime;
|
|
813
1254
|
private minLoadingDisplayTime;
|
|
814
1255
|
private loadingTimeoutId;
|
|
@@ -824,7 +1265,10 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
824
1265
|
navSections: NavSection[];
|
|
825
1266
|
isLightMode: _angular_core.Signal<boolean>;
|
|
826
1267
|
analysisData: _angular_core.Signal<FunnelAnalysisInterface | undefined>;
|
|
827
|
-
performanceOverview: _angular_core.Signal<
|
|
1268
|
+
performanceOverview: _angular_core.Signal<PerformanceOverviewStructuredV3Interface>;
|
|
1269
|
+
strengths: _angular_core.Signal<_jebgem_model_lib_funnel_analysis_performance_overview_structured_v3_interface.FunnelStrengthInterface[]>;
|
|
1270
|
+
weaknesses: _angular_core.Signal<_jebgem_model_lib_funnel_analysis_performance_overview_structured_v3_interface.FunnelWeaknessInterface[]>;
|
|
1271
|
+
currencySymbol: _angular_core.Signal<string>;
|
|
828
1272
|
insights: _angular_core.Signal<InsightBlockInterface[]>;
|
|
829
1273
|
private allBreakdowns;
|
|
830
1274
|
breakdowns: _angular_core.Signal<BreakdownMetricInterface[]>;
|
|
@@ -834,6 +1278,7 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
834
1278
|
revenueValue: _angular_core.Signal<number>;
|
|
835
1279
|
revenueTrend: _angular_core.Signal<number>;
|
|
836
1280
|
allCharts: _angular_core.Signal<AiChartInterface[]>;
|
|
1281
|
+
allBusinessInsights: _angular_core.Signal<ProfileAnalysisRecommendationInterface[]>;
|
|
837
1282
|
/**
|
|
838
1283
|
* Pre-computed map: performanceItemId -> charts[]
|
|
839
1284
|
* Enables O(1) lookups instead of array filtering on each access
|
|
@@ -841,7 +1286,7 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
841
1286
|
private chartsById;
|
|
842
1287
|
headerClass: _angular_core.Signal<string>;
|
|
843
1288
|
headerTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
844
|
-
headerSubtitleClass: _angular_core.Signal<"text-slate-
|
|
1289
|
+
headerSubtitleClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
845
1290
|
metaLabelClass: _angular_core.Signal<"text-slate-600" | "text-slate-500">;
|
|
846
1291
|
sectionTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
847
1292
|
selectClass: _angular_core.Signal<"bg-white text-slate-900 border-slate-300 hover:border-blue-400 transition-all duration-200" | "bg-slate-700 text-white border-slate-600 hover:border-slate-500 transition-all duration-200">;
|
|
@@ -890,10 +1335,13 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
890
1335
|
showCompetitiveIntelligence: _angular_core.Signal<boolean>;
|
|
891
1336
|
tocSections: _angular_core.Signal<ProfileSectionInterface[]>;
|
|
892
1337
|
private dateFormatCache;
|
|
893
|
-
constructor(funnelOrderService: FunnelOrderService, viewModeService: ViewModeService, searchService: SearchService, tooltipService: TooltipService);
|
|
1338
|
+
constructor(funnelOrderService: FunnelOrderService, viewModeService: ViewModeService, searchService: SearchService, tooltipService: TooltipService, profileContextService: ProfileContextService, profileItemLookupService: ProfileItemLookupService);
|
|
894
1339
|
ngAfterViewInit(): void;
|
|
895
1340
|
handleSearchResult(result: SearchResult): void;
|
|
896
1341
|
clearSearchResult(): void;
|
|
1342
|
+
protected openViewModeSwitcher(): void;
|
|
1343
|
+
protected closeViewModeSwitcher(): void;
|
|
1344
|
+
protected handleDisplayModeChange(mode: DisplayModeEnum): void;
|
|
897
1345
|
isFunnelStage(metricName: string): boolean;
|
|
898
1346
|
formatDate(dateString: string): string;
|
|
899
1347
|
chartsForMetric(metric: PerformanceMetricInterface): AiChartInterface[];
|
|
@@ -915,7 +1363,7 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
915
1363
|
getCategoryPillClass(categoryValue: string): string;
|
|
916
1364
|
formatValue(value: number): string;
|
|
917
1365
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SymphiqFunnelAnalysisDashboardComponent, never>;
|
|
918
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SymphiqFunnelAnalysisDashboardComponent, "symphiq-funnel-analysis-dashboard", never, { "requestedByUser": { "alias": "requestedByUser"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "funnelAnalysis": { "alias": "funnelAnalysis"; "required": false; "isSignal": true; }; "embedded": { "alias": "embedded"; "required": false; "isSignal": true; }; "scrollEvent": { "alias": "scrollEvent"; "required": false; "isSignal": true; }; "scrollElement": { "alias": "scrollElement"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "
|
|
1366
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SymphiqFunnelAnalysisDashboardComponent, "symphiq-funnel-analysis-dashboard", never, { "requestedByUser": { "alias": "requestedByUser"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "funnelAnalysis": { "alias": "funnelAnalysis"; "required": false; "isSignal": true; }; "businessProfile": { "alias": "businessProfile"; "required": false; "isSignal": true; }; "embedded": { "alias": "embedded"; "required": false; "isSignal": true; }; "scrollEvent": { "alias": "scrollEvent"; "required": false; "isSignal": true; }; "scrollElement": { "alias": "scrollElement"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isOnboarded": { "alias": "isOnboarded"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
919
1367
|
}
|
|
920
1368
|
|
|
921
1369
|
declare class MetricCardComponent {
|
|
@@ -931,6 +1379,7 @@ declare class MetricCardComponent {
|
|
|
931
1379
|
currentModalState: _angular_core.InputSignal<ModalState | undefined>;
|
|
932
1380
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
933
1381
|
initialExpandedSection: _angular_core.InputSignal<string | undefined>;
|
|
1382
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
934
1383
|
Math: Math;
|
|
935
1384
|
milestones: number[];
|
|
936
1385
|
currentYear: number;
|
|
@@ -1002,9 +1451,9 @@ declare class MetricCardComponent {
|
|
|
1002
1451
|
competitiveScoreBadgeLightClass: _angular_core.Signal<string>;
|
|
1003
1452
|
competitiveScoreBadgeDarkClass: _angular_core.Signal<string>;
|
|
1004
1453
|
competitiveScoreBadgeClass: _angular_core.Signal<string>;
|
|
1005
|
-
competitiveScoreTextClass: _angular_core.Signal<"" | "text-blue-400" | "text-
|
|
1006
|
-
competitiveComparisonDefaultClass: _angular_core.Signal<"text-slate-
|
|
1007
|
-
competitiveComparisonClass: _angular_core.Signal<"text-slate-
|
|
1454
|
+
competitiveScoreTextClass: _angular_core.Signal<"" | "text-blue-400" | "text-blue-700" | "text-orange-600" | "text-emerald-600">;
|
|
1455
|
+
competitiveComparisonDefaultClass: _angular_core.Signal<"text-slate-300" | "text-slate-700">;
|
|
1456
|
+
competitiveComparisonClass: _angular_core.Signal<"text-slate-300" | "text-slate-700" | "text-emerald-600 font-semibold" | "text-orange-600 font-semibold">;
|
|
1008
1457
|
getCompetitiveScoreIcon(): string;
|
|
1009
1458
|
getCompetitiveScoreLabel(): string;
|
|
1010
1459
|
getCompetitiveScoreLabelFull(): string;
|
|
@@ -1015,8 +1464,10 @@ declare class MetricCardComponent {
|
|
|
1015
1464
|
toggleCompetitiveBenchmark(): void;
|
|
1016
1465
|
hasProjectedValue(): boolean;
|
|
1017
1466
|
getProjectedValue(): number | undefined;
|
|
1467
|
+
getPriorityBadgeClasses(priority: number | undefined): string;
|
|
1468
|
+
getPriorityBadgeClassesHover(priority: number | undefined): string;
|
|
1018
1469
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MetricCardComponent, never>;
|
|
1019
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MetricCardComponent, "symphiq-funnel-analysis-metric-card", never, { "metric": { "alias": "metric"; "required": false; "isSignal": true; }; "insights": { "alias": "insights"; "required": false; "isSignal": true; }; "charts": { "alias": "charts"; "required": false; "isSignal": true; }; "allCharts": { "alias": "allCharts"; "required": false; "isSignal": true; }; "analysis": { "alias": "analysis"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "isInModal": { "alias": "isInModal"; "required": false; "isSignal": true; }; "currentModalState": { "alias": "currentModalState"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "initialExpandedSection": { "alias": "initialExpandedSection"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1470
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MetricCardComponent, "symphiq-funnel-analysis-metric-card", never, { "metric": { "alias": "metric"; "required": false; "isSignal": true; }; "insights": { "alias": "insights"; "required": false; "isSignal": true; }; "charts": { "alias": "charts"; "required": false; "isSignal": true; }; "allCharts": { "alias": "allCharts"; "required": false; "isSignal": true; }; "analysis": { "alias": "analysis"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "isInModal": { "alias": "isInModal"; "required": false; "isSignal": true; }; "currentModalState": { "alias": "currentModalState"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "initialExpandedSection": { "alias": "initialExpandedSection"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1020
1471
|
}
|
|
1021
1472
|
|
|
1022
1473
|
declare class InsightCardComponent {
|
|
@@ -1024,12 +1475,14 @@ declare class InsightCardComponent {
|
|
|
1024
1475
|
allMetrics: _angular_core.InputSignal<PerformanceMetricInterface[]>;
|
|
1025
1476
|
charts: _angular_core.InputSignal<AiChartInterface[]>;
|
|
1026
1477
|
allCharts: _angular_core.InputSignal<AiChartInterface[]>;
|
|
1478
|
+
allBusinessInsights: _angular_core.InputSignal<ProfileAnalysisRecommendationInterface[]>;
|
|
1027
1479
|
isLightMode: _angular_core.InputSignal<boolean>;
|
|
1028
1480
|
isInModal: _angular_core.InputSignal<boolean>;
|
|
1029
1481
|
isLoading: _angular_core.InputSignal<boolean>;
|
|
1030
1482
|
isCompactMode: _angular_core.InputSignal<boolean>;
|
|
1031
1483
|
currentModalState: _angular_core.InputSignal<ModalState | undefined>;
|
|
1032
1484
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
1485
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
1033
1486
|
isExpanded: _angular_core.WritableSignal<boolean>;
|
|
1034
1487
|
isCompetitiveContextExpanded: _angular_core.WritableSignal<boolean>;
|
|
1035
1488
|
lightModeTitleClass: _angular_core.Signal<string>;
|
|
@@ -1050,9 +1503,9 @@ declare class InsightCardComponent {
|
|
|
1050
1503
|
recommendationsContainerLightClass: _angular_core.Signal<string>;
|
|
1051
1504
|
recommendationsContainerDarkClass: _angular_core.Signal<string>;
|
|
1052
1505
|
recommendationsContainerClass: _angular_core.Signal<string>;
|
|
1053
|
-
priorityBadgeLightClass: _angular_core.Signal<"w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-
|
|
1054
|
-
priorityBadgeDarkClass: _angular_core.Signal<"w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-
|
|
1055
|
-
priorityBadgeClass: _angular_core.Signal<"w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-
|
|
1506
|
+
priorityBadgeLightClass: _angular_core.Signal<"w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-amber-100/70 text-amber-700 border-amber-400/60" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-blue-100/70 text-blue-700 border-blue-400/60" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-slate-100/70 text-slate-700 border-slate-400/60" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md animate-pulse bg-red-100/70 text-red-700 border-red-400/60">;
|
|
1507
|
+
priorityBadgeDarkClass: _angular_core.Signal<"w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-amber-500/20 text-amber-400 border-amber-500/50" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-blue-500/20 text-blue-400 border-blue-500/50" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-slate-500/20 text-slate-400 border-slate-500/50" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md animate-pulse bg-red-500/20 text-red-400 border-red-500/50">;
|
|
1508
|
+
priorityBadgeClass: _angular_core.Signal<"w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-amber-100/70 text-amber-700 border-amber-400/60" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-blue-100/70 text-blue-700 border-blue-400/60" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-slate-100/70 text-slate-700 border-slate-400/60" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-amber-500/20 text-amber-400 border-amber-500/50" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-blue-500/20 text-blue-400 border-blue-500/50" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md bg-slate-500/20 text-slate-400 border-slate-500/50" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md animate-pulse bg-red-100/70 text-red-700 border-red-400/60" | "w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold border-2 backdrop-blur-md animate-pulse bg-red-500/20 text-red-400 border-red-500/50">;
|
|
1056
1509
|
containerLightClass: _angular_core.Signal<"transition-all duration-300 hover:shadow-2xl hover:-translate-y-1 cursor-pointer group bg-gradient-to-br from-white to-blue-50/50 border-2 border-blue-300 hover:border-blue-400 shadow-lg shadow-blue-200/50 hover:shadow-blue-300/60" | "transition-all duration-300 hover:shadow-2xl hover:-translate-y-1 cursor-pointer group bg-white border-slate-200 hover:border-blue-400 hover:shadow-blue-100/50">;
|
|
1057
1510
|
containerDarkClass: _angular_core.Signal<"transition-all duration-300 hover:shadow-2xl hover:-translate-y-1 cursor-pointer group bg-gradient-to-br from-slate-800 to-blue-900/20 border-2 border-blue-500/40 hover:border-blue-400/60 shadow-lg shadow-blue-500/20 hover:shadow-blue-500/30" | "transition-all duration-300 hover:shadow-2xl hover:-translate-y-1 cursor-pointer group bg-slate-800 border-slate-700 hover:border-slate-500 hover:shadow-slate-900/50">;
|
|
1058
1511
|
containerClass: _angular_core.Signal<"transition-all duration-300 hover:shadow-2xl hover:-translate-y-1 cursor-pointer group bg-gradient-to-br from-white to-blue-50/50 border-2 border-blue-300 hover:border-blue-400 shadow-lg shadow-blue-200/50 hover:shadow-blue-300/60" | "transition-all duration-300 hover:shadow-2xl hover:-translate-y-1 cursor-pointer group bg-white border-slate-200 hover:border-blue-400 hover:shadow-blue-100/50" | "transition-all duration-300 hover:shadow-2xl hover:-translate-y-1 cursor-pointer group bg-gradient-to-br from-slate-800 to-blue-900/20 border-2 border-blue-500/40 hover:border-blue-400/60 shadow-lg shadow-blue-500/20 hover:shadow-blue-500/30" | "transition-all duration-300 hover:shadow-2xl hover:-translate-y-1 cursor-pointer group bg-slate-800 border-slate-700 hover:border-slate-500 hover:shadow-slate-900/50">;
|
|
@@ -1085,13 +1538,17 @@ declare class InsightCardComponent {
|
|
|
1085
1538
|
toggleCompetitiveContext(): void;
|
|
1086
1539
|
hasCompetitiveAnalysis(): boolean;
|
|
1087
1540
|
getCompetitiveAnalysis(): string;
|
|
1541
|
+
relatedBusinessInsights: _angular_core.Signal<ProfileAnalysisRecommendationInterface[]>;
|
|
1542
|
+
relatedBusinessInsightsCount: _angular_core.Signal<number>;
|
|
1543
|
+
hasRelatedBusinessInsights: _angular_core.Signal<boolean>;
|
|
1544
|
+
openRelatedBusinessInsightsModal(): void;
|
|
1088
1545
|
competitiveContextPanelLightBaseClass: _angular_core.Signal<string>;
|
|
1089
1546
|
competitiveContextPanelDarkBaseClass: _angular_core.Signal<string>;
|
|
1090
1547
|
priorityBorderLightClass: _angular_core.Signal<"border-l-red-400" | "border-l-amber-400" | "border-l-blue-400" | "border-l-slate-400">;
|
|
1091
1548
|
priorityBorderDarkClass: _angular_core.Signal<"border-l-red-500" | "border-l-amber-500" | "border-l-blue-500" | "border-l-slate-500">;
|
|
1092
1549
|
competitiveContextPanelClass: _angular_core.Signal<string>;
|
|
1093
1550
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InsightCardComponent, never>;
|
|
1094
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InsightCardComponent, "symphiq-funnel-analysis-insight-card", never, { "insight": { "alias": "insight"; "required": false; "isSignal": true; }; "allMetrics": { "alias": "allMetrics"; "required": false; "isSignal": true; }; "charts": { "alias": "charts"; "required": false; "isSignal": true; }; "allCharts": { "alias": "allCharts"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isInModal": { "alias": "isInModal"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "currentModalState": { "alias": "currentModalState"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1551
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InsightCardComponent, "symphiq-funnel-analysis-insight-card", never, { "insight": { "alias": "insight"; "required": false; "isSignal": true; }; "allMetrics": { "alias": "allMetrics"; "required": false; "isSignal": true; }; "charts": { "alias": "charts"; "required": false; "isSignal": true; }; "allCharts": { "alias": "allCharts"; "required": false; "isSignal": true; }; "allBusinessInsights": { "alias": "allBusinessInsights"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isInModal": { "alias": "isInModal"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "currentModalState": { "alias": "currentModalState"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1095
1552
|
}
|
|
1096
1553
|
|
|
1097
1554
|
interface MetricGroup {
|
|
@@ -1106,6 +1563,7 @@ declare class BreakdownSectionComponent {
|
|
|
1106
1563
|
isLightMode: _angular_core.InputSignal<boolean>;
|
|
1107
1564
|
isLoading: _angular_core.InputSignal<boolean>;
|
|
1108
1565
|
isCompactMode: _angular_core.InputSignal<boolean>;
|
|
1566
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
1109
1567
|
Math: Math;
|
|
1110
1568
|
private tooltipDataService;
|
|
1111
1569
|
private modalService;
|
|
@@ -1183,7 +1641,7 @@ declare class BreakdownSectionComponent {
|
|
|
1183
1641
|
toggleMetricExpansion(metricKey: string): void;
|
|
1184
1642
|
getTopPriorityMetrics(metrics: PerformanceMetricInterface[], count?: number): PerformanceMetricInterface[];
|
|
1185
1643
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BreakdownSectionComponent, never>;
|
|
1186
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreakdownSectionComponent, "symphiq-funnel-analysis-breakdown-section", never, { "breakdown": { "alias": "breakdown"; "required": false; "isSignal": true; }; "charts": { "alias": "charts"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1644
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BreakdownSectionComponent, "symphiq-funnel-analysis-breakdown-section", never, { "breakdown": { "alias": "breakdown"; "required": false; "isSignal": true; }; "charts": { "alias": "charts"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1187
1645
|
}
|
|
1188
1646
|
|
|
1189
1647
|
declare class OverallAssessmentComponent {
|
|
@@ -1195,6 +1653,9 @@ declare class OverallAssessmentComponent {
|
|
|
1195
1653
|
isLoading: _angular_core.InputSignal<boolean>;
|
|
1196
1654
|
isCompactMode: _angular_core.InputSignal<boolean>;
|
|
1197
1655
|
isChartsLoading: _angular_core.InputSignal<boolean>;
|
|
1656
|
+
strengths: _angular_core.InputSignal<any[]>;
|
|
1657
|
+
weaknesses: _angular_core.InputSignal<any[]>;
|
|
1658
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
1198
1659
|
scrollToSection: _angular_core.OutputEmitterRef<string>;
|
|
1199
1660
|
private modalService;
|
|
1200
1661
|
private tooltipDataService;
|
|
@@ -1228,15 +1689,15 @@ declare class OverallAssessmentComponent {
|
|
|
1228
1689
|
darkModeRevenueIconClass: _angular_core.Signal<string>;
|
|
1229
1690
|
revenueIconClass: _angular_core.Signal<string>;
|
|
1230
1691
|
formattedRevenueValue: _angular_core.Signal<string>;
|
|
1231
|
-
revenueTrendDirection: _angular_core.Signal<
|
|
1692
|
+
revenueTrendDirection: _angular_core.Signal<TrendDirectionEnum>;
|
|
1232
1693
|
isRevenueTrendPositive: _angular_core.Signal<boolean>;
|
|
1233
1694
|
revenueTrendArrowPath: _angular_core.Signal<"M5.293 9.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 7.414V15a1 1 0 11-2 0V7.414L6.707 9.707a1 1 0 01-1.414 0z" | "M14.707 10.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 12.586V5a1 1 0 012 0v7.586l2.293-2.293a1 1 0 011.414 0z" | "M3 10h11m0 0l-4-4m4 4l-4 4">;
|
|
1234
|
-
lightModeTrendIconClass: _angular_core.Signal<"text-
|
|
1695
|
+
lightModeTrendIconClass: _angular_core.Signal<"text-red-600" | "text-emerald-600">;
|
|
1235
1696
|
darkModeTrendIconClass: _angular_core.Signal<"text-emerald-400" | "text-red-400">;
|
|
1236
|
-
trendIconClass: _angular_core.Signal<"text-emerald-
|
|
1237
|
-
lightModeTrendValueClass: _angular_core.Signal<"text-
|
|
1697
|
+
trendIconClass: _angular_core.Signal<"text-emerald-400" | "text-red-400" | "text-red-600" | "text-emerald-600">;
|
|
1698
|
+
lightModeTrendValueClass: _angular_core.Signal<"text-red-600" | "text-emerald-600">;
|
|
1238
1699
|
darkModeTrendValueClass: _angular_core.Signal<"text-emerald-400" | "text-red-400">;
|
|
1239
|
-
trendValueClass: _angular_core.Signal<"text-emerald-
|
|
1700
|
+
trendValueClass: _angular_core.Signal<"text-emerald-400" | "text-red-400" | "text-red-600" | "text-emerald-600">;
|
|
1240
1701
|
formattedRevenueTrend: _angular_core.Signal<string>;
|
|
1241
1702
|
formattedRevenueTarget: _angular_core.Signal<string>;
|
|
1242
1703
|
hasRevenuePacing: _angular_core.Signal<boolean>;
|
|
@@ -1329,8 +1790,12 @@ declare class OverallAssessmentComponent {
|
|
|
1329
1790
|
revenueTrendTooltip: _angular_core.Signal<TrendIndicatorTooltipContent | undefined>;
|
|
1330
1791
|
private calculateOverallPacing;
|
|
1331
1792
|
private getGradeExplanation;
|
|
1793
|
+
strengthsButtonClass: _angular_core.Signal<"bg-emerald-600 hover:bg-emerald-700 text-white hover:shadow-emerald-200" | "bg-emerald-500 hover:bg-emerald-600 text-slate-900 hover:shadow-emerald-500/50">;
|
|
1794
|
+
weaknessesButtonClass: _angular_core.Signal<"bg-red-600 hover:bg-red-700 text-white hover:shadow-red-200" | "bg-red-500 hover:bg-red-600 text-white hover:shadow-red-500/50">;
|
|
1795
|
+
openStrengthsModal(): void;
|
|
1796
|
+
openWeaknessesModal(): void;
|
|
1332
1797
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverallAssessmentComponent, never>;
|
|
1333
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OverallAssessmentComponent, "symphiq-funnel-analysis-overall-assessment", never, { "assessment": { "alias": "assessment"; "required": false; "isSignal": true; }; "revenueMetric": { "alias": "revenueMetric"; "required": false; "isSignal": true; }; "charts": { "alias": "charts"; "required": false; "isSignal": true; }; "metrics": { "alias": "metrics"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "isChartsLoading": { "alias": "isChartsLoading"; "required": false; "isSignal": true; }; }, { "scrollToSection": "scrollToSection"; }, never, never, true, never>;
|
|
1798
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OverallAssessmentComponent, "symphiq-funnel-analysis-overall-assessment", never, { "assessment": { "alias": "assessment"; "required": false; "isSignal": true; }; "revenueMetric": { "alias": "revenueMetric"; "required": false; "isSignal": true; }; "charts": { "alias": "charts"; "required": false; "isSignal": true; }; "metrics": { "alias": "metrics"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "isChartsLoading": { "alias": "isChartsLoading"; "required": false; "isSignal": true; }; "strengths": { "alias": "strengths"; "required": false; "isSignal": true; }; "weaknesses": { "alias": "weaknesses"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, { "scrollToSection": "scrollToSection"; }, never, never, true, never>;
|
|
1334
1799
|
}
|
|
1335
1800
|
|
|
1336
1801
|
interface CompetitiveStats {
|
|
@@ -1361,6 +1826,7 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1361
1826
|
description?: string;
|
|
1362
1827
|
keyOpportunities?: string;
|
|
1363
1828
|
} | undefined>;
|
|
1829
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
1364
1830
|
scrollToCompetitive: _angular_core.OutputEmitterRef<void>;
|
|
1365
1831
|
isExpanded: _angular_core.WritableSignal<boolean>;
|
|
1366
1832
|
private funnelOrderService;
|
|
@@ -1378,7 +1844,7 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1378
1844
|
getScoreDotClass(type: string): string;
|
|
1379
1845
|
formatCategoryName(category: string): string;
|
|
1380
1846
|
competitiveScoreTooltip: _angular_core.Signal<{
|
|
1381
|
-
industry:
|
|
1847
|
+
industry: string;
|
|
1382
1848
|
metricBenchmark: string;
|
|
1383
1849
|
competitiveScore: "LEADING" | "COMPETITIVE" | "LAGGING";
|
|
1384
1850
|
description: string;
|
|
@@ -1396,6 +1862,7 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1396
1862
|
};
|
|
1397
1863
|
unit: string;
|
|
1398
1864
|
}[];
|
|
1865
|
+
currencySymbol: string;
|
|
1399
1866
|
}>;
|
|
1400
1867
|
competitiveTooltip: _angular_core.Signal<{
|
|
1401
1868
|
status: "COMPETITIVE";
|
|
@@ -1409,6 +1876,7 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1409
1876
|
};
|
|
1410
1877
|
unit: string;
|
|
1411
1878
|
}[];
|
|
1879
|
+
currencySymbol: string;
|
|
1412
1880
|
}>;
|
|
1413
1881
|
laggingTooltip: _angular_core.Signal<{
|
|
1414
1882
|
status: "LAGGING";
|
|
@@ -1422,6 +1890,7 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1422
1890
|
};
|
|
1423
1891
|
unit: string;
|
|
1424
1892
|
}[];
|
|
1893
|
+
currencySymbol: string;
|
|
1425
1894
|
}>;
|
|
1426
1895
|
private getMetricsByStatus;
|
|
1427
1896
|
getFunnelStageTooltip(funnelStage: string): {
|
|
@@ -1454,10 +1923,11 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1454
1923
|
};
|
|
1455
1924
|
unit: string;
|
|
1456
1925
|
}[];
|
|
1926
|
+
currencySymbol: string;
|
|
1457
1927
|
};
|
|
1458
1928
|
private extractMetricTooltipData;
|
|
1459
1929
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CompetitivePositioningSummaryComponent, never>;
|
|
1460
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CompetitivePositioningSummaryComponent, "symphiq-competitive-positioning-summary", never, { "metrics": { "alias": "metrics"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "overallDescription": { "alias": "overallDescription"; "required": false; "isSignal": true; }; "competitiveBenchmark": { "alias": "competitiveBenchmark"; "required": false; "isSignal": true; }; }, { "scrollToCompetitive": "scrollToCompetitive"; }, never, never, true, never>;
|
|
1930
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CompetitivePositioningSummaryComponent, "symphiq-competitive-positioning-summary", never, { "metrics": { "alias": "metrics"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "overallDescription": { "alias": "overallDescription"; "required": false; "isSignal": true; }; "competitiveBenchmark": { "alias": "competitiveBenchmark"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, { "scrollToCompetitive": "scrollToCompetitive"; }, never, never, true, never>;
|
|
1461
1931
|
}
|
|
1462
1932
|
|
|
1463
1933
|
declare class SkeletonLoaderComponent {
|
|
@@ -1488,7 +1958,6 @@ declare class MobileFABComponent {
|
|
|
1488
1958
|
declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
1489
1959
|
analysisInput: _angular_core.InputSignal<FunnelAnalysisInterface | undefined>;
|
|
1490
1960
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
1491
|
-
useSampleData: _angular_core.InputSignal<boolean>;
|
|
1492
1961
|
scrollElement: _angular_core.InputSignal<HTMLElement | null | undefined>;
|
|
1493
1962
|
isLightMode: _angular_core.Signal<boolean>;
|
|
1494
1963
|
onViewAnalysis: _angular_core.OutputEmitterRef<void>;
|
|
@@ -1499,26 +1968,26 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1499
1968
|
constructor();
|
|
1500
1969
|
analysisData: _angular_core.Signal<FunnelAnalysisInterface | undefined>;
|
|
1501
1970
|
title: _angular_core.Signal<string>;
|
|
1502
|
-
analysis: _angular_core.Signal<
|
|
1503
|
-
overallAssessment: _angular_core.Signal<
|
|
1971
|
+
analysis: _angular_core.Signal<PerformanceOverviewStructuredV3Interface>;
|
|
1972
|
+
overallAssessment: _angular_core.Signal<OverallAssessmentInterface>;
|
|
1504
1973
|
metrics: _angular_core.Signal<PerformanceMetricInterface[]>;
|
|
1505
|
-
insights: _angular_core.Signal<
|
|
1506
|
-
insightsCount: _angular_core.Signal<
|
|
1974
|
+
insights: _angular_core.Signal<InsightBlockInterface[]>;
|
|
1975
|
+
insightsCount: _angular_core.Signal<number>;
|
|
1507
1976
|
revenueMetric: _angular_core.Signal<PerformanceMetricInterface | undefined>;
|
|
1508
1977
|
topMetrics: _angular_core.Signal<PerformanceMetricInterface[]>;
|
|
1509
1978
|
formattedRevenueValue: _angular_core.Signal<string>;
|
|
1510
1979
|
formattedRevenueTrend: _angular_core.Signal<string>;
|
|
1511
|
-
revenueStatusIcon: _angular_core.Signal<"
|
|
1980
|
+
revenueStatusIcon: _angular_core.Signal<"→" | "⚠" | "↑" | "•">;
|
|
1512
1981
|
hasCompetitiveData: _angular_core.Signal<boolean>;
|
|
1513
1982
|
hasOverallCompetitiveBenchmark: _angular_core.Signal<boolean>;
|
|
1514
|
-
overallCompetitiveDescription: _angular_core.Signal<
|
|
1983
|
+
overallCompetitiveDescription: _angular_core.Signal<string>;
|
|
1515
1984
|
getOverallCompetitiveLabel(): string;
|
|
1516
1985
|
getOverallCompetitiveIcon(): string;
|
|
1517
1986
|
competitiveScore: _angular_core.Signal<string>;
|
|
1518
1987
|
gradeTooltip: _angular_core.Signal<{
|
|
1519
1988
|
title: string;
|
|
1520
|
-
grade:
|
|
1521
|
-
explanation:
|
|
1989
|
+
grade: string;
|
|
1990
|
+
explanation: string;
|
|
1522
1991
|
}>;
|
|
1523
1992
|
revenueTooltip: _angular_core.Signal<{
|
|
1524
1993
|
chartData: {
|
|
@@ -1533,6 +2002,7 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1533
2002
|
unit?: string;
|
|
1534
2003
|
category?: string;
|
|
1535
2004
|
isInverseMetric?: boolean;
|
|
2005
|
+
currencySymbol?: string;
|
|
1536
2006
|
} | {
|
|
1537
2007
|
metricName: string;
|
|
1538
2008
|
currentValue: number;
|
|
@@ -1544,10 +2014,10 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1544
2014
|
progressPercent: number;
|
|
1545
2015
|
}>;
|
|
1546
2016
|
narrativeTooltip: _angular_core.Signal<{
|
|
1547
|
-
narrative:
|
|
2017
|
+
narrative: string;
|
|
1548
2018
|
}>;
|
|
1549
2019
|
competitiveTooltip: _angular_core.Signal<{
|
|
1550
|
-
industry:
|
|
2020
|
+
industry: string;
|
|
1551
2021
|
metricBenchmark: string;
|
|
1552
2022
|
competitiveScore: "LEADING" | "COMPETITIVE" | "LAGGING";
|
|
1553
2023
|
description: string;
|
|
@@ -1555,19 +2025,22 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1555
2025
|
}>;
|
|
1556
2026
|
insightsTooltip: _angular_core.Signal<{
|
|
1557
2027
|
title: string;
|
|
1558
|
-
insights:
|
|
2028
|
+
insights: {
|
|
2029
|
+
title: string;
|
|
2030
|
+
priority: number;
|
|
2031
|
+
}[];
|
|
1559
2032
|
remaining: number;
|
|
1560
2033
|
}>;
|
|
1561
2034
|
overallCompetitiveTooltip: _angular_core.Signal<{
|
|
1562
|
-
industry:
|
|
1563
|
-
metricBenchmark:
|
|
1564
|
-
competitiveScore:
|
|
1565
|
-
description:
|
|
1566
|
-
keyOpportunities:
|
|
2035
|
+
industry: string;
|
|
2036
|
+
metricBenchmark: string;
|
|
2037
|
+
competitiveScore: string;
|
|
2038
|
+
description: string;
|
|
2039
|
+
keyOpportunities: string;
|
|
1567
2040
|
}>;
|
|
1568
2041
|
overallCompetitiveDescriptionTooltip: _angular_core.Signal<{
|
|
1569
2042
|
title: string;
|
|
1570
|
-
narrative:
|
|
2043
|
+
narrative: string;
|
|
1571
2044
|
}>;
|
|
1572
2045
|
containerClass: _angular_core.Signal<string>;
|
|
1573
2046
|
headerClass: _angular_core.Signal<string>;
|
|
@@ -1590,7 +2063,7 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1590
2063
|
buttonClass: _angular_core.Signal<string>;
|
|
1591
2064
|
competitiveBadgeClass: _angular_core.Signal<string>;
|
|
1592
2065
|
shouldPulseCompetitiveBadge: _angular_core.Signal<boolean>;
|
|
1593
|
-
overallCompetitiveStatusBadgeClass: _angular_core.Signal<"border-2 bg-gradient-to-
|
|
2066
|
+
overallCompetitiveStatusBadgeClass: _angular_core.Signal<"border-2 bg-gradient-to-br from-emerald-100/90 to-emerald-50/90 text-emerald-700 border-emerald-200/50 shadow-[2px_2px_4px_rgba(163,163,163,0.25),-2px_-2px_4px_rgba(255,255,255,0.75)]" | "border-2 bg-gradient-to-br from-blue-100/90 to-blue-50/90 text-blue-700 border-blue-200/50 shadow-[2px_2px_4px_rgba(163,163,163,0.25),-2px_-2px_4px_rgba(255,255,255,0.75)]" | "border-2 bg-gradient-to-br from-orange-100/90 to-orange-50/90 text-orange-700 border-orange-200/50 shadow-[2px_2px_4px_rgba(163,163,163,0.25),-2px_-2px_4px_rgba(255,255,255,0.75)]" | "border-2 bg-gradient-to-br from-slate-100/90 to-slate-50/90 text-slate-700 border-slate-200/50 shadow-[2px_2px_4px_rgba(163,163,163,0.25),-2px_-2px_4px_rgba(255,255,255,0.75)]" | "border-2 bg-gradient-to-r from-emerald-500/30 to-emerald-500/20 text-emerald-400 border-emerald-500/40 shadow-lg shadow-emerald-500/20" | "border-2 bg-gradient-to-r from-blue-500/30 to-blue-500/20 text-blue-400 border-blue-500/40 shadow-lg shadow-blue-500/20" | "border-2 bg-gradient-to-r from-orange-500/30 to-orange-500/20 text-orange-400 border-orange-500/40 shadow-lg shadow-orange-500/20" | "border-2 bg-gradient-to-r from-slate-500/20 to-slate-500/10 text-slate-400 border-slate-500/30 shadow-lg shadow-slate-500/20">;
|
|
1594
2067
|
shouldPulseOverallCompetitive: _angular_core.Signal<boolean>;
|
|
1595
2068
|
statusIconClass: _angular_core.Signal<string>;
|
|
1596
2069
|
insightsCardClass: _angular_core.Signal<string>;
|
|
@@ -1610,60 +2083,7 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1610
2083
|
private extractChartData;
|
|
1611
2084
|
handleViewAnalysis(): void;
|
|
1612
2085
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SymphiqFunnelAnalysisPreviewComponent, never>;
|
|
1613
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SymphiqFunnelAnalysisPreviewComponent, "symphiq-funnel-analysis-preview", never, { "analysisInput": { "alias": "funnelAnalysis"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "
|
|
1614
|
-
}
|
|
1615
|
-
|
|
1616
|
-
type JourneyStep = 'business-analysis' | 'revenue-targets' | 'funnel-analysis' | 'shop-analysis' | 'focus-areas-analysis' | 'metrics-analysis';
|
|
1617
|
-
interface UserPreferences {
|
|
1618
|
-
viewMode: ViewMode;
|
|
1619
|
-
currentJourneyStep: JourneyStep;
|
|
1620
|
-
completedSteps: JourneyStep[];
|
|
1621
|
-
hasSeenWelcome: boolean;
|
|
1622
|
-
}
|
|
1623
|
-
declare class UserPreferencesService {
|
|
1624
|
-
private readonly STORAGE_KEY;
|
|
1625
|
-
private preferences;
|
|
1626
|
-
constructor();
|
|
1627
|
-
getPreferences(): _angular_core.Signal<UserPreferences>;
|
|
1628
|
-
setViewMode(mode: ViewMode): void;
|
|
1629
|
-
setCurrentJourneyStep(step: JourneyStep): void;
|
|
1630
|
-
completeJourneyStep(step: JourneyStep): void;
|
|
1631
|
-
setHasSeenWelcome(seen: boolean): void;
|
|
1632
|
-
resetPreferences(): void;
|
|
1633
|
-
private loadPreferences;
|
|
1634
|
-
private savePreferences;
|
|
1635
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<UserPreferencesService, never>;
|
|
1636
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<UserPreferencesService>;
|
|
1637
|
-
}
|
|
1638
|
-
|
|
1639
|
-
type ComponentViewMode = 'simplified' | 'compact' | 'expanded';
|
|
1640
|
-
|
|
1641
|
-
declare class ProfileItemLookupService {
|
|
1642
|
-
private profileData;
|
|
1643
|
-
setProfile(profile: ProfileInterface | undefined): void;
|
|
1644
|
-
findItemById(id: string): ProfileItemInterface | undefined;
|
|
1645
|
-
findItemsByIds(ids: string[]): ProfileItemInterface[];
|
|
1646
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileItemLookupService, never>;
|
|
1647
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ProfileItemLookupService>;
|
|
1648
|
-
}
|
|
1649
|
-
|
|
1650
|
-
declare class ProfileContextService {
|
|
1651
|
-
private contextIndex;
|
|
1652
|
-
indexProfile(sections: any[], recommendations?: ProfileAnalysisRecommendationInterface[]): void;
|
|
1653
|
-
getRegions(): ProfileItemInterface[];
|
|
1654
|
-
getSeasons(): ProfileItemInterface[];
|
|
1655
|
-
getPriceTiers(): ProfileItemInterface[];
|
|
1656
|
-
getCustomerSegments(): ProfileItemInterface[];
|
|
1657
|
-
getProductCategories(): ProfileItemInterface[];
|
|
1658
|
-
getFocusAreas(): ProfileItemInterface[];
|
|
1659
|
-
getItemById(id: string): ProfileItemInterface | undefined;
|
|
1660
|
-
getItemsByIds(ids: string[]): ProfileItemInterface[];
|
|
1661
|
-
getCompetitors(): ProfileItemInterface[];
|
|
1662
|
-
getRecommendationById(id: string): ProfileAnalysisRecommendationInterface | undefined;
|
|
1663
|
-
getCompetitorsByIds(ids: string[]): ProfileItemInterface[];
|
|
1664
|
-
getRecommendationsByProfileItemIds(itemIds: string[]): ProfileAnalysisRecommendationInterface[];
|
|
1665
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileContextService, never>;
|
|
1666
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ProfileContextService>;
|
|
2086
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SymphiqFunnelAnalysisPreviewComponent, "symphiq-funnel-analysis-preview", never, { "analysisInput": { "alias": "funnelAnalysis"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "scrollElement": { "alias": "scrollElement"; "required": false; "isSignal": true; }; }, { "onViewAnalysis": "onViewAnalysis"; }, never, never, true, never>;
|
|
1667
2087
|
}
|
|
1668
2088
|
|
|
1669
2089
|
declare class SymphiqBusinessAnalysisDashboardComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
@@ -1676,27 +2096,32 @@ declare class SymphiqBusinessAnalysisDashboardComponent implements OnInit, After
|
|
|
1676
2096
|
scrollEvent?: Event;
|
|
1677
2097
|
scrollElement?: HTMLElement;
|
|
1678
2098
|
isLoading: boolean;
|
|
1679
|
-
useSampleData: boolean;
|
|
1680
2099
|
profile?: ProfileInterface;
|
|
1681
2100
|
parentHeaderOffset: number;
|
|
2101
|
+
isOnboarded: boolean;
|
|
1682
2102
|
protected headerScrollService: HeaderScrollService;
|
|
1683
2103
|
protected lookupService: ProfileItemLookupService;
|
|
1684
2104
|
protected navigationService: NavigationStateService;
|
|
1685
2105
|
protected profileContextService: ProfileContextService;
|
|
1686
2106
|
protected searchService: BusinessProfileSearchService;
|
|
1687
|
-
protected
|
|
2107
|
+
protected modalService: ModalService;
|
|
1688
2108
|
protected currentProfile: _angular_core.WritableSignal<ProfileInterface | undefined>;
|
|
1689
2109
|
protected scrollProgress: _angular_core.Signal<number>;
|
|
1690
2110
|
protected isLightMode: _angular_core.Signal<boolean>;
|
|
1691
|
-
protected
|
|
1692
|
-
protected
|
|
2111
|
+
protected displayMode: _angular_core.WritableSignal<DisplayModeEnum>;
|
|
2112
|
+
protected isCompactView: _angular_core.Signal<boolean>;
|
|
2113
|
+
protected isSimplifiedView: _angular_core.Signal<boolean>;
|
|
1693
2114
|
protected currentSectionTitle: _angular_core.WritableSignal<string>;
|
|
1694
2115
|
protected currentSubsectionTitle: _angular_core.WritableSignal<string>;
|
|
1695
2116
|
protected sectionTitleFading: _angular_core.WritableSignal<boolean>;
|
|
1696
2117
|
protected subsectionTitleFading: _angular_core.WritableSignal<boolean>;
|
|
1697
2118
|
protected selectedSearchIndex: _angular_core.WritableSignal<number>;
|
|
1698
|
-
protected
|
|
2119
|
+
protected isViewModeSwitcherOpen: _angular_core.WritableSignal<boolean>;
|
|
2120
|
+
protected isViewModeSwitching: _angular_core.WritableSignal<boolean>;
|
|
1699
2121
|
protected sections: _angular_core.Signal<ProfileSectionInterface[]>;
|
|
2122
|
+
protected recommendationItems: _angular_core.Signal<ProfileAnalysisRecommendationInterface[]>;
|
|
2123
|
+
protected nonRecommendationSections: _angular_core.Signal<ProfileSectionInterface[]>;
|
|
2124
|
+
protected displayModeLabel: _angular_core.Signal<"Simplified" | "Compact" | "Expanded" | "View">;
|
|
1700
2125
|
private subsectionObserver?;
|
|
1701
2126
|
private sectionUpdateTimeout?;
|
|
1702
2127
|
private subsectionUpdateTimeout?;
|
|
@@ -1710,18 +2135,21 @@ declare class SymphiqBusinessAnalysisDashboardComponent implements OnInit, After
|
|
|
1710
2135
|
protected subsectionHasContent(subsection: ProfileSubsectionInterface): boolean;
|
|
1711
2136
|
constructor();
|
|
1712
2137
|
onScroll(): void;
|
|
1713
|
-
protected setViewMode(mode: ComponentViewMode): void;
|
|
1714
2138
|
protected toggleExpandedView(): void;
|
|
1715
|
-
protected
|
|
1716
|
-
protected
|
|
1717
|
-
protected
|
|
1718
|
-
protected
|
|
1719
|
-
protected
|
|
2139
|
+
protected openViewModeSwitcher(): void;
|
|
2140
|
+
protected closeViewModeSwitcher(): void;
|
|
2141
|
+
protected handleDisplayModeChange(mode: DisplayModeEnum): void;
|
|
2142
|
+
protected openRecommendationDetailsModal(recommendation: ProfileAnalysisRecommendationInterface): void;
|
|
2143
|
+
protected getViewModeButtonClasses(): string;
|
|
1720
2144
|
handleKeyDown(event: KeyboardEvent): void;
|
|
1721
2145
|
protected openSearch(): void;
|
|
1722
2146
|
protected closeSearch(): void;
|
|
1723
2147
|
protected onSearchChange(query: string): void;
|
|
1724
2148
|
protected onSearchResultSelected(result: BusinessSearchResult): void;
|
|
2149
|
+
protected handleViewInContext(event: {
|
|
2150
|
+
itemId: string;
|
|
2151
|
+
itemType?: string;
|
|
2152
|
+
}): void;
|
|
1725
2153
|
private scrollToSearchResult;
|
|
1726
2154
|
private highlightAndPulseItem;
|
|
1727
2155
|
ngOnInit(): void;
|
|
@@ -1739,7 +2167,7 @@ declare class SymphiqBusinessAnalysisDashboardComponent implements OnInit, After
|
|
|
1739
2167
|
protected getSpinnerClasses(): string;
|
|
1740
2168
|
protected trackBySectionId(index: number, section: ProfileSectionInterface): string | number;
|
|
1741
2169
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SymphiqBusinessAnalysisDashboardComponent, never>;
|
|
1742
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SymphiqBusinessAnalysisDashboardComponent, "symphiq-business-analysis-dashboard", never, { "requestedByUser": { "alias": "requestedByUser"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "embedded": { "alias": "embedded"; "required": false; }; "scrollEvent": { "alias": "scrollEvent"; "required": false; }; "scrollElement": { "alias": "scrollElement"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "
|
|
2170
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SymphiqBusinessAnalysisDashboardComponent, "symphiq-business-analysis-dashboard", never, { "requestedByUser": { "alias": "requestedByUser"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "embedded": { "alias": "embedded"; "required": false; }; "scrollEvent": { "alias": "scrollEvent"; "required": false; }; "scrollElement": { "alias": "scrollElement"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "profile": { "alias": "profile"; "required": false; }; "parentHeaderOffset": { "alias": "parentHeaderOffset"; "required": false; }; "isOnboarded": { "alias": "isOnboarded"; "required": false; }; }, {}, never, never, true, never>;
|
|
1743
2171
|
}
|
|
1744
2172
|
|
|
1745
2173
|
declare class ProfileSectionComponent {
|
|
@@ -1749,11 +2177,12 @@ declare class ProfileSectionComponent {
|
|
|
1749
2177
|
viewMode: ViewModeEnum;
|
|
1750
2178
|
forceExpanded: boolean;
|
|
1751
2179
|
protected visibleSubsections: _angular_core.Signal<ProfileSubsectionInterface[]>;
|
|
2180
|
+
protected isDark: _angular_core.Signal<boolean>;
|
|
2181
|
+
protected containerClasses: _angular_core.Signal<"relative" | "relative bg-slate-50/50">;
|
|
2182
|
+
protected iconContainerClasses: _angular_core.Signal<"p-4 rounded-2xl bg-gradient-to-br from-blue-500/20 to-purple-500/20 text-blue-400" | "p-4 rounded-2xl bg-gradient-to-br from-blue-100 to-purple-100 text-blue-600">;
|
|
2183
|
+
protected titleClasses: _angular_core.Signal<"text-3xl font-bold text-white" | "text-3xl font-bold text-slate-900">;
|
|
2184
|
+
protected dividerClasses: _angular_core.Signal<"h-1 w-24 rounded-full mt-3 bg-gradient-to-r from-blue-500 to-purple-500" | "h-1 w-24 rounded-full mt-3 bg-gradient-to-r from-blue-600 to-purple-600">;
|
|
1752
2185
|
protected subsectionHasContent(subsection: ProfileSubsectionInterface): boolean;
|
|
1753
|
-
protected getContainerClasses(): string;
|
|
1754
|
-
protected getIconContainerClasses(): string;
|
|
1755
|
-
protected getTitleClasses(): string;
|
|
1756
|
-
protected getDividerClasses(): string;
|
|
1757
2186
|
protected trackBySubsectionId(index: number, subsection: ProfileSubsectionInterface): string | number;
|
|
1758
2187
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileSectionComponent, never>;
|
|
1759
2188
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProfileSectionComponent, "symphiq-profile-section", never, { "section": { "alias": "section"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "forceExpanded": { "alias": "forceExpanded"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -1768,16 +2197,24 @@ declare class ProfileSubsectionComponent {
|
|
|
1768
2197
|
private sanitizer;
|
|
1769
2198
|
private profileContextService;
|
|
1770
2199
|
protected ProfileItemTypeEnum: typeof ProfileItemTypeEnum;
|
|
2200
|
+
protected isDark: _angular_core.Signal<boolean>;
|
|
1771
2201
|
protected sortedItems: _angular_core.Signal<ProfileItemInterface[]>;
|
|
2202
|
+
private contentCache;
|
|
1772
2203
|
protected formatContentWithLineBreaks(content: string): SafeHtml;
|
|
1773
|
-
protected
|
|
1774
|
-
protected
|
|
1775
|
-
protected
|
|
1776
|
-
protected
|
|
1777
|
-
protected
|
|
2204
|
+
protected containerClasses: _angular_core.Signal<"p-6 rounded-xl bg-slate-800/30 border border-slate-700/50" | "p-6 rounded-xl bg-white border border-slate-200 shadow-sm">;
|
|
2205
|
+
protected iconClasses: _angular_core.Signal<"p-2 rounded-lg flex-shrink-0 bg-purple-500/10 text-purple-400" | "p-2 rounded-lg flex-shrink-0 bg-purple-50 text-purple-600">;
|
|
2206
|
+
protected titleClasses: _angular_core.Signal<"text-xl font-bold text-white" | "text-xl font-bold text-slate-900">;
|
|
2207
|
+
protected contentClasses: _angular_core.Signal<"mt-2 text-base leading-relaxed text-slate-300" | "mt-2 text-base leading-relaxed text-slate-600">;
|
|
2208
|
+
protected visualContainerClasses: _angular_core.Signal<"mb-6 lg:float-left lg:mr-6 lg:mb-4 lg:max-w-[66%]" | "mb-6 lg:float-right lg:ml-6 lg:mb-4 lg:max-w-[66%]">;
|
|
1778
2209
|
protected getDisplayContent(): string | null;
|
|
1779
2210
|
protected trackByItemId(index: number, item: ProfileItemInterface): string | number;
|
|
1780
|
-
protected getCompetitiveBenchmark():
|
|
2211
|
+
protected getCompetitiveBenchmark(): {
|
|
2212
|
+
industry: string;
|
|
2213
|
+
metricBenchmark: string | null;
|
|
2214
|
+
competitiveScore: 'LEADING' | 'COMPETITIVE' | 'LAGGING';
|
|
2215
|
+
description: string;
|
|
2216
|
+
keyOpportunities: string;
|
|
2217
|
+
} | undefined;
|
|
1781
2218
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileSubsectionComponent, never>;
|
|
1782
2219
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProfileSubsectionComponent, "symphiq-profile-subsection", never, { "subsection": { "alias": "subsection"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "parentSectionTitle": { "alias": "parentSectionTitle"; "required": false; }; "subsectionIndex": { "alias": "subsectionIndex"; "required": false; }; "forceExpanded": { "alias": "forceExpanded"; "required": false; }; }, {}, never, never, true, never>;
|
|
1783
2220
|
}
|
|
@@ -1789,6 +2226,8 @@ declare class ProfileItemCardComponent {
|
|
|
1789
2226
|
forceExpanded: boolean;
|
|
1790
2227
|
animationIndex: number;
|
|
1791
2228
|
isLoading: boolean;
|
|
2229
|
+
inModalContext: boolean;
|
|
2230
|
+
isCompactMode: boolean;
|
|
1792
2231
|
protected isRecommendation(): boolean;
|
|
1793
2232
|
protected getCardClasses(): string;
|
|
1794
2233
|
protected getIconClasses(): string;
|
|
@@ -1796,7 +2235,7 @@ declare class ProfileItemCardComponent {
|
|
|
1796
2235
|
protected getValueClasses(): string;
|
|
1797
2236
|
protected getItemIcon(): IconObjectInterface$1 | undefined;
|
|
1798
2237
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileItemCardComponent, never>;
|
|
1799
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProfileItemCardComponent, "symphiq-profile-item-card", never, { "item": { "alias": "item"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "subsectionId": { "alias": "subsectionId"; "required": false; }; "forceExpanded": { "alias": "forceExpanded"; "required": false; }; "animationIndex": { "alias": "animationIndex"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; }, {}, never, never, true, never>;
|
|
2238
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProfileItemCardComponent, "symphiq-profile-item-card", never, { "item": { "alias": "item"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "subsectionId": { "alias": "subsectionId"; "required": false; }; "forceExpanded": { "alias": "forceExpanded"; "required": false; }; "animationIndex": { "alias": "animationIndex"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "inModalContext": { "alias": "inModalContext"; "required": false; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; }; }, {}, never, never, true, never>;
|
|
1800
2239
|
}
|
|
1801
2240
|
|
|
1802
2241
|
declare class NapkinVisualPlaceholderComponent implements OnInit, OnChanges {
|
|
@@ -1875,7 +2314,7 @@ declare class FloatingTocComponent implements OnInit, OnDestroy {
|
|
|
1875
2314
|
protected tocSections: _angular_core.Signal<{
|
|
1876
2315
|
id: string;
|
|
1877
2316
|
title: string;
|
|
1878
|
-
icon:
|
|
2317
|
+
icon: IconObjectInterface$1 | undefined;
|
|
1879
2318
|
subsections: {
|
|
1880
2319
|
id: string;
|
|
1881
2320
|
title: string;
|
|
@@ -1936,8 +2375,13 @@ declare class FloatingBackButtonComponent implements OnInit, OnDestroy {
|
|
|
1936
2375
|
|
|
1937
2376
|
declare class BusinessAnalysisModalComponent implements OnInit {
|
|
1938
2377
|
isLightMode: _angular_core.InputSignal<boolean>;
|
|
2378
|
+
viewInContextRequested: _angular_core.OutputEmitterRef<{
|
|
2379
|
+
itemId: string;
|
|
2380
|
+
itemType?: string;
|
|
2381
|
+
}>;
|
|
1939
2382
|
private modalService;
|
|
1940
2383
|
private sanitizer;
|
|
2384
|
+
modalContent?: ElementRef<HTMLDivElement>;
|
|
1941
2385
|
isOpen: _angular_core.WritableSignal<boolean>;
|
|
1942
2386
|
modalType: _angular_core.WritableSignal<string | null>;
|
|
1943
2387
|
modalTitle: _angular_core.WritableSignal<string>;
|
|
@@ -1951,6 +2395,10 @@ declare class BusinessAnalysisModalComponent implements OnInit {
|
|
|
1951
2395
|
actionSteps: ProfileAnalysisRecommendationActionStepInterface[];
|
|
1952
2396
|
viewMode: ViewModeEnum;
|
|
1953
2397
|
} | null>;
|
|
2398
|
+
itemDetailModalData: _angular_core.WritableSignal<ItemDetailModalData | null>;
|
|
2399
|
+
navigationStack: _angular_core.WritableSignal<ItemDetailModalData[]>;
|
|
2400
|
+
itemDetailData: _angular_core.Signal<ItemDetailModalData | null>;
|
|
2401
|
+
previousState: _angular_core.WritableSignal<any>;
|
|
1954
2402
|
visualizationType: _angular_core.Signal<"horizontal-bar" | "circular-progress" | "napkin-visual" | "custom" | null>;
|
|
1955
2403
|
horizontalBarData: _angular_core.Signal<{
|
|
1956
2404
|
percentage: number;
|
|
@@ -1972,9 +2420,361 @@ declare class BusinessAnalysisModalComponent implements OnInit {
|
|
|
1972
2420
|
constructor();
|
|
1973
2421
|
ngOnInit(): void;
|
|
1974
2422
|
getSanitizedSvg(): SafeHtml;
|
|
2423
|
+
handleViewInContext(): void;
|
|
2424
|
+
handleNavigateBack(event?: Event): void;
|
|
2425
|
+
handleNavigateToBreadcrumb(index: number, event?: Event): void;
|
|
2426
|
+
scrollModalToTop(): void;
|
|
2427
|
+
protected hasNavigationHistory(): boolean;
|
|
2428
|
+
protected getBreadcrumbs(): Array<{
|
|
2429
|
+
label: string;
|
|
2430
|
+
}>;
|
|
2431
|
+
protected getBreadcrumbClasses(): string;
|
|
2432
|
+
protected getBackButtonClasses(): string;
|
|
2433
|
+
protected getBreadcrumbLinkClasses(): string;
|
|
1975
2434
|
closeModal(): void;
|
|
1976
2435
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BusinessAnalysisModalComponent, never>;
|
|
1977
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BusinessAnalysisModalComponent, "symphiq-business-analysis-modal", never, { "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2436
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BusinessAnalysisModalComponent, "symphiq-business-analysis-modal", never, { "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; }, { "viewInContextRequested": "viewInContextRequested"; }, never, never, true, never>;
|
|
2437
|
+
}
|
|
2438
|
+
|
|
2439
|
+
type ProfileModalData = {
|
|
2440
|
+
goal: GoalV3Interface;
|
|
2441
|
+
viewMode: ViewModeEnum;
|
|
2442
|
+
} | {
|
|
2443
|
+
goal: GoalV3Interface;
|
|
2444
|
+
viewMode: ViewModeEnum;
|
|
2445
|
+
} | {
|
|
2446
|
+
objective: ObjectiveV3Interface;
|
|
2447
|
+
goalTitle?: string;
|
|
2448
|
+
viewMode: ViewModeEnum;
|
|
2449
|
+
} | {
|
|
2450
|
+
strategy: StrategyV3Interface;
|
|
2451
|
+
objectiveTitle?: string;
|
|
2452
|
+
goalTitle?: string;
|
|
2453
|
+
viewMode: ViewModeEnum;
|
|
2454
|
+
} | {
|
|
2455
|
+
category: OperationalCategoryInterface;
|
|
2456
|
+
viewMode: ViewModeEnum;
|
|
2457
|
+
scrollToSection?: 'strengths' | 'gaps' | 'opportunities';
|
|
2458
|
+
} | {
|
|
2459
|
+
strength: CategoryStrengthInterface;
|
|
2460
|
+
categoryTitle: string;
|
|
2461
|
+
viewMode: ViewModeEnum;
|
|
2462
|
+
} | {
|
|
2463
|
+
gap: CategoryGapInterface;
|
|
2464
|
+
categoryTitle: string;
|
|
2465
|
+
viewMode: ViewModeEnum;
|
|
2466
|
+
} | {
|
|
2467
|
+
opportunity: CategoryOpportunityInterface;
|
|
2468
|
+
categoryTitle: string;
|
|
2469
|
+
viewMode: ViewModeEnum;
|
|
2470
|
+
} | null;
|
|
2471
|
+
declare class SymphiqProfileAnalysisDashboardComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {
|
|
2472
|
+
funnelModalComponent?: ModalComponent;
|
|
2473
|
+
viewMode: ViewModeEnum;
|
|
2474
|
+
constructor();
|
|
2475
|
+
embedded: boolean;
|
|
2476
|
+
profileAnalysis?: ProfileAnalysisInterface;
|
|
2477
|
+
profile?: ProfileInterface;
|
|
2478
|
+
funnelAnalysis?: FunnelAnalysisInterface;
|
|
2479
|
+
analysisType: ProfileAnalysisTypeEnum;
|
|
2480
|
+
focusAreaDetails?: FocusAreaDetailInterface[];
|
|
2481
|
+
isOnboarded: boolean;
|
|
2482
|
+
protected funnelAnalysisSignal: _angular_core.WritableSignal<FunnelAnalysisInterface | undefined>;
|
|
2483
|
+
protected readonly headerScrollService: HeaderScrollService;
|
|
2484
|
+
protected readonly modalService: ModalService;
|
|
2485
|
+
protected readonly viewModeService: ViewModeService;
|
|
2486
|
+
protected readonly profileContextService: ProfileContextService;
|
|
2487
|
+
protected readonly profileItemLookupService: ProfileItemLookupService;
|
|
2488
|
+
protected readonly IconSourceEnum: typeof IconSourceEnum;
|
|
2489
|
+
protected currentAnalysis: _angular_core.WritableSignal<ProfileAnalysisInterface | undefined>;
|
|
2490
|
+
protected scrollProgress: _angular_core.WritableSignal<number>;
|
|
2491
|
+
protected currentDisplayMode: _angular_core.WritableSignal<DisplayModeEnum>;
|
|
2492
|
+
protected isSearchOpen: _angular_core.WritableSignal<boolean>;
|
|
2493
|
+
protected isViewModeSwitcherOpen: _angular_core.WritableSignal<boolean>;
|
|
2494
|
+
protected modalType: _angular_core.WritableSignal<string | null>;
|
|
2495
|
+
protected modalData: _angular_core.WritableSignal<ProfileModalData>;
|
|
2496
|
+
protected currentModalNavigationStack: _angular_core.WritableSignal<ModalState[]>;
|
|
2497
|
+
protected isLightMode: _angular_core.Signal<boolean>;
|
|
2498
|
+
protected isSimplifiedView: _angular_core.Signal<boolean>;
|
|
2499
|
+
protected isFocusAreaAnalysis: _angular_core.Signal<boolean>;
|
|
2500
|
+
protected isMetricAnalysis: _angular_core.Signal<boolean>;
|
|
2501
|
+
protected isShopAnalysis: _angular_core.Signal<boolean>;
|
|
2502
|
+
focusAreaDomain: _angular_core.Signal<FocusAreaDomainEnum | undefined>;
|
|
2503
|
+
protected focusAreaName: _angular_core.Signal<string>;
|
|
2504
|
+
protected metricName: _angular_core.Signal<string>;
|
|
2505
|
+
protected focusAreaExecutiveSummary: _angular_core.Signal<{
|
|
2506
|
+
gradeRationale: string | undefined;
|
|
2507
|
+
overallGrade?: _jebgem_model.OverallGradeEnum;
|
|
2508
|
+
focusAreaHealth?: _jebgem_model.FocusAreaHealthEnum;
|
|
2509
|
+
narrative?: string;
|
|
2510
|
+
topPriorities?: _jebgem_model.FocusAreaTopPriorityInterface[];
|
|
2511
|
+
quickWins?: _jebgem_model.QuickWinItemInterface[];
|
|
2512
|
+
napkinVisual?: _jebgem_model.NapkinVisualInterface;
|
|
2513
|
+
} | undefined>;
|
|
2514
|
+
protected metricExecutiveSummary: _angular_core.Signal<{
|
|
2515
|
+
gradeRationale: string | undefined;
|
|
2516
|
+
narrative: string | undefined;
|
|
2517
|
+
metric?: string;
|
|
2518
|
+
overallGrade?: _jebgem_model.OverallGradeEnum;
|
|
2519
|
+
metricHealth?: _jebgem_model.MetricHealthEnum;
|
|
2520
|
+
currentValue?: string;
|
|
2521
|
+
targetValue?: string;
|
|
2522
|
+
pacingStatus?: _jebgem_model.PacingStatusEnum;
|
|
2523
|
+
yoyChange?: string;
|
|
2524
|
+
topPriorities?: _jebgem_model.MetricTopPriorityInterface[];
|
|
2525
|
+
quickWins?: _jebgem_model.QuickWinItemInterface[];
|
|
2526
|
+
napkinVisual?: _jebgem_model.NapkinVisualInterface;
|
|
2527
|
+
} | undefined>;
|
|
2528
|
+
protected executiveSummary: _angular_core.Signal<{
|
|
2529
|
+
gradeRationale: string | undefined;
|
|
2530
|
+
overallGrade?: _jebgem_model.OverallGradeEnum;
|
|
2531
|
+
operationalMaturity?: _jebgem_model.OperationalMaturityEnum;
|
|
2532
|
+
narrative?: string;
|
|
2533
|
+
keyStrengths?: _jebgem_model.KeyStrengthInterface[];
|
|
2534
|
+
criticalGaps?: _jebgem_model.CriticalGapInterface[];
|
|
2535
|
+
quickWins?: _jebgem_model.QuickWinItemInterface[];
|
|
2536
|
+
napkinVisual?: _jebgem_model.NapkinVisualInterface;
|
|
2537
|
+
} | undefined>;
|
|
2538
|
+
protected sections: _angular_core.Signal<ProfileAnalysisSectionV3Interface[] | undefined>;
|
|
2539
|
+
protected allGoals: _angular_core.Signal<GoalV3Interface[]>;
|
|
2540
|
+
protected strategicRoadmapGoals: _angular_core.Signal<GoalV3Interface[]>;
|
|
2541
|
+
protected nonStrategicSections: _angular_core.Signal<ProfileAnalysisSectionV3Interface[]>;
|
|
2542
|
+
protected tocSections: _angular_core.Signal<{
|
|
2543
|
+
id: string;
|
|
2544
|
+
title: string;
|
|
2545
|
+
subsections: never[];
|
|
2546
|
+
}[]>;
|
|
2547
|
+
protected displayModeLabel: _angular_core.Signal<string>;
|
|
2548
|
+
protected allMetrics: _angular_core.Signal<PerformanceMetricInterface[]>;
|
|
2549
|
+
protected allCharts: _angular_core.Signal<AiChartInterface[]>;
|
|
2550
|
+
protected allInsights: _angular_core.Signal<_jebgem_model.InsightBlockInterface[]>;
|
|
2551
|
+
protected funnelWeaknesses: _angular_core.Signal<_jebgem_model_lib_funnel_analysis_performance_overview_structured_v3_interface.FunnelWeaknessInterface[]>;
|
|
2552
|
+
protected funnelStrengths: _angular_core.Signal<_jebgem_model_lib_funnel_analysis_performance_overview_structured_v3_interface.FunnelStrengthInterface[]>;
|
|
2553
|
+
protected allBusinessInsights: _angular_core.Signal<ProfileAnalysisRecommendationInterface[]>;
|
|
2554
|
+
onWindowScroll(): void;
|
|
2555
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
2556
|
+
ngOnInit(): void;
|
|
2557
|
+
ngAfterViewInit(): void;
|
|
2558
|
+
ngOnDestroy(): void;
|
|
2559
|
+
protected openSearch(): void;
|
|
2560
|
+
protected closeSearch(): void;
|
|
2561
|
+
protected openViewModeSwitcher(): void;
|
|
2562
|
+
protected closeViewModeSwitcher(): void;
|
|
2563
|
+
protected openGoalModal(goal: GoalV3Interface): void;
|
|
2564
|
+
protected handleTopPrioritiesClick(): void;
|
|
2565
|
+
protected handlePriorityDetailClick(event: {
|
|
2566
|
+
priority: any;
|
|
2567
|
+
index: number;
|
|
2568
|
+
}): void;
|
|
2569
|
+
protected handleMetricTopPrioritiesClick(): void;
|
|
2570
|
+
protected handleMetricPriorityDetailClick(priority: any): void;
|
|
2571
|
+
private getFocusAreaName;
|
|
2572
|
+
protected getCurrentModalState(): ModalState;
|
|
2573
|
+
protected getGoalDetailData(): {
|
|
2574
|
+
goal: GoalV3Interface;
|
|
2575
|
+
viewMode: ViewModeEnum;
|
|
2576
|
+
} | null;
|
|
2577
|
+
protected getObjectiveStrategiesData(): {
|
|
2578
|
+
objective: ObjectiveV3Interface;
|
|
2579
|
+
goalTitle?: string;
|
|
2580
|
+
viewMode: ViewModeEnum;
|
|
2581
|
+
} | null;
|
|
2582
|
+
protected getStrategyRecommendationsData(): {
|
|
2583
|
+
strategy: StrategyV3Interface;
|
|
2584
|
+
objectiveTitle?: string;
|
|
2585
|
+
goalTitle?: string;
|
|
2586
|
+
viewMode: ViewModeEnum;
|
|
2587
|
+
} | null;
|
|
2588
|
+
protected getCategoryDetailData(): {
|
|
2589
|
+
category: OperationalCategoryInterface;
|
|
2590
|
+
viewMode: ViewModeEnum;
|
|
2591
|
+
scrollToSection?: 'strengths' | 'gaps' | 'opportunities';
|
|
2592
|
+
} | null;
|
|
2593
|
+
protected getStrengthDetailData(): {
|
|
2594
|
+
strength: CategoryStrengthInterface;
|
|
2595
|
+
categoryTitle: string;
|
|
2596
|
+
viewMode: ViewModeEnum;
|
|
2597
|
+
} | null;
|
|
2598
|
+
protected getGapDetailData(): {
|
|
2599
|
+
gap: CategoryGapInterface;
|
|
2600
|
+
categoryTitle: string;
|
|
2601
|
+
viewMode: ViewModeEnum;
|
|
2602
|
+
} | null;
|
|
2603
|
+
protected getOpportunityDetailData(): {
|
|
2604
|
+
opportunity: CategoryOpportunityInterface;
|
|
2605
|
+
categoryTitle: string;
|
|
2606
|
+
viewMode: ViewModeEnum;
|
|
2607
|
+
} | null;
|
|
2608
|
+
protected handleDisplayModeChange(mode: DisplayModeEnum): void;
|
|
2609
|
+
protected getAnalysisTypeLabel(): string;
|
|
2610
|
+
protected getAnalysisSubtitle(): string;
|
|
2611
|
+
protected getGradeDisplay(): string;
|
|
2612
|
+
protected getContainerClasses(): string;
|
|
2613
|
+
protected getBannerClasses(): string;
|
|
2614
|
+
protected getSectionTitleClasses(): string;
|
|
2615
|
+
protected getSubheadingClasses(): string;
|
|
2616
|
+
protected getTextClasses(): string;
|
|
2617
|
+
protected getNarrativeClasses(): string;
|
|
2618
|
+
protected getKeyStrengthsStatCardClasses(): string;
|
|
2619
|
+
protected getKeyStrengthsStatLabelClasses(): string;
|
|
2620
|
+
protected getKeyStrengthsStatValueClasses(): string;
|
|
2621
|
+
protected getKeyStrengthsButtonTextClasses(): string;
|
|
2622
|
+
protected getCriticalGapsStatCardClasses(): string;
|
|
2623
|
+
protected getCriticalGapsStatLabelClasses(): string;
|
|
2624
|
+
protected getCriticalGapsStatValueClasses(): string;
|
|
2625
|
+
protected getCriticalGapsButtonTextClasses(): string;
|
|
2626
|
+
protected getQuickWinsStatCardClasses(): string;
|
|
2627
|
+
protected getQuickWinsStatLabelClasses(): string;
|
|
2628
|
+
protected getQuickWinsStatValueClasses(): string;
|
|
2629
|
+
protected getQuickWinsButtonTextClasses(): string;
|
|
2630
|
+
protected getQuickWinCardClasses(): string;
|
|
2631
|
+
protected getQuickWinTextClasses(): string;
|
|
2632
|
+
protected getNumberBadgeClasses(): string;
|
|
2633
|
+
protected getEffortBadgeClasses(effort?: string): string;
|
|
2634
|
+
protected getImpactBadgeClasses(impact?: string): string;
|
|
2635
|
+
protected getMetaTextClasses(): string;
|
|
2636
|
+
protected formatLabel(label?: string): string;
|
|
2637
|
+
protected getSectionCardClasses(): string;
|
|
2638
|
+
protected getSectionIconClasses(): string;
|
|
2639
|
+
protected getSectionDescriptionClasses(): string;
|
|
2640
|
+
private formatGradeInText;
|
|
2641
|
+
protected onKeyStrengthsClick(summary: ExecutiveSummaryInterface): void;
|
|
2642
|
+
protected onCriticalGapsClick(summary: ExecutiveSummaryInterface): void;
|
|
2643
|
+
protected scrollToQuickWins(): void;
|
|
2644
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SymphiqProfileAnalysisDashboardComponent, never>;
|
|
2645
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SymphiqProfileAnalysisDashboardComponent, "symphiq-profile-analysis-dashboard", never, { "viewMode": { "alias": "viewMode"; "required": false; }; "embedded": { "alias": "embedded"; "required": false; }; "profileAnalysis": { "alias": "profileAnalysis"; "required": false; }; "profile": { "alias": "profile"; "required": false; }; "funnelAnalysis": { "alias": "funnelAnalysis"; "required": false; }; "analysisType": { "alias": "analysisType"; "required": false; }; "focusAreaDetails": { "alias": "focusAreaDetails"; "required": false; }; "isOnboarded": { "alias": "isOnboarded"; "required": false; }; }, {}, never, never, true, never>;
|
|
2646
|
+
}
|
|
2647
|
+
|
|
2648
|
+
declare class ShopWelcomeBannerComponent {
|
|
2649
|
+
viewMode: ViewModeEnum;
|
|
2650
|
+
businessName: string;
|
|
2651
|
+
isOnboarded: boolean;
|
|
2652
|
+
protected containerClasses(): string;
|
|
2653
|
+
protected contentClasses(): string;
|
|
2654
|
+
protected iconContainerClasses(): string;
|
|
2655
|
+
protected titleClasses(): string;
|
|
2656
|
+
protected textClasses(): string;
|
|
2657
|
+
protected highlightBoxClasses(): string;
|
|
2658
|
+
protected highlightIconClasses(): string;
|
|
2659
|
+
protected highlightTitleClasses(): string;
|
|
2660
|
+
protected highlightListClasses(): string;
|
|
2661
|
+
protected nextStepsBoxClasses(): string;
|
|
2662
|
+
protected nextStepsIconClasses(): string;
|
|
2663
|
+
protected nextStepsTitleClasses(): string;
|
|
2664
|
+
protected nextStepsTextClasses(): string;
|
|
2665
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShopWelcomeBannerComponent, never>;
|
|
2666
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShopWelcomeBannerComponent, "symphiq-shop-welcome-banner", never, { "viewMode": { "alias": "viewMode"; "required": false; }; "businessName": { "alias": "businessName"; "required": false; }; "isOnboarded": { "alias": "isOnboarded"; "required": false; }; }, {}, never, never, true, never>;
|
|
2667
|
+
}
|
|
2668
|
+
|
|
2669
|
+
declare class MetricWelcomeBannerComponent {
|
|
2670
|
+
viewMode: ViewModeEnum;
|
|
2671
|
+
metricName?: string;
|
|
2672
|
+
isOnboarded: boolean;
|
|
2673
|
+
protected readonly IconSourceEnum: typeof IconSourceEnum;
|
|
2674
|
+
protected metricDisplayName: _angular_core.Signal<string>;
|
|
2675
|
+
protected metricIcon: _angular_core.Signal<{
|
|
2676
|
+
name: string;
|
|
2677
|
+
source: IconSourceEnum;
|
|
2678
|
+
}>;
|
|
2679
|
+
protected containerClasses(): string;
|
|
2680
|
+
protected contentClasses(): string;
|
|
2681
|
+
protected iconContainerClasses(): string;
|
|
2682
|
+
protected titleClasses(): string;
|
|
2683
|
+
protected textClasses(): string;
|
|
2684
|
+
protected highlightBoxClasses(): string;
|
|
2685
|
+
protected highlightIconClasses(): string;
|
|
2686
|
+
protected highlightTitleClasses(): string;
|
|
2687
|
+
protected highlightListClasses(): string;
|
|
2688
|
+
protected nextStepsBoxClasses(): string;
|
|
2689
|
+
protected nextStepsIconClasses(): string;
|
|
2690
|
+
protected nextStepsTitleClasses(): string;
|
|
2691
|
+
protected nextStepsTextClasses(): string;
|
|
2692
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MetricWelcomeBannerComponent, never>;
|
|
2693
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MetricWelcomeBannerComponent, "symphiq-metric-welcome-banner", never, { "viewMode": { "alias": "viewMode"; "required": false; }; "metricName": { "alias": "metricName"; "required": false; }; "isOnboarded": { "alias": "isOnboarded"; "required": false; }; }, {}, never, never, true, never>;
|
|
2694
|
+
}
|
|
2695
|
+
|
|
2696
|
+
declare class FocusAreaExecutiveSummaryComponent {
|
|
2697
|
+
viewMode: ViewModeEnum;
|
|
2698
|
+
summary?: FocusAreaExecutiveSummaryInterface;
|
|
2699
|
+
allGoals: GoalV3Interface[];
|
|
2700
|
+
topPrioritiesClick: EventEmitter<void>;
|
|
2701
|
+
priorityDetailClick: EventEmitter<{
|
|
2702
|
+
priority: FocusAreaTopPriorityInterface;
|
|
2703
|
+
index: number;
|
|
2704
|
+
}>;
|
|
2705
|
+
protected readonly IconSourceEnum: typeof IconSourceEnum;
|
|
2706
|
+
protected onTopPrioritiesClick(): void;
|
|
2707
|
+
protected onPriorityDetailClick(event: {
|
|
2708
|
+
priority: FocusAreaTopPriorityInterface;
|
|
2709
|
+
index: number;
|
|
2710
|
+
}): void;
|
|
2711
|
+
protected scrollToQuickWins(): void;
|
|
2712
|
+
protected formatLabel(label?: string): string;
|
|
2713
|
+
protected getBannerClasses(): string;
|
|
2714
|
+
protected getSectionTitleClasses(): string;
|
|
2715
|
+
protected getSubheadingClasses(): string;
|
|
2716
|
+
protected getTextClasses(): string;
|
|
2717
|
+
protected getNarrativeClasses(): string;
|
|
2718
|
+
protected getTopPrioritiesStatCardClasses(): string;
|
|
2719
|
+
protected getTopPrioritiesStatLabelClasses(): string;
|
|
2720
|
+
protected getTopPrioritiesStatValueClasses(): string;
|
|
2721
|
+
protected getTopPrioritiesButtonTextClasses(): string;
|
|
2722
|
+
protected getQuickWinsStatCardClasses(): string;
|
|
2723
|
+
protected getQuickWinsStatLabelClasses(): string;
|
|
2724
|
+
protected getQuickWinsStatValueClasses(): string;
|
|
2725
|
+
protected getQuickWinsButtonTextClasses(): string;
|
|
2726
|
+
protected getQuickWinCardClasses(): string;
|
|
2727
|
+
protected getQuickWinTextClasses(): string;
|
|
2728
|
+
protected getNumberBadgeClasses(): string;
|
|
2729
|
+
protected getEffortBadgeClasses(effort?: string): string;
|
|
2730
|
+
protected getImpactBadgeClasses(impact?: string): string;
|
|
2731
|
+
protected getMetaTextClasses(): string;
|
|
2732
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FocusAreaExecutiveSummaryComponent, never>;
|
|
2733
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FocusAreaExecutiveSummaryComponent, "symphiq-focus-area-executive-summary", never, { "viewMode": { "alias": "viewMode"; "required": false; }; "summary": { "alias": "summary"; "required": false; }; "allGoals": { "alias": "allGoals"; "required": false; }; }, { "topPrioritiesClick": "topPrioritiesClick"; "priorityDetailClick": "priorityDetailClick"; }, never, never, true, never>;
|
|
2734
|
+
}
|
|
2735
|
+
|
|
2736
|
+
declare class MetricExecutiveSummaryComponent {
|
|
2737
|
+
viewMode: ViewModeEnum;
|
|
2738
|
+
summary: MetricExecutiveSummaryInterface;
|
|
2739
|
+
metricName: string;
|
|
2740
|
+
allGoals?: GoalV3Interface[];
|
|
2741
|
+
topPrioritiesClick: EventEmitter<void>;
|
|
2742
|
+
priorityDetailClick: EventEmitter<any>;
|
|
2743
|
+
protected iconSource: IconSourceEnum;
|
|
2744
|
+
protected isDark: _angular_core.Signal<boolean>;
|
|
2745
|
+
protected bannerClasses: _angular_core.Signal<"bg-gradient-to-br from-slate-800/50 to-slate-800/30 border border-slate-700/50" | "bg-gradient-to-br from-white to-slate-50/50 border border-slate-200">;
|
|
2746
|
+
protected titleClasses: _angular_core.Signal<"text-slate-100" | "text-slate-900">;
|
|
2747
|
+
protected textClasses: _angular_core.Signal<"text-slate-300" | "text-slate-700">;
|
|
2748
|
+
protected iconClasses: _angular_core.Signal<"text-blue-400" | "text-blue-600">;
|
|
2749
|
+
protected healthBadgeClasses: _angular_core.Signal<string>;
|
|
2750
|
+
protected pacingBadgeClasses: _angular_core.Signal<string>;
|
|
2751
|
+
protected metricCardClasses: _angular_core.Signal<"bg-white border border-slate-200" | "bg-slate-800/50 border border-slate-700/50">;
|
|
2752
|
+
protected metricLabelClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2753
|
+
protected metricValueClasses: _angular_core.Signal<"text-slate-100" | "text-slate-900">;
|
|
2754
|
+
protected yoyChangeClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400" | "text-emerald-400" | "text-red-400" | "text-red-600" | "text-emerald-600">;
|
|
2755
|
+
protected getYoyIcon(): string;
|
|
2756
|
+
protected getPacingValueClasses(): string;
|
|
2757
|
+
protected getHealthValueClasses(): string;
|
|
2758
|
+
protected narrativeClasses: _angular_core.Signal<"bg-white border border-slate-200" | "bg-slate-800/50 border border-slate-600/20">;
|
|
2759
|
+
protected narrativeTitleClasses: _angular_core.Signal<"text-slate-200" | "text-slate-800">;
|
|
2760
|
+
protected narrativeTextClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2761
|
+
protected sectionTitleClasses: _angular_core.Signal<"text-slate-100" | "text-slate-900">;
|
|
2762
|
+
protected priorityCardClasses: _angular_core.Signal<"bg-slate-800/50 border border-slate-700/50 hover:border-slate-600/70" | "bg-white border border-slate-200 hover:border-slate-300">;
|
|
2763
|
+
protected priorityNumberClasses: _angular_core.Signal<"bg-blue-500/20 text-blue-300" | "bg-blue-100 text-blue-800">;
|
|
2764
|
+
protected priorityTitleClasses: _angular_core.Signal<"text-slate-100" | "text-slate-900">;
|
|
2765
|
+
protected priorityTextClasses: _angular_core.Signal<"text-slate-300" | "text-slate-700">;
|
|
2766
|
+
protected impactBoxClasses: _angular_core.Signal<"bg-slate-800/30 border border-slate-700/30" | "bg-slate-50/50 border border-slate-200">;
|
|
2767
|
+
protected impactLabelClasses: _angular_core.Signal<"text-blue-400" | "text-blue-600">;
|
|
2768
|
+
protected impactTextClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2769
|
+
protected quickWinCardClasses: _angular_core.Signal<"bg-white border border-slate-200" | "bg-slate-800/50 border border-slate-700/50">;
|
|
2770
|
+
protected numberBadgeClasses: _angular_core.Signal<"bg-blue-500/20 text-blue-300" | "bg-blue-100 text-blue-800">;
|
|
2771
|
+
protected quickWinTextClasses: _angular_core.Signal<"text-slate-100" | "text-slate-900">;
|
|
2772
|
+
protected metaTextClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2773
|
+
protected getEffortBadgeClasses(effort: string | undefined): string;
|
|
2774
|
+
protected getImpactBadgeClasses(impact: string | undefined): string;
|
|
2775
|
+
protected formatLabel(str: string | undefined): string;
|
|
2776
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MetricExecutiveSummaryComponent, never>;
|
|
2777
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MetricExecutiveSummaryComponent, "symphiq-metric-executive-summary", never, { "viewMode": { "alias": "viewMode"; "required": false; }; "summary": { "alias": "summary"; "required": false; }; "metricName": { "alias": "metricName"; "required": false; }; "allGoals": { "alias": "allGoals"; "required": false; }; }, { "topPrioritiesClick": "topPrioritiesClick"; "priorityDetailClick": "priorityDetailClick"; }, never, never, true, never>;
|
|
1978
2778
|
}
|
|
1979
2779
|
|
|
1980
2780
|
declare class HorizontalBarComponent implements OnInit, OnDestroy {
|
|
@@ -2044,7 +2844,7 @@ declare class VisualizationContainerComponent {
|
|
|
2044
2844
|
data: unknown;
|
|
2045
2845
|
}>;
|
|
2046
2846
|
containerClass: _angular_core.Signal<"" | "cursor-pointer">;
|
|
2047
|
-
iconClass: _angular_core.Signal<"text-slate-
|
|
2847
|
+
iconClass: _angular_core.Signal<"text-slate-500 group-hover:text-blue-400" | "text-slate-400 group-hover:text-blue-500">;
|
|
2048
2848
|
onExpandClick(event: Event): void;
|
|
2049
2849
|
onVisualizationClick(event: Event): void;
|
|
2050
2850
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<VisualizationContainerComponent, never>;
|
|
@@ -2084,12 +2884,13 @@ declare class SymphiqIconComponent {
|
|
|
2084
2884
|
declare class SectionDividerComponent {
|
|
2085
2885
|
viewMode: ViewModeEnum;
|
|
2086
2886
|
animationDelay: string;
|
|
2887
|
+
sectionIcon?: IconObjectInterface$1;
|
|
2087
2888
|
private subsectionsSignal;
|
|
2088
2889
|
set subsections(value: ProfileSubsectionInterface[] | undefined);
|
|
2089
|
-
protected displayIcons: _angular_core.Signal<
|
|
2890
|
+
protected displayIcons: _angular_core.Signal<IconObjectInterface$1[]>;
|
|
2090
2891
|
protected isLightMode(): boolean;
|
|
2091
2892
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionDividerComponent, never>;
|
|
2092
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionDividerComponent, "symphiq-section-divider", never, { "viewMode": { "alias": "viewMode"; "required": false; }; "animationDelay": { "alias": "animationDelay"; "required": false; }; "subsections": { "alias": "subsections"; "required": false; }; }, {}, never, never, true, never>;
|
|
2893
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionDividerComponent, "symphiq-section-divider", never, { "viewMode": { "alias": "viewMode"; "required": false; }; "animationDelay": { "alias": "animationDelay"; "required": false; }; "sectionIcon": { "alias": "sectionIcon"; "required": false; }; "subsections": { "alias": "subsections"; "required": false; }; }, {}, never, never, true, never>;
|
|
2093
2894
|
}
|
|
2094
2895
|
|
|
2095
2896
|
declare class SearchButtonComponent {
|
|
@@ -2128,23 +2929,157 @@ declare class SearchModalComponent {
|
|
|
2128
2929
|
iconClass: _angular_core.Signal<"text-slate-400" | "text-slate-500">;
|
|
2129
2930
|
clearButtonClass: _angular_core.Signal<"bg-slate-100 text-slate-600 hover:bg-slate-200" | "bg-slate-700 text-slate-300 hover:bg-slate-600">;
|
|
2130
2931
|
closeButtonClass: _angular_core.Signal<"text-slate-400 hover:text-slate-600 hover:bg-slate-100" | "text-slate-500 hover:text-slate-300 hover:bg-slate-700">;
|
|
2131
|
-
resultsContainerClass: _angular_core.Signal<"border-slate-
|
|
2932
|
+
resultsContainerClass: _angular_core.Signal<"border-slate-700" | "border-slate-200">;
|
|
2132
2933
|
resultTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
2133
|
-
resultDescClass: _angular_core.Signal<"text-slate-
|
|
2934
|
+
resultDescClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2134
2935
|
breadcrumbClass: _angular_core.Signal<string>;
|
|
2135
2936
|
typeBadgeClass: _angular_core.Signal<"bg-slate-100 text-slate-600" | "bg-slate-700 text-slate-300">;
|
|
2136
2937
|
arrowClass: _angular_core.Signal<"text-slate-400" | "text-slate-500">;
|
|
2137
|
-
emptyStateClass: _angular_core.Signal<"border-slate-
|
|
2138
|
-
emptyIconClass: _angular_core.Signal<"text-slate-
|
|
2938
|
+
emptyStateClass: _angular_core.Signal<"border-slate-700" | "border-slate-200">;
|
|
2939
|
+
emptyIconClass: _angular_core.Signal<"text-slate-300" | "text-slate-600">;
|
|
2139
2940
|
emptyTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
2140
|
-
emptyDescClass: _angular_core.Signal<"text-slate-
|
|
2141
|
-
shortcutsClass: _angular_core.Signal<"bg-slate-
|
|
2941
|
+
emptyDescClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2942
|
+
shortcutsClass: _angular_core.Signal<"bg-slate-50 border-slate-200" | "bg-slate-900/50 border-slate-700">;
|
|
2142
2943
|
kbdClass: _angular_core.Signal<"bg-white border border-slate-300 text-slate-700 shadow-sm" | "bg-slate-700 border border-slate-600 text-slate-300">;
|
|
2143
|
-
shortcutTextClass: _angular_core.Signal<"text-slate-
|
|
2944
|
+
shortcutTextClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2144
2945
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchModalComponent, never>;
|
|
2145
2946
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchModalComponent, "symphiq-search-modal", never, { "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "required": false; "isSignal": true; }; "results": { "alias": "results"; "required": false; "isSignal": true; }; "hasResults": { "alias": "hasResults"; "required": false; "isSignal": true; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "searchChange": "searchChange"; "resultSelected": "resultSelected"; "close": "close"; }, never, never, true, never>;
|
|
2146
2947
|
}
|
|
2147
2948
|
|
|
2949
|
+
declare class GradeBadgeComponent {
|
|
2950
|
+
grade: _angular_core.InputSignal<string>;
|
|
2951
|
+
gradeRationale: _angular_core.InputSignal<string>;
|
|
2952
|
+
label: _angular_core.InputSignal<string>;
|
|
2953
|
+
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2954
|
+
tooltipPosition: _angular_core.InputSignal<"top" | "left" | "right" | "bottom">;
|
|
2955
|
+
isLightMode: _angular_core.Signal<boolean>;
|
|
2956
|
+
formattedGrade: _angular_core.Signal<string>;
|
|
2957
|
+
shouldPulse: _angular_core.Signal<boolean>;
|
|
2958
|
+
tooltip: _angular_core.Signal<{
|
|
2959
|
+
title: string;
|
|
2960
|
+
grade: string;
|
|
2961
|
+
explanation: string;
|
|
2962
|
+
}>;
|
|
2963
|
+
private formatGrade;
|
|
2964
|
+
badgeLabelClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2965
|
+
gradeBadgeClass: _angular_core.Signal<string>;
|
|
2966
|
+
private getGradeBadgeClassLight;
|
|
2967
|
+
private getGradeBadgeClassDark;
|
|
2968
|
+
private getGradeExplanation;
|
|
2969
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GradeBadgeComponent, never>;
|
|
2970
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<GradeBadgeComponent, "symphiq-grade-badge", never, { "grade": { "alias": "grade"; "required": false; "isSignal": true; }; "gradeRationale": { "alias": "gradeRationale"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2971
|
+
}
|
|
2972
|
+
|
|
2973
|
+
declare class ChartCardComponent {
|
|
2974
|
+
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2975
|
+
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2976
|
+
isLightMode: _angular_core.InputSignal<boolean>;
|
|
2977
|
+
chartClick: _angular_core.OutputEmitterRef<AiChartInterface>;
|
|
2978
|
+
protected readonly ChartTypeEnum: typeof ChartTypeEnum;
|
|
2979
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartCardComponent, never>;
|
|
2980
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartCardComponent, "symphiq-chart-card", never, { "chart": { "alias": "chart"; "required": true; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; }, { "chartClick": "chartClick"; }, never, never, true, never>;
|
|
2981
|
+
}
|
|
2982
|
+
|
|
2983
|
+
declare class MetricListItemComponent {
|
|
2984
|
+
metric: _angular_core.InputSignal<PerformanceMetricInterface>;
|
|
2985
|
+
isLightMode: _angular_core.InputSignal<boolean>;
|
|
2986
|
+
animationKey: _angular_core.InputSignal<number>;
|
|
2987
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
2988
|
+
metricClick: _angular_core.OutputEmitterRef<PerformanceMetricInterface>;
|
|
2989
|
+
private metricNameCache;
|
|
2990
|
+
private animatedValueSignal;
|
|
2991
|
+
private animatedTrendSignal;
|
|
2992
|
+
private animationFrame;
|
|
2993
|
+
private trendAnimationFrame;
|
|
2994
|
+
animatedValue: _angular_core.Signal<number>;
|
|
2995
|
+
animatedTrendValue: _angular_core.Signal<number>;
|
|
2996
|
+
constructor();
|
|
2997
|
+
formatMetricName(name: string): string;
|
|
2998
|
+
formatAnimatedMetricValue(metric: PerformanceMetricInterface, animatedValue: number): string;
|
|
2999
|
+
getMetricTrendClass(metric: PerformanceMetricInterface): string;
|
|
3000
|
+
private animateValue;
|
|
3001
|
+
private animateTrend;
|
|
3002
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MetricListItemComponent, never>;
|
|
3003
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MetricListItemComponent, "symphiq-metric-list-item", never, { "metric": { "alias": "metric"; "required": true; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "animationKey": { "alias": "animationKey"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, { "metricClick": "metricClick"; }, never, never, true, never>;
|
|
3004
|
+
}
|
|
3005
|
+
|
|
3006
|
+
interface ConfidenceData {
|
|
3007
|
+
grade: string;
|
|
3008
|
+
percentage: number;
|
|
3009
|
+
qualitativeStatus: string;
|
|
3010
|
+
quantitativeStatus: string;
|
|
3011
|
+
description: string;
|
|
3012
|
+
}
|
|
3013
|
+
declare class ConfidenceLevelCardComponent implements OnInit, OnDestroy {
|
|
3014
|
+
viewMode: ViewModeEnum;
|
|
3015
|
+
currentStepId: string;
|
|
3016
|
+
focusAreaDetails?: FocusAreaDetailInterface[];
|
|
3017
|
+
currentFocusAreaDomain?: FocusAreaDomainEnum;
|
|
3018
|
+
currentMetric?: string;
|
|
3019
|
+
private elementRef;
|
|
3020
|
+
private observer?;
|
|
3021
|
+
private animationFrame?;
|
|
3022
|
+
protected hasAnimated: _angular_core.WritableSignal<boolean>;
|
|
3023
|
+
protected animatedPercentage: _angular_core.WritableSignal<number>;
|
|
3024
|
+
ngOnInit(): void;
|
|
3025
|
+
ngOnDestroy(): void;
|
|
3026
|
+
private setupObserver;
|
|
3027
|
+
private animateProgress;
|
|
3028
|
+
private calculateFocusAreaPercentage;
|
|
3029
|
+
private calculateMetricPercentage;
|
|
3030
|
+
private getMetricGrade;
|
|
3031
|
+
private getMetricQualitativeStatus;
|
|
3032
|
+
private getMetricDescription;
|
|
3033
|
+
protected confidenceData: _angular_core.Signal<ConfidenceData>;
|
|
3034
|
+
protected shouldPulse: _angular_core.Signal<boolean>;
|
|
3035
|
+
protected isLightMode: _angular_core.Signal<boolean>;
|
|
3036
|
+
protected cardContainerClasses: _angular_core.Signal<"border-2 shadow-2xl bg-slate-800/60 border-slate-700/50 backdrop-blur-xl" | "border-2 shadow-2xl bg-white/90 border-slate-200/50 backdrop-blur-xl shadow-slate-200/50">;
|
|
3037
|
+
protected backgroundOverlayClasses: _angular_core.Signal<"bg-gradient-to-br from-emerald-500/30 via-teal-500/20 to-emerald-500/30" | "bg-gradient-to-br from-emerald-400/20 via-teal-400/10 to-emerald-400/20" | "bg-gradient-to-br from-blue-500/30 via-cyan-500/20 to-blue-500/30" | "bg-gradient-to-br from-blue-400/20 via-cyan-400/10 to-blue-400/20" | "bg-gradient-to-br from-orange-500/30 via-amber-500/20 to-orange-500/30" | "bg-gradient-to-br from-orange-400/20 via-amber-400/10 to-orange-400/20" | "bg-gradient-to-br from-red-500/30 via-rose-500/20 to-red-500/30" | "bg-gradient-to-br from-red-400/20 via-rose-400/10 to-red-400/20">;
|
|
3038
|
+
protected titleClasses: _angular_core.Signal<"text-white" | "bg-gradient-to-r from-slate-700 to-slate-900 bg-clip-text text-transparent">;
|
|
3039
|
+
protected subtitleClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
3040
|
+
protected gradeBadgeContainerClasses: _angular_core.Signal<string>;
|
|
3041
|
+
protected glowEffectClasses: _angular_core.Signal<"bg-emerald-500" | "bg-blue-500" | "bg-orange-500" | "bg-red-500">;
|
|
3042
|
+
protected gradeBadgeClasses: _angular_core.Signal<"bg-gradient-to-br from-emerald-500/30 to-teal-500/30 border-2 border-emerald-500/50 shadow-[0_0_20px_rgba(16,185,129,0.3)]" | "bg-gradient-to-br from-emerald-50 to-teal-50 border-2 border-emerald-300/50 shadow-[0_0_20px_rgba(16,185,129,0.2)]" | "bg-gradient-to-br from-blue-500/30 to-cyan-500/30 border-2 border-blue-500/50 shadow-[0_0_20px_rgba(59,130,246,0.3)]" | "bg-gradient-to-br from-blue-50 to-cyan-50 border-2 border-blue-300/50 shadow-[0_0_20px_rgba(59,130,246,0.2)]" | "bg-gradient-to-br from-orange-500/30 to-amber-500/30 border-2 border-orange-500/50 shadow-[0_0_20px_rgba(249,115,22,0.3)]" | "bg-gradient-to-br from-orange-50 to-amber-50 border-2 border-orange-300/50 shadow-[0_0_20px_rgba(249,115,22,0.2)]" | "bg-gradient-to-br from-red-500/30 to-rose-500/30 border-2 border-red-500/50 shadow-[0_0_20px_rgba(239,68,68,0.3)]" | "bg-gradient-to-br from-red-50 to-rose-50 border-2 border-red-300/50 shadow-[0_0_20px_rgba(239,68,68,0.2)]">;
|
|
3043
|
+
protected gradeLabelClasses: _angular_core.Signal<"text-blue-700" | "text-emerald-700" | "text-red-700" | "text-orange-700" | "text-emerald-300" | "text-blue-300" | "text-orange-300" | "text-red-300">;
|
|
3044
|
+
protected gradeValueClasses: _angular_core.Signal<"bg-gradient-to-b from-emerald-300 to-emerald-500 bg-clip-text text-transparent" | "bg-gradient-to-b from-emerald-600 to-emerald-800 bg-clip-text text-transparent" | "bg-gradient-to-b from-blue-300 to-blue-500 bg-clip-text text-transparent" | "bg-gradient-to-b from-blue-600 to-blue-800 bg-clip-text text-transparent" | "bg-gradient-to-b from-orange-300 to-orange-500 bg-clip-text text-transparent" | "bg-gradient-to-b from-orange-600 to-orange-800 bg-clip-text text-transparent" | "bg-gradient-to-b from-red-300 to-red-500 bg-clip-text text-transparent" | "bg-gradient-to-b from-red-600 to-red-800 bg-clip-text text-transparent">;
|
|
3045
|
+
protected descriptionClasses: _angular_core.Signal<"text-slate-300" | "text-slate-700">;
|
|
3046
|
+
protected progressLabelClasses: _angular_core.Signal<"text-slate-300" | "text-slate-700">;
|
|
3047
|
+
protected progressValueClasses: _angular_core.Signal<"text-blue-400" | "text-blue-600" | "text-emerald-400" | "text-red-400" | "text-red-600" | "text-orange-600" | "text-orange-400" | "text-emerald-600">;
|
|
3048
|
+
protected progressTrackClasses: _angular_core.Signal<"bg-slate-700/50 shadow-inner" | "bg-slate-200 shadow-inner">;
|
|
3049
|
+
protected progressBarClasses: _angular_core.Signal<"rounded-full overflow-hidden bg-gradient-to-r from-emerald-500 via-teal-500 to-emerald-600" | "rounded-full overflow-hidden bg-gradient-to-r from-blue-500 via-cyan-500 to-blue-600" | "rounded-full overflow-hidden bg-gradient-to-r from-orange-500 via-amber-500 to-orange-600" | "rounded-full overflow-hidden bg-gradient-to-r from-red-500 via-rose-500 to-red-600">;
|
|
3050
|
+
protected shimmerClasses: _angular_core.Signal<string>;
|
|
3051
|
+
protected progressGlowClasses: _angular_core.Signal<"bg-gradient-to-r from-emerald-500 to-teal-500" | "bg-gradient-to-r from-blue-500 to-cyan-500" | "bg-gradient-to-r from-orange-500 to-amber-500" | "bg-gradient-to-r from-red-500 to-rose-500">;
|
|
3052
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfidenceLevelCardComponent, never>;
|
|
3053
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfidenceLevelCardComponent, "symphiq-confidence-level-card", never, { "viewMode": { "alias": "viewMode"; "required": false; }; "currentStepId": { "alias": "currentStepId"; "required": false; }; "focusAreaDetails": { "alias": "focusAreaDetails"; "required": false; }; "currentFocusAreaDomain": { "alias": "currentFocusAreaDomain"; "required": false; }; "currentMetric": { "alias": "currentMetric"; "required": false; }; }, {}, never, never, true, never>;
|
|
3054
|
+
}
|
|
3055
|
+
|
|
3056
|
+
declare class RelatedContentSidebarComponent {
|
|
3057
|
+
relatedContent: _angular_core.InputSignal<CrossDashboardRelationships | null>;
|
|
3058
|
+
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
3059
|
+
funnelInsightsClicked: _angular_core.OutputEmitterRef<void>;
|
|
3060
|
+
funnelMetricsClicked: _angular_core.OutputEmitterRef<void>;
|
|
3061
|
+
businessInsightsClicked: _angular_core.OutputEmitterRef<void>;
|
|
3062
|
+
protected isLightMode: _angular_core.Signal<boolean>;
|
|
3063
|
+
protected hasFunnelContent: _angular_core.Signal<boolean>;
|
|
3064
|
+
protected hasBusinessContent: _angular_core.Signal<boolean>;
|
|
3065
|
+
protected hasRelatedContent: _angular_core.Signal<boolean>;
|
|
3066
|
+
protected funnelInsightsCount: _angular_core.Signal<number>;
|
|
3067
|
+
protected funnelMetricsCount: _angular_core.Signal<number>;
|
|
3068
|
+
protected businessInsightsCount: _angular_core.Signal<number>;
|
|
3069
|
+
protected headerClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
3070
|
+
protected buttonClasses: _angular_core.Signal<"bg-slate-800/50 border-slate-700 hover:border-blue-500/50 hover:bg-slate-700/50" | "bg-slate-50 border-slate-200 hover:border-blue-500/50 hover:bg-slate-100">;
|
|
3071
|
+
protected iconBgClasses: _angular_core.Signal<"bg-blue-100 text-blue-600" | "bg-blue-900/30 text-blue-400">;
|
|
3072
|
+
protected iconClasses: _angular_core.Signal<"text-blue-400" | "text-blue-600">;
|
|
3073
|
+
protected countClasses: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
3074
|
+
protected labelClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
3075
|
+
protected chevronClasses: _angular_core.Signal<"text-slate-400 group-hover:text-blue-600" | "text-slate-500 group-hover:text-blue-400">;
|
|
3076
|
+
protected onFunnelInsightsClick(): void;
|
|
3077
|
+
protected onFunnelMetricsClick(): void;
|
|
3078
|
+
protected onBusinessInsightsClick(): void;
|
|
3079
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RelatedContentSidebarComponent, never>;
|
|
3080
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<RelatedContentSidebarComponent, "symphiq-related-content-sidebar", never, { "relatedContent": { "alias": "relatedContent"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, { "funnelInsightsClicked": "funnelInsightsClicked"; "funnelMetricsClicked": "funnelMetricsClicked"; "businessInsightsClicked": "businessInsightsClicked"; }, never, never, true, never>;
|
|
3081
|
+
}
|
|
3082
|
+
|
|
2148
3083
|
declare class ChartContainerComponent {
|
|
2149
3084
|
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2150
3085
|
isLightMode: _angular_core.InputSignal<boolean>;
|
|
@@ -2152,15 +3087,16 @@ declare class ChartContainerComponent {
|
|
|
2152
3087
|
isCompactMode: _angular_core.InputSignal<boolean>;
|
|
2153
3088
|
collapsibleIn: _angular_core.InputSignal<"compact" | "expanded" | "never">;
|
|
2154
3089
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
3090
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
2155
3091
|
chartClick: _angular_core.OutputEmitterRef<AiChartInterface>;
|
|
2156
3092
|
isExpanded: _angular_core.WritableSignal<boolean>;
|
|
2157
3093
|
protected ChartTypeEnum: typeof ChartTypeEnum;
|
|
2158
3094
|
containerClass: _angular_core.Signal<"bg-white border-slate-200 hover:border-blue-300 hover:shadow-blue-100/50" | "bg-slate-800 border-slate-700 hover:border-slate-600 hover:shadow-slate-900/50">;
|
|
2159
|
-
headerClass: _angular_core.Signal<"border-slate-
|
|
3095
|
+
headerClass: _angular_core.Signal<"border-slate-700" | "border-slate-200">;
|
|
2160
3096
|
titleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
2161
|
-
descriptionClass: _angular_core.Signal<"text-slate-
|
|
2162
|
-
iconClass: _angular_core.Signal<"text-slate-
|
|
2163
|
-
chartIconClass: _angular_core.Signal<"bg-blue-
|
|
3097
|
+
descriptionClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
3098
|
+
iconClass: _angular_core.Signal<"text-slate-500 group-hover:text-blue-400" | "text-slate-400 group-hover:text-blue-500">;
|
|
3099
|
+
chartIconClass: _angular_core.Signal<"bg-blue-500/20 text-blue-400" | "bg-blue-100 text-blue-600">;
|
|
2164
3100
|
expandButtonClass: _angular_core.Signal<"bg-blue-100 text-blue-600 hover:bg-blue-200" | "bg-blue-500/20 text-blue-400 hover:bg-blue-500/30">;
|
|
2165
3101
|
closeButtonClass: _angular_core.Signal<"bg-slate-100 text-slate-600 hover:bg-slate-200" | "bg-slate-700/50 text-slate-400 hover:bg-slate-600/50">;
|
|
2166
3102
|
isCollapsible: _angular_core.Signal<boolean>;
|
|
@@ -2170,14 +3106,15 @@ declare class ChartContainerComponent {
|
|
|
2170
3106
|
onChartClick(event: Event): void;
|
|
2171
3107
|
toggleExpand(event: Event): void;
|
|
2172
3108
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartContainerComponent, never>;
|
|
2173
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartContainerComponent, "symphiq-chart-container", never, { "chart": { "alias": "chart"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "collapsibleIn": { "alias": "collapsibleIn"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, { "chartClick": "chartClick"; }, never, never, true, never>;
|
|
3109
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartContainerComponent, "symphiq-chart-container", never, { "chart": { "alias": "chart"; "required": false; "isSignal": true; }; "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isCompactMode": { "alias": "isCompactMode"; "required": false; "isSignal": true; }; "collapsibleIn": { "alias": "collapsibleIn"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, { "chartClick": "chartClick"; }, never, never, true, never>;
|
|
2174
3110
|
}
|
|
2175
3111
|
|
|
2176
3112
|
declare class LineChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
2177
3113
|
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2178
3114
|
showAxisLabels: _angular_core.InputSignal<boolean>;
|
|
2179
3115
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2180
|
-
|
|
3116
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
3117
|
+
chartHeight: _angular_core.Signal<"133px" | "500px">;
|
|
2181
3118
|
cursorColor: _angular_core.Signal<9741240 | 16777215>;
|
|
2182
3119
|
tooltipTextColor: _angular_core.Signal<0 | 16777215>;
|
|
2183
3120
|
chartHash: _angular_core.Signal<string>;
|
|
@@ -2213,14 +3150,15 @@ declare class LineChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
2213
3150
|
private extractMetricName;
|
|
2214
3151
|
private createChart;
|
|
2215
3152
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LineChartComponent, never>;
|
|
2216
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChartComponent, "symphiq-line-chart", never, { "chart": { "alias": "chart"; "required": false; "isSignal": true; }; "showAxisLabels": { "alias": "showAxisLabels"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3153
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChartComponent, "symphiq-line-chart", never, { "chart": { "alias": "chart"; "required": false; "isSignal": true; }; "showAxisLabels": { "alias": "showAxisLabels"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2217
3154
|
}
|
|
2218
3155
|
|
|
2219
3156
|
declare class BarChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
2220
3157
|
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2221
3158
|
showAxisLabels: _angular_core.InputSignal<boolean>;
|
|
2222
3159
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2223
|
-
|
|
3160
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
3161
|
+
chartHeight: _angular_core.Signal<"175px" | "500px">;
|
|
2224
3162
|
cursorColor: _angular_core.Signal<9741240 | 16777215>;
|
|
2225
3163
|
tooltipTextColor: _angular_core.Signal<0 | 16777215>;
|
|
2226
3164
|
chartHash: _angular_core.Signal<string>;
|
|
@@ -2249,14 +3187,15 @@ declare class BarChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
2249
3187
|
private cleanupIntersectionObserver;
|
|
2250
3188
|
private createChart;
|
|
2251
3189
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BarChartComponent, never>;
|
|
2252
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BarChartComponent, "symphiq-bar-chart", never, { "chart": { "alias": "chart"; "required": false; "isSignal": true; }; "showAxisLabels": { "alias": "showAxisLabels"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3190
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BarChartComponent, "symphiq-bar-chart", never, { "chart": { "alias": "chart"; "required": false; "isSignal": true; }; "showAxisLabels": { "alias": "showAxisLabels"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2253
3191
|
}
|
|
2254
3192
|
|
|
2255
3193
|
declare class PieChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
2256
3194
|
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2257
3195
|
showAxisLabels: _angular_core.InputSignal<boolean>;
|
|
2258
3196
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2259
|
-
|
|
3197
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
3198
|
+
chartHeight: _angular_core.Signal<"200px" | "500px">;
|
|
2260
3199
|
chartHash: _angular_core.Signal<string>;
|
|
2261
3200
|
chartDiv: ElementRef;
|
|
2262
3201
|
private root?;
|
|
@@ -2284,14 +3223,15 @@ declare class PieChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
2284
3223
|
private formatValue;
|
|
2285
3224
|
private createChart;
|
|
2286
3225
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PieChartComponent, never>;
|
|
2287
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PieChartComponent, "symphiq-pie-chart", never, { "chart": { "alias": "chart"; "required": false; "isSignal": true; }; "showAxisLabels": { "alias": "showAxisLabels"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3226
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PieChartComponent, "symphiq-pie-chart", never, { "chart": { "alias": "chart"; "required": false; "isSignal": true; }; "showAxisLabels": { "alias": "showAxisLabels"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2288
3227
|
}
|
|
2289
3228
|
|
|
2290
3229
|
declare class AreaChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
2291
3230
|
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2292
3231
|
showAxisLabels: _angular_core.InputSignal<boolean>;
|
|
2293
3232
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2294
|
-
|
|
3233
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
3234
|
+
chartHeight: _angular_core.Signal<"133px" | "500px">;
|
|
2295
3235
|
cursorColor: _angular_core.Signal<9741240 | 16777215>;
|
|
2296
3236
|
chartHash: _angular_core.Signal<string>;
|
|
2297
3237
|
chartDiv: ElementRef;
|
|
@@ -2319,7 +3259,7 @@ declare class AreaChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
2319
3259
|
private cleanupIntersectionObserver;
|
|
2320
3260
|
private createChart;
|
|
2321
3261
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AreaChartComponent, never>;
|
|
2322
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AreaChartComponent, "symphiq-area-chart", never, { "chart": { "alias": "chart"; "required": false; "isSignal": true; }; "showAxisLabels": { "alias": "showAxisLabels"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3262
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AreaChartComponent, "symphiq-area-chart", never, { "chart": { "alias": "chart"; "required": false; "isSignal": true; }; "showAxisLabels": { "alias": "showAxisLabels"; "required": false; "isSignal": true; }; "viewMode": { "alias": "viewMode"; "required": false; "isSignal": true; }; "currencySymbol": { "alias": "currencySymbol"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2323
3263
|
}
|
|
2324
3264
|
|
|
2325
3265
|
declare class TooltipContainerComponent {
|
|
@@ -2332,7 +3272,7 @@ declare class TooltipContainerComponent {
|
|
|
2332
3272
|
isVisible: _angular_core.Signal<boolean>;
|
|
2333
3273
|
tooltipType: _angular_core.Signal<string | null>;
|
|
2334
3274
|
tooltipContent: _angular_core.Signal<string | Record<string, unknown> | undefined>;
|
|
2335
|
-
tooltipPosition: _angular_core.Signal<"
|
|
3275
|
+
tooltipPosition: _angular_core.Signal<"auto" | "top" | "left" | "right" | "bottom">;
|
|
2336
3276
|
targetRect: _angular_core.Signal<DOMRect | null>;
|
|
2337
3277
|
mousePosition: _angular_core.Signal<{
|
|
2338
3278
|
x: number;
|
|
@@ -2356,7 +3296,7 @@ declare class TooltipContainerComponent {
|
|
|
2356
3296
|
shouldCenter: _angular_core.Signal<boolean>;
|
|
2357
3297
|
containerClass: _angular_core.Signal<"" | "-translate-x-1/2">;
|
|
2358
3298
|
contentClass: _angular_core.Signal<"bg-white/95 border-slate-300 text-slate-900" | "bg-slate-800/95 border-slate-600 text-white">;
|
|
2359
|
-
textClass: _angular_core.Signal<"text-slate-
|
|
3299
|
+
textClass: _angular_core.Signal<"text-slate-700" | "text-slate-200">;
|
|
2360
3300
|
viewMoreButtonClass: _angular_core.Signal<"bg-blue-50 text-blue-700 border border-blue-200 hover:bg-blue-200 hover:border-blue-400 hover:text-blue-800 active:bg-blue-300" | "bg-blue-500/10 text-blue-400 border border-blue-500/20 hover:bg-blue-500/30 hover:border-blue-500/40 hover:text-blue-300 active:bg-blue-500/40">;
|
|
2361
3301
|
transformStyle: _angular_core.Signal<"none" | "translateX(-192px)">;
|
|
2362
3302
|
constructor();
|
|
@@ -2436,6 +3376,8 @@ declare class ViewportAnimationDirective implements OnInit, OnDestroy {
|
|
|
2436
3376
|
once: boolean;
|
|
2437
3377
|
private observer?;
|
|
2438
3378
|
private hasAnimated;
|
|
3379
|
+
private isFirstObservation;
|
|
3380
|
+
private shouldSkipAnimation;
|
|
2439
3381
|
constructor(el: ElementRef, renderer: Renderer2);
|
|
2440
3382
|
ngOnInit(): void;
|
|
2441
3383
|
ngOnDestroy(): void;
|
|
@@ -2455,11 +3397,14 @@ declare class FocusAreaDetailCardComponent {
|
|
|
2455
3397
|
set forceExpanded(value: boolean);
|
|
2456
3398
|
animationIndex: number;
|
|
2457
3399
|
protected IconSourceEnum: typeof IconSourceEnum;
|
|
2458
|
-
|
|
3400
|
+
private _isExpanded;
|
|
3401
|
+
protected isCompetitiveGapExpanded: _angular_core.WritableSignal<boolean>;
|
|
2459
3402
|
private _forceExpanded;
|
|
2460
3403
|
private _hasAnimated;
|
|
2461
3404
|
private modalService;
|
|
2462
3405
|
private profileContextService;
|
|
3406
|
+
private viewModeService;
|
|
3407
|
+
protected isExpanded: _angular_core.Signal<boolean>;
|
|
2463
3408
|
protected isDark: _angular_core.Signal<boolean>;
|
|
2464
3409
|
protected isActuallyExpanded: _angular_core.Signal<boolean>;
|
|
2465
3410
|
protected forceExpandedValue: _angular_core.Signal<boolean>;
|
|
@@ -2485,8 +3430,11 @@ declare class FocusAreaDetailCardComponent {
|
|
|
2485
3430
|
protected expandButtonClasses: _angular_core.Signal<"text-sm font-medium text-blue-400" | "text-sm font-medium text-blue-600">;
|
|
2486
3431
|
protected chevronClasses: _angular_core.Signal<"text-blue-400" | "text-blue-600">;
|
|
2487
3432
|
protected toggleExpanded(): void;
|
|
2488
|
-
protected
|
|
3433
|
+
protected toggleCompetitiveGap(): void;
|
|
2489
3434
|
onExpandItem(event: CustomEvent): void;
|
|
3435
|
+
protected getCompetitiveGapSectionClasses(): string;
|
|
3436
|
+
protected getToolChipClasses(): string;
|
|
3437
|
+
protected formatFocusAreaStatus(status: string): string;
|
|
2490
3438
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FocusAreaDetailCardComponent, never>;
|
|
2491
3439
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FocusAreaDetailCardComponent, "symphiq-focus-area-detail-card", never, { "item": { "alias": "item"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "forceExpanded": { "alias": "forceExpanded"; "required": false; }; "animationIndex": { "alias": "animationIndex"; "required": false; }; }, {}, never, never, true, never>;
|
|
2492
3440
|
}
|
|
@@ -2500,11 +3448,18 @@ interface CompetitorContext {
|
|
|
2500
3448
|
focusAreas?: ProfileItemInterface[];
|
|
2501
3449
|
}
|
|
2502
3450
|
|
|
3451
|
+
interface StrengthOrWeaknessObject {
|
|
3452
|
+
area?: string;
|
|
3453
|
+
assessment?: string;
|
|
3454
|
+
text?: string;
|
|
3455
|
+
}
|
|
3456
|
+
type StrengthOrWeakness = string | StrengthOrWeaknessObject;
|
|
2503
3457
|
declare class CompetitorAnalysisCardComponent {
|
|
2504
3458
|
item?: ProfileItemInterface;
|
|
2505
3459
|
viewMode: ViewModeEnum;
|
|
2506
3460
|
set forceExpanded(value: boolean);
|
|
2507
3461
|
animationIndex: number;
|
|
3462
|
+
inModalContext: boolean;
|
|
2508
3463
|
protected IconSourceEnum: typeof IconSourceEnum;
|
|
2509
3464
|
protected isExpanded: _angular_core.WritableSignal<boolean>;
|
|
2510
3465
|
private _forceExpanded;
|
|
@@ -2512,21 +3467,26 @@ declare class CompetitorAnalysisCardComponent {
|
|
|
2512
3467
|
private modalService;
|
|
2513
3468
|
private profileContextService;
|
|
2514
3469
|
private navigationService;
|
|
3470
|
+
private lookupService;
|
|
3471
|
+
private viewModeService;
|
|
2515
3472
|
protected isDark: _angular_core.Signal<boolean>;
|
|
3473
|
+
protected displayMode: _angular_core.Signal<ViewMode>;
|
|
2516
3474
|
protected isActuallyExpanded: _angular_core.Signal<boolean>;
|
|
2517
|
-
protected
|
|
3475
|
+
protected isExpandedMode: _angular_core.Signal<boolean>;
|
|
2518
3476
|
protected shouldAnimateExpand: _angular_core.Signal<boolean>;
|
|
2519
3477
|
protected iconSize: _angular_core.Signal<"w-6 h-6" | "w-7 h-7">;
|
|
3478
|
+
protected animationType: _angular_core.Signal<"none" | "slide-up">;
|
|
3479
|
+
constructor();
|
|
2520
3480
|
protected hasCompanyInfo: _angular_core.Signal<boolean>;
|
|
2521
3481
|
protected competitorContext: _angular_core.Signal<CompetitorContext | undefined>;
|
|
2522
3482
|
protected hasAnyContext: _angular_core.Signal<boolean>;
|
|
2523
3483
|
protected threatLevelLabel: _angular_core.Signal<string>;
|
|
2524
3484
|
protected threatLevelBadgeType: _angular_core.Signal<BadgeType>;
|
|
2525
3485
|
protected threatLevelIcon: _angular_core.Signal<IconObjectInterface$1>;
|
|
2526
|
-
protected getStrengthArea(strength:
|
|
2527
|
-
protected getStrengthText(strength:
|
|
2528
|
-
protected getWeaknessArea(weakness:
|
|
2529
|
-
protected getWeaknessText(weakness:
|
|
3486
|
+
protected getStrengthArea(strength: StrengthOrWeakness): string;
|
|
3487
|
+
protected getStrengthText(strength: StrengthOrWeakness): string;
|
|
3488
|
+
protected getWeaknessArea(weakness: StrengthOrWeakness): string;
|
|
3489
|
+
protected getWeaknessText(weakness: StrengthOrWeakness): string;
|
|
2530
3490
|
protected websiteIcon: _angular_core.Signal<IconObjectInterface$1>;
|
|
2531
3491
|
protected strategyIcon: _angular_core.Signal<IconObjectInterface$1>;
|
|
2532
3492
|
protected strengthIcon: _angular_core.Signal<IconObjectInterface$1>;
|
|
@@ -2554,13 +3514,14 @@ declare class CompetitorAnalysisCardComponent {
|
|
|
2554
3514
|
protected navigateToItem(item: ProfileItemInterface): void;
|
|
2555
3515
|
onExpandItem(event: CustomEvent): void;
|
|
2556
3516
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CompetitorAnalysisCardComponent, never>;
|
|
2557
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CompetitorAnalysisCardComponent, "symphiq-competitor-analysis-card", never, { "item": { "alias": "item"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "forceExpanded": { "alias": "forceExpanded"; "required": false; }; "animationIndex": { "alias": "animationIndex"; "required": false; }; }, {}, never, never, true, never>;
|
|
3517
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CompetitorAnalysisCardComponent, "symphiq-competitor-analysis-card", never, { "item": { "alias": "item"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "forceExpanded": { "alias": "forceExpanded"; "required": false; }; "animationIndex": { "alias": "animationIndex"; "required": false; }; "inModalContext": { "alias": "inModalContext"; "required": false; }; }, {}, never, never, true, never>;
|
|
2558
3518
|
}
|
|
2559
3519
|
|
|
2560
3520
|
declare class OpportunityHighlightBannerComponent {
|
|
2561
3521
|
title: string;
|
|
2562
3522
|
message?: string;
|
|
2563
3523
|
isDark: boolean;
|
|
3524
|
+
isExpanded: boolean;
|
|
2564
3525
|
bannerClick: EventEmitter<void>;
|
|
2565
3526
|
protected iconSource: IconSourceEnum;
|
|
2566
3527
|
protected bannerClasses: _angular_core.Signal<"bg-gradient-to-r from-amber-500/10 to-orange-500/10 border-l-amber-500 border-r border-t border-b border-amber-500/30" | "bg-gradient-to-r from-amber-50 to-orange-50 border-l-amber-500 border-r border-t border-b border-amber-200">;
|
|
@@ -2571,7 +3532,7 @@ declare class OpportunityHighlightBannerComponent {
|
|
|
2571
3532
|
protected chevronClasses: _angular_core.Signal<"text-amber-600" | "text-amber-400">;
|
|
2572
3533
|
handleClick(event: Event): void;
|
|
2573
3534
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OpportunityHighlightBannerComponent, never>;
|
|
2574
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OpportunityHighlightBannerComponent, "symphiq-opportunity-highlight-banner", never, { "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; }; "isDark": { "alias": "isDark"; "required": false; }; }, { "bannerClick": "bannerClick"; }, never, never, true, never>;
|
|
3535
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OpportunityHighlightBannerComponent, "symphiq-opportunity-highlight-banner", never, { "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; }; "isDark": { "alias": "isDark"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; }, { "bannerClick": "bannerClick"; }, never, never, true, never>;
|
|
2575
3536
|
}
|
|
2576
3537
|
|
|
2577
3538
|
declare class SkeletonCardBaseComponent {
|
|
@@ -2655,8 +3616,12 @@ declare class SkeletonCompetitorCardComponent {
|
|
|
2655
3616
|
declare const FUNNEL_ANALYSIS: FunnelAnalysisInterface;
|
|
2656
3617
|
|
|
2657
3618
|
declare const BUSINESS_PROFILE: ProfileInterface;
|
|
2658
|
-
|
|
2659
|
-
declare const
|
|
3619
|
+
|
|
3620
|
+
declare const PROFILE_ANALYSIS_SHOP: ProfileAnalysisInterface;
|
|
3621
|
+
|
|
3622
|
+
declare const PROFILE_ANALYSIS_FOCUS_AREA_AFFILIATE: ProfileAnalysisInterface;
|
|
3623
|
+
|
|
3624
|
+
declare const PROFILE_ANALYSIS_METRIC_SCREEN_PAGE_VIEWS: ProfileAnalysisInterface;
|
|
2660
3625
|
|
|
2661
3626
|
/**
|
|
2662
3627
|
* Shared Theme Color Utilities
|
|
@@ -2784,6 +3749,6 @@ declare function getCategoryColor(category: string): CategoryColorPalette;
|
|
|
2784
3749
|
*/
|
|
2785
3750
|
declare function getCategoryBadgeClasses(category: string, isDark: boolean): string;
|
|
2786
3751
|
|
|
2787
|
-
export { AreaChartComponent, BUSINESS_PROFILE, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, FUNNEL_ANALYSIS, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FunnelOrderService,
|
|
2788
|
-
export type { AnimationType, BusinessSearchResult, CategoryColorPalette, ChartThemeColors, FunnelMetricOrder, HeaderScrollConfig, LayoutMode, Metric, ModalState, NavSection, NavigationState, ScrollBaseCustomEvent, ScrollBaseDetail, ScrollCustomEvent, ScrollDepthInfo, ScrollDetail, SemanticColors, ShadowLevel, ThemeColorContext, ThemeMode, TooltipPosition, TooltipState, TooltipType, ViewMode, ViewportBounds, VisualizationData, VisualizationType };
|
|
3752
|
+
export { AreaChartComponent, BUSINESS_PROFILE, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfidenceLevelCardComponent, CrossDashboardRelationshipsService, FUNNEL_ANALYSIS, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FocusAreaExecutiveSummaryComponent, FunnelOrderService, GradeBadgeComponent, HeaderScrollService, HierarchyDisplayComponent, HorizontalBarComponent, IconService, InsightCardComponent, LineChartComponent, MetricCardComponent, MetricExecutiveSummaryComponent, MetricFormatterService, MetricListItemComponent, MetricWelcomeBannerComponent, MobileBottomNavComponent, MobileFABComponent, ModalComponent, ModalService, NapkinVisualPlaceholderComponent, NavigationStateService, OpportunityHighlightBannerComponent, OverallAssessmentComponent, PROFILE_ANALYSIS_FOCUS_AREA_AFFILIATE, PROFILE_ANALYSIS_METRIC_SCREEN_PAGE_VIEWS, PROFILE_ANALYSIS_SHOP, PieChartComponent, ProfileItemCardComponent, ProfileSectionComponent, ProfileSubsectionComponent, RelatedContentSidebarComponent, ScrollDepthService, ScrollProgressBarComponent, SearchButtonComponent, SearchModalComponent, SectionDividerComponent, SectionNavigationComponent, ShadowElevationDirective, ShopWelcomeBannerComponent, SkeletonBarComponent, SkeletonCardBaseComponent, SkeletonCircleComponent, SkeletonCompetitorCardComponent, SkeletonCustomerSegmentCardComponent, SkeletonFocusAreaCardComponent, SkeletonGenericCardComponent, SkeletonLoaderComponent, SkeletonPriceTierCardComponent, SkeletonProductCategoryCardComponent, SkeletonRegionCardComponent, SkeletonSeasonCardComponent, SymphiqBusinessAnalysisDashboardComponent, SymphiqFunnelAnalysisDashboardComponent, SymphiqFunnelAnalysisPreviewComponent, SymphiqIconComponent, SymphiqProfileAnalysisDashboardComponent, TooltipContainerComponent, TooltipDataService, TooltipDirective, TooltipService, ViewModeService, ViewportAnimationDirective, VisualizationContainerComponent, getBadgeLabelClasses, getButtonClasses, getCategoryBadgeClasses, getCategoryColor, getCompetitiveBadgeClasses, getContainerClasses, getFooterClasses, getGradeBadgeClasses, getHeaderClasses, getInsightsBadgeClasses, getInsightsCardClasses, getMetricLabelClasses, getMetricMiniCardClasses, getMetricValueClasses, getNarrativeTextClasses, getRevenueCardClasses, getRevenueIconClasses, getStatusBadgeClasses, getStatusDotClasses, getStatusIconClasses, getStatusSummaryClasses, getSubtitleClasses, getTitleClasses, getTrendClasses, getTrendIconClasses, getTrendValueClasses, isLightMode };
|
|
3753
|
+
export type { AnimationType, BusinessInsightDetailModalData, BusinessSearchResult, CategoryColorPalette, CategoryDetailModalData, ChartThemeColors, CriticalGapDetailModalData, CriticalGapsListModalData, CrossDashboardRelationships, FocusAreaGapDetailModalData, FocusAreaGapsListModalData, FocusAreaOpportunitiesListModalData, FocusAreaOpportunityDetailModalData, FocusAreaStrengthDetailModalData, FocusAreaStrengthsListModalData, FunnelMetricOrder, FunnelStrengthDetailModalData, FunnelStrengthInterface, FunnelStrengthsListModalData, FunnelWeaknessDetailModalData, FunnelWeaknessInterface, FunnelWeaknessesListModalData, GapDetailModalData, GoalBusinessInsightsListModalData, GoalDetailModalData, GoalInsightsListModalData, GoalObjectivesModalData, HeaderScrollConfig, ItemDetailModalData, KeyStrengthDetailModalData, KeyStrengthsListModalData, LayoutMode, Metric, MetricsListModalData, ModalState, NavSection, NavigationState, ObjectiveStrategiesModalData, OpportunityDetailModalData, RecommendationBusinessInsightsListModalData, RecommendationInsightsListModalData, RelatedBusinessContent, RelatedFunnelContent, ScrollBaseCustomEvent, ScrollBaseDetail, ScrollCustomEvent, ScrollDepthInfo, ScrollDetail, SemanticColors, ShadowLevel, StrategyRecommendationsModalData, StrengthDetailModalData, ThemeColorContext, ThemeMode, TooltipPosition, TooltipState, TooltipType, TopPrioritiesListModalData, TopPriorityDetailModalData, ViewMode, ViewportBounds, VisualizationData, VisualizationType };
|
|
2789
3754
|
//# sourceMappingURL=index.d.ts.map
|