@eric-emg/symphiq-components 1.2.105 → 1.2.106
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 +70730 -37611
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +883 -177
- package/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/styles.css +2250 -248
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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, AiChartInterface, ProfileAnalysisRecommendationActionStepInterface, MetricStatusEnum, TrendDirectionEnum, CompetitiveScoreEnum, ProfileSectionInterface, ProfileSubsectionInterface, ProfileInterface, BreakdownMetricInterface, UserInterface, FunnelAnalysisInterface, PerformanceOverviewStructuredV3Interface, OverallAssessmentInterface, ProfileItemTypeEnum, IconObjectInterface as IconObjectInterface$1, NapkinVisualInterface, HierarchyDataInterface, ProfileAnalysisInterface, ProfileAnalysisTypeEnum, IconSourceEnum, ProfileAnalysisSectionV3Interface, ExecutiveSummaryInterface, ChartTypeEnum } from '@jebgem/model';
|
|
3
3
|
export * from '@jebgem/model';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
5
|
import { AfterViewInit, ElementRef, WritableSignal, OnInit, OnDestroy, OnChanges, SimpleChanges, Renderer2, EventEmitter } from '@angular/core';
|
|
@@ -8,6 +8,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,179 @@ 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
|
+
}
|
|
107
|
+
interface GapDetailModalData {
|
|
108
|
+
gap: CategoryGapInterface;
|
|
109
|
+
categoryTitle: string;
|
|
110
|
+
viewMode: ViewModeEnum;
|
|
111
|
+
}
|
|
112
|
+
interface OpportunityDetailModalData {
|
|
113
|
+
opportunity: CategoryOpportunityInterface;
|
|
114
|
+
categoryTitle: string;
|
|
115
|
+
viewMode: ViewModeEnum;
|
|
116
|
+
}
|
|
117
|
+
interface GoalInsightsListModalData {
|
|
118
|
+
insights: InsightBlockInterface[];
|
|
119
|
+
goalContext: {
|
|
120
|
+
title: string;
|
|
121
|
+
description: string;
|
|
122
|
+
icon: string;
|
|
123
|
+
};
|
|
124
|
+
viewMode?: ViewModeEnum;
|
|
125
|
+
sourceCategory?: string;
|
|
126
|
+
sourceGapTitle?: string;
|
|
127
|
+
}
|
|
128
|
+
interface GoalBusinessInsightsListModalData {
|
|
129
|
+
businessInsights: ProfileAnalysisRecommendationInterface[];
|
|
130
|
+
goalContext: {
|
|
131
|
+
title: string;
|
|
132
|
+
description: string;
|
|
133
|
+
icon: string;
|
|
134
|
+
};
|
|
135
|
+
viewMode: ViewModeEnum;
|
|
136
|
+
sourceCategory?: string;
|
|
137
|
+
sourceGapTitle?: string;
|
|
138
|
+
}
|
|
139
|
+
interface MetricsListModalData {
|
|
140
|
+
metrics: PerformanceMetricInterface[];
|
|
141
|
+
goalContext?: {
|
|
142
|
+
title: string;
|
|
143
|
+
description: string;
|
|
144
|
+
icon?: string;
|
|
145
|
+
businessContext?: string;
|
|
146
|
+
priority?: number;
|
|
147
|
+
};
|
|
148
|
+
insightContext?: {
|
|
149
|
+
title: string;
|
|
150
|
+
description: string;
|
|
151
|
+
businessContext: string;
|
|
152
|
+
priority: number;
|
|
153
|
+
};
|
|
154
|
+
recommendationContext?: {
|
|
155
|
+
title: string;
|
|
156
|
+
description: string;
|
|
157
|
+
};
|
|
158
|
+
directlyAffectedMetricId?: string;
|
|
159
|
+
indirectlyAffectedMetricIds?: string[];
|
|
160
|
+
viewMode?: ViewModeEnum;
|
|
161
|
+
sourceCategory?: string;
|
|
162
|
+
sourceGapTitle?: string;
|
|
163
|
+
goalTitle?: string;
|
|
164
|
+
objectiveTitle?: string;
|
|
165
|
+
strategyTitle?: string;
|
|
166
|
+
}
|
|
167
|
+
interface BusinessInsightDetailModalData {
|
|
168
|
+
recommendation: ProfileAnalysisRecommendationInterface;
|
|
169
|
+
goalContext: {
|
|
170
|
+
title: string;
|
|
171
|
+
description: string;
|
|
172
|
+
icon: string;
|
|
173
|
+
};
|
|
174
|
+
viewMode: ViewModeEnum;
|
|
175
|
+
}
|
|
176
|
+
interface KeyStrengthsListModalData {
|
|
177
|
+
keyStrengths: KeyStrengthInterface[];
|
|
178
|
+
viewMode: ViewModeEnum;
|
|
179
|
+
}
|
|
180
|
+
interface CriticalGapsListModalData {
|
|
181
|
+
criticalGaps: CriticalGapInterface[];
|
|
182
|
+
viewMode: ViewModeEnum;
|
|
183
|
+
}
|
|
184
|
+
interface KeyStrengthDetailModalData {
|
|
185
|
+
strength: KeyStrengthInterface;
|
|
186
|
+
viewMode: ViewModeEnum;
|
|
187
|
+
}
|
|
188
|
+
interface CriticalGapDetailModalData {
|
|
189
|
+
gap: CriticalGapInterface;
|
|
190
|
+
viewMode: ViewModeEnum;
|
|
191
|
+
categoryTitle?: string;
|
|
192
|
+
}
|
|
193
|
+
interface FunnelStrengthsListModalData {
|
|
194
|
+
strengths: FunnelStrengthInterface[];
|
|
195
|
+
count: number;
|
|
196
|
+
isLightMode: boolean;
|
|
197
|
+
}
|
|
198
|
+
interface FunnelWeaknessesListModalData {
|
|
199
|
+
weaknesses: FunnelWeaknessInterface[];
|
|
200
|
+
count: number;
|
|
201
|
+
isLightMode: boolean;
|
|
202
|
+
}
|
|
203
|
+
interface FunnelStrengthDetailModalData {
|
|
204
|
+
strength: FunnelStrengthInterface;
|
|
205
|
+
totalCount: number;
|
|
206
|
+
isLightMode: boolean;
|
|
207
|
+
}
|
|
208
|
+
interface FunnelWeaknessDetailModalData {
|
|
209
|
+
weakness: FunnelWeaknessInterface;
|
|
210
|
+
totalCount: number;
|
|
211
|
+
isLightMode: boolean;
|
|
212
|
+
}
|
|
42
213
|
interface ModalState {
|
|
43
|
-
type: 'insight' | 'metric' | 'chart' | 'insights-list' | 'metrics-list' | 'charts-list' | 'recommendations-list' | 'competitive-analysis' | 'competitive-gap' | 'visualization' | 'recommendation-action-steps' | null;
|
|
214
|
+
type: 'insight' | 'metric' | 'chart' | 'insights-list' | 'goal-insights-list' | 'goal-business-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' | null;
|
|
44
215
|
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
216
|
charts: AiChartInterface[];
|
|
54
217
|
insightContext?: {
|
|
55
218
|
title: string;
|
|
@@ -80,30 +243,70 @@ interface ModalState {
|
|
|
80
243
|
title?: string;
|
|
81
244
|
actionSteps: ProfileAnalysisRecommendationActionStepInterface[];
|
|
82
245
|
viewMode: ViewModeEnum;
|
|
83
|
-
} | VisualizationData |
|
|
246
|
+
} | ItemDetailModalData | VisualizationData | GoalDetailModalData | GoalObjectivesModalData | ObjectiveStrategiesModalData | StrategyRecommendationsModalData | CategoryDetailModalData | StrengthDetailModalData | GapDetailModalData | OpportunityDetailModalData | GoalInsightsListModalData | GoalBusinessInsightsListModalData | MetricsListModalData | BusinessInsightDetailModalData | KeyStrengthsListModalData | CriticalGapsListModalData | KeyStrengthDetailModalData | CriticalGapDetailModalData | FunnelStrengthsListModalData | FunnelWeaknessesListModalData | FunnelStrengthDetailModalData | FunnelWeaknessDetailModalData | {
|
|
247
|
+
insight: InsightBlockInterface;
|
|
248
|
+
} | null;
|
|
84
249
|
charts: AiChartInterface[];
|
|
85
250
|
previousState?: ModalState | null;
|
|
86
251
|
expandedSection?: string;
|
|
252
|
+
navigationStack?: ModalState[];
|
|
87
253
|
}
|
|
88
254
|
declare class ModalService {
|
|
89
255
|
private modalState;
|
|
90
256
|
modalState$: rxjs.Observable<ModalState>;
|
|
257
|
+
viewInContextSignal: _angular_core.WritableSignal<{
|
|
258
|
+
itemId: string;
|
|
259
|
+
itemType?: string;
|
|
260
|
+
} | null>;
|
|
261
|
+
/**
|
|
262
|
+
* Checks if the current modal context is from Profile Analysis Dashboard
|
|
263
|
+
* by looking at the current modal state and navigation stack
|
|
264
|
+
*/
|
|
265
|
+
private isInProfileAnalysisContext;
|
|
91
266
|
openInsightModal(insight: InsightBlockInterface, charts?: AiChartInterface[], previousState?: ModalState): void;
|
|
92
267
|
openMetricModal(metric: PerformanceMetricInterface, charts?: AiChartInterface[], previousState?: ModalState, expandedSection?: string): void;
|
|
93
268
|
openChartModal(chart: AiChartInterface, previousState?: ModalState): void;
|
|
94
269
|
openInsightsListModal(insights: InsightBlockInterface[], charts?: AiChartInterface[]): void;
|
|
95
|
-
|
|
270
|
+
openGoalInsightsListModal(insights: InsightBlockInterface[], metrics: PerformanceMetricInterface[], charts: AiChartInterface[], goalContext: {
|
|
271
|
+
title: string;
|
|
272
|
+
description: string;
|
|
273
|
+
icon: string;
|
|
274
|
+
}, previousState?: ModalState, sourceCategory?: string, sourceGapTitle?: string): void;
|
|
275
|
+
openGoalBusinessInsightsListModal(businessInsights: ProfileAnalysisRecommendationInterface[], goalContext: {
|
|
276
|
+
title: string;
|
|
277
|
+
description: string;
|
|
278
|
+
icon: string;
|
|
279
|
+
}, viewMode: ViewModeEnum, previousState?: ModalState, sourceCategory?: string, sourceGapTitle?: string): void;
|
|
280
|
+
navigateToBusinessInsightDetail(recommendation: ProfileAnalysisRecommendationInterface, goalContext: {
|
|
281
|
+
title: string;
|
|
282
|
+
description: string;
|
|
283
|
+
icon: string;
|
|
284
|
+
}, viewMode: ViewModeEnum): void;
|
|
285
|
+
openMetricsListModal(metrics: PerformanceMetricInterface[], charts?: AiChartInterface[], goalContext?: {
|
|
96
286
|
title: string;
|
|
97
287
|
description: string;
|
|
98
288
|
businessContext: string;
|
|
99
289
|
priority: number;
|
|
290
|
+
}, previousState?: ModalState): void;
|
|
291
|
+
openGoalMetricsListModal(metrics: PerformanceMetricInterface[], charts: AiChartInterface[], goalContext: {
|
|
292
|
+
title: string;
|
|
293
|
+
description: string;
|
|
294
|
+
icon: string;
|
|
295
|
+
}, previousState?: ModalState, sourceCategory?: string, sourceGapTitle?: string): void;
|
|
296
|
+
openRecommendationMetricsListModal(metrics: PerformanceMetricInterface[], charts: AiChartInterface[], recommendationContext: {
|
|
297
|
+
title: string;
|
|
298
|
+
description: string;
|
|
299
|
+
}, directlyAffectedMetricId?: string, indirectlyAffectedMetricIds?: string[], previousState?: ModalState, hierarchyContext?: {
|
|
300
|
+
goalTitle?: string;
|
|
301
|
+
objectiveTitle?: string;
|
|
302
|
+
strategyTitle?: string;
|
|
100
303
|
}): void;
|
|
101
304
|
openChartsListModal(charts: AiChartInterface[], insightContext?: {
|
|
102
305
|
title: string;
|
|
103
306
|
description: string;
|
|
104
307
|
businessContext: string;
|
|
105
308
|
priority: number;
|
|
106
|
-
}): void;
|
|
309
|
+
}, previousState?: ModalState): void;
|
|
107
310
|
openRecommendationsListModal(recommendations: string[], insightContext: {
|
|
108
311
|
title: string;
|
|
109
312
|
description: string;
|
|
@@ -120,7 +323,32 @@ declare class ModalService {
|
|
|
120
323
|
openVisualizationModal(visualization: VisualizationData, previousState?: ModalState): void;
|
|
121
324
|
openCompetitiveGapModal(item: ProfileItemInterface, viewMode: ViewModeEnum, previousState?: ModalState): void;
|
|
122
325
|
openRecommendationActionStepsModal(title: string | undefined, actionSteps: ProfileAnalysisRecommendationActionStepInterface[], viewMode: ViewModeEnum, previousState?: ModalState): void;
|
|
326
|
+
openItemDetailModal(item: ProfileItemInterface, viewMode: ViewModeEnum, itemType?: string, sectionTitle?: string, subsectionTitle?: string, previousState?: ModalState, isCompactMode?: boolean, fromProfileAnalysis?: boolean): void;
|
|
327
|
+
navigateToItemInModal(item: ProfileItemInterface, viewMode: ViewModeEnum, itemType?: string, sectionTitle?: string, subsectionTitle?: string, isCompactMode?: boolean, fromProfileAnalysis?: boolean): void;
|
|
328
|
+
navigateBackInModal(): void;
|
|
329
|
+
navigateToStackIndex(index: number): void;
|
|
330
|
+
triggerViewInContext(itemId: string, itemType?: string): void;
|
|
331
|
+
clearViewInContext(): void;
|
|
123
332
|
goBack(previousState: ModalState): void;
|
|
333
|
+
isItemDetailModalOpen(): boolean;
|
|
334
|
+
openGoalDetailModal(goal: GoalV3Interface, viewMode: ViewModeEnum): void;
|
|
335
|
+
openGoalObjectivesModal(goal: GoalV3Interface, viewMode: ViewModeEnum): void;
|
|
336
|
+
navigateToGoalDetail(goal: GoalV3Interface, viewMode: ViewModeEnum): void;
|
|
337
|
+
navigateToGoalObjectives(goal: GoalV3Interface, viewMode: ViewModeEnum): void;
|
|
338
|
+
navigateToObjectiveStrategies(objective: ObjectiveV3Interface, goalTitle: string | undefined, viewMode: ViewModeEnum): void;
|
|
339
|
+
navigateToStrategyRecommendations(strategy: StrategyV3Interface, objectiveTitle: string | undefined, goalTitle: string | undefined, viewMode: ViewModeEnum): void;
|
|
340
|
+
openCategoryDetailModal(category: OperationalCategoryInterface, viewMode: ViewModeEnum, scrollToSection?: 'strengths' | 'gaps' | 'opportunities'): void;
|
|
341
|
+
navigateToStrengthDetail(strength: CategoryStrengthInterface, categoryTitle: string, viewMode: ViewModeEnum): void;
|
|
342
|
+
navigateToGapDetail(gap: CategoryGapInterface, categoryTitle: string, viewMode: ViewModeEnum): void;
|
|
343
|
+
navigateToOpportunityDetail(opportunity: CategoryOpportunityInterface, categoryTitle: string, viewMode: ViewModeEnum): void;
|
|
344
|
+
openKeyStrengthsListModal(keyStrengths: KeyStrengthInterface[], viewMode: ViewModeEnum): void;
|
|
345
|
+
openCriticalGapsListModal(criticalGaps: CriticalGapInterface[], viewMode: ViewModeEnum): void;
|
|
346
|
+
navigateToKeyStrengthDetail(strength: KeyStrengthInterface, viewMode: ViewModeEnum): void;
|
|
347
|
+
navigateToCriticalGapDetail(gap: CriticalGapInterface, viewMode: ViewModeEnum): void;
|
|
348
|
+
openFunnelStrengthsListModal(strengths: FunnelStrengthInterface[], isLightMode: boolean): void;
|
|
349
|
+
openFunnelWeaknessesListModal(weaknesses: FunnelWeaknessInterface[], isLightMode: boolean): void;
|
|
350
|
+
navigateToFunnelStrengthDetail(strength: FunnelStrengthInterface, isLightMode: boolean): void;
|
|
351
|
+
navigateToFunnelWeaknessDetail(weakness: FunnelWeaknessInterface, isLightMode: boolean): void;
|
|
124
352
|
closeModal(): void;
|
|
125
353
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalService, never>;
|
|
126
354
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ModalService>;
|
|
@@ -182,6 +410,7 @@ interface MetricValueTooltipContent {
|
|
|
182
410
|
current: number[];
|
|
183
411
|
prior?: number[];
|
|
184
412
|
};
|
|
413
|
+
currencySymbol?: string;
|
|
185
414
|
}
|
|
186
415
|
interface StatusBadgeTooltipContent {
|
|
187
416
|
status: MetricStatusEnum;
|
|
@@ -196,6 +425,7 @@ interface StatusBadgeTooltipContent {
|
|
|
196
425
|
description?: string;
|
|
197
426
|
priority?: number;
|
|
198
427
|
priorityExplanation?: string;
|
|
428
|
+
currencySymbol?: string;
|
|
199
429
|
}
|
|
200
430
|
interface TrendIndicatorTooltipContent {
|
|
201
431
|
metricName: string;
|
|
@@ -210,6 +440,7 @@ interface TrendIndicatorTooltipContent {
|
|
|
210
440
|
current: number[];
|
|
211
441
|
prior?: number[];
|
|
212
442
|
};
|
|
443
|
+
currencySymbol?: string;
|
|
213
444
|
}
|
|
214
445
|
interface PriorityBadgeTooltipContent {
|
|
215
446
|
priority: number;
|
|
@@ -241,6 +472,7 @@ interface CompetitiveBenchmarkTooltipContent {
|
|
|
241
472
|
metricName?: string;
|
|
242
473
|
currentValue?: number;
|
|
243
474
|
unit?: string;
|
|
475
|
+
currencySymbol?: string;
|
|
244
476
|
}
|
|
245
477
|
interface InsightsListTooltipContent {
|
|
246
478
|
title: string;
|
|
@@ -267,6 +499,7 @@ interface CompetitiveStatusTooltipContent {
|
|
|
267
499
|
unit: string;
|
|
268
500
|
status?: CompetitiveScoreEnum;
|
|
269
501
|
}>;
|
|
502
|
+
currencySymbol?: string;
|
|
270
503
|
}
|
|
271
504
|
interface FunnelStageCompetitiveTooltipContent {
|
|
272
505
|
funnelStage: string;
|
|
@@ -298,14 +531,15 @@ interface FunnelStageCompetitiveTooltipContent {
|
|
|
298
531
|
};
|
|
299
532
|
unit: string;
|
|
300
533
|
}>;
|
|
534
|
+
currencySymbol?: string;
|
|
301
535
|
}
|
|
302
536
|
|
|
303
537
|
declare class TooltipDataService {
|
|
304
538
|
private formatCache;
|
|
305
539
|
private metricLookupCache;
|
|
306
|
-
extractMetricTooltipData(metric: PerformanceMetricInterface, chart?: AiChartInterface): MetricValueTooltipContent;
|
|
307
|
-
extractStatusTooltipData(metric: PerformanceMetricInterface): StatusBadgeTooltipContent;
|
|
308
|
-
extractTrendTooltipData(metric: PerformanceMetricInterface, chart?: AiChartInterface): TrendIndicatorTooltipContent;
|
|
540
|
+
extractMetricTooltipData(metric: PerformanceMetricInterface, chart?: AiChartInterface, currencySymbol?: string): MetricValueTooltipContent;
|
|
541
|
+
extractStatusTooltipData(metric: PerformanceMetricInterface, currencySymbol?: string): StatusBadgeTooltipContent;
|
|
542
|
+
extractTrendTooltipData(metric: PerformanceMetricInterface, chart?: AiChartInterface, currencySymbol?: string): TrendIndicatorTooltipContent;
|
|
309
543
|
extractPriorityTooltipData(insight: InsightBlockInterface): PriorityBadgeTooltipContent;
|
|
310
544
|
extractBreakdownRowTooltipData(metric: PerformanceMetricInterface): BreakdownRowTooltipContent;
|
|
311
545
|
findMetricByName(name: string, metrics: PerformanceMetricInterface[]): PerformanceMetricInterface | undefined;
|
|
@@ -321,7 +555,7 @@ declare class TooltipDataService {
|
|
|
321
555
|
getPriorityLabel(priority: number): string;
|
|
322
556
|
isInverseMetric(metricName: string): boolean;
|
|
323
557
|
formatDimensionValue(value?: string): string;
|
|
324
|
-
extractCompetitiveBenchmarkTooltipData(metric: PerformanceMetricInterface): CompetitiveBenchmarkTooltipContent | null;
|
|
558
|
+
extractCompetitiveBenchmarkTooltipData(metric: PerformanceMetricInterface, currencySymbol?: string): CompetitiveBenchmarkTooltipContent | null;
|
|
325
559
|
hasCompetitiveBenchmark(metric: PerformanceMetricInterface): boolean;
|
|
326
560
|
getCompetitiveScoreLabel(score: string): string;
|
|
327
561
|
private determineUnit;
|
|
@@ -330,7 +564,7 @@ declare class TooltipDataService {
|
|
|
330
564
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<TooltipDataService>;
|
|
331
565
|
}
|
|
332
566
|
|
|
333
|
-
type ViewMode = '
|
|
567
|
+
type ViewMode = 'compact' | 'expanded';
|
|
334
568
|
type LayoutMode = 'bento' | 'grid' | 'masonry';
|
|
335
569
|
declare class ViewModeService {
|
|
336
570
|
private viewMode;
|
|
@@ -344,7 +578,6 @@ declare class ViewModeService {
|
|
|
344
578
|
toggleViewMode(): void;
|
|
345
579
|
setViewMode(mode: ViewMode): void;
|
|
346
580
|
setLayoutMode(mode: LayoutMode): void;
|
|
347
|
-
isSimplified(): boolean;
|
|
348
581
|
isCompact(): boolean;
|
|
349
582
|
isExpanded(): boolean;
|
|
350
583
|
isBentoLayout(): boolean;
|
|
@@ -611,9 +844,39 @@ declare class BusinessProfileSearchService {
|
|
|
611
844
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<BusinessProfileSearchService>;
|
|
612
845
|
}
|
|
613
846
|
|
|
847
|
+
interface RelatedFunnelContent {
|
|
848
|
+
insights: InsightBlockInterface[];
|
|
849
|
+
metrics: PerformanceMetricInterface[];
|
|
850
|
+
}
|
|
851
|
+
interface RelatedBusinessContent {
|
|
852
|
+
insights: ProfileAnalysisRecommendationInterface[];
|
|
853
|
+
}
|
|
854
|
+
interface CrossDashboardRelationships {
|
|
855
|
+
funnelAnalysis?: RelatedFunnelContent;
|
|
856
|
+
businessAnalysis?: RelatedBusinessContent;
|
|
857
|
+
}
|
|
858
|
+
declare class CrossDashboardRelationshipsService {
|
|
859
|
+
getRelatedFunnelInsights(goalId: string, allInsights: InsightBlockInterface[]): InsightBlockInterface[];
|
|
860
|
+
getRelatedFunnelMetrics(goalId: string, allMetrics: PerformanceMetricInterface[]): PerformanceMetricInterface[];
|
|
861
|
+
getRelatedBusinessInsights(goalId: string, allBusinessInsights: ProfileAnalysisRecommendationInterface[]): ProfileAnalysisRecommendationInterface[];
|
|
862
|
+
getRelatedContentForGoal(goal: GoalV3Interface, allInsights: InsightBlockInterface[], allMetrics: PerformanceMetricInterface[], allBusinessInsights: ProfileAnalysisRecommendationInterface[]): CrossDashboardRelationships;
|
|
863
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CrossDashboardRelationshipsService, never>;
|
|
864
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CrossDashboardRelationshipsService>;
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
interface BreadcrumbLevel {
|
|
868
|
+
label: string;
|
|
869
|
+
clickable: boolean;
|
|
870
|
+
onClick?: () => void;
|
|
871
|
+
}
|
|
872
|
+
|
|
614
873
|
declare class ModalComponent {
|
|
615
874
|
isLightMode: _angular_core.InputSignal<boolean>;
|
|
616
875
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
876
|
+
allMetrics: _angular_core.InputSignal<PerformanceMetricInterface[]>;
|
|
877
|
+
allInsights: _angular_core.InputSignal<InsightBlockInterface[]>;
|
|
878
|
+
allCharts: _angular_core.InputSignal<AiChartInterface[]>;
|
|
879
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
617
880
|
private metricNameCache;
|
|
618
881
|
private allMetricsSignal;
|
|
619
882
|
private modalStateSignal;
|
|
@@ -622,7 +885,7 @@ declare class ModalComponent {
|
|
|
622
885
|
private animatedTrendValues;
|
|
623
886
|
private animationFrames;
|
|
624
887
|
isOpen: _angular_core.Signal<boolean>;
|
|
625
|
-
modalType: _angular_core.Signal<"
|
|
888
|
+
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
889
|
charts: _angular_core.Signal<AiChartInterface[]>;
|
|
627
890
|
modalKey: _angular_core.Signal<number>;
|
|
628
891
|
insightData: _angular_core.Signal<InsightBlockInterface | null>;
|
|
@@ -635,6 +898,12 @@ declare class ModalComponent {
|
|
|
635
898
|
chartPieData: _angular_core.Signal<AiChartInterface | null>;
|
|
636
899
|
chartAreaData: _angular_core.Signal<AiChartInterface | null>;
|
|
637
900
|
insightsListData: _angular_core.Signal<InsightBlockInterface[] | null>;
|
|
901
|
+
goalInsightsListData: _angular_core.Signal<InsightBlockInterface[] | null>;
|
|
902
|
+
goalInsightsContext: _angular_core.Signal<{
|
|
903
|
+
title: string;
|
|
904
|
+
description: string;
|
|
905
|
+
icon: string;
|
|
906
|
+
} | null>;
|
|
638
907
|
metricsListData: _angular_core.Signal<InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | (InsightBlockInterface | PerformanceMetricInterface)[] | null>;
|
|
639
908
|
metricsListMetrics: _angular_core.Signal<PerformanceMetricInterface[]>;
|
|
640
909
|
metricsListInsightContext: _angular_core.Signal<{
|
|
@@ -667,37 +936,63 @@ declare class ModalComponent {
|
|
|
667
936
|
competitiveAnalysis: string;
|
|
668
937
|
priority: number;
|
|
669
938
|
} | null>;
|
|
939
|
+
funnelStrengthsListData: _angular_core.Signal<FunnelStrengthInterface[] | null>;
|
|
940
|
+
funnelStrengthsListCount: _angular_core.Signal<number>;
|
|
941
|
+
funnelWeaknessesListData: _angular_core.Signal<FunnelWeaknessInterface[] | null>;
|
|
942
|
+
funnelWeaknessesListCount: _angular_core.Signal<number>;
|
|
943
|
+
funnelStrengthDetailData: _angular_core.Signal<FunnelStrengthInterface | null>;
|
|
944
|
+
funnelStrengthDetailTotalCount: _angular_core.Signal<number>;
|
|
945
|
+
funnelWeaknessDetailData: _angular_core.Signal<FunnelWeaknessInterface | null>;
|
|
946
|
+
funnelWeaknessDetailTotalCount: _angular_core.Signal<number>;
|
|
947
|
+
goalBusinessInsightsListData: _angular_core.Signal<any[] | null>;
|
|
948
|
+
goalBusinessInsightsContext: _angular_core.Signal<{
|
|
949
|
+
title: string;
|
|
950
|
+
description: string;
|
|
951
|
+
icon: string;
|
|
952
|
+
} | null>;
|
|
953
|
+
isBusinessInsightDetailModal: _angular_core.Signal<boolean>;
|
|
954
|
+
businessInsightDetailData: _angular_core.Signal<{
|
|
955
|
+
recommendation: any;
|
|
956
|
+
goalContext: {
|
|
957
|
+
title: string;
|
|
958
|
+
description: string;
|
|
959
|
+
icon: string;
|
|
960
|
+
};
|
|
961
|
+
viewMode: ViewModeEnum;
|
|
962
|
+
} | null>;
|
|
670
963
|
modalHeaderPriorityBadge: _angular_core.Signal<number | null>;
|
|
671
964
|
competitiveAnalysisPanelClass: _angular_core.Signal<string>;
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
965
|
+
protected computedAllMetrics: _angular_core.Signal<PerformanceMetricInterface[]>;
|
|
966
|
+
protected computedAllInsights: _angular_core.Signal<InsightBlockInterface[]>;
|
|
967
|
+
protected computedAllCharts: _angular_core.Signal<AiChartInterface[]>;
|
|
968
|
+
protected allBusinessInsights: _angular_core.Signal<ProfileAnalysisRecommendationInterface[]>;
|
|
675
969
|
hasPreviousState: _angular_core.Signal<boolean>;
|
|
676
970
|
currentModalState: _angular_core.Signal<{
|
|
677
|
-
type: "insight" | "metric" | "chart" | "insights-list" | "metrics-list" | "charts-list" | "recommendations-list" | "competitive-analysis" | null;
|
|
971
|
+
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;
|
|
678
972
|
data: InsightBlockInterface | PerformanceMetricInterface | AiChartInterface | (InsightBlockInterface | PerformanceMetricInterface)[] | null;
|
|
679
973
|
charts: AiChartInterface[];
|
|
680
974
|
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;
|
|
975
|
+
previousState: ModalState | null;
|
|
687
976
|
expandedSection: string | undefined;
|
|
688
977
|
}>;
|
|
689
978
|
expandedSection: _angular_core.Signal<string | undefined>;
|
|
690
979
|
modalTitle: _angular_core.Signal<string>;
|
|
691
980
|
private modalService;
|
|
981
|
+
private breadcrumbService;
|
|
982
|
+
shouldShowBreadcrumbs: _angular_core.Signal<boolean>;
|
|
983
|
+
breadcrumbs: _angular_core.Signal<BreadcrumbLevel[]>;
|
|
692
984
|
constructor();
|
|
693
985
|
getInsightContextPriorityBadgeClass(priority: number): string;
|
|
694
986
|
private computeModalTitle;
|
|
695
987
|
closeModal(): void;
|
|
696
988
|
openInsightModal(insight: InsightBlockInterface): void;
|
|
989
|
+
openBusinessInsightDetail(businessInsight: any): void;
|
|
697
990
|
openMetricModalFromList(metric: PerformanceMetricInterface): void;
|
|
698
991
|
openChartModalFromList(chart: AiChartInterface): void;
|
|
699
992
|
goBack(): void;
|
|
993
|
+
navigateToList(): void;
|
|
700
994
|
formatMetricName(name: string): string;
|
|
995
|
+
getPriorityBadgeClasses(priority: number): string;
|
|
701
996
|
formatMetricValue(metric: PerformanceMetricInterface): string;
|
|
702
997
|
getMetricTrendClass(metric: PerformanceMetricInterface): string;
|
|
703
998
|
animateMetricsList(metrics: PerformanceMetricInterface[]): void;
|
|
@@ -708,7 +1003,7 @@ declare class ModalComponent {
|
|
|
708
1003
|
formatAnimatedMetricValue(metric: PerformanceMetricInterface, animatedValue: number): string;
|
|
709
1004
|
setMetricsAndInsights(metrics: PerformanceMetricInterface[], insights: InsightBlockInterface[], allCharts?: AiChartInterface[]): void;
|
|
710
1005
|
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>;
|
|
1006
|
+
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
1007
|
}
|
|
713
1008
|
|
|
714
1009
|
interface NavSection {
|
|
@@ -764,6 +1059,31 @@ declare class SearchService {
|
|
|
764
1059
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<SearchService>;
|
|
765
1060
|
}
|
|
766
1061
|
|
|
1062
|
+
declare class ProfileContextService {
|
|
1063
|
+
private contextIndex;
|
|
1064
|
+
indexProfile(sections: ProfileSectionInterface[], recommendations?: ProfileAnalysisRecommendationInterface[]): void;
|
|
1065
|
+
getRegions(): ProfileItemInterface[];
|
|
1066
|
+
getSeasons(): ProfileItemInterface[];
|
|
1067
|
+
getPriceTiers(): ProfileItemInterface[];
|
|
1068
|
+
getCustomerSegments(): ProfileItemInterface[];
|
|
1069
|
+
getProductCategories(): ProfileItemInterface[];
|
|
1070
|
+
getFocusAreas(): ProfileItemInterface[];
|
|
1071
|
+
getItemById(id: string): ProfileItemInterface | undefined;
|
|
1072
|
+
getItemsByIds(ids: string[]): ProfileItemInterface[];
|
|
1073
|
+
getCompetitors(): ProfileItemInterface[];
|
|
1074
|
+
getRecommendationById(id: string): ProfileAnalysisRecommendationInterface | undefined;
|
|
1075
|
+
getCompetitorsByIds(ids: string[]): ProfileItemInterface[];
|
|
1076
|
+
getRecommendationsByProfileItemIds(itemIds: string[]): ProfileAnalysisRecommendationInterface[];
|
|
1077
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileContextService, never>;
|
|
1078
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ProfileContextService>;
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
declare enum DisplayModeEnum {
|
|
1082
|
+
SIMPLIFIED = "SIMPLIFIED",
|
|
1083
|
+
COMPACT = "COMPACT",
|
|
1084
|
+
EXPANDED = "EXPANDED"
|
|
1085
|
+
}
|
|
1086
|
+
|
|
767
1087
|
interface ScrollBaseDetail {
|
|
768
1088
|
isScrolling: boolean;
|
|
769
1089
|
}
|
|
@@ -783,6 +1103,7 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
783
1103
|
viewModeService: ViewModeService;
|
|
784
1104
|
searchService: SearchService;
|
|
785
1105
|
private tooltipService;
|
|
1106
|
+
private profileContextService;
|
|
786
1107
|
modalComponent?: ModalComponent;
|
|
787
1108
|
dashboardContainer?: ElementRef<HTMLElement>;
|
|
788
1109
|
protected readonly ViewModeEnum: typeof ViewModeEnum;
|
|
@@ -794,6 +1115,7 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
794
1115
|
scrollElement: _angular_core.InputSignal<HTMLElement | null | undefined>;
|
|
795
1116
|
isLoading: _angular_core.InputSignal<boolean | undefined>;
|
|
796
1117
|
useSampleData: _angular_core.InputSignal<boolean>;
|
|
1118
|
+
onboarded: _angular_core.InputSignal<boolean>;
|
|
797
1119
|
selectedCategory: _angular_core.WritableSignal<string>;
|
|
798
1120
|
reverseSortOrder: _angular_core.WritableSignal<boolean>;
|
|
799
1121
|
selectedSectionFilter: _angular_core.WritableSignal<string>;
|
|
@@ -809,6 +1131,13 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
809
1131
|
isCompetitiveTransitioning: _angular_core.WritableSignal<boolean>;
|
|
810
1132
|
isOverallAssessmentLoading: _angular_core.WritableSignal<boolean>;
|
|
811
1133
|
areChartsLoading: _angular_core.Signal<boolean>;
|
|
1134
|
+
protected displayMode: _angular_core.WritableSignal<DisplayModeEnum>;
|
|
1135
|
+
protected isViewModeSwitcherOpen: _angular_core.WritableSignal<boolean>;
|
|
1136
|
+
protected isViewModeSwitching: _angular_core.WritableSignal<boolean>;
|
|
1137
|
+
protected isSimplifiedView: _angular_core.Signal<boolean>;
|
|
1138
|
+
protected isCompactView: _angular_core.Signal<boolean>;
|
|
1139
|
+
protected isExpandedView: _angular_core.Signal<boolean>;
|
|
1140
|
+
protected displayModeLabel: _angular_core.Signal<"Simplified" | "Compact" | "Expanded">;
|
|
812
1141
|
private loadingStartTime;
|
|
813
1142
|
private minLoadingDisplayTime;
|
|
814
1143
|
private loadingTimeoutId;
|
|
@@ -824,7 +1153,10 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
824
1153
|
navSections: NavSection[];
|
|
825
1154
|
isLightMode: _angular_core.Signal<boolean>;
|
|
826
1155
|
analysisData: _angular_core.Signal<FunnelAnalysisInterface | undefined>;
|
|
827
|
-
performanceOverview: _angular_core.Signal<
|
|
1156
|
+
performanceOverview: _angular_core.Signal<PerformanceOverviewStructuredV3Interface>;
|
|
1157
|
+
strengths: _angular_core.Signal<_jebgem_model_lib_funnel_analysis_performance_overview_structured_v3_interface.FunnelStrengthInterface[]>;
|
|
1158
|
+
weaknesses: _angular_core.Signal<_jebgem_model_lib_funnel_analysis_performance_overview_structured_v3_interface.FunnelWeaknessInterface[]>;
|
|
1159
|
+
currencySymbol: _angular_core.Signal<string>;
|
|
828
1160
|
insights: _angular_core.Signal<InsightBlockInterface[]>;
|
|
829
1161
|
private allBreakdowns;
|
|
830
1162
|
breakdowns: _angular_core.Signal<BreakdownMetricInterface[]>;
|
|
@@ -834,6 +1166,7 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
834
1166
|
revenueValue: _angular_core.Signal<number>;
|
|
835
1167
|
revenueTrend: _angular_core.Signal<number>;
|
|
836
1168
|
allCharts: _angular_core.Signal<AiChartInterface[]>;
|
|
1169
|
+
allBusinessInsights: _angular_core.Signal<ProfileAnalysisRecommendationInterface[]>;
|
|
837
1170
|
/**
|
|
838
1171
|
* Pre-computed map: performanceItemId -> charts[]
|
|
839
1172
|
* Enables O(1) lookups instead of array filtering on each access
|
|
@@ -841,7 +1174,7 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
841
1174
|
private chartsById;
|
|
842
1175
|
headerClass: _angular_core.Signal<string>;
|
|
843
1176
|
headerTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
844
|
-
headerSubtitleClass: _angular_core.Signal<"text-slate-
|
|
1177
|
+
headerSubtitleClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
845
1178
|
metaLabelClass: _angular_core.Signal<"text-slate-600" | "text-slate-500">;
|
|
846
1179
|
sectionTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
847
1180
|
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 +1223,13 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
890
1223
|
showCompetitiveIntelligence: _angular_core.Signal<boolean>;
|
|
891
1224
|
tocSections: _angular_core.Signal<ProfileSectionInterface[]>;
|
|
892
1225
|
private dateFormatCache;
|
|
893
|
-
constructor(funnelOrderService: FunnelOrderService, viewModeService: ViewModeService, searchService: SearchService, tooltipService: TooltipService);
|
|
1226
|
+
constructor(funnelOrderService: FunnelOrderService, viewModeService: ViewModeService, searchService: SearchService, tooltipService: TooltipService, profileContextService: ProfileContextService);
|
|
894
1227
|
ngAfterViewInit(): void;
|
|
895
1228
|
handleSearchResult(result: SearchResult): void;
|
|
896
1229
|
clearSearchResult(): void;
|
|
1230
|
+
protected openViewModeSwitcher(): void;
|
|
1231
|
+
protected closeViewModeSwitcher(): void;
|
|
1232
|
+
protected handleDisplayModeChange(mode: DisplayModeEnum): void;
|
|
897
1233
|
isFunnelStage(metricName: string): boolean;
|
|
898
1234
|
formatDate(dateString: string): string;
|
|
899
1235
|
chartsForMetric(metric: PerformanceMetricInterface): AiChartInterface[];
|
|
@@ -915,7 +1251,7 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
915
1251
|
getCategoryPillClass(categoryValue: string): string;
|
|
916
1252
|
formatValue(value: number): string;
|
|
917
1253
|
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; }; "useSampleData": { "alias": "useSampleData"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1254
|
+
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; }; "useSampleData": { "alias": "useSampleData"; "required": false; "isSignal": true; }; "onboarded": { "alias": "onboarded"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
919
1255
|
}
|
|
920
1256
|
|
|
921
1257
|
declare class MetricCardComponent {
|
|
@@ -931,6 +1267,7 @@ declare class MetricCardComponent {
|
|
|
931
1267
|
currentModalState: _angular_core.InputSignal<ModalState | undefined>;
|
|
932
1268
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
933
1269
|
initialExpandedSection: _angular_core.InputSignal<string | undefined>;
|
|
1270
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
934
1271
|
Math: Math;
|
|
935
1272
|
milestones: number[];
|
|
936
1273
|
currentYear: number;
|
|
@@ -1002,9 +1339,9 @@ declare class MetricCardComponent {
|
|
|
1002
1339
|
competitiveScoreBadgeLightClass: _angular_core.Signal<string>;
|
|
1003
1340
|
competitiveScoreBadgeDarkClass: _angular_core.Signal<string>;
|
|
1004
1341
|
competitiveScoreBadgeClass: _angular_core.Signal<string>;
|
|
1005
|
-
competitiveScoreTextClass: _angular_core.Signal<"" | "text-
|
|
1006
|
-
competitiveComparisonDefaultClass: _angular_core.Signal<"text-slate-
|
|
1007
|
-
competitiveComparisonClass: _angular_core.Signal<"text-slate-
|
|
1342
|
+
competitiveScoreTextClass: _angular_core.Signal<"" | "text-emerald-600" | "text-blue-400" | "text-blue-700" | "text-orange-600">;
|
|
1343
|
+
competitiveComparisonDefaultClass: _angular_core.Signal<"text-slate-300" | "text-slate-700">;
|
|
1344
|
+
competitiveComparisonClass: _angular_core.Signal<"text-slate-300" | "text-slate-700" | "text-emerald-600 font-semibold" | "text-orange-600 font-semibold">;
|
|
1008
1345
|
getCompetitiveScoreIcon(): string;
|
|
1009
1346
|
getCompetitiveScoreLabel(): string;
|
|
1010
1347
|
getCompetitiveScoreLabelFull(): string;
|
|
@@ -1015,8 +1352,10 @@ declare class MetricCardComponent {
|
|
|
1015
1352
|
toggleCompetitiveBenchmark(): void;
|
|
1016
1353
|
hasProjectedValue(): boolean;
|
|
1017
1354
|
getProjectedValue(): number | undefined;
|
|
1355
|
+
getPriorityBadgeClasses(priority: number | undefined): string;
|
|
1356
|
+
getPriorityBadgeClassesHover(priority: number | undefined): string;
|
|
1018
1357
|
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>;
|
|
1358
|
+
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
1359
|
}
|
|
1021
1360
|
|
|
1022
1361
|
declare class InsightCardComponent {
|
|
@@ -1024,12 +1363,14 @@ declare class InsightCardComponent {
|
|
|
1024
1363
|
allMetrics: _angular_core.InputSignal<PerformanceMetricInterface[]>;
|
|
1025
1364
|
charts: _angular_core.InputSignal<AiChartInterface[]>;
|
|
1026
1365
|
allCharts: _angular_core.InputSignal<AiChartInterface[]>;
|
|
1366
|
+
allBusinessInsights: _angular_core.InputSignal<ProfileAnalysisRecommendationInterface[]>;
|
|
1027
1367
|
isLightMode: _angular_core.InputSignal<boolean>;
|
|
1028
1368
|
isInModal: _angular_core.InputSignal<boolean>;
|
|
1029
1369
|
isLoading: _angular_core.InputSignal<boolean>;
|
|
1030
1370
|
isCompactMode: _angular_core.InputSignal<boolean>;
|
|
1031
1371
|
currentModalState: _angular_core.InputSignal<ModalState | undefined>;
|
|
1032
1372
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
1373
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
1033
1374
|
isExpanded: _angular_core.WritableSignal<boolean>;
|
|
1034
1375
|
isCompetitiveContextExpanded: _angular_core.WritableSignal<boolean>;
|
|
1035
1376
|
lightModeTitleClass: _angular_core.Signal<string>;
|
|
@@ -1050,9 +1391,9 @@ declare class InsightCardComponent {
|
|
|
1050
1391
|
recommendationsContainerLightClass: _angular_core.Signal<string>;
|
|
1051
1392
|
recommendationsContainerDarkClass: _angular_core.Signal<string>;
|
|
1052
1393
|
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-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 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">;
|
|
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-red-500/20 text-red-400 border-red-500/50" | "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">;
|
|
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-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 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-red-500/20 text-red-400 border-red-500/50" | "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">;
|
|
1394
|
+
priorityBadgeLightClass: _angular_core.Signal<"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 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">;
|
|
1395
|
+
priorityBadgeDarkClass: _angular_core.Signal<"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" | "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">;
|
|
1396
|
+
priorityBadgeClass: _angular_core.Signal<"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 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-500/20 text-red-400 border-red-500/50" | "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">;
|
|
1056
1397
|
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
1398
|
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
1399
|
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 +1426,17 @@ declare class InsightCardComponent {
|
|
|
1085
1426
|
toggleCompetitiveContext(): void;
|
|
1086
1427
|
hasCompetitiveAnalysis(): boolean;
|
|
1087
1428
|
getCompetitiveAnalysis(): string;
|
|
1429
|
+
relatedBusinessInsights: _angular_core.Signal<ProfileAnalysisRecommendationInterface[]>;
|
|
1430
|
+
relatedBusinessInsightsCount: _angular_core.Signal<number>;
|
|
1431
|
+
hasRelatedBusinessInsights: _angular_core.Signal<boolean>;
|
|
1432
|
+
openRelatedBusinessInsightsModal(): void;
|
|
1088
1433
|
competitiveContextPanelLightBaseClass: _angular_core.Signal<string>;
|
|
1089
1434
|
competitiveContextPanelDarkBaseClass: _angular_core.Signal<string>;
|
|
1090
1435
|
priorityBorderLightClass: _angular_core.Signal<"border-l-red-400" | "border-l-amber-400" | "border-l-blue-400" | "border-l-slate-400">;
|
|
1091
1436
|
priorityBorderDarkClass: _angular_core.Signal<"border-l-red-500" | "border-l-amber-500" | "border-l-blue-500" | "border-l-slate-500">;
|
|
1092
1437
|
competitiveContextPanelClass: _angular_core.Signal<string>;
|
|
1093
1438
|
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>;
|
|
1439
|
+
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
1440
|
}
|
|
1096
1441
|
|
|
1097
1442
|
interface MetricGroup {
|
|
@@ -1106,6 +1451,7 @@ declare class BreakdownSectionComponent {
|
|
|
1106
1451
|
isLightMode: _angular_core.InputSignal<boolean>;
|
|
1107
1452
|
isLoading: _angular_core.InputSignal<boolean>;
|
|
1108
1453
|
isCompactMode: _angular_core.InputSignal<boolean>;
|
|
1454
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
1109
1455
|
Math: Math;
|
|
1110
1456
|
private tooltipDataService;
|
|
1111
1457
|
private modalService;
|
|
@@ -1183,7 +1529,7 @@ declare class BreakdownSectionComponent {
|
|
|
1183
1529
|
toggleMetricExpansion(metricKey: string): void;
|
|
1184
1530
|
getTopPriorityMetrics(metrics: PerformanceMetricInterface[], count?: number): PerformanceMetricInterface[];
|
|
1185
1531
|
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>;
|
|
1532
|
+
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
1533
|
}
|
|
1188
1534
|
|
|
1189
1535
|
declare class OverallAssessmentComponent {
|
|
@@ -1195,6 +1541,9 @@ declare class OverallAssessmentComponent {
|
|
|
1195
1541
|
isLoading: _angular_core.InputSignal<boolean>;
|
|
1196
1542
|
isCompactMode: _angular_core.InputSignal<boolean>;
|
|
1197
1543
|
isChartsLoading: _angular_core.InputSignal<boolean>;
|
|
1544
|
+
strengths: _angular_core.InputSignal<any[]>;
|
|
1545
|
+
weaknesses: _angular_core.InputSignal<any[]>;
|
|
1546
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
1198
1547
|
scrollToSection: _angular_core.OutputEmitterRef<string>;
|
|
1199
1548
|
private modalService;
|
|
1200
1549
|
private tooltipDataService;
|
|
@@ -1228,15 +1577,15 @@ declare class OverallAssessmentComponent {
|
|
|
1228
1577
|
darkModeRevenueIconClass: _angular_core.Signal<string>;
|
|
1229
1578
|
revenueIconClass: _angular_core.Signal<string>;
|
|
1230
1579
|
formattedRevenueValue: _angular_core.Signal<string>;
|
|
1231
|
-
revenueTrendDirection: _angular_core.Signal<
|
|
1580
|
+
revenueTrendDirection: _angular_core.Signal<TrendDirectionEnum>;
|
|
1232
1581
|
isRevenueTrendPositive: _angular_core.Signal<boolean>;
|
|
1233
1582
|
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
1583
|
lightModeTrendIconClass: _angular_core.Signal<"text-emerald-600" | "text-red-600">;
|
|
1235
1584
|
darkModeTrendIconClass: _angular_core.Signal<"text-emerald-400" | "text-red-400">;
|
|
1236
|
-
trendIconClass: _angular_core.Signal<"text-emerald-
|
|
1585
|
+
trendIconClass: _angular_core.Signal<"text-emerald-400" | "text-emerald-600" | "text-red-400" | "text-red-600">;
|
|
1237
1586
|
lightModeTrendValueClass: _angular_core.Signal<"text-emerald-600" | "text-red-600">;
|
|
1238
1587
|
darkModeTrendValueClass: _angular_core.Signal<"text-emerald-400" | "text-red-400">;
|
|
1239
|
-
trendValueClass: _angular_core.Signal<"text-emerald-
|
|
1588
|
+
trendValueClass: _angular_core.Signal<"text-emerald-400" | "text-emerald-600" | "text-red-400" | "text-red-600">;
|
|
1240
1589
|
formattedRevenueTrend: _angular_core.Signal<string>;
|
|
1241
1590
|
formattedRevenueTarget: _angular_core.Signal<string>;
|
|
1242
1591
|
hasRevenuePacing: _angular_core.Signal<boolean>;
|
|
@@ -1329,8 +1678,12 @@ declare class OverallAssessmentComponent {
|
|
|
1329
1678
|
revenueTrendTooltip: _angular_core.Signal<TrendIndicatorTooltipContent | undefined>;
|
|
1330
1679
|
private calculateOverallPacing;
|
|
1331
1680
|
private getGradeExplanation;
|
|
1681
|
+
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">;
|
|
1682
|
+
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">;
|
|
1683
|
+
openStrengthsModal(): void;
|
|
1684
|
+
openWeaknessesModal(): void;
|
|
1332
1685
|
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>;
|
|
1686
|
+
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
1687
|
}
|
|
1335
1688
|
|
|
1336
1689
|
interface CompetitiveStats {
|
|
@@ -1361,6 +1714,7 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1361
1714
|
description?: string;
|
|
1362
1715
|
keyOpportunities?: string;
|
|
1363
1716
|
} | undefined>;
|
|
1717
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
1364
1718
|
scrollToCompetitive: _angular_core.OutputEmitterRef<void>;
|
|
1365
1719
|
isExpanded: _angular_core.WritableSignal<boolean>;
|
|
1366
1720
|
private funnelOrderService;
|
|
@@ -1378,7 +1732,7 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1378
1732
|
getScoreDotClass(type: string): string;
|
|
1379
1733
|
formatCategoryName(category: string): string;
|
|
1380
1734
|
competitiveScoreTooltip: _angular_core.Signal<{
|
|
1381
|
-
industry:
|
|
1735
|
+
industry: string;
|
|
1382
1736
|
metricBenchmark: string;
|
|
1383
1737
|
competitiveScore: "LEADING" | "COMPETITIVE" | "LAGGING";
|
|
1384
1738
|
description: string;
|
|
@@ -1396,6 +1750,7 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1396
1750
|
};
|
|
1397
1751
|
unit: string;
|
|
1398
1752
|
}[];
|
|
1753
|
+
currencySymbol: string;
|
|
1399
1754
|
}>;
|
|
1400
1755
|
competitiveTooltip: _angular_core.Signal<{
|
|
1401
1756
|
status: "COMPETITIVE";
|
|
@@ -1409,6 +1764,7 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1409
1764
|
};
|
|
1410
1765
|
unit: string;
|
|
1411
1766
|
}[];
|
|
1767
|
+
currencySymbol: string;
|
|
1412
1768
|
}>;
|
|
1413
1769
|
laggingTooltip: _angular_core.Signal<{
|
|
1414
1770
|
status: "LAGGING";
|
|
@@ -1422,6 +1778,7 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1422
1778
|
};
|
|
1423
1779
|
unit: string;
|
|
1424
1780
|
}[];
|
|
1781
|
+
currencySymbol: string;
|
|
1425
1782
|
}>;
|
|
1426
1783
|
private getMetricsByStatus;
|
|
1427
1784
|
getFunnelStageTooltip(funnelStage: string): {
|
|
@@ -1454,10 +1811,11 @@ declare class CompetitivePositioningSummaryComponent {
|
|
|
1454
1811
|
};
|
|
1455
1812
|
unit: string;
|
|
1456
1813
|
}[];
|
|
1814
|
+
currencySymbol: string;
|
|
1457
1815
|
};
|
|
1458
1816
|
private extractMetricTooltipData;
|
|
1459
1817
|
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>;
|
|
1818
|
+
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
1819
|
}
|
|
1462
1820
|
|
|
1463
1821
|
declare class SkeletonLoaderComponent {
|
|
@@ -1499,26 +1857,26 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1499
1857
|
constructor();
|
|
1500
1858
|
analysisData: _angular_core.Signal<FunnelAnalysisInterface | undefined>;
|
|
1501
1859
|
title: _angular_core.Signal<string>;
|
|
1502
|
-
analysis: _angular_core.Signal<
|
|
1503
|
-
overallAssessment: _angular_core.Signal<
|
|
1860
|
+
analysis: _angular_core.Signal<PerformanceOverviewStructuredV3Interface>;
|
|
1861
|
+
overallAssessment: _angular_core.Signal<OverallAssessmentInterface>;
|
|
1504
1862
|
metrics: _angular_core.Signal<PerformanceMetricInterface[]>;
|
|
1505
|
-
insights: _angular_core.Signal<
|
|
1506
|
-
insightsCount: _angular_core.Signal<
|
|
1863
|
+
insights: _angular_core.Signal<InsightBlockInterface[]>;
|
|
1864
|
+
insightsCount: _angular_core.Signal<number>;
|
|
1507
1865
|
revenueMetric: _angular_core.Signal<PerformanceMetricInterface | undefined>;
|
|
1508
1866
|
topMetrics: _angular_core.Signal<PerformanceMetricInterface[]>;
|
|
1509
1867
|
formattedRevenueValue: _angular_core.Signal<string>;
|
|
1510
1868
|
formattedRevenueTrend: _angular_core.Signal<string>;
|
|
1511
|
-
revenueStatusIcon: _angular_core.Signal<"
|
|
1869
|
+
revenueStatusIcon: _angular_core.Signal<"⚠" | "↑" | "→" | "•">;
|
|
1512
1870
|
hasCompetitiveData: _angular_core.Signal<boolean>;
|
|
1513
1871
|
hasOverallCompetitiveBenchmark: _angular_core.Signal<boolean>;
|
|
1514
|
-
overallCompetitiveDescription: _angular_core.Signal<
|
|
1872
|
+
overallCompetitiveDescription: _angular_core.Signal<string>;
|
|
1515
1873
|
getOverallCompetitiveLabel(): string;
|
|
1516
1874
|
getOverallCompetitiveIcon(): string;
|
|
1517
1875
|
competitiveScore: _angular_core.Signal<string>;
|
|
1518
1876
|
gradeTooltip: _angular_core.Signal<{
|
|
1519
1877
|
title: string;
|
|
1520
|
-
grade:
|
|
1521
|
-
explanation:
|
|
1878
|
+
grade: string;
|
|
1879
|
+
explanation: string;
|
|
1522
1880
|
}>;
|
|
1523
1881
|
revenueTooltip: _angular_core.Signal<{
|
|
1524
1882
|
chartData: {
|
|
@@ -1533,6 +1891,7 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1533
1891
|
unit?: string;
|
|
1534
1892
|
category?: string;
|
|
1535
1893
|
isInverseMetric?: boolean;
|
|
1894
|
+
currencySymbol?: string;
|
|
1536
1895
|
} | {
|
|
1537
1896
|
metricName: string;
|
|
1538
1897
|
currentValue: number;
|
|
@@ -1544,10 +1903,10 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1544
1903
|
progressPercent: number;
|
|
1545
1904
|
}>;
|
|
1546
1905
|
narrativeTooltip: _angular_core.Signal<{
|
|
1547
|
-
narrative:
|
|
1906
|
+
narrative: string;
|
|
1548
1907
|
}>;
|
|
1549
1908
|
competitiveTooltip: _angular_core.Signal<{
|
|
1550
|
-
industry:
|
|
1909
|
+
industry: string;
|
|
1551
1910
|
metricBenchmark: string;
|
|
1552
1911
|
competitiveScore: "LEADING" | "COMPETITIVE" | "LAGGING";
|
|
1553
1912
|
description: string;
|
|
@@ -1555,19 +1914,22 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1555
1914
|
}>;
|
|
1556
1915
|
insightsTooltip: _angular_core.Signal<{
|
|
1557
1916
|
title: string;
|
|
1558
|
-
insights:
|
|
1917
|
+
insights: {
|
|
1918
|
+
title: string;
|
|
1919
|
+
priority: number;
|
|
1920
|
+
}[];
|
|
1559
1921
|
remaining: number;
|
|
1560
1922
|
}>;
|
|
1561
1923
|
overallCompetitiveTooltip: _angular_core.Signal<{
|
|
1562
|
-
industry:
|
|
1563
|
-
metricBenchmark:
|
|
1564
|
-
competitiveScore:
|
|
1565
|
-
description:
|
|
1566
|
-
keyOpportunities:
|
|
1924
|
+
industry: string;
|
|
1925
|
+
metricBenchmark: string;
|
|
1926
|
+
competitiveScore: string;
|
|
1927
|
+
description: string;
|
|
1928
|
+
keyOpportunities: string;
|
|
1567
1929
|
}>;
|
|
1568
1930
|
overallCompetitiveDescriptionTooltip: _angular_core.Signal<{
|
|
1569
1931
|
title: string;
|
|
1570
|
-
narrative:
|
|
1932
|
+
narrative: string;
|
|
1571
1933
|
}>;
|
|
1572
1934
|
containerClass: _angular_core.Signal<string>;
|
|
1573
1935
|
headerClass: _angular_core.Signal<string>;
|
|
@@ -1590,7 +1952,7 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1590
1952
|
buttonClass: _angular_core.Signal<string>;
|
|
1591
1953
|
competitiveBadgeClass: _angular_core.Signal<string>;
|
|
1592
1954
|
shouldPulseCompetitiveBadge: _angular_core.Signal<boolean>;
|
|
1593
|
-
overallCompetitiveStatusBadgeClass: _angular_core.Signal<"border-2 bg-gradient-to-
|
|
1955
|
+
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
1956
|
shouldPulseOverallCompetitive: _angular_core.Signal<boolean>;
|
|
1595
1957
|
statusIconClass: _angular_core.Signal<string>;
|
|
1596
1958
|
insightsCardClass: _angular_core.Signal<string>;
|
|
@@ -1613,59 +1975,20 @@ declare class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
1613
1975
|
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; }; "useSampleData": { "alias": "useSampleData"; "required": false; "isSignal": true; }; "scrollElement": { "alias": "scrollElement"; "required": false; "isSignal": true; }; }, { "onViewAnalysis": "onViewAnalysis"; }, never, never, true, never>;
|
|
1614
1976
|
}
|
|
1615
1977
|
|
|
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
1978
|
declare class ProfileItemLookupService {
|
|
1642
1979
|
private profileData;
|
|
1643
1980
|
setProfile(profile: ProfileInterface | undefined): void;
|
|
1644
1981
|
findItemById(id: string): ProfileItemInterface | undefined;
|
|
1645
1982
|
findItemsByIds(ids: string[]): ProfileItemInterface[];
|
|
1983
|
+
findItemWithContext(id: string): {
|
|
1984
|
+
item: ProfileItemInterface;
|
|
1985
|
+
sectionTitle: string;
|
|
1986
|
+
subsectionTitle: string;
|
|
1987
|
+
} | undefined;
|
|
1646
1988
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileItemLookupService, never>;
|
|
1647
1989
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ProfileItemLookupService>;
|
|
1648
1990
|
}
|
|
1649
1991
|
|
|
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>;
|
|
1667
|
-
}
|
|
1668
|
-
|
|
1669
1992
|
declare class SymphiqBusinessAnalysisDashboardComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
1670
1993
|
requestedByUser?: {
|
|
1671
1994
|
firstName: string;
|
|
@@ -1679,24 +2002,30 @@ declare class SymphiqBusinessAnalysisDashboardComponent implements OnInit, After
|
|
|
1679
2002
|
useSampleData: boolean;
|
|
1680
2003
|
profile?: ProfileInterface;
|
|
1681
2004
|
parentHeaderOffset: number;
|
|
2005
|
+
onboarded: boolean;
|
|
1682
2006
|
protected headerScrollService: HeaderScrollService;
|
|
1683
2007
|
protected lookupService: ProfileItemLookupService;
|
|
1684
2008
|
protected navigationService: NavigationStateService;
|
|
1685
2009
|
protected profileContextService: ProfileContextService;
|
|
1686
2010
|
protected searchService: BusinessProfileSearchService;
|
|
1687
|
-
protected
|
|
2011
|
+
protected modalService: ModalService;
|
|
1688
2012
|
protected currentProfile: _angular_core.WritableSignal<ProfileInterface | undefined>;
|
|
1689
2013
|
protected scrollProgress: _angular_core.Signal<number>;
|
|
1690
2014
|
protected isLightMode: _angular_core.Signal<boolean>;
|
|
1691
|
-
protected
|
|
1692
|
-
protected
|
|
2015
|
+
protected displayMode: _angular_core.WritableSignal<DisplayModeEnum>;
|
|
2016
|
+
protected isCompactView: _angular_core.Signal<boolean>;
|
|
2017
|
+
protected isSimplifiedView: _angular_core.Signal<boolean>;
|
|
1693
2018
|
protected currentSectionTitle: _angular_core.WritableSignal<string>;
|
|
1694
2019
|
protected currentSubsectionTitle: _angular_core.WritableSignal<string>;
|
|
1695
2020
|
protected sectionTitleFading: _angular_core.WritableSignal<boolean>;
|
|
1696
2021
|
protected subsectionTitleFading: _angular_core.WritableSignal<boolean>;
|
|
1697
2022
|
protected selectedSearchIndex: _angular_core.WritableSignal<number>;
|
|
1698
|
-
protected
|
|
2023
|
+
protected isViewModeSwitcherOpen: _angular_core.WritableSignal<boolean>;
|
|
2024
|
+
protected isViewModeSwitching: _angular_core.WritableSignal<boolean>;
|
|
1699
2025
|
protected sections: _angular_core.Signal<ProfileSectionInterface[]>;
|
|
2026
|
+
protected recommendationItems: _angular_core.Signal<ProfileAnalysisRecommendationInterface[]>;
|
|
2027
|
+
protected nonRecommendationSections: _angular_core.Signal<ProfileSectionInterface[]>;
|
|
2028
|
+
protected displayModeLabel: _angular_core.Signal<"Simplified" | "Compact" | "Expanded" | "View">;
|
|
1700
2029
|
private subsectionObserver?;
|
|
1701
2030
|
private sectionUpdateTimeout?;
|
|
1702
2031
|
private subsectionUpdateTimeout?;
|
|
@@ -1710,18 +2039,21 @@ declare class SymphiqBusinessAnalysisDashboardComponent implements OnInit, After
|
|
|
1710
2039
|
protected subsectionHasContent(subsection: ProfileSubsectionInterface): boolean;
|
|
1711
2040
|
constructor();
|
|
1712
2041
|
onScroll(): void;
|
|
1713
|
-
protected setViewMode(mode: ComponentViewMode): void;
|
|
1714
2042
|
protected toggleExpandedView(): void;
|
|
1715
|
-
protected
|
|
1716
|
-
protected
|
|
1717
|
-
protected
|
|
1718
|
-
protected
|
|
1719
|
-
protected
|
|
2043
|
+
protected openViewModeSwitcher(): void;
|
|
2044
|
+
protected closeViewModeSwitcher(): void;
|
|
2045
|
+
protected handleDisplayModeChange(mode: DisplayModeEnum): void;
|
|
2046
|
+
protected openRecommendationDetailsModal(recommendation: ProfileAnalysisRecommendationInterface): void;
|
|
2047
|
+
protected getViewModeButtonClasses(): string;
|
|
1720
2048
|
handleKeyDown(event: KeyboardEvent): void;
|
|
1721
2049
|
protected openSearch(): void;
|
|
1722
2050
|
protected closeSearch(): void;
|
|
1723
2051
|
protected onSearchChange(query: string): void;
|
|
1724
2052
|
protected onSearchResultSelected(result: BusinessSearchResult): void;
|
|
2053
|
+
protected handleViewInContext(event: {
|
|
2054
|
+
itemId: string;
|
|
2055
|
+
itemType?: string;
|
|
2056
|
+
}): void;
|
|
1725
2057
|
private scrollToSearchResult;
|
|
1726
2058
|
private highlightAndPulseItem;
|
|
1727
2059
|
ngOnInit(): void;
|
|
@@ -1739,7 +2071,7 @@ declare class SymphiqBusinessAnalysisDashboardComponent implements OnInit, After
|
|
|
1739
2071
|
protected getSpinnerClasses(): string;
|
|
1740
2072
|
protected trackBySectionId(index: number, section: ProfileSectionInterface): string | number;
|
|
1741
2073
|
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; }; "useSampleData": { "alias": "useSampleData"; "required": false; }; "profile": { "alias": "profile"; "required": false; }; "parentHeaderOffset": { "alias": "parentHeaderOffset"; "required": false; }; }, {}, never, never, true, never>;
|
|
2074
|
+
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; }; "useSampleData": { "alias": "useSampleData"; "required": false; }; "profile": { "alias": "profile"; "required": false; }; "parentHeaderOffset": { "alias": "parentHeaderOffset"; "required": false; }; "onboarded": { "alias": "onboarded"; "required": false; }; }, {}, never, never, true, never>;
|
|
1743
2075
|
}
|
|
1744
2076
|
|
|
1745
2077
|
declare class ProfileSectionComponent {
|
|
@@ -1749,11 +2081,12 @@ declare class ProfileSectionComponent {
|
|
|
1749
2081
|
viewMode: ViewModeEnum;
|
|
1750
2082
|
forceExpanded: boolean;
|
|
1751
2083
|
protected visibleSubsections: _angular_core.Signal<ProfileSubsectionInterface[]>;
|
|
2084
|
+
protected isDark: _angular_core.Signal<boolean>;
|
|
2085
|
+
protected containerClasses: _angular_core.Signal<"relative" | "relative bg-slate-50/50">;
|
|
2086
|
+
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">;
|
|
2087
|
+
protected titleClasses: _angular_core.Signal<"text-3xl font-bold text-white" | "text-3xl font-bold text-slate-900">;
|
|
2088
|
+
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
2089
|
protected subsectionHasContent(subsection: ProfileSubsectionInterface): boolean;
|
|
1753
|
-
protected getContainerClasses(): string;
|
|
1754
|
-
protected getIconContainerClasses(): string;
|
|
1755
|
-
protected getTitleClasses(): string;
|
|
1756
|
-
protected getDividerClasses(): string;
|
|
1757
2090
|
protected trackBySubsectionId(index: number, subsection: ProfileSubsectionInterface): string | number;
|
|
1758
2091
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileSectionComponent, never>;
|
|
1759
2092
|
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 +2101,24 @@ declare class ProfileSubsectionComponent {
|
|
|
1768
2101
|
private sanitizer;
|
|
1769
2102
|
private profileContextService;
|
|
1770
2103
|
protected ProfileItemTypeEnum: typeof ProfileItemTypeEnum;
|
|
2104
|
+
protected isDark: _angular_core.Signal<boolean>;
|
|
1771
2105
|
protected sortedItems: _angular_core.Signal<ProfileItemInterface[]>;
|
|
2106
|
+
private contentCache;
|
|
1772
2107
|
protected formatContentWithLineBreaks(content: string): SafeHtml;
|
|
1773
|
-
protected
|
|
1774
|
-
protected
|
|
1775
|
-
protected
|
|
1776
|
-
protected
|
|
1777
|
-
protected
|
|
2108
|
+
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">;
|
|
2109
|
+
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">;
|
|
2110
|
+
protected titleClasses: _angular_core.Signal<"text-xl font-bold text-white" | "text-xl font-bold text-slate-900">;
|
|
2111
|
+
protected contentClasses: _angular_core.Signal<"mt-2 text-base leading-relaxed text-slate-300" | "mt-2 text-base leading-relaxed text-slate-600">;
|
|
2112
|
+
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
2113
|
protected getDisplayContent(): string | null;
|
|
1779
2114
|
protected trackByItemId(index: number, item: ProfileItemInterface): string | number;
|
|
1780
|
-
protected getCompetitiveBenchmark():
|
|
2115
|
+
protected getCompetitiveBenchmark(): {
|
|
2116
|
+
industry: string;
|
|
2117
|
+
metricBenchmark: string | null;
|
|
2118
|
+
competitiveScore: 'LEADING' | 'COMPETITIVE' | 'LAGGING';
|
|
2119
|
+
description: string;
|
|
2120
|
+
keyOpportunities: string;
|
|
2121
|
+
} | undefined;
|
|
1781
2122
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfileSubsectionComponent, never>;
|
|
1782
2123
|
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
2124
|
}
|
|
@@ -1789,6 +2130,8 @@ declare class ProfileItemCardComponent {
|
|
|
1789
2130
|
forceExpanded: boolean;
|
|
1790
2131
|
animationIndex: number;
|
|
1791
2132
|
isLoading: boolean;
|
|
2133
|
+
inModalContext: boolean;
|
|
2134
|
+
isCompactMode: boolean;
|
|
1792
2135
|
protected isRecommendation(): boolean;
|
|
1793
2136
|
protected getCardClasses(): string;
|
|
1794
2137
|
protected getIconClasses(): string;
|
|
@@ -1796,7 +2139,7 @@ declare class ProfileItemCardComponent {
|
|
|
1796
2139
|
protected getValueClasses(): string;
|
|
1797
2140
|
protected getItemIcon(): IconObjectInterface$1 | undefined;
|
|
1798
2141
|
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>;
|
|
2142
|
+
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
2143
|
}
|
|
1801
2144
|
|
|
1802
2145
|
declare class NapkinVisualPlaceholderComponent implements OnInit, OnChanges {
|
|
@@ -1875,7 +2218,7 @@ declare class FloatingTocComponent implements OnInit, OnDestroy {
|
|
|
1875
2218
|
protected tocSections: _angular_core.Signal<{
|
|
1876
2219
|
id: string;
|
|
1877
2220
|
title: string;
|
|
1878
|
-
icon:
|
|
2221
|
+
icon: IconObjectInterface$1 | undefined;
|
|
1879
2222
|
subsections: {
|
|
1880
2223
|
id: string;
|
|
1881
2224
|
title: string;
|
|
@@ -1936,8 +2279,13 @@ declare class FloatingBackButtonComponent implements OnInit, OnDestroy {
|
|
|
1936
2279
|
|
|
1937
2280
|
declare class BusinessAnalysisModalComponent implements OnInit {
|
|
1938
2281
|
isLightMode: _angular_core.InputSignal<boolean>;
|
|
2282
|
+
viewInContextRequested: _angular_core.OutputEmitterRef<{
|
|
2283
|
+
itemId: string;
|
|
2284
|
+
itemType?: string;
|
|
2285
|
+
}>;
|
|
1939
2286
|
private modalService;
|
|
1940
2287
|
private sanitizer;
|
|
2288
|
+
modalContent?: ElementRef<HTMLDivElement>;
|
|
1941
2289
|
isOpen: _angular_core.WritableSignal<boolean>;
|
|
1942
2290
|
modalType: _angular_core.WritableSignal<string | null>;
|
|
1943
2291
|
modalTitle: _angular_core.WritableSignal<string>;
|
|
@@ -1951,6 +2299,10 @@ declare class BusinessAnalysisModalComponent implements OnInit {
|
|
|
1951
2299
|
actionSteps: ProfileAnalysisRecommendationActionStepInterface[];
|
|
1952
2300
|
viewMode: ViewModeEnum;
|
|
1953
2301
|
} | null>;
|
|
2302
|
+
itemDetailModalData: _angular_core.WritableSignal<ItemDetailModalData | null>;
|
|
2303
|
+
navigationStack: _angular_core.WritableSignal<ItemDetailModalData[]>;
|
|
2304
|
+
itemDetailData: _angular_core.Signal<ItemDetailModalData | null>;
|
|
2305
|
+
previousState: _angular_core.WritableSignal<any>;
|
|
1954
2306
|
visualizationType: _angular_core.Signal<"horizontal-bar" | "circular-progress" | "napkin-visual" | "custom" | null>;
|
|
1955
2307
|
horizontalBarData: _angular_core.Signal<{
|
|
1956
2308
|
percentage: number;
|
|
@@ -1972,9 +2324,210 @@ declare class BusinessAnalysisModalComponent implements OnInit {
|
|
|
1972
2324
|
constructor();
|
|
1973
2325
|
ngOnInit(): void;
|
|
1974
2326
|
getSanitizedSvg(): SafeHtml;
|
|
2327
|
+
handleViewInContext(): void;
|
|
2328
|
+
handleNavigateBack(event?: Event): void;
|
|
2329
|
+
handleNavigateToBreadcrumb(index: number, event?: Event): void;
|
|
2330
|
+
scrollModalToTop(): void;
|
|
2331
|
+
protected hasNavigationHistory(): boolean;
|
|
2332
|
+
protected getBreadcrumbs(): Array<{
|
|
2333
|
+
label: string;
|
|
2334
|
+
}>;
|
|
2335
|
+
protected getBreadcrumbClasses(): string;
|
|
2336
|
+
protected getBackButtonClasses(): string;
|
|
2337
|
+
protected getBreadcrumbLinkClasses(): string;
|
|
1975
2338
|
closeModal(): void;
|
|
1976
2339
|
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>;
|
|
2340
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BusinessAnalysisModalComponent, "symphiq-business-analysis-modal", never, { "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; }, { "viewInContextRequested": "viewInContextRequested"; }, never, never, true, never>;
|
|
2341
|
+
}
|
|
2342
|
+
|
|
2343
|
+
type ProfileModalData = {
|
|
2344
|
+
goal: GoalV3Interface;
|
|
2345
|
+
viewMode: ViewModeEnum;
|
|
2346
|
+
} | {
|
|
2347
|
+
goal: GoalV3Interface;
|
|
2348
|
+
viewMode: ViewModeEnum;
|
|
2349
|
+
} | {
|
|
2350
|
+
objective: ObjectiveV3Interface;
|
|
2351
|
+
goalTitle?: string;
|
|
2352
|
+
viewMode: ViewModeEnum;
|
|
2353
|
+
} | {
|
|
2354
|
+
strategy: StrategyV3Interface;
|
|
2355
|
+
objectiveTitle?: string;
|
|
2356
|
+
goalTitle?: string;
|
|
2357
|
+
viewMode: ViewModeEnum;
|
|
2358
|
+
} | {
|
|
2359
|
+
category: OperationalCategoryInterface;
|
|
2360
|
+
viewMode: ViewModeEnum;
|
|
2361
|
+
scrollToSection?: 'strengths' | 'gaps' | 'opportunities';
|
|
2362
|
+
} | {
|
|
2363
|
+
strength: CategoryStrengthInterface;
|
|
2364
|
+
categoryTitle: string;
|
|
2365
|
+
viewMode: ViewModeEnum;
|
|
2366
|
+
} | {
|
|
2367
|
+
gap: CategoryGapInterface;
|
|
2368
|
+
categoryTitle: string;
|
|
2369
|
+
viewMode: ViewModeEnum;
|
|
2370
|
+
} | {
|
|
2371
|
+
opportunity: CategoryOpportunityInterface;
|
|
2372
|
+
categoryTitle: string;
|
|
2373
|
+
viewMode: ViewModeEnum;
|
|
2374
|
+
} | null;
|
|
2375
|
+
declare class SymphiqProfileAnalysisDashboardComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {
|
|
2376
|
+
funnelModalComponent?: ModalComponent;
|
|
2377
|
+
viewMode: ViewModeEnum;
|
|
2378
|
+
constructor();
|
|
2379
|
+
embedded: boolean;
|
|
2380
|
+
profileAnalysis?: ProfileAnalysisInterface;
|
|
2381
|
+
profile?: ProfileInterface;
|
|
2382
|
+
funnelAnalysis?: FunnelAnalysisInterface;
|
|
2383
|
+
analysisType: ProfileAnalysisTypeEnum;
|
|
2384
|
+
onboarded: boolean;
|
|
2385
|
+
useSampleData: boolean;
|
|
2386
|
+
protected funnelAnalysisSignal: _angular_core.WritableSignal<FunnelAnalysisInterface | undefined>;
|
|
2387
|
+
protected readonly headerScrollService: HeaderScrollService;
|
|
2388
|
+
protected readonly modalService: ModalService;
|
|
2389
|
+
protected readonly viewModeService: ViewModeService;
|
|
2390
|
+
protected readonly profileContextService: ProfileContextService;
|
|
2391
|
+
protected readonly profileItemLookupService: ProfileItemLookupService;
|
|
2392
|
+
protected readonly IconSourceEnum: typeof IconSourceEnum;
|
|
2393
|
+
protected currentAnalysis: _angular_core.WritableSignal<ProfileAnalysisInterface | undefined>;
|
|
2394
|
+
protected scrollProgress: _angular_core.WritableSignal<number>;
|
|
2395
|
+
protected currentDisplayMode: _angular_core.WritableSignal<DisplayModeEnum>;
|
|
2396
|
+
protected isSearchOpen: _angular_core.WritableSignal<boolean>;
|
|
2397
|
+
protected isViewModeSwitcherOpen: _angular_core.WritableSignal<boolean>;
|
|
2398
|
+
protected modalType: _angular_core.WritableSignal<string | null>;
|
|
2399
|
+
protected modalData: _angular_core.WritableSignal<ProfileModalData>;
|
|
2400
|
+
protected currentModalNavigationStack: _angular_core.WritableSignal<ModalState[]>;
|
|
2401
|
+
protected isLightMode: _angular_core.Signal<boolean>;
|
|
2402
|
+
protected isSimplifiedView: _angular_core.Signal<boolean>;
|
|
2403
|
+
protected executiveSummary: _angular_core.Signal<{
|
|
2404
|
+
gradeRationale: string | undefined;
|
|
2405
|
+
overallGrade?: _jebgem_model.OverallGradeEnum;
|
|
2406
|
+
operationalMaturity?: _jebgem_model.OperationalMaturityEnum;
|
|
2407
|
+
narrative?: string;
|
|
2408
|
+
keyStrengths?: _jebgem_model.KeyStrengthInterface[];
|
|
2409
|
+
criticalGaps?: _jebgem_model.CriticalGapInterface[];
|
|
2410
|
+
quickWins?: _jebgem_model.QuickWinItemInterface[];
|
|
2411
|
+
napkinVisual?: _jebgem_model.NapkinVisualInterface;
|
|
2412
|
+
} | undefined>;
|
|
2413
|
+
protected sections: _angular_core.Signal<ProfileAnalysisSectionV3Interface[] | undefined>;
|
|
2414
|
+
protected allGoals: _angular_core.Signal<GoalV3Interface[]>;
|
|
2415
|
+
protected strategicRoadmapGoals: _angular_core.Signal<GoalV3Interface[]>;
|
|
2416
|
+
protected nonStrategicSections: _angular_core.Signal<ProfileAnalysisSectionV3Interface[]>;
|
|
2417
|
+
protected tocSections: _angular_core.Signal<{
|
|
2418
|
+
id: string;
|
|
2419
|
+
title: string;
|
|
2420
|
+
subsections: never[];
|
|
2421
|
+
}[]>;
|
|
2422
|
+
protected displayModeLabel: _angular_core.Signal<string>;
|
|
2423
|
+
protected allMetrics: _angular_core.Signal<PerformanceMetricInterface[]>;
|
|
2424
|
+
protected allCharts: _angular_core.Signal<AiChartInterface[]>;
|
|
2425
|
+
protected allInsights: _angular_core.Signal<_jebgem_model.InsightBlockInterface[]>;
|
|
2426
|
+
protected allBusinessInsights: _angular_core.Signal<ProfileAnalysisRecommendationInterface[]>;
|
|
2427
|
+
onWindowScroll(): void;
|
|
2428
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
2429
|
+
ngOnInit(): void;
|
|
2430
|
+
ngAfterViewInit(): void;
|
|
2431
|
+
ngOnDestroy(): void;
|
|
2432
|
+
protected openSearch(): void;
|
|
2433
|
+
protected closeSearch(): void;
|
|
2434
|
+
protected openViewModeSwitcher(): void;
|
|
2435
|
+
protected closeViewModeSwitcher(): void;
|
|
2436
|
+
protected openGoalModal(goal: GoalV3Interface): void;
|
|
2437
|
+
protected getCurrentModalState(): ModalState;
|
|
2438
|
+
protected getGoalDetailData(): {
|
|
2439
|
+
goal: GoalV3Interface;
|
|
2440
|
+
viewMode: ViewModeEnum;
|
|
2441
|
+
} | null;
|
|
2442
|
+
protected getObjectiveStrategiesData(): {
|
|
2443
|
+
objective: ObjectiveV3Interface;
|
|
2444
|
+
goalTitle?: string;
|
|
2445
|
+
viewMode: ViewModeEnum;
|
|
2446
|
+
} | null;
|
|
2447
|
+
protected getStrategyRecommendationsData(): {
|
|
2448
|
+
strategy: StrategyV3Interface;
|
|
2449
|
+
objectiveTitle?: string;
|
|
2450
|
+
goalTitle?: string;
|
|
2451
|
+
viewMode: ViewModeEnum;
|
|
2452
|
+
} | null;
|
|
2453
|
+
protected getCategoryDetailData(): {
|
|
2454
|
+
category: OperationalCategoryInterface;
|
|
2455
|
+
viewMode: ViewModeEnum;
|
|
2456
|
+
scrollToSection?: 'strengths' | 'gaps' | 'opportunities';
|
|
2457
|
+
} | null;
|
|
2458
|
+
protected getStrengthDetailData(): {
|
|
2459
|
+
strength: CategoryStrengthInterface;
|
|
2460
|
+
categoryTitle: string;
|
|
2461
|
+
viewMode: ViewModeEnum;
|
|
2462
|
+
} | null;
|
|
2463
|
+
protected getGapDetailData(): {
|
|
2464
|
+
gap: CategoryGapInterface;
|
|
2465
|
+
categoryTitle: string;
|
|
2466
|
+
viewMode: ViewModeEnum;
|
|
2467
|
+
} | null;
|
|
2468
|
+
protected getOpportunityDetailData(): {
|
|
2469
|
+
opportunity: CategoryOpportunityInterface;
|
|
2470
|
+
categoryTitle: string;
|
|
2471
|
+
viewMode: ViewModeEnum;
|
|
2472
|
+
} | null;
|
|
2473
|
+
protected handleDisplayModeChange(mode: DisplayModeEnum): void;
|
|
2474
|
+
protected getAnalysisTypeLabel(): string;
|
|
2475
|
+
protected getGradeDisplay(): string;
|
|
2476
|
+
protected getContainerClasses(): string;
|
|
2477
|
+
protected getBannerClasses(): string;
|
|
2478
|
+
protected getSectionTitleClasses(): string;
|
|
2479
|
+
protected getSubheadingClasses(): string;
|
|
2480
|
+
protected getTextClasses(): string;
|
|
2481
|
+
protected getNarrativeClasses(): string;
|
|
2482
|
+
protected getKeyStrengthsStatCardClasses(): string;
|
|
2483
|
+
protected getKeyStrengthsStatLabelClasses(): string;
|
|
2484
|
+
protected getKeyStrengthsStatValueClasses(): string;
|
|
2485
|
+
protected getKeyStrengthsButtonTextClasses(): string;
|
|
2486
|
+
protected getCriticalGapsStatCardClasses(): string;
|
|
2487
|
+
protected getCriticalGapsStatLabelClasses(): string;
|
|
2488
|
+
protected getCriticalGapsStatValueClasses(): string;
|
|
2489
|
+
protected getCriticalGapsButtonTextClasses(): string;
|
|
2490
|
+
protected getQuickWinsStatCardClasses(): string;
|
|
2491
|
+
protected getQuickWinsStatLabelClasses(): string;
|
|
2492
|
+
protected getQuickWinsStatValueClasses(): string;
|
|
2493
|
+
protected getQuickWinsButtonTextClasses(): string;
|
|
2494
|
+
protected getQuickWinCardClasses(): string;
|
|
2495
|
+
protected getQuickWinTextClasses(): string;
|
|
2496
|
+
protected getNumberBadgeClasses(): string;
|
|
2497
|
+
protected getEffortBadgeClasses(effort?: string): string;
|
|
2498
|
+
protected getImpactBadgeClasses(impact?: string): string;
|
|
2499
|
+
protected getMetaTextClasses(): string;
|
|
2500
|
+
protected formatLabel(label?: string): string;
|
|
2501
|
+
protected getSectionCardClasses(): string;
|
|
2502
|
+
protected getSectionIconClasses(): string;
|
|
2503
|
+
protected getSectionDescriptionClasses(): string;
|
|
2504
|
+
private formatGradeInText;
|
|
2505
|
+
protected onKeyStrengthsClick(summary: ExecutiveSummaryInterface): void;
|
|
2506
|
+
protected onCriticalGapsClick(summary: ExecutiveSummaryInterface): void;
|
|
2507
|
+
protected scrollToQuickWins(): void;
|
|
2508
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SymphiqProfileAnalysisDashboardComponent, never>;
|
|
2509
|
+
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; }; "onboarded": { "alias": "onboarded"; "required": false; }; "useSampleData": { "alias": "useSampleData"; "required": false; }; }, {}, never, never, true, never>;
|
|
2510
|
+
}
|
|
2511
|
+
|
|
2512
|
+
declare class ShopWelcomeBannerComponent {
|
|
2513
|
+
viewMode: ViewModeEnum;
|
|
2514
|
+
businessName: string;
|
|
2515
|
+
onboarded: boolean;
|
|
2516
|
+
protected containerClasses(): string;
|
|
2517
|
+
protected contentClasses(): string;
|
|
2518
|
+
protected iconContainerClasses(): string;
|
|
2519
|
+
protected titleClasses(): string;
|
|
2520
|
+
protected textClasses(): string;
|
|
2521
|
+
protected highlightBoxClasses(): string;
|
|
2522
|
+
protected highlightIconClasses(): string;
|
|
2523
|
+
protected highlightTitleClasses(): string;
|
|
2524
|
+
protected highlightListClasses(): string;
|
|
2525
|
+
protected nextStepsBoxClasses(): string;
|
|
2526
|
+
protected nextStepsIconClasses(): string;
|
|
2527
|
+
protected nextStepsTitleClasses(): string;
|
|
2528
|
+
protected nextStepsTextClasses(): string;
|
|
2529
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShopWelcomeBannerComponent, never>;
|
|
2530
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShopWelcomeBannerComponent, "symphiq-shop-welcome-banner", never, { "viewMode": { "alias": "viewMode"; "required": false; }; "businessName": { "alias": "businessName"; "required": false; }; "onboarded": { "alias": "onboarded"; "required": false; }; }, {}, never, never, true, never>;
|
|
1978
2531
|
}
|
|
1979
2532
|
|
|
1980
2533
|
declare class HorizontalBarComponent implements OnInit, OnDestroy {
|
|
@@ -2044,7 +2597,7 @@ declare class VisualizationContainerComponent {
|
|
|
2044
2597
|
data: unknown;
|
|
2045
2598
|
}>;
|
|
2046
2599
|
containerClass: _angular_core.Signal<"" | "cursor-pointer">;
|
|
2047
|
-
iconClass: _angular_core.Signal<"text-slate-
|
|
2600
|
+
iconClass: _angular_core.Signal<"text-slate-500 group-hover:text-blue-400" | "text-slate-400 group-hover:text-blue-500">;
|
|
2048
2601
|
onExpandClick(event: Event): void;
|
|
2049
2602
|
onVisualizationClick(event: Event): void;
|
|
2050
2603
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<VisualizationContainerComponent, never>;
|
|
@@ -2084,12 +2637,13 @@ declare class SymphiqIconComponent {
|
|
|
2084
2637
|
declare class SectionDividerComponent {
|
|
2085
2638
|
viewMode: ViewModeEnum;
|
|
2086
2639
|
animationDelay: string;
|
|
2640
|
+
sectionIcon?: IconObjectInterface$1;
|
|
2087
2641
|
private subsectionsSignal;
|
|
2088
2642
|
set subsections(value: ProfileSubsectionInterface[] | undefined);
|
|
2089
|
-
protected displayIcons: _angular_core.Signal<
|
|
2643
|
+
protected displayIcons: _angular_core.Signal<IconObjectInterface$1[]>;
|
|
2090
2644
|
protected isLightMode(): boolean;
|
|
2091
2645
|
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>;
|
|
2646
|
+
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
2647
|
}
|
|
2094
2648
|
|
|
2095
2649
|
declare class SearchButtonComponent {
|
|
@@ -2128,23 +2682,149 @@ declare class SearchModalComponent {
|
|
|
2128
2682
|
iconClass: _angular_core.Signal<"text-slate-400" | "text-slate-500">;
|
|
2129
2683
|
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
2684
|
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-
|
|
2685
|
+
resultsContainerClass: _angular_core.Signal<"border-slate-700" | "border-slate-200">;
|
|
2132
2686
|
resultTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
2133
|
-
resultDescClass: _angular_core.Signal<"text-slate-
|
|
2687
|
+
resultDescClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2134
2688
|
breadcrumbClass: _angular_core.Signal<string>;
|
|
2135
2689
|
typeBadgeClass: _angular_core.Signal<"bg-slate-100 text-slate-600" | "bg-slate-700 text-slate-300">;
|
|
2136
2690
|
arrowClass: _angular_core.Signal<"text-slate-400" | "text-slate-500">;
|
|
2137
|
-
emptyStateClass: _angular_core.Signal<"border-slate-
|
|
2138
|
-
emptyIconClass: _angular_core.Signal<"text-slate-
|
|
2691
|
+
emptyStateClass: _angular_core.Signal<"border-slate-700" | "border-slate-200">;
|
|
2692
|
+
emptyIconClass: _angular_core.Signal<"text-slate-300" | "text-slate-600">;
|
|
2139
2693
|
emptyTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
2140
|
-
emptyDescClass: _angular_core.Signal<"text-slate-
|
|
2141
|
-
shortcutsClass: _angular_core.Signal<"bg-slate-
|
|
2694
|
+
emptyDescClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2695
|
+
shortcutsClass: _angular_core.Signal<"bg-slate-50 border-slate-200" | "bg-slate-900/50 border-slate-700">;
|
|
2142
2696
|
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-
|
|
2697
|
+
shortcutTextClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2144
2698
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchModalComponent, never>;
|
|
2145
2699
|
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
2700
|
}
|
|
2147
2701
|
|
|
2702
|
+
declare class GradeBadgeComponent {
|
|
2703
|
+
grade: _angular_core.InputSignal<string>;
|
|
2704
|
+
gradeRationale: _angular_core.InputSignal<string>;
|
|
2705
|
+
label: _angular_core.InputSignal<string>;
|
|
2706
|
+
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2707
|
+
tooltipPosition: _angular_core.InputSignal<"top" | "left" | "right" | "bottom">;
|
|
2708
|
+
isLightMode: _angular_core.Signal<boolean>;
|
|
2709
|
+
formattedGrade: _angular_core.Signal<string>;
|
|
2710
|
+
shouldPulse: _angular_core.Signal<boolean>;
|
|
2711
|
+
tooltip: _angular_core.Signal<{
|
|
2712
|
+
title: string;
|
|
2713
|
+
grade: string;
|
|
2714
|
+
explanation: string;
|
|
2715
|
+
}>;
|
|
2716
|
+
private formatGrade;
|
|
2717
|
+
badgeLabelClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2718
|
+
gradeBadgeClass: _angular_core.Signal<string>;
|
|
2719
|
+
private getGradeBadgeClassLight;
|
|
2720
|
+
private getGradeBadgeClassDark;
|
|
2721
|
+
private getGradeExplanation;
|
|
2722
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GradeBadgeComponent, never>;
|
|
2723
|
+
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>;
|
|
2724
|
+
}
|
|
2725
|
+
|
|
2726
|
+
declare class ChartCardComponent {
|
|
2727
|
+
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2728
|
+
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2729
|
+
isLightMode: _angular_core.InputSignal<boolean>;
|
|
2730
|
+
chartClick: _angular_core.OutputEmitterRef<AiChartInterface>;
|
|
2731
|
+
protected readonly ChartTypeEnum: typeof ChartTypeEnum;
|
|
2732
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartCardComponent, never>;
|
|
2733
|
+
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>;
|
|
2734
|
+
}
|
|
2735
|
+
|
|
2736
|
+
declare class MetricListItemComponent {
|
|
2737
|
+
metric: _angular_core.InputSignal<PerformanceMetricInterface>;
|
|
2738
|
+
isLightMode: _angular_core.InputSignal<boolean>;
|
|
2739
|
+
animationKey: _angular_core.InputSignal<number>;
|
|
2740
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
2741
|
+
metricClick: _angular_core.OutputEmitterRef<PerformanceMetricInterface>;
|
|
2742
|
+
private metricNameCache;
|
|
2743
|
+
private animatedValueSignal;
|
|
2744
|
+
private animatedTrendSignal;
|
|
2745
|
+
private animationFrame;
|
|
2746
|
+
private trendAnimationFrame;
|
|
2747
|
+
animatedValue: _angular_core.Signal<number>;
|
|
2748
|
+
animatedTrendValue: _angular_core.Signal<number>;
|
|
2749
|
+
constructor();
|
|
2750
|
+
formatMetricName(name: string): string;
|
|
2751
|
+
formatAnimatedMetricValue(metric: PerformanceMetricInterface, animatedValue: number): string;
|
|
2752
|
+
getMetricTrendClass(metric: PerformanceMetricInterface): string;
|
|
2753
|
+
private animateValue;
|
|
2754
|
+
private animateTrend;
|
|
2755
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MetricListItemComponent, never>;
|
|
2756
|
+
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>;
|
|
2757
|
+
}
|
|
2758
|
+
|
|
2759
|
+
interface ConfidenceData {
|
|
2760
|
+
grade: string;
|
|
2761
|
+
percentage: number;
|
|
2762
|
+
qualitativeStatus: string;
|
|
2763
|
+
quantitativeStatus: string;
|
|
2764
|
+
description: string;
|
|
2765
|
+
}
|
|
2766
|
+
declare class ConfidenceLevelCardComponent implements OnInit, OnDestroy {
|
|
2767
|
+
viewMode: ViewModeEnum;
|
|
2768
|
+
currentStepId: string;
|
|
2769
|
+
private elementRef;
|
|
2770
|
+
private observer?;
|
|
2771
|
+
private animationFrame?;
|
|
2772
|
+
protected hasAnimated: _angular_core.WritableSignal<boolean>;
|
|
2773
|
+
protected animatedPercentage: _angular_core.WritableSignal<number>;
|
|
2774
|
+
ngOnInit(): void;
|
|
2775
|
+
ngOnDestroy(): void;
|
|
2776
|
+
private setupObserver;
|
|
2777
|
+
private animateProgress;
|
|
2778
|
+
protected confidenceData: _angular_core.Signal<ConfidenceData>;
|
|
2779
|
+
protected shouldPulse: _angular_core.Signal<boolean>;
|
|
2780
|
+
protected isLightMode: _angular_core.Signal<boolean>;
|
|
2781
|
+
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">;
|
|
2782
|
+
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">;
|
|
2783
|
+
protected titleClasses: _angular_core.Signal<"text-white" | "bg-gradient-to-r from-slate-700 to-slate-900 bg-clip-text text-transparent">;
|
|
2784
|
+
protected subtitleClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2785
|
+
protected gradeBadgeContainerClasses: _angular_core.Signal<string>;
|
|
2786
|
+
protected glowEffectClasses: _angular_core.Signal<"bg-emerald-500" | "bg-blue-500" | "bg-orange-500" | "bg-red-500">;
|
|
2787
|
+
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)]">;
|
|
2788
|
+
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">;
|
|
2789
|
+
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">;
|
|
2790
|
+
protected descriptionClasses: _angular_core.Signal<"text-slate-300" | "text-slate-700">;
|
|
2791
|
+
protected progressLabelClasses: _angular_core.Signal<"text-slate-300" | "text-slate-700">;
|
|
2792
|
+
protected progressValueClasses: _angular_core.Signal<"text-emerald-400" | "text-emerald-600" | "text-blue-400" | "text-blue-600" | "text-red-400" | "text-orange-400" | "text-red-600" | "text-orange-600">;
|
|
2793
|
+
protected progressTrackClasses: _angular_core.Signal<"bg-slate-700/50 shadow-inner" | "bg-slate-200 shadow-inner">;
|
|
2794
|
+
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">;
|
|
2795
|
+
protected shimmerClasses: _angular_core.Signal<string>;
|
|
2796
|
+
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">;
|
|
2797
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfidenceLevelCardComponent, never>;
|
|
2798
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfidenceLevelCardComponent, "symphiq-confidence-level-card", never, { "viewMode": { "alias": "viewMode"; "required": false; }; "currentStepId": { "alias": "currentStepId"; "required": false; }; }, {}, never, never, true, never>;
|
|
2799
|
+
}
|
|
2800
|
+
|
|
2801
|
+
declare class RelatedContentSidebarComponent {
|
|
2802
|
+
relatedContent: _angular_core.InputSignal<CrossDashboardRelationships | null>;
|
|
2803
|
+
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2804
|
+
funnelInsightsClicked: _angular_core.OutputEmitterRef<void>;
|
|
2805
|
+
funnelMetricsClicked: _angular_core.OutputEmitterRef<void>;
|
|
2806
|
+
businessInsightsClicked: _angular_core.OutputEmitterRef<void>;
|
|
2807
|
+
protected isLightMode: _angular_core.Signal<boolean>;
|
|
2808
|
+
protected hasFunnelContent: _angular_core.Signal<boolean>;
|
|
2809
|
+
protected hasBusinessContent: _angular_core.Signal<boolean>;
|
|
2810
|
+
protected hasRelatedContent: _angular_core.Signal<boolean>;
|
|
2811
|
+
protected funnelInsightsCount: _angular_core.Signal<number>;
|
|
2812
|
+
protected funnelMetricsCount: _angular_core.Signal<number>;
|
|
2813
|
+
protected businessInsightsCount: _angular_core.Signal<number>;
|
|
2814
|
+
protected headerClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2815
|
+
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">;
|
|
2816
|
+
protected iconBgClasses: _angular_core.Signal<"bg-blue-100 text-blue-600" | "bg-blue-900/30 text-blue-400">;
|
|
2817
|
+
protected iconClasses: _angular_core.Signal<"text-blue-400" | "text-blue-600">;
|
|
2818
|
+
protected countClasses: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
2819
|
+
protected labelClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2820
|
+
protected chevronClasses: _angular_core.Signal<"text-slate-500 group-hover:text-blue-400" | "text-slate-400 group-hover:text-blue-600">;
|
|
2821
|
+
protected onFunnelInsightsClick(): void;
|
|
2822
|
+
protected onFunnelMetricsClick(): void;
|
|
2823
|
+
protected onBusinessInsightsClick(): void;
|
|
2824
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RelatedContentSidebarComponent, never>;
|
|
2825
|
+
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>;
|
|
2826
|
+
}
|
|
2827
|
+
|
|
2148
2828
|
declare class ChartContainerComponent {
|
|
2149
2829
|
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2150
2830
|
isLightMode: _angular_core.InputSignal<boolean>;
|
|
@@ -2152,15 +2832,16 @@ declare class ChartContainerComponent {
|
|
|
2152
2832
|
isCompactMode: _angular_core.InputSignal<boolean>;
|
|
2153
2833
|
collapsibleIn: _angular_core.InputSignal<"compact" | "expanded" | "never">;
|
|
2154
2834
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2835
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
2155
2836
|
chartClick: _angular_core.OutputEmitterRef<AiChartInterface>;
|
|
2156
2837
|
isExpanded: _angular_core.WritableSignal<boolean>;
|
|
2157
2838
|
protected ChartTypeEnum: typeof ChartTypeEnum;
|
|
2158
2839
|
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-
|
|
2840
|
+
headerClass: _angular_core.Signal<"border-slate-700" | "border-slate-200">;
|
|
2160
2841
|
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-
|
|
2842
|
+
descriptionClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2843
|
+
iconClass: _angular_core.Signal<"text-slate-500 group-hover:text-blue-400" | "text-slate-400 group-hover:text-blue-500">;
|
|
2844
|
+
chartIconClass: _angular_core.Signal<"bg-blue-500/20 text-blue-400" | "bg-blue-100 text-blue-600">;
|
|
2164
2845
|
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
2846
|
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
2847
|
isCollapsible: _angular_core.Signal<boolean>;
|
|
@@ -2170,14 +2851,15 @@ declare class ChartContainerComponent {
|
|
|
2170
2851
|
onChartClick(event: Event): void;
|
|
2171
2852
|
toggleExpand(event: Event): void;
|
|
2172
2853
|
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>;
|
|
2854
|
+
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
2855
|
}
|
|
2175
2856
|
|
|
2176
2857
|
declare class LineChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
2177
2858
|
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2178
2859
|
showAxisLabels: _angular_core.InputSignal<boolean>;
|
|
2179
2860
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2180
|
-
|
|
2861
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
2862
|
+
chartHeight: _angular_core.Signal<"133px" | "500px">;
|
|
2181
2863
|
cursorColor: _angular_core.Signal<9741240 | 16777215>;
|
|
2182
2864
|
tooltipTextColor: _angular_core.Signal<0 | 16777215>;
|
|
2183
2865
|
chartHash: _angular_core.Signal<string>;
|
|
@@ -2213,14 +2895,15 @@ declare class LineChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
2213
2895
|
private extractMetricName;
|
|
2214
2896
|
private createChart;
|
|
2215
2897
|
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>;
|
|
2898
|
+
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
2899
|
}
|
|
2218
2900
|
|
|
2219
2901
|
declare class BarChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
2220
2902
|
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2221
2903
|
showAxisLabels: _angular_core.InputSignal<boolean>;
|
|
2222
2904
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2223
|
-
|
|
2905
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
2906
|
+
chartHeight: _angular_core.Signal<"175px" | "500px">;
|
|
2224
2907
|
cursorColor: _angular_core.Signal<9741240 | 16777215>;
|
|
2225
2908
|
tooltipTextColor: _angular_core.Signal<0 | 16777215>;
|
|
2226
2909
|
chartHash: _angular_core.Signal<string>;
|
|
@@ -2249,14 +2932,15 @@ declare class BarChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
2249
2932
|
private cleanupIntersectionObserver;
|
|
2250
2933
|
private createChart;
|
|
2251
2934
|
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>;
|
|
2935
|
+
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
2936
|
}
|
|
2254
2937
|
|
|
2255
2938
|
declare class PieChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
2256
2939
|
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2257
2940
|
showAxisLabels: _angular_core.InputSignal<boolean>;
|
|
2258
2941
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2259
|
-
|
|
2942
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
2943
|
+
chartHeight: _angular_core.Signal<"200px" | "500px">;
|
|
2260
2944
|
chartHash: _angular_core.Signal<string>;
|
|
2261
2945
|
chartDiv: ElementRef;
|
|
2262
2946
|
private root?;
|
|
@@ -2284,14 +2968,15 @@ declare class PieChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
2284
2968
|
private formatValue;
|
|
2285
2969
|
private createChart;
|
|
2286
2970
|
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>;
|
|
2971
|
+
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
2972
|
}
|
|
2289
2973
|
|
|
2290
2974
|
declare class AreaChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
2291
2975
|
chart: _angular_core.InputSignal<AiChartInterface>;
|
|
2292
2976
|
showAxisLabels: _angular_core.InputSignal<boolean>;
|
|
2293
2977
|
viewMode: _angular_core.InputSignal<ViewModeEnum>;
|
|
2294
|
-
|
|
2978
|
+
currencySymbol: _angular_core.InputSignal<string>;
|
|
2979
|
+
chartHeight: _angular_core.Signal<"133px" | "500px">;
|
|
2295
2980
|
cursorColor: _angular_core.Signal<9741240 | 16777215>;
|
|
2296
2981
|
chartHash: _angular_core.Signal<string>;
|
|
2297
2982
|
chartDiv: ElementRef;
|
|
@@ -2319,7 +3004,7 @@ declare class AreaChartComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
2319
3004
|
private cleanupIntersectionObserver;
|
|
2320
3005
|
private createChart;
|
|
2321
3006
|
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>;
|
|
3007
|
+
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
3008
|
}
|
|
2324
3009
|
|
|
2325
3010
|
declare class TooltipContainerComponent {
|
|
@@ -2332,7 +3017,7 @@ declare class TooltipContainerComponent {
|
|
|
2332
3017
|
isVisible: _angular_core.Signal<boolean>;
|
|
2333
3018
|
tooltipType: _angular_core.Signal<string | null>;
|
|
2334
3019
|
tooltipContent: _angular_core.Signal<string | Record<string, unknown> | undefined>;
|
|
2335
|
-
tooltipPosition: _angular_core.Signal<"
|
|
3020
|
+
tooltipPosition: _angular_core.Signal<"auto" | "top" | "left" | "right" | "bottom">;
|
|
2336
3021
|
targetRect: _angular_core.Signal<DOMRect | null>;
|
|
2337
3022
|
mousePosition: _angular_core.Signal<{
|
|
2338
3023
|
x: number;
|
|
@@ -2356,7 +3041,7 @@ declare class TooltipContainerComponent {
|
|
|
2356
3041
|
shouldCenter: _angular_core.Signal<boolean>;
|
|
2357
3042
|
containerClass: _angular_core.Signal<"" | "-translate-x-1/2">;
|
|
2358
3043
|
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-
|
|
3044
|
+
textClass: _angular_core.Signal<"text-slate-700" | "text-slate-200">;
|
|
2360
3045
|
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
3046
|
transformStyle: _angular_core.Signal<"none" | "translateX(-192px)">;
|
|
2362
3047
|
constructor();
|
|
@@ -2436,6 +3121,8 @@ declare class ViewportAnimationDirective implements OnInit, OnDestroy {
|
|
|
2436
3121
|
once: boolean;
|
|
2437
3122
|
private observer?;
|
|
2438
3123
|
private hasAnimated;
|
|
3124
|
+
private isFirstObservation;
|
|
3125
|
+
private shouldSkipAnimation;
|
|
2439
3126
|
constructor(el: ElementRef, renderer: Renderer2);
|
|
2440
3127
|
ngOnInit(): void;
|
|
2441
3128
|
ngOnDestroy(): void;
|
|
@@ -2455,16 +3142,19 @@ declare class FocusAreaDetailCardComponent {
|
|
|
2455
3142
|
set forceExpanded(value: boolean);
|
|
2456
3143
|
animationIndex: number;
|
|
2457
3144
|
protected IconSourceEnum: typeof IconSourceEnum;
|
|
2458
|
-
|
|
3145
|
+
private _isExpanded;
|
|
3146
|
+
protected isCompetitiveGapExpanded: _angular_core.WritableSignal<boolean>;
|
|
2459
3147
|
private _forceExpanded;
|
|
2460
3148
|
private _hasAnimated;
|
|
2461
3149
|
private modalService;
|
|
2462
3150
|
private profileContextService;
|
|
3151
|
+
private viewModeService;
|
|
3152
|
+
protected isExpanded: _angular_core.Signal<boolean>;
|
|
2463
3153
|
protected isDark: _angular_core.Signal<boolean>;
|
|
2464
3154
|
protected isActuallyExpanded: _angular_core.Signal<boolean>;
|
|
2465
3155
|
protected forceExpandedValue: _angular_core.Signal<boolean>;
|
|
2466
3156
|
protected shouldAnimateExpand: _angular_core.Signal<boolean>;
|
|
2467
|
-
protected iconSize: _angular_core.Signal<"w-
|
|
3157
|
+
protected iconSize: _angular_core.Signal<"w-7 h-7" | "w-6 h-6">;
|
|
2468
3158
|
protected relatedRecommendations: _angular_core.Signal<_jebgem_model.ProfileAnalysisRecommendationInterface[]>;
|
|
2469
3159
|
protected statusLabel: _angular_core.Signal<string>;
|
|
2470
3160
|
protected statusBadgeType: _angular_core.Signal<BadgeType>;
|
|
@@ -2485,8 +3175,11 @@ declare class FocusAreaDetailCardComponent {
|
|
|
2485
3175
|
protected expandButtonClasses: _angular_core.Signal<"text-sm font-medium text-blue-400" | "text-sm font-medium text-blue-600">;
|
|
2486
3176
|
protected chevronClasses: _angular_core.Signal<"text-blue-400" | "text-blue-600">;
|
|
2487
3177
|
protected toggleExpanded(): void;
|
|
2488
|
-
protected
|
|
3178
|
+
protected toggleCompetitiveGap(): void;
|
|
2489
3179
|
onExpandItem(event: CustomEvent): void;
|
|
3180
|
+
protected getCompetitiveGapSectionClasses(): string;
|
|
3181
|
+
protected getToolChipClasses(): string;
|
|
3182
|
+
protected formatFocusAreaStatus(status: string): string;
|
|
2490
3183
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FocusAreaDetailCardComponent, never>;
|
|
2491
3184
|
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
3185
|
}
|
|
@@ -2500,11 +3193,18 @@ interface CompetitorContext {
|
|
|
2500
3193
|
focusAreas?: ProfileItemInterface[];
|
|
2501
3194
|
}
|
|
2502
3195
|
|
|
3196
|
+
interface StrengthOrWeaknessObject {
|
|
3197
|
+
area?: string;
|
|
3198
|
+
assessment?: string;
|
|
3199
|
+
text?: string;
|
|
3200
|
+
}
|
|
3201
|
+
type StrengthOrWeakness = string | StrengthOrWeaknessObject;
|
|
2503
3202
|
declare class CompetitorAnalysisCardComponent {
|
|
2504
3203
|
item?: ProfileItemInterface;
|
|
2505
3204
|
viewMode: ViewModeEnum;
|
|
2506
3205
|
set forceExpanded(value: boolean);
|
|
2507
3206
|
animationIndex: number;
|
|
3207
|
+
inModalContext: boolean;
|
|
2508
3208
|
protected IconSourceEnum: typeof IconSourceEnum;
|
|
2509
3209
|
protected isExpanded: _angular_core.WritableSignal<boolean>;
|
|
2510
3210
|
private _forceExpanded;
|
|
@@ -2512,21 +3212,26 @@ declare class CompetitorAnalysisCardComponent {
|
|
|
2512
3212
|
private modalService;
|
|
2513
3213
|
private profileContextService;
|
|
2514
3214
|
private navigationService;
|
|
3215
|
+
private lookupService;
|
|
3216
|
+
private viewModeService;
|
|
2515
3217
|
protected isDark: _angular_core.Signal<boolean>;
|
|
3218
|
+
protected displayMode: _angular_core.Signal<ViewMode>;
|
|
2516
3219
|
protected isActuallyExpanded: _angular_core.Signal<boolean>;
|
|
2517
|
-
protected
|
|
3220
|
+
protected isExpandedMode: _angular_core.Signal<boolean>;
|
|
2518
3221
|
protected shouldAnimateExpand: _angular_core.Signal<boolean>;
|
|
2519
|
-
protected iconSize: _angular_core.Signal<"w-
|
|
3222
|
+
protected iconSize: _angular_core.Signal<"w-7 h-7" | "w-6 h-6">;
|
|
3223
|
+
protected animationType: _angular_core.Signal<"none" | "slide-up">;
|
|
3224
|
+
constructor();
|
|
2520
3225
|
protected hasCompanyInfo: _angular_core.Signal<boolean>;
|
|
2521
3226
|
protected competitorContext: _angular_core.Signal<CompetitorContext | undefined>;
|
|
2522
3227
|
protected hasAnyContext: _angular_core.Signal<boolean>;
|
|
2523
3228
|
protected threatLevelLabel: _angular_core.Signal<string>;
|
|
2524
3229
|
protected threatLevelBadgeType: _angular_core.Signal<BadgeType>;
|
|
2525
3230
|
protected threatLevelIcon: _angular_core.Signal<IconObjectInterface$1>;
|
|
2526
|
-
protected getStrengthArea(strength:
|
|
2527
|
-
protected getStrengthText(strength:
|
|
2528
|
-
protected getWeaknessArea(weakness:
|
|
2529
|
-
protected getWeaknessText(weakness:
|
|
3231
|
+
protected getStrengthArea(strength: StrengthOrWeakness): string;
|
|
3232
|
+
protected getStrengthText(strength: StrengthOrWeakness): string;
|
|
3233
|
+
protected getWeaknessArea(weakness: StrengthOrWeakness): string;
|
|
3234
|
+
protected getWeaknessText(weakness: StrengthOrWeakness): string;
|
|
2530
3235
|
protected websiteIcon: _angular_core.Signal<IconObjectInterface$1>;
|
|
2531
3236
|
protected strategyIcon: _angular_core.Signal<IconObjectInterface$1>;
|
|
2532
3237
|
protected strengthIcon: _angular_core.Signal<IconObjectInterface$1>;
|
|
@@ -2554,13 +3259,14 @@ declare class CompetitorAnalysisCardComponent {
|
|
|
2554
3259
|
protected navigateToItem(item: ProfileItemInterface): void;
|
|
2555
3260
|
onExpandItem(event: CustomEvent): void;
|
|
2556
3261
|
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>;
|
|
3262
|
+
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
3263
|
}
|
|
2559
3264
|
|
|
2560
3265
|
declare class OpportunityHighlightBannerComponent {
|
|
2561
3266
|
title: string;
|
|
2562
3267
|
message?: string;
|
|
2563
3268
|
isDark: boolean;
|
|
3269
|
+
isExpanded: boolean;
|
|
2564
3270
|
bannerClick: EventEmitter<void>;
|
|
2565
3271
|
protected iconSource: IconSourceEnum;
|
|
2566
3272
|
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">;
|
|
@@ -2568,10 +3274,10 @@ declare class OpportunityHighlightBannerComponent {
|
|
|
2568
3274
|
protected titleClasses: _angular_core.Signal<"text-amber-300" | "text-amber-900">;
|
|
2569
3275
|
protected badgeClasses: _angular_core.Signal<"bg-amber-500/30 text-amber-300" | "bg-amber-200 text-amber-800">;
|
|
2570
3276
|
protected messageClasses: _angular_core.Signal<"text-amber-700" | "text-amber-400/90">;
|
|
2571
|
-
protected chevronClasses: _angular_core.Signal<"text-amber-
|
|
3277
|
+
protected chevronClasses: _angular_core.Signal<"text-amber-400" | "text-amber-600">;
|
|
2572
3278
|
handleClick(event: Event): void;
|
|
2573
3279
|
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>;
|
|
3280
|
+
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
3281
|
}
|
|
2576
3282
|
|
|
2577
3283
|
declare class SkeletonCardBaseComponent {
|
|
@@ -2655,8 +3361,8 @@ declare class SkeletonCompetitorCardComponent {
|
|
|
2655
3361
|
declare const FUNNEL_ANALYSIS: FunnelAnalysisInterface;
|
|
2656
3362
|
|
|
2657
3363
|
declare const BUSINESS_PROFILE: ProfileInterface;
|
|
2658
|
-
|
|
2659
|
-
declare const
|
|
3364
|
+
|
|
3365
|
+
declare const PROFILE_ANALYSIS_SHOP: ProfileAnalysisInterface;
|
|
2660
3366
|
|
|
2661
3367
|
/**
|
|
2662
3368
|
* Shared Theme Color Utilities
|
|
@@ -2784,6 +3490,6 @@ declare function getCategoryColor(category: string): CategoryColorPalette;
|
|
|
2784
3490
|
*/
|
|
2785
3491
|
declare function getCategoryBadgeClasses(category: string, isDark: boolean): string;
|
|
2786
3492
|
|
|
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 };
|
|
3493
|
+
export { AreaChartComponent, BUSINESS_PROFILE, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfidenceLevelCardComponent, CrossDashboardRelationshipsService, FUNNEL_ANALYSIS, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FunnelOrderService, GradeBadgeComponent, HeaderScrollService, HierarchyDisplayComponent, HorizontalBarComponent, IconService, InsightCardComponent, LineChartComponent, MetricCardComponent, MetricFormatterService, MetricListItemComponent, MobileBottomNavComponent, MobileFABComponent, ModalComponent, ModalService, NapkinVisualPlaceholderComponent, NavigationStateService, OpportunityHighlightBannerComponent, OverallAssessmentComponent, 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 };
|
|
3494
|
+
export type { AnimationType, BusinessInsightDetailModalData, BusinessSearchResult, CategoryColorPalette, CategoryDetailModalData, ChartThemeColors, CriticalGapDetailModalData, CriticalGapsListModalData, CrossDashboardRelationships, FunnelMetricOrder, FunnelStrengthDetailModalData, FunnelStrengthInterface, FunnelStrengthsListModalData, FunnelWeaknessDetailModalData, FunnelWeaknessInterface, FunnelWeaknessesListModalData, GapDetailModalData, GoalBusinessInsightsListModalData, GoalDetailModalData, GoalInsightsListModalData, GoalObjectivesModalData, HeaderScrollConfig, ItemDetailModalData, KeyStrengthDetailModalData, KeyStrengthsListModalData, LayoutMode, Metric, MetricsListModalData, ModalState, NavSection, NavigationState, ObjectiveStrategiesModalData, OpportunityDetailModalData, RelatedBusinessContent, RelatedFunnelContent, ScrollBaseCustomEvent, ScrollBaseDetail, ScrollCustomEvent, ScrollDepthInfo, ScrollDetail, SemanticColors, ShadowLevel, StrategyRecommendationsModalData, StrengthDetailModalData, ThemeColorContext, ThemeMode, TooltipPosition, TooltipState, TooltipType, ViewMode, ViewportBounds, VisualizationData, VisualizationType };
|
|
2789
3495
|
//# sourceMappingURL=index.d.ts.map
|