@eric-emg/symphiq-components 1.2.176 → 1.2.178
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 +781 -643
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +23 -17
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/styles.css +3 -0
|
@@ -14,6 +14,7 @@ import * as i2$1 from '@angular/forms';
|
|
|
14
14
|
import { FormsModule, FormBuilder, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
15
15
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
16
16
|
import { toObservable, toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
17
|
+
import { MarkdownComponent } from 'ngx-markdown';
|
|
17
18
|
import { Root, color, Tooltip, Bullet, Circle, Legend, percent, p100, p50 } from '@amcharts/amcharts5';
|
|
18
19
|
import { XYChart, CategoryAxis, AxisRendererX, ValueAxis, AxisRendererY, XYCursor, LineSeries, DateAxis, ColumnSeries } from '@amcharts/amcharts5/xy';
|
|
19
20
|
import am5themes_Animated from '@amcharts/amcharts5/themes/Animated';
|
|
@@ -2534,7 +2535,7 @@ class ConfettiService {
|
|
|
2534
2535
|
}]
|
|
2535
2536
|
}], null, null); })();
|
|
2536
2537
|
|
|
2537
|
-
const _c0$
|
|
2538
|
+
const _c0$16 = a0 => ["skeleton-loader", "rounded-lg", "relative", "overflow-hidden", a0];
|
|
2538
2539
|
const _c1$C = a0 => ["skeleton-shimmer-overlay", "absolute", "inset-0", "bg-gradient-to-r", a0];
|
|
2539
2540
|
class SkeletonLoaderComponent {
|
|
2540
2541
|
constructor() {
|
|
@@ -2551,7 +2552,7 @@ class SkeletonLoaderComponent {
|
|
|
2551
2552
|
} if (rf & 2) {
|
|
2552
2553
|
i0.ɵɵstyleProp("width", ctx.width())("height", ctx.height());
|
|
2553
2554
|
i0.ɵɵclassProp("skeleton-shimmer", true)("skeleton-pulse", ctx.pulse());
|
|
2554
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$
|
|
2555
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c0$16, ctx.isLightMode() ? "bg-slate-200/80" : "bg-slate-700/80"));
|
|
2555
2556
|
i0.ɵɵadvance();
|
|
2556
2557
|
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(12, _c1$C, ctx.isLightMode() ? "from-transparent via-white/60 to-transparent" : "from-transparent via-slate-500/40 to-transparent"));
|
|
2557
2558
|
} }, dependencies: [NgClass], styles: [".skeleton-loader[_ngcontent-%COMP%]{position:relative;overflow:hidden}.skeleton-shimmer-overlay[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_shimmer 2s infinite cubic-bezier(.4,0,.6,1);transform:translate(-100%)}@keyframes _ngcontent-%COMP%_shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-pulse[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes _ngcontent-%COMP%_pulse{0%,to{opacity:1}50%{opacity:.6}}"], changeDetection: 0 }); }
|
|
@@ -2591,7 +2592,7 @@ const ChartContainerComponent_Conditional_1_Conditional_13_Defer_2_DepsFn = () =
|
|
|
2591
2592
|
const ChartContainerComponent_Conditional_1_Conditional_14_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return barChart_component; }).then(m => m.BarChartComponent)];
|
|
2592
2593
|
const ChartContainerComponent_Conditional_1_Conditional_15_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent)];
|
|
2593
2594
|
const ChartContainerComponent_Conditional_1_Conditional_16_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
|
|
2594
|
-
const _c0$
|
|
2595
|
+
const _c0$15 = (a0, a1) => [a0, a1];
|
|
2595
2596
|
function ChartContainerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
2596
2597
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 2);
|
|
2597
2598
|
i0.ɵɵelement(2, "symphiq-skeleton-loader", 3)(3, "symphiq-skeleton-loader", 3);
|
|
@@ -2643,7 +2644,7 @@ function ChartContainerComponent_Conditional_1_Conditional_11_Template(rf, ctx)
|
|
|
2643
2644
|
i0.ɵɵelementEnd()();
|
|
2644
2645
|
} if (rf & 2) {
|
|
2645
2646
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
2646
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(1, _c0$
|
|
2647
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(1, _c0$15, ctx_r0.iconClass(), ctx_r0.isLightMode() ? "bg-white/90 hover:bg-white" : "bg-slate-800/90 hover:bg-slate-800"));
|
|
2647
2648
|
} }
|
|
2648
2649
|
function ChartContainerComponent_Conditional_1_Conditional_13_Defer_0_Template(rf, ctx) { if (rf & 1) {
|
|
2649
2650
|
i0.ɵɵelement(0, "symphiq-line-chart", 23);
|
|
@@ -4245,7 +4246,7 @@ class CompetitivePositioningSummaryComponent {
|
|
|
4245
4246
|
}], null, { metrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "metrics", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], overallDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "overallDescription", required: false }] }], competitiveBenchmark: [{ type: i0.Input, args: [{ isSignal: true, alias: "competitiveBenchmark", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }], scrollToCompetitive: [{ type: i0.Output, args: ["scrollToCompetitive"] }] }); })();
|
|
4246
4247
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitivePositioningSummaryComponent, { className: "CompetitivePositioningSummaryComponent", filePath: "lib/components/funnel-analysis-dashboard/competitive-positioning-summary.component.ts", lineNumber: 298 }); })();
|
|
4247
4248
|
|
|
4248
|
-
const _c0$
|
|
4249
|
+
const _c0$14 = () => [1, 2, 3, 4];
|
|
4249
4250
|
function OverallAssessmentComponent_Conditional_0_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
4250
4251
|
i0.ɵɵelementStart(0, "div", 9);
|
|
4251
4252
|
i0.ɵɵelement(1, "symphiq-skeleton-loader", 6)(2, "symphiq-skeleton-loader", 6);
|
|
@@ -4279,7 +4280,7 @@ function OverallAssessmentComponent_Conditional_0_Template(rf, ctx) { if (rf & 1
|
|
|
4279
4280
|
i0.ɵɵadvance(2);
|
|
4280
4281
|
i0.ɵɵproperty("width", "100px")("height", "70px")("isLightMode", ctx_r0.isLightMode());
|
|
4281
4282
|
i0.ɵɵadvance(2);
|
|
4282
|
-
i0.ɵɵrepeater(i0.ɵɵpureFunction0(14, _c0$
|
|
4283
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(14, _c0$14));
|
|
4283
4284
|
i0.ɵɵadvance(2);
|
|
4284
4285
|
i0.ɵɵproperty("width", "100%")("height", "200px")("isLightMode", ctx_r0.isLightMode());
|
|
4285
4286
|
} }
|
|
@@ -5494,7 +5495,7 @@ class OverallAssessmentComponent {
|
|
|
5494
5495
|
}], null, { assessment: [{ type: i0.Input, args: [{ isSignal: true, alias: "assessment", required: false }] }], revenueMetric: [{ type: i0.Input, args: [{ isSignal: true, alias: "revenueMetric", required: false }] }], charts: [{ type: i0.Input, args: [{ isSignal: true, alias: "charts", required: false }] }], metrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "metrics", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], isChartsLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isChartsLoading", required: false }] }], strengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "strengths", required: false }] }], weaknesses: [{ type: i0.Input, args: [{ isSignal: true, alias: "weaknesses", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }], scrollToSection: [{ type: i0.Output, args: ["scrollToSection"] }] }); })();
|
|
5495
5496
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OverallAssessmentComponent, { className: "OverallAssessmentComponent", filePath: "lib/components/funnel-analysis-dashboard/overall-assessment.component.ts", lineNumber: 303 }); })();
|
|
5496
5497
|
|
|
5497
|
-
const _c0$
|
|
5498
|
+
const _c0$13 = () => [1, 2, 3];
|
|
5498
5499
|
const _c1$B = () => [1, 2, 3, 4];
|
|
5499
5500
|
const _c2$q = () => [];
|
|
5500
5501
|
function InsightCardComponent_Conditional_0_Conditional_0_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -5532,7 +5533,7 @@ function InsightCardComponent_Conditional_0_Conditional_0_Template(rf, ctx) { if
|
|
|
5532
5533
|
i0.ɵɵadvance();
|
|
5533
5534
|
i0.ɵɵproperty("width", "60%")("height", "20px")("isLightMode", ctx_r0.isLightMode());
|
|
5534
5535
|
i0.ɵɵadvance();
|
|
5535
|
-
i0.ɵɵrepeater(i0.ɵɵpureFunction0(8, _c0$
|
|
5536
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(8, _c0$13));
|
|
5536
5537
|
i0.ɵɵadvance(3);
|
|
5537
5538
|
i0.ɵɵrepeater(i0.ɵɵpureFunction0(9, _c1$B));
|
|
5538
5539
|
} }
|
|
@@ -8232,7 +8233,7 @@ class MetricCardComponent {
|
|
|
8232
8233
|
}], () => [], { metric: [{ type: i0.Input, args: [{ isSignal: true, alias: "metric", required: false }] }], insights: [{ type: i0.Input, args: [{ isSignal: true, alias: "insights", required: false }] }], charts: [{ type: i0.Input, args: [{ isSignal: true, alias: "charts", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], analysis: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysis", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], isInModal: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInModal", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], initialExpandedSection: [{ type: i0.Input, args: [{ isSignal: true, alias: "initialExpandedSection", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }] }); })();
|
|
8233
8234
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricCardComponent, { className: "MetricCardComponent", filePath: "lib/components/funnel-analysis-dashboard/metric-card.component.ts", lineNumber: 537 }); })();
|
|
8234
8235
|
|
|
8235
|
-
const _c0$
|
|
8236
|
+
const _c0$12 = () => [1, 2, 3];
|
|
8236
8237
|
const _c1$A = (a0, a1, a2) => [a0, a1, a2];
|
|
8237
8238
|
const _c2$p = (a0, a1) => [a0, a1];
|
|
8238
8239
|
const _forTrack0$O = ($index, $item) => $item.metric;
|
|
@@ -8262,7 +8263,7 @@ function BreakdownSectionComponent_Conditional_0_For_7_Template(rf, ctx) { if (r
|
|
|
8262
8263
|
i0.ɵɵadvance();
|
|
8263
8264
|
i0.ɵɵproperty("width", "30%")("height", "18px")("isLightMode", ctx_r0.isLightMode());
|
|
8264
8265
|
i0.ɵɵadvance(2);
|
|
8265
|
-
i0.ɵɵrepeater(i0.ɵɵpureFunction0(3, _c0$
|
|
8266
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(3, _c0$12));
|
|
8266
8267
|
} }
|
|
8267
8268
|
function BreakdownSectionComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
8268
8269
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 2);
|
|
@@ -8281,7 +8282,7 @@ function BreakdownSectionComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
|
|
|
8281
8282
|
i0.ɵɵadvance();
|
|
8282
8283
|
i0.ɵɵproperty("width", "85%")("height", "14px")("isLightMode", ctx_r0.isLightMode());
|
|
8283
8284
|
i0.ɵɵadvance(2);
|
|
8284
|
-
i0.ɵɵrepeater(i0.ɵɵpureFunction0(10, _c0$
|
|
8285
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(10, _c0$12));
|
|
8285
8286
|
} }
|
|
8286
8287
|
function BreakdownSectionComponent_Conditional_1_Conditional_6_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
8287
8288
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
@@ -12450,7 +12451,7 @@ class FunnelWeaknessesListModalContentComponent {
|
|
|
12450
12451
|
}], null, { weaknesses: [{ type: i0.Input, args: [{ isSignal: true, alias: "weaknesses", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: true }] }] }); })();
|
|
12451
12452
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelWeaknessesListModalContentComponent, { className: "FunnelWeaknessesListModalContentComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-weaknesses-list-modal-content.component.ts", lineNumber: 132 }); })();
|
|
12452
12453
|
|
|
12453
|
-
const _c0$
|
|
12454
|
+
const _c0$11 = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
12454
12455
|
function FunnelStrengthDetailModalContentComponent_For_18_Template(rf, ctx) { if (rf & 1) {
|
|
12455
12456
|
i0.ɵɵelement(0, "div", 12);
|
|
12456
12457
|
} if (rf & 2) {
|
|
@@ -12726,7 +12727,7 @@ class FunnelStrengthDetailModalContentComponent {
|
|
|
12726
12727
|
i0.ɵɵadvance();
|
|
12727
12728
|
i0.ɵɵproperty("ngClass", ctx.impactScoreLabelClasses());
|
|
12728
12729
|
i0.ɵɵadvance(3);
|
|
12729
|
-
i0.ɵɵrepeater(i0.ɵɵpureFunction0(35, _c0$
|
|
12730
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(35, _c0$11));
|
|
12730
12731
|
i0.ɵɵadvance(2);
|
|
12731
12732
|
i0.ɵɵproperty("ngClass", ctx.titleClasses());
|
|
12732
12733
|
i0.ɵɵadvance();
|
|
@@ -12902,7 +12903,7 @@ class FunnelStrengthDetailModalContentComponent {
|
|
|
12902
12903
|
}], null, { strength: [{ type: i0.Input, args: [{ isSignal: true, alias: "strength", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: true }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }] }); })();
|
|
12903
12904
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelStrengthDetailModalContentComponent, { className: "FunnelStrengthDetailModalContentComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-strength-detail-modal-content.component.ts", lineNumber: 128 }); })();
|
|
12904
12905
|
|
|
12905
|
-
const _c0
|
|
12906
|
+
const _c0$10 = () => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
12906
12907
|
function FunnelWeaknessDetailModalContentComponent_For_27_Template(rf, ctx) { if (rf & 1) {
|
|
12907
12908
|
i0.ɵɵelement(0, "div", 17);
|
|
12908
12909
|
} if (rf & 2) {
|
|
@@ -13413,7 +13414,7 @@ class FunnelWeaknessDetailModalContentComponent {
|
|
|
13413
13414
|
i0.ɵɵadvance();
|
|
13414
13415
|
i0.ɵɵproperty("ngClass", ctx.impactScoreLabelClasses());
|
|
13415
13416
|
i0.ɵɵadvance(3);
|
|
13416
|
-
i0.ɵɵrepeater(i0.ɵɵpureFunction0(49, _c0
|
|
13417
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(49, _c0$10));
|
|
13417
13418
|
i0.ɵɵadvance(2);
|
|
13418
13419
|
i0.ɵɵproperty("ngClass", ctx.titleClasses());
|
|
13419
13420
|
i0.ɵɵadvance();
|
|
@@ -13882,7 +13883,7 @@ class ProfileItemLookupService {
|
|
|
13882
13883
|
}]
|
|
13883
13884
|
}], null, null); })();
|
|
13884
13885
|
|
|
13885
|
-
const _c0
|
|
13886
|
+
const _c0$$ = a0 => ({ name: "chevron-right", source: a0 });
|
|
13886
13887
|
const _forTrack0$L = ($index, $item) => $item.id;
|
|
13887
13888
|
function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
13888
13889
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -13900,7 +13901,7 @@ function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (r
|
|
|
13900
13901
|
i0.ɵɵadvance(2);
|
|
13901
13902
|
i0.ɵɵtextInterpolate(item_r2.label);
|
|
13902
13903
|
i0.ɵɵadvance();
|
|
13903
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0
|
|
13904
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$$, ctx_r2.IconSourceEnum.HEROICONS));
|
|
13904
13905
|
} }
|
|
13905
13906
|
function RelatedAreaChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
13906
13907
|
i0.ɵɵelementStart(0, "div", 0);
|
|
@@ -13989,7 +13990,7 @@ class RelatedAreaChipsComponent {
|
|
|
13989
13990
|
}], null, { relatedAreaIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "relatedAreaIds", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], inModalContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "inModalContext", required: false }] }] }); })();
|
|
13990
13991
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedAreaChipsComponent, { className: "RelatedAreaChipsComponent", filePath: "lib/components/business-analysis-dashboard/shared/related-area-chips.component.ts", lineNumber: 31 }); })();
|
|
13991
13992
|
|
|
13992
|
-
const _c0$
|
|
13993
|
+
const _c0$_ = a0 => ({ name: "chevron-right", source: a0 });
|
|
13993
13994
|
function CompetitorChipListComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
13994
13995
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
13995
13996
|
i0.ɵɵelementStart(0, "button", 2);
|
|
@@ -14006,7 +14007,7 @@ function CompetitorChipListComponent_Conditional_0_For_2_Template(rf, ctx) { if
|
|
|
14006
14007
|
i0.ɵɵadvance(2);
|
|
14007
14008
|
i0.ɵɵtextInterpolate(ctx_r2.getItemLabel(item_r2));
|
|
14008
14009
|
i0.ɵɵadvance();
|
|
14009
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$
|
|
14010
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$_, ctx_r2.IconSourceEnum.HEROICONS));
|
|
14010
14011
|
} }
|
|
14011
14012
|
function CompetitorChipListComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
14012
14013
|
i0.ɵɵelementStart(0, "div", 0);
|
|
@@ -14417,7 +14418,7 @@ class CompetitorContextSectionComponent {
|
|
|
14417
14418
|
}], null, { contextType: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextType", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isCollapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCollapsible", required: false }] }], itemClicked: [{ type: i0.Output, args: ["itemClicked"] }] }); })();
|
|
14418
14419
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorContextSectionComponent, { className: "CompetitorContextSectionComponent", filePath: "lib/components/business-analysis-dashboard/cards/competitor-context-section.component.ts", lineNumber: 86 }); })();
|
|
14419
14420
|
|
|
14420
|
-
const _c0$
|
|
14421
|
+
const _c0$Z = a0 => ({ name: "chevron-right", source: a0 });
|
|
14421
14422
|
const _forTrack0$J = ($index, $item) => $item.id;
|
|
14422
14423
|
function RelatedRecommendationChipsComponent_Conditional_0_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
14423
14424
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -14438,7 +14439,7 @@ function RelatedRecommendationChipsComponent_Conditional_0_For_3_Template(rf, ct
|
|
|
14438
14439
|
i0.ɵɵadvance(2);
|
|
14439
14440
|
i0.ɵɵtextInterpolate(rec_r2.title);
|
|
14440
14441
|
i0.ɵɵadvance();
|
|
14441
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$
|
|
14442
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c0$Z, ctx_r2.IconSourceEnum.HEROICONS));
|
|
14442
14443
|
} }
|
|
14443
14444
|
function RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
14444
14445
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
@@ -21402,7 +21403,57 @@ class FunnelStageCompetitiveTooltipComponent {
|
|
|
21402
21403
|
}], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }] }); })();
|
|
21403
21404
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelStageCompetitiveTooltipComponent, { className: "FunnelStageCompetitiveTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/funnel-stage-competitive-tooltip.component.ts", lineNumber: 120 }); })();
|
|
21404
21405
|
|
|
21405
|
-
|
|
21406
|
+
function MarkdownTooltipComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
21407
|
+
i0.ɵɵelementStart(0, "div", 1);
|
|
21408
|
+
i0.ɵɵtext(1);
|
|
21409
|
+
i0.ɵɵelementEnd();
|
|
21410
|
+
} if (rf & 2) {
|
|
21411
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
21412
|
+
i0.ɵɵproperty("ngClass", ctx_r0.isLightMode() ? "text-slate-900" : "text-white")("ngClass", ctx_r0.borderClass());
|
|
21413
|
+
i0.ɵɵadvance();
|
|
21414
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.content().title, " ");
|
|
21415
|
+
} }
|
|
21416
|
+
class MarkdownTooltipComponent {
|
|
21417
|
+
constructor() {
|
|
21418
|
+
this.content = input.required(...(ngDevMode ? [{ debugName: "content" }] : []));
|
|
21419
|
+
this.isLightMode = input(false, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
|
|
21420
|
+
this.markdownClass = computed(() => this.isLightMode() ? 'text-slate-700 prose-slate' : 'text-slate-300 prose-invert', ...(ngDevMode ? [{ debugName: "markdownClass" }] : []));
|
|
21421
|
+
this.borderClass = computed(() => this.isLightMode() ? 'border-slate-200' : 'border-slate-600', ...(ngDevMode ? [{ debugName: "borderClass" }] : []));
|
|
21422
|
+
}
|
|
21423
|
+
static { this.ɵfac = function MarkdownTooltipComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MarkdownTooltipComponent)(); }; }
|
|
21424
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MarkdownTooltipComponent, selectors: [["symphiq-markdown-tooltip"]], inputs: { content: [1, "content"], isLightMode: [1, "isLightMode"] }, decls: 4, vars: 3, consts: [[1, "space-y-2", "max-h-80", "overflow-y-auto", "-mx-2", "px-2"], [1, "font-bold", "text-sm", "border-b", "pb-2", "mb-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "prose-sm", 3, "ngClass"], [3, "data"]], template: function MarkdownTooltipComponent_Template(rf, ctx) { if (rf & 1) {
|
|
21425
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
21426
|
+
i0.ɵɵconditionalCreate(1, MarkdownTooltipComponent_Conditional_1_Template, 2, 3, "div", 1);
|
|
21427
|
+
i0.ɵɵelementStart(2, "div", 2);
|
|
21428
|
+
i0.ɵɵelement(3, "markdown", 3);
|
|
21429
|
+
i0.ɵɵelementEnd()();
|
|
21430
|
+
} if (rf & 2) {
|
|
21431
|
+
i0.ɵɵadvance();
|
|
21432
|
+
i0.ɵɵconditional(ctx.content().title ? 1 : -1);
|
|
21433
|
+
i0.ɵɵadvance();
|
|
21434
|
+
i0.ɵɵproperty("ngClass", ctx.markdownClass());
|
|
21435
|
+
i0.ɵɵadvance();
|
|
21436
|
+
i0.ɵɵproperty("data", ctx.content().markdown);
|
|
21437
|
+
} }, dependencies: [CommonModule, i1$1.NgClass, MarkdownComponent], styles: ["[_nghost-%COMP%] markdown{display:block}[_nghost-%COMP%] markdown h1, [_nghost-%COMP%] markdown h2, [_nghost-%COMP%] markdown h3, [_nghost-%COMP%] markdown h4, [_nghost-%COMP%] markdown h5, [_nghost-%COMP%] markdown h6{font-weight:600;margin-top:.75rem;margin-bottom:.5rem}[_nghost-%COMP%] markdown h1{font-size:1.125rem}[_nghost-%COMP%] markdown h2{font-size:1rem}[_nghost-%COMP%] markdown h3{font-size:.875rem}[_nghost-%COMP%] markdown p{margin-bottom:.5rem}[_nghost-%COMP%] markdown ul, [_nghost-%COMP%] markdown ol{margin-left:1rem;margin-bottom:.5rem;padding-left:.5rem}[_nghost-%COMP%] markdown li{margin-bottom:.25rem}[_nghost-%COMP%] markdown ul li{list-style-type:disc}[_nghost-%COMP%] markdown ol li{list-style-type:decimal}[_nghost-%COMP%] markdown strong{font-weight:600}[_nghost-%COMP%] markdown code{font-family:monospace;font-size:.75rem;padding:.125rem .25rem;border-radius:.25rem}"], changeDetection: 0 }); }
|
|
21438
|
+
}
|
|
21439
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MarkdownTooltipComponent, [{
|
|
21440
|
+
type: Component,
|
|
21441
|
+
args: [{ selector: 'symphiq-markdown-tooltip', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, MarkdownComponent], template: `
|
|
21442
|
+
<div class="space-y-2 max-h-80 overflow-y-auto -mx-2 px-2">
|
|
21443
|
+
@if (content().title) {
|
|
21444
|
+
<div [ngClass]="isLightMode() ? 'text-slate-900' : 'text-white'" class="font-bold text-sm border-b pb-2 mb-2" [ngClass]="borderClass()">
|
|
21445
|
+
{{ content().title }}
|
|
21446
|
+
</div>
|
|
21447
|
+
}
|
|
21448
|
+
<div [ngClass]="markdownClass()" class="text-sm leading-relaxed prose-sm">
|
|
21449
|
+
<markdown [data]="content().markdown"></markdown>
|
|
21450
|
+
</div>
|
|
21451
|
+
</div>
|
|
21452
|
+
`, styles: [":host ::ng-deep markdown{display:block}:host ::ng-deep markdown h1,:host ::ng-deep markdown h2,:host ::ng-deep markdown h3,:host ::ng-deep markdown h4,:host ::ng-deep markdown h5,:host ::ng-deep markdown h6{font-weight:600;margin-top:.75rem;margin-bottom:.5rem}:host ::ng-deep markdown h1{font-size:1.125rem}:host ::ng-deep markdown h2{font-size:1rem}:host ::ng-deep markdown h3{font-size:.875rem}:host ::ng-deep markdown p{margin-bottom:.5rem}:host ::ng-deep markdown ul,:host ::ng-deep markdown ol{margin-left:1rem;margin-bottom:.5rem;padding-left:.5rem}:host ::ng-deep markdown li{margin-bottom:.25rem}:host ::ng-deep markdown ul li{list-style-type:disc}:host ::ng-deep markdown ol li{list-style-type:decimal}:host ::ng-deep markdown strong{font-weight:600}:host ::ng-deep markdown code{font-family:monospace;font-size:.75rem;padding:.125rem .25rem;border-radius:.25rem}\n"] }]
|
|
21453
|
+
}], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }] }); })();
|
|
21454
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MarkdownTooltipComponent, { className: "MarkdownTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/markdown-tooltip.component.ts", lineNumber: 69 }); })();
|
|
21455
|
+
|
|
21456
|
+
const _c0$Y = () => [];
|
|
21406
21457
|
function TooltipContainerComponent_Conditional_0_Case_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
21407
21458
|
i0.ɵɵelement(0, "symphiq-metric-value-tooltip", 6);
|
|
21408
21459
|
} if (rf & 2) {
|
|
@@ -21566,7 +21617,7 @@ function TooltipContainerComponent_Conditional_0_Case_15_Conditional_1_Template(
|
|
|
21566
21617
|
} if (rf & 2) {
|
|
21567
21618
|
i0.ɵɵnextContext(2);
|
|
21568
21619
|
const content_r4 = i0.ɵɵreadContextLet(2);
|
|
21569
|
-
i0.ɵɵrepeater(content_r4["sections"] || i0.ɵɵpureFunction0(0, _c0$
|
|
21620
|
+
i0.ɵɵrepeater(content_r4["sections"] || i0.ɵɵpureFunction0(0, _c0$Y));
|
|
21570
21621
|
} }
|
|
21571
21622
|
function TooltipContainerComponent_Conditional_0_Case_15_Template(rf, ctx) { if (rf & 1) {
|
|
21572
21623
|
i0.ɵɵelementStart(0, "div", 3);
|
|
@@ -21580,10 +21631,22 @@ function TooltipContainerComponent_Conditional_0_Case_15_Template(rf, ctx) { if
|
|
|
21580
21631
|
i0.ɵɵadvance();
|
|
21581
21632
|
i0.ɵɵconditional(content_r4 && typeof content_r4 === "object" && "sections" in content_r4 ? 1 : -1);
|
|
21582
21633
|
} }
|
|
21583
|
-
function
|
|
21634
|
+
function TooltipContainerComponent_Conditional_0_Case_16_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
21635
|
+
i0.ɵɵelement(0, "symphiq-markdown-tooltip", 6);
|
|
21636
|
+
} if (rf & 2) {
|
|
21637
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
21638
|
+
i0.ɵɵproperty("content", ctx_r1.markdownContent())("isLightMode", ctx_r1.isLightMode());
|
|
21639
|
+
} }
|
|
21640
|
+
function TooltipContainerComponent_Conditional_0_Case_16_Template(rf, ctx) { if (rf & 1) {
|
|
21641
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_16_Conditional_0_Template, 1, 2, "symphiq-markdown-tooltip", 6);
|
|
21642
|
+
} if (rf & 2) {
|
|
21643
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
21644
|
+
i0.ɵɵconditional(ctx_r1.markdownContent() ? 0 : -1);
|
|
21645
|
+
} }
|
|
21646
|
+
function TooltipContainerComponent_Conditional_0_Case_17_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
21584
21647
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
21585
21648
|
i0.ɵɵelementStart(0, "div", 12)(1, "button", 13);
|
|
21586
|
-
i0.ɵɵlistener("click", function
|
|
21649
|
+
i0.ɵɵlistener("click", function TooltipContainerComponent_Conditional_0_Case_17_Conditional_1_Conditional_1_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r5); i0.ɵɵnextContext(3); const content_r4 = i0.ɵɵreadContextLet(2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.scrollToTarget(content_r4["targetId"])); });
|
|
21587
21650
|
i0.ɵɵtext(2, " View more ");
|
|
21588
21651
|
i0.ɵɵelementEnd()();
|
|
21589
21652
|
} if (rf & 2) {
|
|
@@ -21591,9 +21654,9 @@ function TooltipContainerComponent_Conditional_0_Case_16_Conditional_1_Condition
|
|
|
21591
21654
|
i0.ɵɵadvance();
|
|
21592
21655
|
i0.ɵɵproperty("ngClass", ctx_r1.viewMoreButtonClass());
|
|
21593
21656
|
} }
|
|
21594
|
-
function
|
|
21657
|
+
function TooltipContainerComponent_Conditional_0_Case_17_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
21595
21658
|
i0.ɵɵelement(0, "div", 11);
|
|
21596
|
-
i0.ɵɵconditionalCreate(1,
|
|
21659
|
+
i0.ɵɵconditionalCreate(1, TooltipContainerComponent_Conditional_0_Case_17_Conditional_1_Conditional_1_Template, 3, 1, "div", 12);
|
|
21597
21660
|
} if (rf & 2) {
|
|
21598
21661
|
i0.ɵɵnextContext(2);
|
|
21599
21662
|
const content_r4 = i0.ɵɵreadContextLet(2);
|
|
@@ -21601,23 +21664,23 @@ function TooltipContainerComponent_Conditional_0_Case_16_Conditional_1_Template(
|
|
|
21601
21664
|
i0.ɵɵadvance();
|
|
21602
21665
|
i0.ɵɵconditional(content_r4["targetId"] ? 1 : -1);
|
|
21603
21666
|
} }
|
|
21604
|
-
function
|
|
21667
|
+
function TooltipContainerComponent_Conditional_0_Case_17_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
21605
21668
|
i0.ɵɵelement(0, "div", 11);
|
|
21606
21669
|
} if (rf & 2) {
|
|
21607
21670
|
i0.ɵɵnextContext(2);
|
|
21608
21671
|
const content_r4 = i0.ɵɵreadContextLet(2);
|
|
21609
21672
|
i0.ɵɵproperty("innerHTML", content_r4, i0.ɵɵsanitizeHtml);
|
|
21610
21673
|
} }
|
|
21611
|
-
function
|
|
21674
|
+
function TooltipContainerComponent_Conditional_0_Case_17_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
21612
21675
|
i0.ɵɵtext(0);
|
|
21613
21676
|
} if (rf & 2) {
|
|
21614
21677
|
i0.ɵɵnextContext(2);
|
|
21615
21678
|
const content_r4 = i0.ɵɵreadContextLet(2);
|
|
21616
21679
|
i0.ɵɵtextInterpolate1(" ", content_r4, " ");
|
|
21617
21680
|
} }
|
|
21618
|
-
function
|
|
21681
|
+
function TooltipContainerComponent_Conditional_0_Case_17_Template(rf, ctx) { if (rf & 1) {
|
|
21619
21682
|
i0.ɵɵelementStart(0, "div", 4);
|
|
21620
|
-
i0.ɵɵconditionalCreate(1,
|
|
21683
|
+
i0.ɵɵconditionalCreate(1, TooltipContainerComponent_Conditional_0_Case_17_Conditional_1_Template, 2, 2)(2, TooltipContainerComponent_Conditional_0_Case_17_Conditional_2_Template, 1, 1, "div", 11)(3, TooltipContainerComponent_Conditional_0_Case_17_Conditional_3_Template, 1, 1);
|
|
21621
21684
|
i0.ɵɵelementEnd();
|
|
21622
21685
|
} if (rf & 2) {
|
|
21623
21686
|
i0.ɵɵnextContext();
|
|
@@ -21627,7 +21690,7 @@ function TooltipContainerComponent_Conditional_0_Case_16_Template(rf, ctx) { if
|
|
|
21627
21690
|
i0.ɵɵadvance();
|
|
21628
21691
|
i0.ɵɵconditional(content_r4 && typeof content_r4 === "object" && "text" in content_r4 ? 1 : typeof content_r4 === "string" ? 2 : 3);
|
|
21629
21692
|
} }
|
|
21630
|
-
function
|
|
21693
|
+
function TooltipContainerComponent_Conditional_0_Case_18_Template(rf, ctx) { if (rf & 1) {
|
|
21631
21694
|
i0.ɵɵelementStart(0, "div", 5);
|
|
21632
21695
|
i0.ɵɵtext(1);
|
|
21633
21696
|
i0.ɵɵelementEnd();
|
|
@@ -21644,7 +21707,7 @@ function TooltipContainerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
|
|
|
21644
21707
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2);
|
|
21645
21708
|
i0.ɵɵlistener("mouseenter", function TooltipContainerComponent_Conditional_0_Template_div_mouseenter_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onTooltipMouseEnter()); })("mouseleave", function TooltipContainerComponent_Conditional_0_Template_div_mouseleave_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onTooltipMouseLeave()); });
|
|
21646
21709
|
i0.ɵɵdeclareLet(2);
|
|
21647
|
-
i0.ɵɵconditionalCreate(3, TooltipContainerComponent_Conditional_0_Case_3_Template, 1, 1)(4, TooltipContainerComponent_Conditional_0_Case_4_Template, 1, 1)(5, TooltipContainerComponent_Conditional_0_Case_5_Template, 1, 1)(6, TooltipContainerComponent_Conditional_0_Case_6_Template, 1, 1)(7, TooltipContainerComponent_Conditional_0_Case_7_Template, 1, 1)(8, TooltipContainerComponent_Conditional_0_Case_8_Template, 1, 1)(9, TooltipContainerComponent_Conditional_0_Case_9_Template, 1, 1)(10, TooltipContainerComponent_Conditional_0_Case_10_Template, 1, 1)(11, TooltipContainerComponent_Conditional_0_Case_11_Template, 1, 1)(12, TooltipContainerComponent_Conditional_0_Case_12_Template, 1, 1)(13, TooltipContainerComponent_Conditional_0_Case_13_Template, 1, 1)(14, TooltipContainerComponent_Conditional_0_Case_14_Template, 1, 1)(15, TooltipContainerComponent_Conditional_0_Case_15_Template, 2, 2, "div", 3)(16, TooltipContainerComponent_Conditional_0_Case_16_Template, 4, 2, "div", 4)(
|
|
21710
|
+
i0.ɵɵconditionalCreate(3, TooltipContainerComponent_Conditional_0_Case_3_Template, 1, 1)(4, TooltipContainerComponent_Conditional_0_Case_4_Template, 1, 1)(5, TooltipContainerComponent_Conditional_0_Case_5_Template, 1, 1)(6, TooltipContainerComponent_Conditional_0_Case_6_Template, 1, 1)(7, TooltipContainerComponent_Conditional_0_Case_7_Template, 1, 1)(8, TooltipContainerComponent_Conditional_0_Case_8_Template, 1, 1)(9, TooltipContainerComponent_Conditional_0_Case_9_Template, 1, 1)(10, TooltipContainerComponent_Conditional_0_Case_10_Template, 1, 1)(11, TooltipContainerComponent_Conditional_0_Case_11_Template, 1, 1)(12, TooltipContainerComponent_Conditional_0_Case_12_Template, 1, 1)(13, TooltipContainerComponent_Conditional_0_Case_13_Template, 1, 1)(14, TooltipContainerComponent_Conditional_0_Case_14_Template, 1, 1)(15, TooltipContainerComponent_Conditional_0_Case_15_Template, 2, 2, "div", 3)(16, TooltipContainerComponent_Conditional_0_Case_16_Template, 1, 1)(17, TooltipContainerComponent_Conditional_0_Case_17_Template, 4, 2, "div", 4)(18, TooltipContainerComponent_Conditional_0_Case_18_Template, 2, 2, "div", 5);
|
|
21648
21711
|
i0.ɵɵelementEnd()();
|
|
21649
21712
|
} if (rf & 2) {
|
|
21650
21713
|
let tmp_6_0;
|
|
@@ -21657,7 +21720,7 @@ function TooltipContainerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
|
|
|
21657
21720
|
i0.ɵɵadvance();
|
|
21658
21721
|
i0.ɵɵstoreLet(ctx_r1.tooltipContent());
|
|
21659
21722
|
i0.ɵɵadvance();
|
|
21660
|
-
i0.ɵɵconditional((tmp_6_0 = ctx_r1.tooltipType()) === "metric" ? 3 : tmp_6_0 === "status" ? 4 : tmp_6_0 === "trend" ? 5 : tmp_6_0 === "priority" ? 6 : tmp_6_0 === "badge" ? 7 : tmp_6_0 === "breakdown" ? 8 : tmp_6_0 === "competitive" ? 9 : tmp_6_0 === "competitiveBenchmark" ? 10 : tmp_6_0 === "insightsList" ? 11 : tmp_6_0 === "narrative" ? 12 : tmp_6_0 === "competitiveStatus" ? 13 : tmp_6_0 === "funnelStageCompetitive" ? 14 : tmp_6_0 === "insight" ? 15 : tmp_6_0 === "
|
|
21723
|
+
i0.ɵɵconditional((tmp_6_0 = ctx_r1.tooltipType()) === "metric" ? 3 : tmp_6_0 === "status" ? 4 : tmp_6_0 === "trend" ? 5 : tmp_6_0 === "priority" ? 6 : tmp_6_0 === "badge" ? 7 : tmp_6_0 === "breakdown" ? 8 : tmp_6_0 === "competitive" ? 9 : tmp_6_0 === "competitiveBenchmark" ? 10 : tmp_6_0 === "insightsList" ? 11 : tmp_6_0 === "narrative" ? 12 : tmp_6_0 === "competitiveStatus" ? 13 : tmp_6_0 === "funnelStageCompetitive" ? 14 : tmp_6_0 === "insight" ? 15 : tmp_6_0 === "markdown" ? 16 : tmp_6_0 === "text" ? 17 : 18);
|
|
21661
21724
|
} }
|
|
21662
21725
|
class TooltipContainerComponent {
|
|
21663
21726
|
constructor() {
|
|
@@ -21730,6 +21793,10 @@ class TooltipContainerComponent {
|
|
|
21730
21793
|
const content = this.tooltipContent();
|
|
21731
21794
|
return this.tooltipType() === 'funnelStageCompetitive' ? content : null;
|
|
21732
21795
|
}, ...(ngDevMode ? [{ debugName: "funnelStageCompetitiveContent" }] : []));
|
|
21796
|
+
this.markdownContent = computed(() => {
|
|
21797
|
+
const content = this.tooltipContent();
|
|
21798
|
+
return this.tooltipType() === 'markdown' ? content : null;
|
|
21799
|
+
}, ...(ngDevMode ? [{ debugName: "markdownContent" }] : []));
|
|
21733
21800
|
this.tooltipLeft = computed(() => {
|
|
21734
21801
|
return this.calculateLeft();
|
|
21735
21802
|
}, ...(ngDevMode ? [{ debugName: "tooltipLeft" }] : []));
|
|
@@ -22046,7 +22113,7 @@ class TooltipContainerComponent {
|
|
|
22046
22113
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TooltipContainerComponent, selectors: [["symphiq-tooltip-container"]], hostVars: 2, hostBindings: function TooltipContainerComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
22047
22114
|
i0.ɵɵstyleProp("display", "contents");
|
|
22048
22115
|
} }, decls: 1, vars: 1, consts: [[1, "z-[10001]", "pointer-events-none", 3, "style"], [1, "z-[10001]", "pointer-events-none"], [1, "rounded-lg", "shadow-2xl", "border", "backdrop-blur-xl", "px-4", "py-3", "pointer-events-auto", 3, "mouseenter", "mouseleave", "ngClass"], [1, "text-sm", "space-y-3", 3, "ngClass"], [1, "text-sm", "whitespace-pre-line", "leading-relaxed", "max-h-96", "overflow-y-auto", "-mx-4", "px-5", "pr-7", 3, "ngClass"], [1, "text-sm", "whitespace-pre-line", "max-h-96", "overflow-y-auto", "-mx-4", "px-5", "pr-7", 3, "ngClass"], [3, "content", "isLightMode"], [3, "content", "isLightMode", "currencySymbol"], [1, "space-y-2"], [1, "font-semibold"], [1, "whitespace-pre-line", "leading-relaxed"], [3, "innerHTML"], [1, "flex", "justify-end", "mt-3", "pt-3", "border-t", "border-current", "opacity-30", "mr-3"], [1, "text-xs", "font-medium", "px-3", "py-1.5", "rounded-md", "transition-all", "cursor-pointer", 3, "click", "ngClass"]], template: function TooltipContainerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
22049
|
-
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Template,
|
|
22116
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Template, 19, 8, "div", 0);
|
|
22050
22117
|
} if (rf & 2) {
|
|
22051
22118
|
i0.ɵɵconditional(ctx.isVisible() ? 0 : -1);
|
|
22052
22119
|
} }, dependencies: [CommonModule, i1$1.NgClass, MetricValueTooltipComponent,
|
|
@@ -22059,7 +22126,8 @@ class TooltipContainerComponent {
|
|
|
22059
22126
|
InsightsListTooltipComponent,
|
|
22060
22127
|
NarrativeTooltipComponent,
|
|
22061
22128
|
CompetitiveStatusTooltipComponent,
|
|
22062
|
-
FunnelStageCompetitiveTooltipComponent
|
|
22129
|
+
FunnelStageCompetitiveTooltipComponent,
|
|
22130
|
+
MarkdownTooltipComponent], encapsulation: 2, data: { animation: [
|
|
22063
22131
|
trigger('fadeInScale', [
|
|
22064
22132
|
transition(':enter', [
|
|
22065
22133
|
style({ opacity: 0 }),
|
|
@@ -22092,7 +22160,8 @@ class TooltipContainerComponent {
|
|
|
22092
22160
|
InsightsListTooltipComponent,
|
|
22093
22161
|
NarrativeTooltipComponent,
|
|
22094
22162
|
CompetitiveStatusTooltipComponent,
|
|
22095
|
-
FunnelStageCompetitiveTooltipComponent
|
|
22163
|
+
FunnelStageCompetitiveTooltipComponent,
|
|
22164
|
+
MarkdownTooltipComponent
|
|
22096
22165
|
],
|
|
22097
22166
|
animations: [
|
|
22098
22167
|
trigger('fadeInScale', [
|
|
@@ -22105,152 +22174,159 @@ class TooltipContainerComponent {
|
|
|
22105
22174
|
])
|
|
22106
22175
|
])
|
|
22107
22176
|
],
|
|
22108
|
-
template: `
|
|
22109
|
-
@if (isVisible()) {
|
|
22110
|
-
<div
|
|
22111
|
-
[@fadeInScale]
|
|
22112
|
-
[style]="'position: fixed; left: ' + tooltipLeft() + 'px; top: ' + tooltipTop() + 'px; margin: 0; padding: 0; width: 24rem;'"
|
|
22113
|
-
class="z-[10001] pointer-events-none">
|
|
22114
|
-
<div
|
|
22115
|
-
[ngClass]="contentClass()"
|
|
22116
|
-
class="rounded-lg shadow-2xl border backdrop-blur-xl px-4 py-3 pointer-events-auto"
|
|
22117
|
-
[style]="'transform: ' + transformStyle() + '; min-width: 12rem; box-sizing: border-box;'"
|
|
22118
|
-
(mouseenter)="onTooltipMouseEnter()"
|
|
22119
|
-
(mouseleave)="onTooltipMouseLeave()">
|
|
22120
|
-
@let content = tooltipContent();
|
|
22121
|
-
@switch (tooltipType()) {
|
|
22122
|
-
@case ('metric') {
|
|
22123
|
-
@if (metricContent()) {
|
|
22124
|
-
<symphiq-metric-value-tooltip
|
|
22125
|
-
[content]="metricContent()!"
|
|
22126
|
-
[isLightMode]="isLightMode()" />
|
|
22127
|
-
}
|
|
22128
|
-
}
|
|
22129
|
-
@case ('status') {
|
|
22130
|
-
@if (statusContent()) {
|
|
22131
|
-
<symphiq-status-badge-tooltip
|
|
22132
|
-
[content]="statusContent()!"
|
|
22133
|
-
[isLightMode]="isLightMode()" />
|
|
22134
|
-
}
|
|
22135
|
-
}
|
|
22136
|
-
@case ('trend') {
|
|
22137
|
-
@if (trendContent()) {
|
|
22138
|
-
<symphiq-trend-indicator-tooltip
|
|
22139
|
-
[content]="trendContent()!"
|
|
22140
|
-
[isLightMode]="isLightMode()" />
|
|
22141
|
-
}
|
|
22142
|
-
}
|
|
22143
|
-
@case ('priority') {
|
|
22144
|
-
@if (priorityContent()) {
|
|
22145
|
-
<symphiq-priority-badge-tooltip
|
|
22146
|
-
[content]="priorityContent()!"
|
|
22147
|
-
[isLightMode]="isLightMode()" />
|
|
22148
|
-
}
|
|
22149
|
-
}
|
|
22150
|
-
@case ('badge') {
|
|
22151
|
-
@if (badgeContent()) {
|
|
22152
|
-
<symphiq-badge-tooltip
|
|
22153
|
-
[content]="badgeContent()!"
|
|
22154
|
-
[isLightMode]="isLightMode()" />
|
|
22155
|
-
}
|
|
22156
|
-
}
|
|
22157
|
-
@case ('breakdown') {
|
|
22158
|
-
@if (breakdownContent()) {
|
|
22159
|
-
<symphiq-breakdown-row-tooltip
|
|
22160
|
-
[content]="breakdownContent()!"
|
|
22161
|
-
[isLightMode]="isLightMode()" />
|
|
22162
|
-
}
|
|
22163
|
-
}
|
|
22164
|
-
@case ('competitive') {
|
|
22165
|
-
@if (competitiveContent()) {
|
|
22166
|
-
<symphiq-competitive-benchmark-tooltip
|
|
22167
|
-
[content]="competitiveContent()!"
|
|
22168
|
-
[isLightMode]="isLightMode()" />
|
|
22169
|
-
}
|
|
22170
|
-
}
|
|
22171
|
-
@case ('competitiveBenchmark') {
|
|
22172
|
-
@if (competitiveContent()) {
|
|
22173
|
-
<symphiq-competitive-benchmark-tooltip
|
|
22174
|
-
[content]="competitiveContent()!"
|
|
22175
|
-
[isLightMode]="isLightMode()" />
|
|
22176
|
-
}
|
|
22177
|
-
}
|
|
22178
|
-
@case ('insightsList') {
|
|
22179
|
-
@if (insightsListContent()) {
|
|
22180
|
-
<symphiq-insights-list-tooltip
|
|
22181
|
-
[content]="insightsListContent()!"
|
|
22182
|
-
[isLightMode]="isLightMode()" />
|
|
22183
|
-
}
|
|
22184
|
-
}
|
|
22185
|
-
@case ('narrative') {
|
|
22186
|
-
@if (narrativeContent()) {
|
|
22187
|
-
<symphiq-narrative-tooltip
|
|
22188
|
-
[content]="narrativeContent()!"
|
|
22189
|
-
[isLightMode]="isLightMode()" />
|
|
22190
|
-
}
|
|
22191
|
-
}
|
|
22192
|
-
@case ('competitiveStatus') {
|
|
22193
|
-
@if (competitiveStatusContent()) {
|
|
22194
|
-
<symphiq-competitive-status-tooltip
|
|
22195
|
-
[content]="competitiveStatusContent()!"
|
|
22196
|
-
[isLightMode]="isLightMode()"
|
|
22197
|
-
[currencySymbol]="competitiveStatusContent()!.currencySymbol || '$'" />
|
|
22198
|
-
}
|
|
22199
|
-
}
|
|
22200
|
-
@case ('funnelStageCompetitive') {
|
|
22201
|
-
@if (funnelStageCompetitiveContent()) {
|
|
22202
|
-
<symphiq-funnel-stage-competitive-tooltip
|
|
22203
|
-
[content]="funnelStageCompetitiveContent()!"
|
|
22204
|
-
[isLightMode]="isLightMode()"
|
|
22205
|
-
[currencySymbol]="funnelStageCompetitiveContent()!.currencySymbol || '$'" />
|
|
22206
|
-
}
|
|
22207
|
-
}
|
|
22208
|
-
@case ('insight') {
|
|
22209
|
-
<div [ngClass]="textClass()" class="text-sm space-y-3">
|
|
22210
|
-
@if (content && typeof content === 'object' && 'sections' in content) {
|
|
22211
|
-
@for (section of content['sections'] || []; track $index) {
|
|
22212
|
-
<div class="space-y-2">
|
|
22213
|
-
<div class="font-semibold">{{ section.title }}</div>
|
|
22214
|
-
<div class="whitespace-pre-line leading-relaxed">{{ section.content }}</div>
|
|
22215
|
-
</div>
|
|
22216
|
-
}
|
|
22217
|
-
}
|
|
22218
|
-
</div>
|
|
22219
|
-
}
|
|
22220
|
-
@case ('
|
|
22221
|
-
|
|
22222
|
-
|
|
22223
|
-
|
|
22224
|
-
|
|
22225
|
-
|
|
22226
|
-
|
|
22227
|
-
|
|
22228
|
-
|
|
22229
|
-
|
|
22230
|
-
|
|
22231
|
-
|
|
22232
|
-
|
|
22233
|
-
|
|
22234
|
-
|
|
22235
|
-
|
|
22236
|
-
|
|
22237
|
-
|
|
22238
|
-
|
|
22239
|
-
|
|
22240
|
-
|
|
22241
|
-
|
|
22242
|
-
|
|
22243
|
-
|
|
22244
|
-
|
|
22245
|
-
|
|
22246
|
-
|
|
22247
|
-
|
|
22248
|
-
|
|
22249
|
-
|
|
22177
|
+
template: `
|
|
22178
|
+
@if (isVisible()) {
|
|
22179
|
+
<div
|
|
22180
|
+
[@fadeInScale]
|
|
22181
|
+
[style]="'position: fixed; left: ' + tooltipLeft() + 'px; top: ' + tooltipTop() + 'px; margin: 0; padding: 0; width: 24rem;'"
|
|
22182
|
+
class="z-[10001] pointer-events-none">
|
|
22183
|
+
<div
|
|
22184
|
+
[ngClass]="contentClass()"
|
|
22185
|
+
class="rounded-lg shadow-2xl border backdrop-blur-xl px-4 py-3 pointer-events-auto"
|
|
22186
|
+
[style]="'transform: ' + transformStyle() + '; min-width: 12rem; box-sizing: border-box;'"
|
|
22187
|
+
(mouseenter)="onTooltipMouseEnter()"
|
|
22188
|
+
(mouseleave)="onTooltipMouseLeave()">
|
|
22189
|
+
@let content = tooltipContent();
|
|
22190
|
+
@switch (tooltipType()) {
|
|
22191
|
+
@case ('metric') {
|
|
22192
|
+
@if (metricContent()) {
|
|
22193
|
+
<symphiq-metric-value-tooltip
|
|
22194
|
+
[content]="metricContent()!"
|
|
22195
|
+
[isLightMode]="isLightMode()" />
|
|
22196
|
+
}
|
|
22197
|
+
}
|
|
22198
|
+
@case ('status') {
|
|
22199
|
+
@if (statusContent()) {
|
|
22200
|
+
<symphiq-status-badge-tooltip
|
|
22201
|
+
[content]="statusContent()!"
|
|
22202
|
+
[isLightMode]="isLightMode()" />
|
|
22203
|
+
}
|
|
22204
|
+
}
|
|
22205
|
+
@case ('trend') {
|
|
22206
|
+
@if (trendContent()) {
|
|
22207
|
+
<symphiq-trend-indicator-tooltip
|
|
22208
|
+
[content]="trendContent()!"
|
|
22209
|
+
[isLightMode]="isLightMode()" />
|
|
22210
|
+
}
|
|
22211
|
+
}
|
|
22212
|
+
@case ('priority') {
|
|
22213
|
+
@if (priorityContent()) {
|
|
22214
|
+
<symphiq-priority-badge-tooltip
|
|
22215
|
+
[content]="priorityContent()!"
|
|
22216
|
+
[isLightMode]="isLightMode()" />
|
|
22217
|
+
}
|
|
22218
|
+
}
|
|
22219
|
+
@case ('badge') {
|
|
22220
|
+
@if (badgeContent()) {
|
|
22221
|
+
<symphiq-badge-tooltip
|
|
22222
|
+
[content]="badgeContent()!"
|
|
22223
|
+
[isLightMode]="isLightMode()" />
|
|
22224
|
+
}
|
|
22225
|
+
}
|
|
22226
|
+
@case ('breakdown') {
|
|
22227
|
+
@if (breakdownContent()) {
|
|
22228
|
+
<symphiq-breakdown-row-tooltip
|
|
22229
|
+
[content]="breakdownContent()!"
|
|
22230
|
+
[isLightMode]="isLightMode()" />
|
|
22231
|
+
}
|
|
22232
|
+
}
|
|
22233
|
+
@case ('competitive') {
|
|
22234
|
+
@if (competitiveContent()) {
|
|
22235
|
+
<symphiq-competitive-benchmark-tooltip
|
|
22236
|
+
[content]="competitiveContent()!"
|
|
22237
|
+
[isLightMode]="isLightMode()" />
|
|
22238
|
+
}
|
|
22239
|
+
}
|
|
22240
|
+
@case ('competitiveBenchmark') {
|
|
22241
|
+
@if (competitiveContent()) {
|
|
22242
|
+
<symphiq-competitive-benchmark-tooltip
|
|
22243
|
+
[content]="competitiveContent()!"
|
|
22244
|
+
[isLightMode]="isLightMode()" />
|
|
22245
|
+
}
|
|
22246
|
+
}
|
|
22247
|
+
@case ('insightsList') {
|
|
22248
|
+
@if (insightsListContent()) {
|
|
22249
|
+
<symphiq-insights-list-tooltip
|
|
22250
|
+
[content]="insightsListContent()!"
|
|
22251
|
+
[isLightMode]="isLightMode()" />
|
|
22252
|
+
}
|
|
22253
|
+
}
|
|
22254
|
+
@case ('narrative') {
|
|
22255
|
+
@if (narrativeContent()) {
|
|
22256
|
+
<symphiq-narrative-tooltip
|
|
22257
|
+
[content]="narrativeContent()!"
|
|
22258
|
+
[isLightMode]="isLightMode()" />
|
|
22259
|
+
}
|
|
22260
|
+
}
|
|
22261
|
+
@case ('competitiveStatus') {
|
|
22262
|
+
@if (competitiveStatusContent()) {
|
|
22263
|
+
<symphiq-competitive-status-tooltip
|
|
22264
|
+
[content]="competitiveStatusContent()!"
|
|
22265
|
+
[isLightMode]="isLightMode()"
|
|
22266
|
+
[currencySymbol]="competitiveStatusContent()!.currencySymbol || '$'" />
|
|
22267
|
+
}
|
|
22268
|
+
}
|
|
22269
|
+
@case ('funnelStageCompetitive') {
|
|
22270
|
+
@if (funnelStageCompetitiveContent()) {
|
|
22271
|
+
<symphiq-funnel-stage-competitive-tooltip
|
|
22272
|
+
[content]="funnelStageCompetitiveContent()!"
|
|
22273
|
+
[isLightMode]="isLightMode()"
|
|
22274
|
+
[currencySymbol]="funnelStageCompetitiveContent()!.currencySymbol || '$'" />
|
|
22275
|
+
}
|
|
22276
|
+
}
|
|
22277
|
+
@case ('insight') {
|
|
22278
|
+
<div [ngClass]="textClass()" class="text-sm space-y-3">
|
|
22279
|
+
@if (content && typeof content === 'object' && 'sections' in content) {
|
|
22280
|
+
@for (section of content['sections'] || []; track $index) {
|
|
22281
|
+
<div class="space-y-2">
|
|
22282
|
+
<div class="font-semibold">{{ section.title }}</div>
|
|
22283
|
+
<div class="whitespace-pre-line leading-relaxed">{{ section.content }}</div>
|
|
22284
|
+
</div>
|
|
22285
|
+
}
|
|
22286
|
+
}
|
|
22287
|
+
</div>
|
|
22288
|
+
}
|
|
22289
|
+
@case ('markdown') {
|
|
22290
|
+
@if (markdownContent()) {
|
|
22291
|
+
<symphiq-markdown-tooltip
|
|
22292
|
+
[content]="markdownContent()!"
|
|
22293
|
+
[isLightMode]="isLightMode()" />
|
|
22294
|
+
}
|
|
22295
|
+
}
|
|
22296
|
+
@case ('text') {
|
|
22297
|
+
<div [ngClass]="textClass()" class="text-sm whitespace-pre-line leading-relaxed max-h-96 overflow-y-auto -mx-4 px-5 pr-7">
|
|
22298
|
+
@if (content && typeof content === 'object' && 'text' in content) {
|
|
22299
|
+
<div [innerHTML]="content['text']"></div>
|
|
22300
|
+
@if (content['targetId']) {
|
|
22301
|
+
<div class="flex justify-end mt-3 pt-3 border-t border-current opacity-30 mr-3">
|
|
22302
|
+
<button
|
|
22303
|
+
(click)="scrollToTarget($any(content)['targetId'])"
|
|
22304
|
+
[ngClass]="viewMoreButtonClass()"
|
|
22305
|
+
class="text-xs font-medium px-3 py-1.5 rounded-md transition-all cursor-pointer">
|
|
22306
|
+
View more
|
|
22307
|
+
</button>
|
|
22308
|
+
</div>
|
|
22309
|
+
}
|
|
22310
|
+
} @else if (typeof content === 'string') {
|
|
22311
|
+
<div [innerHTML]="content"></div>
|
|
22312
|
+
} @else {
|
|
22313
|
+
{{ content }}
|
|
22314
|
+
}
|
|
22315
|
+
</div>
|
|
22316
|
+
}
|
|
22317
|
+
@default {
|
|
22318
|
+
<div [ngClass]="textClass()" class="text-sm whitespace-pre-line max-h-96 overflow-y-auto -mx-4 px-5 pr-7">
|
|
22319
|
+
{{ content }}
|
|
22320
|
+
</div>
|
|
22321
|
+
}
|
|
22322
|
+
}
|
|
22323
|
+
</div>
|
|
22324
|
+
</div>
|
|
22325
|
+
}
|
|
22250
22326
|
`
|
|
22251
22327
|
}]
|
|
22252
22328
|
}], () => [], null); })();
|
|
22253
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TooltipContainerComponent, { className: "TooltipContainerComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/tooltip-container.component.ts", lineNumber:
|
|
22329
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TooltipContainerComponent, { className: "TooltipContainerComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/tooltip-container.component.ts", lineNumber: 227 }); })();
|
|
22254
22330
|
|
|
22255
22331
|
function MobileFABComponent_Conditional_1_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
22256
22332
|
i0.ɵɵnamespaceSVG();
|
|
@@ -22647,7 +22723,7 @@ class SearchService {
|
|
|
22647
22723
|
}]
|
|
22648
22724
|
}], null, null); })();
|
|
22649
22725
|
|
|
22650
|
-
const _c0$
|
|
22726
|
+
const _c0$X = ["searchInput"];
|
|
22651
22727
|
const _forTrack0$D = ($index, $item) => $item.id;
|
|
22652
22728
|
function SearchBarComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
22653
22729
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
@@ -23009,7 +23085,7 @@ class SearchBarComponent {
|
|
|
23009
23085
|
}
|
|
23010
23086
|
static { this.ɵfac = function SearchBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchBarComponent)(); }; }
|
|
23011
23087
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchBarComponent, selectors: [["symphiq-search-bar"]], viewQuery: function SearchBarComponent_Query(rf, ctx) { if (rf & 1) {
|
|
23012
|
-
i0.ɵɵviewQuery(_c0$
|
|
23088
|
+
i0.ɵɵviewQuery(_c0$X, 5);
|
|
23013
23089
|
} if (rf & 2) {
|
|
23014
23090
|
let _t;
|
|
23015
23091
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchInput = _t.first);
|
|
@@ -26698,7 +26774,7 @@ class FunnelWelcomeBannerComponent {
|
|
|
26698
26774
|
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }] }); })();
|
|
26699
26775
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelWelcomeBannerComponent, { className: "FunnelWelcomeBannerComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-welcome-banner.component.ts", lineNumber: 113 }); })();
|
|
26700
26776
|
|
|
26701
|
-
const _c0$
|
|
26777
|
+
const _c0$W = [[["", "slot", "overall-performance"]], [["", "slot", "performance-metrics"]], [["", "slot", "performance-breakdowns"]], [["", "slot", "competitive-intelligence"]]];
|
|
26702
26778
|
const _c1$z = ["[slot=overall-performance]", "[slot=performance-metrics]", "[slot=performance-breakdowns]", "[slot=competitive-intelligence]"];
|
|
26703
26779
|
class CollapsibleFunnelSectionGroupComponent {
|
|
26704
26780
|
constructor() {
|
|
@@ -26831,7 +26907,7 @@ class CollapsibleFunnelSectionGroupComponent {
|
|
|
26831
26907
|
}
|
|
26832
26908
|
static { this.ɵfac = function CollapsibleFunnelSectionGroupComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CollapsibleFunnelSectionGroupComponent)(); }; }
|
|
26833
26909
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CollapsibleFunnelSectionGroupComponent, selectors: [["symphiq-collapsible-funnel-section-group"]], inputs: { viewMode: [1, "viewMode"] }, ngContentSelectors: _c1$z, decls: 90, vars: 58, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "mb-6", "p-4", "rounded-xl", "border", "flex", "items-start", "gap-3", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "font-semibold", "text-sm", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "space-y-3"], [1, "rounded-xl", "border", "overflow-hidden", "transition-all", "duration-200", 3, "id", "ngClass"], ["type", "button", 1, "cursor-pointer", "w-full", "px-5", "py-4", "flex", "items-center", "justify-between", "gap-4", "text-left", "transition-colors", "duration-200", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-3", "flex-1", "min-w-0"], [1, "p-2", "rounded-lg", "flex-shrink-0", "transition-colors", "duration-200", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], [1, "flex-1", "min-w-0"], [1, "font-semibold", "transition-colors", "duration-200", 3, "ngClass"], [1, "text-sm", "mt-0.5", "transition-colors", "duration-200", 3, "ngClass"], [1, "w-5", "h-5", "flex-shrink-0", "transition-transform", "duration-200", 3, "ngClass"], ["stroke", "currentColor", "stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "border-t", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"]], template: function CollapsibleFunnelSectionGroupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
26834
|
-
i0.ɵɵprojectionDef(_c0$
|
|
26910
|
+
i0.ɵɵprojectionDef(_c0$W);
|
|
26835
26911
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4);
|
|
26836
26912
|
i0.ɵɵnamespaceSVG();
|
|
26837
26913
|
i0.ɵɵelementStart(5, "svg", 5);
|
|
@@ -27674,7 +27750,7 @@ class ViewModeSwitcherModalComponent {
|
|
|
27674
27750
|
}], null, { isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], currentMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentMode", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], modeSelected: [{ type: i0.Output, args: ["modeSelected"] }] }); })();
|
|
27675
27751
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ViewModeSwitcherModalComponent, { className: "ViewModeSwitcherModalComponent", filePath: "lib/components/shared/view-mode-switcher-modal.component.ts", lineNumber: 160 }); })();
|
|
27676
27752
|
|
|
27677
|
-
const _c0$
|
|
27753
|
+
const _c0$V = a0 => ({ name: "check-badge", source: a0 });
|
|
27678
27754
|
const _c1$y = a0 => ({ name: "check-circle", source: a0 });
|
|
27679
27755
|
const _c2$o = a0 => ({ name: "chevron-right", source: a0 });
|
|
27680
27756
|
const _forTrack0$z = ($index, $item) => $item.area;
|
|
@@ -27691,7 +27767,7 @@ function KeyStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) {
|
|
|
27691
27767
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
27692
27768
|
i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
|
|
27693
27769
|
i0.ɵɵadvance();
|
|
27694
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$
|
|
27770
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$V, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
|
|
27695
27771
|
i0.ɵɵadvance();
|
|
27696
27772
|
i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
|
|
27697
27773
|
i0.ɵɵadvance(2);
|
|
@@ -27906,7 +27982,7 @@ class KeyStrengthsListModalContentComponent {
|
|
|
27906
27982
|
}], null, { keyStrengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyStrengths", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }] }); })();
|
|
27907
27983
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KeyStrengthsListModalContentComponent, { className: "KeyStrengthsListModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/key-strengths-list-modal-content.component.ts", lineNumber: 79 }); })();
|
|
27908
27984
|
|
|
27909
|
-
const _c0$
|
|
27985
|
+
const _c0$U = a0 => ({ name: "shield-check", source: a0 });
|
|
27910
27986
|
const _c1$x = a0 => ({ name: "exclamation-triangle", source: a0 });
|
|
27911
27987
|
const _c2$n = a0 => ({ name: "document-text", source: a0 });
|
|
27912
27988
|
const _c3$h = a0 => ({ name: "chevron-right", source: a0 });
|
|
@@ -27924,7 +28000,7 @@ function CriticalGapsListModalContentComponent_Conditional_1_Template(rf, ctx) {
|
|
|
27924
28000
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
27925
28001
|
i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
|
|
27926
28002
|
i0.ɵɵadvance();
|
|
27927
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$
|
|
28003
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$U, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
|
|
27928
28004
|
i0.ɵɵadvance();
|
|
27929
28005
|
i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
|
|
27930
28006
|
i0.ɵɵadvance(2);
|
|
@@ -28222,7 +28298,7 @@ class CriticalGapsListModalContentComponent {
|
|
|
28222
28298
|
}], null, { criticalGaps: [{ type: i0.Input, args: [{ isSignal: true, alias: "criticalGaps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }] }); })();
|
|
28223
28299
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CriticalGapsListModalContentComponent, { className: "CriticalGapsListModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/critical-gaps-list-modal-content.component.ts", lineNumber: 98 }); })();
|
|
28224
28300
|
|
|
28225
|
-
const _c0$
|
|
28301
|
+
const _c0$T = a0 => ({ name: "check-circle", source: a0 });
|
|
28226
28302
|
const _c1$w = a0 => ({ name: "chat-bubble-left-right", source: a0 });
|
|
28227
28303
|
const _forTrack0$x = ($index, $item) => $item.questionId;
|
|
28228
28304
|
function KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -28278,7 +28354,7 @@ function KeyStrengthDetailModalContentComponent_Conditional_13_Template(rf, ctx)
|
|
|
28278
28354
|
i0.ɵɵadvance();
|
|
28279
28355
|
i0.ɵɵproperty("ngClass", ctx_r1.sectionTitleClasses());
|
|
28280
28356
|
i0.ɵɵadvance();
|
|
28281
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$
|
|
28357
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$T, ctx_r1.IconSourceEnum.HEROICONS))("ngClass", ctx_r1.sectionIconClasses());
|
|
28282
28358
|
i0.ɵɵadvance(3);
|
|
28283
28359
|
i0.ɵɵrepeater(ctx_r1.strength().supportingAnswers);
|
|
28284
28360
|
} }
|
|
@@ -28463,7 +28539,7 @@ class KeyStrengthDetailModalContentComponent {
|
|
|
28463
28539
|
}], null, { strength: [{ type: i0.Input, args: [{ isSignal: true, alias: "strength", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }] }); })();
|
|
28464
28540
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(KeyStrengthDetailModalContentComponent, { className: "KeyStrengthDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/key-strength-detail-modal-content.component.ts", lineNumber: 79 }); })();
|
|
28465
28541
|
|
|
28466
|
-
const _c0$
|
|
28542
|
+
const _c0$S = a0 => ({ name: "exclamation-triangle", source: a0 });
|
|
28467
28543
|
const _c1$v = a0 => ({ name: "document-text", source: a0 });
|
|
28468
28544
|
const _c2$m = a0 => ({ name: "chat-bubble-left-right", source: a0 });
|
|
28469
28545
|
const _forTrack0$w = ($index, $item) => $item.questionId;
|
|
@@ -28741,7 +28817,7 @@ class CriticalGapDetailModalContentComponent {
|
|
|
28741
28817
|
i0.ɵɵadvance();
|
|
28742
28818
|
i0.ɵɵproperty("ngClass", ctx.impactSectionClasses());
|
|
28743
28819
|
i0.ɵɵadvance(2);
|
|
28744
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(15, _c0$
|
|
28820
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(15, _c0$S, ctx.IconSourceEnum.HEROICONS))("ngClass", ctx.impactIconClasses());
|
|
28745
28821
|
i0.ɵɵadvance(2);
|
|
28746
28822
|
i0.ɵɵproperty("ngClass", ctx.impactTitleClasses());
|
|
28747
28823
|
i0.ɵɵadvance(2);
|
|
@@ -30326,7 +30402,7 @@ class TopPriorityDetailModalContentComponent {
|
|
|
30326
30402
|
}], null, { priority: [{ type: i0.Input, args: [{ isSignal: true, alias: "priority", required: true }] }], index: [{ type: i0.Input, args: [{ isSignal: true, alias: "index", required: false }] }], totalCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalCount", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], focusAreaName: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaName", required: false }] }] }); })();
|
|
30327
30403
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TopPriorityDetailModalContentComponent, { className: "TopPriorityDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/top-priority-detail-modal-content.component.ts", lineNumber: 72 }); })();
|
|
30328
30404
|
|
|
30329
|
-
const _c0$
|
|
30405
|
+
const _c0$R = a0 => ({ name: "check-badge", source: a0 });
|
|
30330
30406
|
const _c1$u = a0 => ({ name: "check-circle", source: a0 });
|
|
30331
30407
|
const _c2$l = a0 => ({ name: "chevron-right", source: a0 });
|
|
30332
30408
|
const _c3$g = a0 => ({ name: "chart-bar", source: a0 });
|
|
@@ -30344,7 +30420,7 @@ function FocusAreaStrengthsListModalContentComponent_Conditional_1_Template(rf,
|
|
|
30344
30420
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
30345
30421
|
i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
|
|
30346
30422
|
i0.ɵɵadvance();
|
|
30347
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$
|
|
30423
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$R, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
|
|
30348
30424
|
i0.ɵɵadvance();
|
|
30349
30425
|
i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
|
|
30350
30426
|
i0.ɵɵadvance(2);
|
|
@@ -30649,7 +30725,7 @@ class FocusAreaStrengthsListModalContentComponent {
|
|
|
30649
30725
|
}], null, { strengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "strengths", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], categoryTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "categoryTitle", required: false }] }] }); })();
|
|
30650
30726
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaStrengthsListModalContentComponent, { className: "FocusAreaStrengthsListModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/focus-area-strengths-list-modal-content.component.ts", lineNumber: 109 }); })();
|
|
30651
30727
|
|
|
30652
|
-
const _c0$
|
|
30728
|
+
const _c0$Q = a0 => ({ name: "exclamation-triangle", source: a0 });
|
|
30653
30729
|
const _c1$t = a0 => ({ name: "exclamation-circle", source: a0 });
|
|
30654
30730
|
const _c2$k = a0 => ({ name: "chevron-right", source: a0 });
|
|
30655
30731
|
function _forTrack0$u($index, $item) { return this.getGapTitle($item); }
|
|
@@ -30666,7 +30742,7 @@ function FocusAreaGapsListModalContentComponent_Conditional_1_Template(rf, ctx)
|
|
|
30666
30742
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
30667
30743
|
i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
|
|
30668
30744
|
i0.ɵɵadvance();
|
|
30669
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$
|
|
30745
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$Q, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
|
|
30670
30746
|
i0.ɵɵadvance();
|
|
30671
30747
|
i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
|
|
30672
30748
|
i0.ɵɵadvance(2);
|
|
@@ -31043,7 +31119,7 @@ class FocusAreaGapsListModalContentComponent {
|
|
|
31043
31119
|
}], null, { gaps: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], categoryTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "categoryTitle", required: false }] }] }); })();
|
|
31044
31120
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaGapsListModalContentComponent, { className: "FocusAreaGapsListModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/focus-area-gaps-list-modal-content.component.ts", lineNumber: 106 }); })();
|
|
31045
31121
|
|
|
31046
|
-
const _c0$
|
|
31122
|
+
const _c0$P = a0 => ({ name: "light-bulb", source: a0 });
|
|
31047
31123
|
const _c1$s = a0 => ({ name: "chevron-right", source: a0 });
|
|
31048
31124
|
const _c2$j = a0 => ({ name: "chart-bar", source: a0 });
|
|
31049
31125
|
const _forTrack0$t = ($index, $item) => $item.opportunity;
|
|
@@ -31060,7 +31136,7 @@ function FocusAreaOpportunitiesListModalContentComponent_Conditional_1_Template(
|
|
|
31060
31136
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
31061
31137
|
i0.ɵɵproperty("ngClass", ctx_r0.emptyStateClasses());
|
|
31062
31138
|
i0.ɵɵadvance();
|
|
31063
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$
|
|
31139
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$P, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.emptyIconClasses());
|
|
31064
31140
|
i0.ɵɵadvance();
|
|
31065
31141
|
i0.ɵɵproperty("ngClass", ctx_r0.emptyTitleClasses());
|
|
31066
31142
|
i0.ɵɵadvance(2);
|
|
@@ -31312,7 +31388,7 @@ class FocusAreaOpportunitiesListModalContentComponent {
|
|
|
31312
31388
|
}], null, { opportunities: [{ type: i0.Input, args: [{ isSignal: true, alias: "opportunities", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], categoryTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "categoryTitle", required: false }] }] }); })();
|
|
31313
31389
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaOpportunitiesListModalContentComponent, { className: "FocusAreaOpportunitiesListModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/focus-area-opportunities-list-modal-content.component.ts", lineNumber: 90 }); })();
|
|
31314
31390
|
|
|
31315
|
-
const _c0$
|
|
31391
|
+
const _c0$O = a0 => ({ name: "chevron-right", source: a0 });
|
|
31316
31392
|
const _c1$r = a0 => ({ name: "chat-bubble-left-right", source: a0 });
|
|
31317
31393
|
const _forTrack0$s = ($index, $item) => $item.performanceItemId;
|
|
31318
31394
|
function FocusAreaStrengthDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -31377,7 +31453,7 @@ function FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Templa
|
|
|
31377
31453
|
i0.ɵɵadvance(2);
|
|
31378
31454
|
i0.ɵɵtextInterpolate(ctx_r0.formatMetricName(metric_r3.metric || ""));
|
|
31379
31455
|
i0.ɵɵadvance();
|
|
31380
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$
|
|
31456
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$O, ctx_r0.IconSourceEnum.HEROICONS));
|
|
31381
31457
|
} }
|
|
31382
31458
|
function FocusAreaStrengthDetailModalContentComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
31383
31459
|
i0.ɵɵelementStart(0, "div", 1)(1, "h4", 8);
|
|
@@ -31697,7 +31773,7 @@ class FocusAreaStrengthDetailModalContentComponent {
|
|
|
31697
31773
|
}], null, { strength: [{ type: i0.Input, args: [{ isSignal: true, alias: "strength", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }] }); })();
|
|
31698
31774
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaStrengthDetailModalContentComponent, { className: "FocusAreaStrengthDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/focus-area-strength-detail-modal-content.component.ts", lineNumber: 121 }); })();
|
|
31699
31775
|
|
|
31700
|
-
const _c0$
|
|
31776
|
+
const _c0$N = a0 => ({ name: "chat-bubble-left-right", source: a0 });
|
|
31701
31777
|
function FocusAreaGapDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
31702
31778
|
i0.ɵɵelementStart(0, "div", 1)(1, "span", 3);
|
|
31703
31779
|
i0.ɵɵtext(2);
|
|
@@ -31794,7 +31870,7 @@ function FocusAreaGapDetailModalContentComponent_Conditional_6_For_5_Template(rf
|
|
|
31794
31870
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
31795
31871
|
i0.ɵɵproperty("ngClass", ctx_r0.answerClasses());
|
|
31796
31872
|
i0.ɵɵadvance(2);
|
|
31797
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$
|
|
31873
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$N, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.answerIconClasses());
|
|
31798
31874
|
i0.ɵɵadvance();
|
|
31799
31875
|
i0.ɵɵproperty("ngClass", ctx_r0.answerQuestionClasses());
|
|
31800
31876
|
i0.ɵɵadvance();
|
|
@@ -32033,7 +32109,7 @@ class FocusAreaGapDetailModalContentComponent {
|
|
|
32033
32109
|
}], null, { gap: [{ type: i0.Input, args: [{ isSignal: true, alias: "gap", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }] }); })();
|
|
32034
32110
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaGapDetailModalContentComponent, { className: "FocusAreaGapDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/focus-area-gap-detail-modal-content.component.ts", lineNumber: 98 }); })();
|
|
32035
32111
|
|
|
32036
|
-
const _c0$
|
|
32112
|
+
const _c0$M = a0 => ({ name: "chevron-right", source: a0 });
|
|
32037
32113
|
const _c1$q = () => [];
|
|
32038
32114
|
const _forTrack0$r = ($index, $item) => $item.performanceItemId;
|
|
32039
32115
|
function FocusAreaOpportunityDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -32080,7 +32156,7 @@ function FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Tem
|
|
|
32080
32156
|
i0.ɵɵadvance(2);
|
|
32081
32157
|
i0.ɵɵtextInterpolate(ctx_r0.formatMetricName(metric_r3.metric || ""));
|
|
32082
32158
|
i0.ɵɵadvance();
|
|
32083
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$
|
|
32159
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(3, _c0$M, ctx_r0.IconSourceEnum.HEROICONS));
|
|
32084
32160
|
} }
|
|
32085
32161
|
function FocusAreaOpportunityDetailModalContentComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
32086
32162
|
i0.ɵɵelementStart(0, "div", 1)(1, "h4", 5);
|
|
@@ -32485,7 +32561,7 @@ class CircularProgressComponent {
|
|
|
32485
32561
|
}], null, { percentage: [{ type: i0.Input, args: [{ isSignal: true, alias: "percentage", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], strokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "strokeWidth", required: false }] }], progressColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "progressColor", required: false }] }], backgroundColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "backgroundColor", required: false }] }], showPercentage: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPercentage", required: false }] }], textClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "textClasses", required: false }] }], strokeLinecap: [{ type: i0.Input, args: [{ isSignal: true, alias: "strokeLinecap", required: false }] }], animationDuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDuration", required: false }] }], animationDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDelay", required: false }] }] }); })();
|
|
32486
32562
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CircularProgressComponent, { className: "CircularProgressComponent", filePath: "lib/components/business-analysis-dashboard/visualizations/circular-progress.component.ts", lineNumber: 41 }); })();
|
|
32487
32563
|
|
|
32488
|
-
const _c0$
|
|
32564
|
+
const _c0$L = ["*"];
|
|
32489
32565
|
const _c1$p = (a0, a1) => [a0, a1];
|
|
32490
32566
|
function VisualizationContainerComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
32491
32567
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -32530,7 +32606,7 @@ class VisualizationContainerComponent {
|
|
|
32530
32606
|
});
|
|
32531
32607
|
}
|
|
32532
32608
|
static { this.ɵfac = function VisualizationContainerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || VisualizationContainerComponent)(); }; }
|
|
32533
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VisualizationContainerComponent, selectors: [["symphiq-visualization-container"]], inputs: { isLightMode: [1, "isLightMode"], visualizationType: [1, "visualizationType"], visualizationData: [1, "visualizationData"], disableInteraction: [1, "disableInteraction"] }, outputs: { visualizationClick: "visualizationClick" }, ngContentSelectors: _c0$
|
|
32609
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: VisualizationContainerComponent, selectors: [["symphiq-visualization-container"]], inputs: { isLightMode: [1, "isLightMode"], visualizationType: [1, "visualizationType"], visualizationData: [1, "visualizationData"], disableInteraction: [1, "disableInteraction"] }, outputs: { visualizationClick: "visualizationClick" }, ngContentSelectors: _c0$L, decls: 4, vars: 8, consts: [[1, "relative", "rounded-xl", "transition-all", "duration-300", 3, "click", "ngClass"], ["type", "button", 1, "absolute", "top-2", "right-2", "z-10", "w-7", "h-7", "flex", "items-center", "justify-center", "rounded-lg", "transition-all", "duration-200", "hover:scale-110", "cursor-pointer", "opacity-0", "group-hover:opacity-100", 3, "ngClass"], [1, "transition-opacity", "duration-300"], ["type", "button", 1, "absolute", "top-2", "right-2", "z-10", "w-7", "h-7", "flex", "items-center", "justify-center", "rounded-lg", "transition-all", "duration-200", "hover:scale-110", "cursor-pointer", "opacity-0", "group-hover:opacity-100", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"]], template: function VisualizationContainerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
32534
32610
|
i0.ɵɵprojectionDef();
|
|
32535
32611
|
i0.ɵɵelementStart(0, "div", 0);
|
|
32536
32612
|
i0.ɵɵlistener("click", function VisualizationContainerComponent_Template_div_click_0_listener($event) { return ctx.onVisualizationClick($event); });
|
|
@@ -32651,7 +32727,7 @@ class MetricBadgeComponent {
|
|
|
32651
32727
|
}], null, { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }] }); })();
|
|
32652
32728
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricBadgeComponent, { className: "MetricBadgeComponent", filePath: "lib/components/business-analysis-dashboard/badges/metric-badge.component.ts", lineNumber: 22 }); })();
|
|
32653
32729
|
|
|
32654
|
-
const _c0$
|
|
32730
|
+
const _c0$K = a0 => ({ name: "light-bulb", source: a0 });
|
|
32655
32731
|
const _c1$o = a0 => ({ name: "chevron-right", source: a0 });
|
|
32656
32732
|
function OpportunityHighlightBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
32657
32733
|
i0.ɵɵelementStart(0, "p", 7);
|
|
@@ -32716,7 +32792,7 @@ class OpportunityHighlightBannerComponent {
|
|
|
32716
32792
|
i0.ɵɵadvance();
|
|
32717
32793
|
i0.ɵɵproperty("ngClass", ctx.iconContainerClasses());
|
|
32718
32794
|
i0.ɵɵadvance();
|
|
32719
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(11, _c0$
|
|
32795
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(11, _c0$K, ctx.iconSource));
|
|
32720
32796
|
i0.ɵɵadvance(3);
|
|
32721
32797
|
i0.ɵɵproperty("ngClass", ctx.titleClasses());
|
|
32722
32798
|
i0.ɵɵadvance();
|
|
@@ -32773,7 +32849,7 @@ class OpportunityHighlightBannerComponent {
|
|
|
32773
32849
|
}], null, { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }], bannerClick: [{ type: i0.Output, args: ["bannerClick"] }] }); })();
|
|
32774
32850
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OpportunityHighlightBannerComponent, { className: "OpportunityHighlightBannerComponent", filePath: "lib/components/business-analysis-dashboard/banners/opportunity-highlight-banner.component.ts", lineNumber: 44 }); })();
|
|
32775
32851
|
|
|
32776
|
-
const _c0$
|
|
32852
|
+
const _c0$J = a0 => ({ name: "users", source: a0 });
|
|
32777
32853
|
function CompetitorOverlapVisualizationComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
32778
32854
|
i0.ɵɵelementStart(0, "div", 5)(1, "div", 6);
|
|
32779
32855
|
i0.ɵɵelement(2, "symphiq-icon", 7);
|
|
@@ -32788,7 +32864,7 @@ function CompetitorOverlapVisualizationComponent_Conditional_18_Template(rf, ctx
|
|
|
32788
32864
|
i0.ɵɵadvance();
|
|
32789
32865
|
i0.ɵɵproperty("ngClass", ctx_r0.competitorListLabelClasses());
|
|
32790
32866
|
i0.ɵɵadvance();
|
|
32791
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$
|
|
32867
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$J, ctx_r0.iconSource));
|
|
32792
32868
|
i0.ɵɵadvance(3);
|
|
32793
32869
|
i0.ɵɵproperty("relatedCompetitorIds", ctx_r0.relatedCompetitorIds())("viewMode", ctx_r0.isDark() ? ctx_r0.ViewModeEnum.DARK : ctx_r0.ViewModeEnum.LIGHT)("isDark", ctx_r0.isDark());
|
|
32794
32870
|
} }
|
|
@@ -33352,7 +33428,7 @@ class ViewportAnimationDirective {
|
|
|
33352
33428
|
type: Input
|
|
33353
33429
|
}] }); })();
|
|
33354
33430
|
|
|
33355
|
-
const _c0$
|
|
33431
|
+
const _c0$I = a0 => ({ name: "star", source: a0 });
|
|
33356
33432
|
const _c1$n = a0 => ({ name: "globe-americas", source: a0 });
|
|
33357
33433
|
const _c2$i = a0 => ({ name: "academic-cap", source: a0 });
|
|
33358
33434
|
const _c3$f = a0 => ({ name: "information-circle", source: a0 });
|
|
@@ -33388,7 +33464,7 @@ function RegionCardComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
|
33388
33464
|
i0.ɵɵelement(0, "symphiq-metric-badge", 13);
|
|
33389
33465
|
} if (rf & 2) {
|
|
33390
33466
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
33391
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(2, _c0$
|
|
33467
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(2, _c0$I, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
|
|
33392
33468
|
} }
|
|
33393
33469
|
function RegionCardComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
33394
33470
|
i0.ɵɵelement(0, "symphiq-metric-badge", 14);
|
|
@@ -34430,7 +34506,7 @@ class CompetitiveInsightBadgeComponent {
|
|
|
34430
34506
|
}], null, { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }] }); })();
|
|
34431
34507
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveInsightBadgeComponent, { className: "CompetitiveInsightBadgeComponent", filePath: "lib/components/business-analysis-dashboard/badges/competitive-insight-badge.component.ts", lineNumber: 25 }); })();
|
|
34432
34508
|
|
|
34433
|
-
const _c0$
|
|
34509
|
+
const _c0$H = a0 => ({ name: "calendar-days", source: a0 });
|
|
34434
34510
|
const _c1$m = a0 => ({ name: "chart-bar", source: a0 });
|
|
34435
34511
|
const _c2$h = a0 => ({ name: "academic-cap", source: a0 });
|
|
34436
34512
|
const _c3$e = a0 => ({ name: "information-circle", source: a0 });
|
|
@@ -34451,7 +34527,7 @@ function SeasonCardComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
|
34451
34527
|
i0.ɵɵelement(0, "symphiq-metric-badge", 12);
|
|
34452
34528
|
} if (rf & 2) {
|
|
34453
34529
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
34454
|
-
i0.ɵɵproperty("label", ctx_r0.formatMonthRange())("icon", i0.ɵɵpureFunction1(3, _c0$
|
|
34530
|
+
i0.ɵɵproperty("label", ctx_r0.formatMonthRange())("icon", i0.ɵɵpureFunction1(3, _c0$H, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
|
|
34455
34531
|
} }
|
|
34456
34532
|
function SeasonCardComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
34457
34533
|
i0.ɵɵelement(0, "symphiq-metric-badge", 13);
|
|
@@ -35268,7 +35344,7 @@ class SeasonCardComponent {
|
|
|
35268
35344
|
}] }); })();
|
|
35269
35345
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SeasonCardComponent, { className: "SeasonCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/season-card.component.ts", lineNumber: 270 }); })();
|
|
35270
35346
|
|
|
35271
|
-
const _c0$
|
|
35347
|
+
const _c0$G = a0 => ({ name: "currency-dollar", source: a0 });
|
|
35272
35348
|
const _c1$l = a0 => ({ name: "chart-bar", source: a0 });
|
|
35273
35349
|
const _c2$g = a0 => ({ name: "academic-cap", source: a0 });
|
|
35274
35350
|
const _c3$d = a0 => ({ name: "information-circle", source: a0 });
|
|
@@ -35413,7 +35489,7 @@ function CustomerSegmentCardComponent_Conditional_22_Template(rf, ctx) { if (rf
|
|
|
35413
35489
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
35414
35490
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedSectionClasses());
|
|
35415
35491
|
i0.ɵɵadvance();
|
|
35416
|
-
i0.ɵɵproperty("label", ctx_r0.formatPercentage(ctx_r0.item().percentageOfRevenue) + " of Revenue")("icon", i0.ɵɵpureFunction1(4, _c0$
|
|
35492
|
+
i0.ɵɵproperty("label", ctx_r0.formatPercentage(ctx_r0.item().percentageOfRevenue) + " of Revenue")("icon", i0.ɵɵpureFunction1(4, _c0$G, ctx_r0.IconSourceEnum.HEROICONS))("isDark", ctx_r0.isDark);
|
|
35417
35493
|
} }
|
|
35418
35494
|
function CustomerSegmentCardComponent_Conditional_23_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
35419
35495
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
@@ -36385,7 +36461,7 @@ class CustomerSegmentCardComponent {
|
|
|
36385
36461
|
}] }); })();
|
|
36386
36462
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CustomerSegmentCardComponent, { className: "CustomerSegmentCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/customer-segment-card.component.ts", lineNumber: 366 }); })();
|
|
36387
36463
|
|
|
36388
|
-
const _c0$
|
|
36464
|
+
const _c0$F = a0 => ({ name: "currency-dollar", source: a0 });
|
|
36389
36465
|
const _c1$k = a0 => ({ name: "document-text", source: a0 });
|
|
36390
36466
|
const _c2$f = a0 => ({ name: "academic-cap", source: a0 });
|
|
36391
36467
|
const _c3$c = a0 => ({ name: "information-circle", source: a0 });
|
|
@@ -36483,7 +36559,7 @@ function PriceTierCardComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
|
36483
36559
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
36484
36560
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedSectionClasses());
|
|
36485
36561
|
i0.ɵɵadvance(2);
|
|
36486
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$
|
|
36562
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$F, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
|
|
36487
36563
|
i0.ɵɵadvance();
|
|
36488
36564
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
|
|
36489
36565
|
i0.ɵɵadvance(2);
|
|
@@ -37222,7 +37298,7 @@ class PriceTierCardComponent {
|
|
|
37222
37298
|
}] }); })();
|
|
37223
37299
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PriceTierCardComponent, { className: "PriceTierCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/price-tier-card.component.ts", lineNumber: 261 }); })();
|
|
37224
37300
|
|
|
37225
|
-
const _c0$
|
|
37301
|
+
const _c0$E = () => ({ name: "cube", source: "HEROICONS" });
|
|
37226
37302
|
const _c1$j = () => ({ name: "currency-dollar", source: "HEROICONS" });
|
|
37227
37303
|
const _c2$e = () => ({ name: "chart-bar", source: "HEROICONS" });
|
|
37228
37304
|
const _c3$b = a0 => ({ name: "chart-bar", source: a0 });
|
|
@@ -37269,7 +37345,7 @@ function ProductCategoryCardComponent_Conditional_14_Conditional_2_Template(rf,
|
|
|
37269
37345
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
37270
37346
|
i0.ɵɵproperty("ngClass", ctx_r0.getStatBoxClasses());
|
|
37271
37347
|
i0.ɵɵadvance(2);
|
|
37272
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(6, _c0$
|
|
37348
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(6, _c0$E))("ngClass", ctx_r0.getStatIconClasses());
|
|
37273
37349
|
i0.ɵɵadvance(2);
|
|
37274
37350
|
i0.ɵɵproperty("ngClass", ctx_r0.getStatLabelClasses());
|
|
37275
37351
|
i0.ɵɵadvance(2);
|
|
@@ -38217,13 +38293,13 @@ class ProductCategoryCardComponent {
|
|
|
38217
38293
|
}] }); })();
|
|
38218
38294
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProductCategoryCardComponent, { className: "ProductCategoryCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/product-category-card.component.ts", lineNumber: 324 }); })();
|
|
38219
38295
|
|
|
38220
|
-
const _c0$
|
|
38296
|
+
const _c0$D = (a0, a1) => ({ name: a0, source: a1 });
|
|
38221
38297
|
function CompetitiveStrengthIndicatorComponent_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
38222
38298
|
i0.ɵɵelement(0, "symphiq-icon", 2);
|
|
38223
38299
|
} if (rf & 2) {
|
|
38224
38300
|
const star_r1 = ctx.$implicit;
|
|
38225
38301
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
38226
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(2, _c0$
|
|
38302
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(2, _c0$D, star_r1.filled ? "star" : "star", ctx_r1.iconSource))("ngClass", star_r1.filled ? ctx_r1.filledStarClasses() : ctx_r1.emptyStarClasses());
|
|
38227
38303
|
} }
|
|
38228
38304
|
class CompetitiveStrengthIndicatorComponent {
|
|
38229
38305
|
constructor() {
|
|
@@ -38379,7 +38455,7 @@ function getCategoryBadgeClasses(category, isDark) {
|
|
|
38379
38455
|
return `px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap ${colorClasses}`;
|
|
38380
38456
|
}
|
|
38381
38457
|
|
|
38382
|
-
const _c0$
|
|
38458
|
+
const _c0$C = a0 => ({ name: "shield-check", source: a0 });
|
|
38383
38459
|
const _c1$i = a0 => ({ name: "building-storefront", source: a0 });
|
|
38384
38460
|
const _c2$d = a0 => ({ name: "academic-cap", source: a0 });
|
|
38385
38461
|
const _c3$a = a0 => ({ name: "information-circle", source: a0 });
|
|
@@ -38451,7 +38527,7 @@ function EnhancedListItemCardComponent_Conditional_21_Template(rf, ctx) { if (rf
|
|
|
38451
38527
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
38452
38528
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedSectionClasses());
|
|
38453
38529
|
i0.ɵɵadvance(2);
|
|
38454
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$
|
|
38530
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(7, _c0$C, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
|
|
38455
38531
|
i0.ɵɵadvance();
|
|
38456
38532
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
|
|
38457
38533
|
i0.ɵɵadvance(2);
|
|
@@ -39095,7 +39171,7 @@ class EnhancedListItemCardComponent {
|
|
|
39095
39171
|
}] }); })();
|
|
39096
39172
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EnhancedListItemCardComponent, { className: "EnhancedListItemCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/enhanced-list-item-card.component.ts", lineNumber: 221 }); })();
|
|
39097
39173
|
|
|
39098
|
-
const _c0$
|
|
39174
|
+
const _c0$B = a0 => ({ name: "academic-cap", source: a0 });
|
|
39099
39175
|
const _c1$h = a0 => ({ name: "information-circle", source: a0 });
|
|
39100
39176
|
const _c2$c = a0 => ({ name: "signal", source: a0 });
|
|
39101
39177
|
const _c3$9 = a0 => ({ name: "wrench-screwdriver", source: a0 });
|
|
@@ -39176,7 +39252,7 @@ function FocusAreaDetailCardComponent_Conditional_16_Conditional_5_Template(rf,
|
|
|
39176
39252
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
39177
39253
|
i0.ɵɵproperty("ngClass", ctx_r0.getCompetitiveGapSectionClasses());
|
|
39178
39254
|
i0.ɵɵadvance(2);
|
|
39179
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$
|
|
39255
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$B, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.expandedIconClasses());
|
|
39180
39256
|
i0.ɵɵadvance();
|
|
39181
39257
|
i0.ɵɵproperty("ngClass", ctx_r0.expandedTitleClasses());
|
|
39182
39258
|
i0.ɵɵadvance(2);
|
|
@@ -40958,7 +41034,7 @@ class CompetitorAnalysisCardComponent {
|
|
|
40958
41034
|
}] }); })();
|
|
40959
41035
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorAnalysisCardComponent, { className: "CompetitorAnalysisCardComponent", filePath: "lib/components/business-analysis-dashboard/cards/competitor-analysis-card.component.ts", lineNumber: 312 }); })();
|
|
40960
41036
|
|
|
40961
|
-
const _c0$
|
|
41037
|
+
const _c0$A = ["*"];
|
|
40962
41038
|
class SkeletonCardBaseComponent {
|
|
40963
41039
|
constructor() {
|
|
40964
41040
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
@@ -40978,7 +41054,7 @@ class SkeletonCardBaseComponent {
|
|
|
40978
41054
|
`.trim();
|
|
40979
41055
|
}
|
|
40980
41056
|
static { this.ɵfac = function SkeletonCardBaseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SkeletonCardBaseComponent)(); }; }
|
|
40981
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkeletonCardBaseComponent, selectors: [["symphiq-skeleton-card-base"]], inputs: { viewMode: [1, "viewMode"] }, ngContentSelectors: _c0$
|
|
41057
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkeletonCardBaseComponent, selectors: [["symphiq-skeleton-card-base"]], inputs: { viewMode: [1, "viewMode"] }, ngContentSelectors: _c0$A, decls: 2, vars: 1, consts: [[1, "animate-pulse", 3, "ngClass"]], template: function SkeletonCardBaseComponent_Template(rf, ctx) { if (rf & 1) {
|
|
40982
41058
|
i0.ɵɵprojectionDef();
|
|
40983
41059
|
i0.ɵɵelementStart(0, "div", 0);
|
|
40984
41060
|
i0.ɵɵprojection(1);
|
|
@@ -42143,7 +42219,7 @@ class ProfileItemCardComponent {
|
|
|
42143
42219
|
}], null, { item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], subsectionId: [{ type: i0.Input, args: [{ isSignal: true, alias: "subsectionId", required: false }] }], forceExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "forceExpanded", required: false }] }], animationIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationIndex", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], inModalContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "inModalContext", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }] }); })();
|
|
42144
42220
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileItemCardComponent, { className: "ProfileItemCardComponent", filePath: "lib/components/business-analysis-dashboard/profile-item-card.component.ts", lineNumber: 171 }); })();
|
|
42145
42221
|
|
|
42146
|
-
const _c0$
|
|
42222
|
+
const _c0$z = ["scrollContainer"];
|
|
42147
42223
|
const _c1$g = a0 => ({ name: "arrow-right", source: a0 });
|
|
42148
42224
|
function ItemDetailModalComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
42149
42225
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
@@ -42263,7 +42339,7 @@ class ItemDetailModalComponent {
|
|
|
42263
42339
|
}
|
|
42264
42340
|
static { this.ɵfac = function ItemDetailModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ItemDetailModalComponent)(); }; }
|
|
42265
42341
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ItemDetailModalComponent, selectors: [["symphiq-item-detail-modal"]], viewQuery: function ItemDetailModalComponent_Query(rf, ctx) { if (rf & 1) {
|
|
42266
|
-
i0.ɵɵviewQuery(_c0$
|
|
42342
|
+
i0.ɵɵviewQuery(_c0$z, 5);
|
|
42267
42343
|
} if (rf & 2) {
|
|
42268
42344
|
let _t;
|
|
42269
42345
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollContainer = _t.first);
|
|
@@ -42342,7 +42418,7 @@ class ItemDetailModalComponent {
|
|
|
42342
42418
|
}] }); })();
|
|
42343
42419
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ItemDetailModalComponent, { className: "ItemDetailModalComponent", filePath: "lib/components/business-analysis-dashboard/modals/item-detail-modal.component.ts", lineNumber: 53 }); })();
|
|
42344
42420
|
|
|
42345
|
-
const _c0$
|
|
42421
|
+
const _c0$y = ["modalContent"];
|
|
42346
42422
|
const _c1$f = ["modalWrapper"];
|
|
42347
42423
|
const _c2$b = ["*"];
|
|
42348
42424
|
const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_3_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return lineChart_component; }).then(m => m.LineChartComponent)];
|
|
@@ -44637,7 +44713,7 @@ class ProfileAnalysisModalComponent {
|
|
|
44637
44713
|
}
|
|
44638
44714
|
static { this.ɵfac = function ProfileAnalysisModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ProfileAnalysisModalComponent)(); }; }
|
|
44639
44715
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProfileAnalysisModalComponent, selectors: [["symphiq-profile-analysis-modal"]], viewQuery: function ProfileAnalysisModalComponent_Query(rf, ctx) { if (rf & 1) {
|
|
44640
|
-
i0.ɵɵviewQuery(_c0$
|
|
44716
|
+
i0.ɵɵviewQuery(_c0$y, 5);
|
|
44641
44717
|
i0.ɵɵviewQuery(_c1$f, 5);
|
|
44642
44718
|
} if (rf & 2) {
|
|
44643
44719
|
let _t;
|
|
@@ -45192,7 +45268,7 @@ class ProfileAnalysisModalComponent {
|
|
|
45192
45268
|
}] }); }); })();
|
|
45193
45269
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileAnalysisModalComponent, { className: "ProfileAnalysisModalComponent", filePath: "lib/components/profile-analysis-dashboard/profile-analysis-modal.component.ts", lineNumber: 554 }); })();
|
|
45194
45270
|
|
|
45195
|
-
const _c0$
|
|
45271
|
+
const _c0$x = a0 => ({ name: "light-bulb", source: a0 });
|
|
45196
45272
|
const _c1$e = a0 => ({ name: "trophy", source: a0 });
|
|
45197
45273
|
const _c2$a = a0 => ({ name: "academic-cap", source: a0 });
|
|
45198
45274
|
const _c3$7 = a0 => ({ name: "signal", source: a0 });
|
|
@@ -45402,7 +45478,7 @@ class CompetitiveGapModalComponent {
|
|
|
45402
45478
|
i0.ɵɵadvance(2);
|
|
45403
45479
|
i0.ɵɵproperty("ngClass", ctx.iconContainerClasses());
|
|
45404
45480
|
i0.ɵɵadvance();
|
|
45405
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(12, _c0$
|
|
45481
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(12, _c0$x, ctx.iconSource));
|
|
45406
45482
|
i0.ɵɵadvance(3);
|
|
45407
45483
|
i0.ɵɵproperty("ngClass", ctx.titleClasses());
|
|
45408
45484
|
i0.ɵɵadvance();
|
|
@@ -45523,7 +45599,7 @@ class CompetitiveGapModalComponent {
|
|
|
45523
45599
|
}], null, { item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }] }); })();
|
|
45524
45600
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveGapModalComponent, { className: "CompetitiveGapModalComponent", filePath: "lib/components/business-analysis-dashboard/modals/competitive-gap-modal.component.ts", lineNumber: 101 }); })();
|
|
45525
45601
|
|
|
45526
|
-
const _c0$
|
|
45602
|
+
const _c0$w = a0 => ({ name: "list-bullet", source: a0 });
|
|
45527
45603
|
const _c1$d = a0 => ({ name: "arrow-right", source: a0 });
|
|
45528
45604
|
const _c2$9 = a0 => ({ name: "check-circle", source: a0 });
|
|
45529
45605
|
const _c3$6 = a0 => ({ name: "exclamation-circle", source: a0 });
|
|
@@ -45543,7 +45619,7 @@ function RecommendationActionStepsModalComponent_Conditional_1_Template(rf, ctx)
|
|
|
45543
45619
|
i0.ɵɵadvance();
|
|
45544
45620
|
i0.ɵɵproperty("ngClass", ctx_r0.iconContainerClasses());
|
|
45545
45621
|
i0.ɵɵadvance();
|
|
45546
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$
|
|
45622
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(5, _c0$w, ctx_r0.iconSource));
|
|
45547
45623
|
i0.ɵɵadvance(2);
|
|
45548
45624
|
i0.ɵɵproperty("ngClass", ctx_r0.titleClasses());
|
|
45549
45625
|
i0.ɵɵadvance(2);
|
|
@@ -45763,7 +45839,7 @@ class RecommendationActionStepsModalComponent {
|
|
|
45763
45839
|
}], null, { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], actionSteps: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionSteps", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
|
|
45764
45840
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RecommendationActionStepsModalComponent, { className: "RecommendationActionStepsModalComponent", filePath: "lib/components/business-analysis-dashboard/modals/recommendation-action-steps-modal.component.ts", lineNumber: 69 }); })();
|
|
45765
45841
|
|
|
45766
|
-
const _c0$
|
|
45842
|
+
const _c0$v = ["modalContent"];
|
|
45767
45843
|
const _c1$c = ["modalWrapper"];
|
|
45768
45844
|
function BusinessAnalysisModalComponent_Conditional_0_Conditional_10_For_6_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
45769
45845
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
@@ -46286,7 +46362,7 @@ class BusinessAnalysisModalComponent {
|
|
|
46286
46362
|
}
|
|
46287
46363
|
static { this.ɵfac = function BusinessAnalysisModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BusinessAnalysisModalComponent)(); }; }
|
|
46288
46364
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BusinessAnalysisModalComponent, selectors: [["symphiq-business-analysis-modal"]], viewQuery: function BusinessAnalysisModalComponent_Query(rf, ctx) { if (rf & 1) {
|
|
46289
|
-
i0.ɵɵviewQuery(_c0$
|
|
46365
|
+
i0.ɵɵviewQuery(_c0$v, 5);
|
|
46290
46366
|
i0.ɵɵviewQuery(_c1$c, 5);
|
|
46291
46367
|
} if (rf & 2) {
|
|
46292
46368
|
let _t;
|
|
@@ -46471,7 +46547,7 @@ class BusinessAnalysisModalComponent {
|
|
|
46471
46547
|
}] }); })();
|
|
46472
46548
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BusinessAnalysisModalComponent, { className: "BusinessAnalysisModalComponent", filePath: "lib/components/business-analysis-dashboard/business-analysis-modal.component.ts", lineNumber: 171 }); })();
|
|
46473
46549
|
|
|
46474
|
-
const _c0$
|
|
46550
|
+
const _c0$u = ["dashboardContainer"];
|
|
46475
46551
|
const _c1$b = () => ({});
|
|
46476
46552
|
const _c2$8 = () => [1, 2, 3, 4, 5, 6];
|
|
46477
46553
|
const _c3$5 = () => [1, 2, 3];
|
|
@@ -48732,7 +48808,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
48732
48808
|
static { this.ɵfac = function SymphiqFunnelAnalysisDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqFunnelAnalysisDashboardComponent)(i0.ɵɵdirectiveInject(FunnelOrderService), i0.ɵɵdirectiveInject(ViewModeService), i0.ɵɵdirectiveInject(SearchService), i0.ɵɵdirectiveInject(TooltipService), i0.ɵɵdirectiveInject(ProfileContextService), i0.ɵɵdirectiveInject(ProfileItemLookupService)); }; }
|
|
48733
48809
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqFunnelAnalysisDashboardComponent, selectors: [["symphiq-funnel-analysis-dashboard"]], viewQuery: function SymphiqFunnelAnalysisDashboardComponent_Query(rf, ctx) { if (rf & 1) {
|
|
48734
48810
|
i0.ɵɵviewQuery(ModalComponent, 5);
|
|
48735
|
-
i0.ɵɵviewQuery(_c0$
|
|
48811
|
+
i0.ɵɵviewQuery(_c0$u, 5);
|
|
48736
48812
|
} if (rf & 2) {
|
|
48737
48813
|
let _t;
|
|
48738
48814
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalComponent = _t.first);
|
|
@@ -52405,7 +52481,7 @@ class FocusAreaToolsModalComponent {
|
|
|
52405
52481
|
}] }); })();
|
|
52406
52482
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaToolsModalComponent, { className: "FocusAreaToolsModalComponent", filePath: "lib/components/create-account-dashboard/focus-area-tools-modal.component.ts", lineNumber: 149 }); })();
|
|
52407
52483
|
|
|
52408
|
-
const _c0$
|
|
52484
|
+
const _c0$t = ["shopNameInput"];
|
|
52409
52485
|
const _forTrack0$k = ($index, $item) => $item.focusAreaDomain;
|
|
52410
52486
|
function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
52411
52487
|
i0.ɵɵtext(0, " Shopify ");
|
|
@@ -53568,7 +53644,7 @@ class SymphiqCreateAccountDashboardComponent {
|
|
|
53568
53644
|
}
|
|
53569
53645
|
static { this.ɵfac = function SymphiqCreateAccountDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqCreateAccountDashboardComponent)(); }; }
|
|
53570
53646
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqCreateAccountDashboardComponent, selectors: [["symphiq-create-account-dashboard"]], viewQuery: function SymphiqCreateAccountDashboardComponent_Query(rf, ctx) { if (rf & 1) {
|
|
53571
|
-
i0.ɵɵviewQuery(_c0$
|
|
53647
|
+
i0.ɵɵviewQuery(_c0$t, 5);
|
|
53572
53648
|
} if (rf & 2) {
|
|
53573
53649
|
let _t;
|
|
53574
53650
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.shopNameInput = _t.first);
|
|
@@ -55402,7 +55478,7 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55402
55478
|
const isLoaded = this.isDataFullyLoaded();
|
|
55403
55479
|
const hasTargets = this.hasTargets();
|
|
55404
55480
|
if (!isLoaded) {
|
|
55405
|
-
return "We're currently downloading your Google Analytics 4 data to establish your baseline metrics. Once your data is loaded, you'll
|
|
55481
|
+
return "We're currently downloading your Google Analytics 4 data to establish your baseline metrics. Once your data is loaded, you'll set your target revenue for the year, and Symphiq will calculate the specific metric improvements needed to reach it. You can then adjust individual metrics to align with your team's capacity and strategic priorities.";
|
|
55406
55482
|
}
|
|
55407
55483
|
if (isLoaded && !hasTargets) {
|
|
55408
55484
|
return "Now that we have your data, it's time to set your revenue target for this year. Enter your desired revenue goal below, and we'll automatically calculate the required improvements for each funnel metric. This ensures your revenue targets are grounded in achievable, metric-level improvements.";
|
|
@@ -55486,12 +55562,12 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55486
55562
|
i0.ɵɵtext(8, " Welcome to Your Revenue Calculator ");
|
|
55487
55563
|
i0.ɵɵelementEnd();
|
|
55488
55564
|
i0.ɵɵelementStart(9, "div", 8)(10, "p", 9);
|
|
55489
|
-
i0.ɵɵtext(11, " The Revenue Calculator empowers you to
|
|
55565
|
+
i0.ɵɵtext(11, " The Revenue Calculator empowers you to achieve your revenue goals with precision. Start by setting your target revenue for the year, and Symphiq will automatically calculate the specific metric improvements needed across your funnel. You can then refine individual metric targets to match your team's capabilities and strategic focus. ");
|
|
55490
55566
|
i0.ɵɵelementEnd();
|
|
55491
55567
|
i0.ɵɵelementStart(12, "p", 9)(13, "strong", 10);
|
|
55492
55568
|
i0.ɵɵtext(14, "Why this matters:");
|
|
55493
55569
|
i0.ɵɵelementEnd();
|
|
55494
|
-
i0.ɵɵtext(15, "
|
|
55570
|
+
i0.ɵɵtext(15, " This approach bridges strategy and execution. By starting with your revenue ambition and translating it into specific, measurable metric targets, your team gains clarity on exactly what needs to improve. You maintain full control to adjust targets based on your resources, historical performance, and growth opportunities at each funnel stage. ");
|
|
55495
55571
|
i0.ɵɵelementEnd()();
|
|
55496
55572
|
i0.ɵɵelementStart(16, "div", 11);
|
|
55497
55573
|
i0.ɵɵnamespaceSVG();
|
|
@@ -55509,9 +55585,9 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55509
55585
|
i0.ɵɵelementEnd();
|
|
55510
55586
|
i0.ɵɵnamespaceHTML();
|
|
55511
55587
|
i0.ɵɵelementStart(26, "span")(27, "strong", 10);
|
|
55512
|
-
i0.ɵɵtext(28, "
|
|
55588
|
+
i0.ɵɵtext(28, "Revenue Target Input");
|
|
55513
55589
|
i0.ɵɵelementEnd();
|
|
55514
|
-
i0.ɵɵtext(29, " \u2014 Set
|
|
55590
|
+
i0.ɵɵtext(29, " \u2014 Set your desired revenue goal for the year, either as an absolute amount or percentage increase");
|
|
55515
55591
|
i0.ɵɵelementEnd()();
|
|
55516
55592
|
i0.ɵɵelementStart(30, "li", 16);
|
|
55517
55593
|
i0.ɵɵnamespaceSVG();
|
|
@@ -55520,9 +55596,9 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55520
55596
|
i0.ɵɵelementEnd();
|
|
55521
55597
|
i0.ɵɵnamespaceHTML();
|
|
55522
55598
|
i0.ɵɵelementStart(33, "span")(34, "strong", 10);
|
|
55523
|
-
i0.ɵɵtext(35, "
|
|
55599
|
+
i0.ɵɵtext(35, "Automatic Metric Distribution");
|
|
55524
55600
|
i0.ɵɵelementEnd();
|
|
55525
|
-
i0.ɵɵtext(36, " \u2014 See
|
|
55601
|
+
i0.ɵɵtext(36, " \u2014 See calculated metric improvements needed across your funnel to achieve your revenue target");
|
|
55526
55602
|
i0.ɵɵelementEnd()();
|
|
55527
55603
|
i0.ɵɵelementStart(37, "li", 16);
|
|
55528
55604
|
i0.ɵɵnamespaceSVG();
|
|
@@ -55531,9 +55607,9 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55531
55607
|
i0.ɵɵelementEnd();
|
|
55532
55608
|
i0.ɵɵnamespaceHTML();
|
|
55533
55609
|
i0.ɵɵelementStart(40, "span")(41, "strong", 10);
|
|
55534
|
-
i0.ɵɵtext(42, "
|
|
55610
|
+
i0.ɵɵtext(42, "Target Refinement Controls");
|
|
55535
55611
|
i0.ɵɵelementEnd();
|
|
55536
|
-
i0.ɵɵtext(43, " \u2014
|
|
55612
|
+
i0.ɵɵtext(43, " \u2014 Adjust individual metric targets to align with your team's capacity and strategic priorities");
|
|
55537
55613
|
i0.ɵɵelementEnd()()()()();
|
|
55538
55614
|
i0.ɵɵelementStart(44, "div", 19);
|
|
55539
55615
|
i0.ɵɵnamespaceSVG();
|
|
@@ -55604,10 +55680,10 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55604
55680
|
<!-- Description (full width, no confidence card) -->
|
|
55605
55681
|
<div class="space-y-3 mb-6">
|
|
55606
55682
|
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
55607
|
-
The Revenue Calculator empowers you to
|
|
55683
|
+
The Revenue Calculator empowers you to achieve your revenue goals with precision. Start by setting your target revenue for the year, and Symphiq will automatically calculate the specific metric improvements needed across your funnel. You can then refine individual metric targets to match your team's capabilities and strategic focus.
|
|
55608
55684
|
</p>
|
|
55609
55685
|
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
55610
|
-
<strong class="font-semibold">Why this matters:</strong>
|
|
55686
|
+
<strong class="font-semibold">Why this matters:</strong> This approach bridges strategy and execution. By starting with your revenue ambition and translating it into specific, measurable metric targets, your team gains clarity on exactly what needs to improve. You maintain full control to adjust targets based on your resources, historical performance, and growth opportunities at each funnel stage.
|
|
55611
55687
|
</p>
|
|
55612
55688
|
</div>
|
|
55613
55689
|
|
|
@@ -55624,19 +55700,19 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55624
55700
|
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55625
55701
|
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
|
|
55626
55702
|
</svg>
|
|
55627
|
-
<span><strong class="font-semibold">
|
|
55703
|
+
<span><strong class="font-semibold">Revenue Target Input</strong> — Set your desired revenue goal for the year, either as an absolute amount or percentage increase</span>
|
|
55628
55704
|
</li>
|
|
55629
55705
|
<li class="flex items-start gap-2">
|
|
55630
55706
|
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55631
55707
|
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
|
|
55632
55708
|
</svg>
|
|
55633
|
-
<span><strong class="font-semibold">
|
|
55709
|
+
<span><strong class="font-semibold">Automatic Metric Distribution</strong> — See calculated metric improvements needed across your funnel to achieve your revenue target</span>
|
|
55634
55710
|
</li>
|
|
55635
55711
|
<li class="flex items-start gap-2">
|
|
55636
55712
|
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55637
55713
|
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
|
|
55638
55714
|
</svg>
|
|
55639
|
-
<span><strong class="font-semibold">
|
|
55715
|
+
<span><strong class="font-semibold">Target Refinement Controls</strong> — Adjust individual metric targets to align with your team's capacity and strategic priorities</span>
|
|
55640
55716
|
</li>
|
|
55641
55717
|
</ul>
|
|
55642
55718
|
</div>
|
|
@@ -55918,18 +55994,29 @@ class PacingStatusBadgeComponent {
|
|
|
55918
55994
|
|
|
55919
55995
|
const _forTrack0$i = ($index, $item) => $item.stageMetric.metric;
|
|
55920
55996
|
const _forTrack1$3 = ($index, $item) => $item.calc.metric;
|
|
55997
|
+
function FunnelMetricsVisualizationComponent_For_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
55998
|
+
i0.ɵɵelementStart(0, "button", 7);
|
|
55999
|
+
i0.ɵɵnamespaceSVG();
|
|
56000
|
+
i0.ɵɵelementStart(1, "svg", 14);
|
|
56001
|
+
i0.ɵɵelement(2, "path", 15);
|
|
56002
|
+
i0.ɵɵelementEnd()();
|
|
56003
|
+
} if (rf & 2) {
|
|
56004
|
+
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
56005
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
56006
|
+
i0.ɵɵproperty("ngClass", ctx_r1.infoIconClasses())("libSymphiqTooltip", ctx_r1.getMarkdownTooltipContent(stage_r1.stageMetric.description, ctx_r1.getMetricTitle(stage_r1.stageMetric)))("tooltipPosition", "right");
|
|
56007
|
+
} }
|
|
55921
56008
|
function FunnelMetricsVisualizationComponent_For_3_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
55922
|
-
i0.ɵɵelement(0, "symphiq-pacing-status-badge",
|
|
56009
|
+
i0.ɵɵelement(0, "symphiq-pacing-status-badge", 9);
|
|
55923
56010
|
} if (rf & 2) {
|
|
55924
56011
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
55925
56012
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
55926
56013
|
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", stage_r1.pacingInfo.pacingPercentage)("status", stage_r1.pacingInfo.status);
|
|
55927
56014
|
} }
|
|
55928
56015
|
function FunnelMetricsVisualizationComponent_For_3_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
55929
|
-
i0.ɵɵelementStart(0, "div")(1, "p",
|
|
56016
|
+
i0.ɵɵelementStart(0, "div")(1, "p", 12);
|
|
55930
56017
|
i0.ɵɵtext(2);
|
|
55931
56018
|
i0.ɵɵelementEnd();
|
|
55932
|
-
i0.ɵɵelementStart(3, "p",
|
|
56019
|
+
i0.ɵɵelementStart(3, "p", 13);
|
|
55933
56020
|
i0.ɵɵtext(4);
|
|
55934
56021
|
i0.ɵɵelementEnd()();
|
|
55935
56022
|
} if (rf & 2) {
|
|
@@ -55945,14 +56032,14 @@ function FunnelMetricsVisualizationComponent_For_3_Conditional_17_Template(rf, c
|
|
|
55945
56032
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(stage_r1.pacingInfo.projectedValue, stage_r1.stageMetric.metric), " ");
|
|
55946
56033
|
} }
|
|
55947
56034
|
function FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
55948
|
-
i0.ɵɵelement(0, "symphiq-pacing-status-badge",
|
|
56035
|
+
i0.ɵɵelement(0, "symphiq-pacing-status-badge", 9);
|
|
55949
56036
|
} if (rf & 2) {
|
|
55950
56037
|
const metric_r3 = i0.ɵɵnextContext().$implicit;
|
|
55951
56038
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
55952
56039
|
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", metric_r3.pacingInfo.pacingPercentage)("status", metric_r3.pacingInfo.status);
|
|
55953
56040
|
} }
|
|
55954
56041
|
function FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
55955
|
-
i0.ɵɵelementStart(0, "div")(1, "p",
|
|
56042
|
+
i0.ɵɵelementStart(0, "div")(1, "p", 26);
|
|
55956
56043
|
i0.ɵɵtext(2);
|
|
55957
56044
|
i0.ɵɵelementEnd()();
|
|
55958
56045
|
} if (rf & 2) {
|
|
@@ -55964,19 +56051,19 @@ function FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditio
|
|
|
55964
56051
|
i0.ɵɵtextInterpolate1("Proj: ", ctx_r1.formatMetricValue(metric_r3.pacingInfo.projectedValue, metric_r3.calc.metric));
|
|
55965
56052
|
} }
|
|
55966
56053
|
function FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
55967
|
-
i0.ɵɵelementStart(0, "div",
|
|
56054
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "div", 21)(2, "p", 22);
|
|
55968
56055
|
i0.ɵɵtext(3);
|
|
55969
56056
|
i0.ɵɵelementEnd();
|
|
55970
|
-
i0.ɵɵelementStart(4, "div",
|
|
55971
|
-
i0.ɵɵconditionalCreate(5, FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditional_5_Template, 1, 3, "symphiq-pacing-status-badge",
|
|
55972
|
-
i0.ɵɵelementStart(6, "span",
|
|
56057
|
+
i0.ɵɵelementStart(4, "div", 23);
|
|
56058
|
+
i0.ɵɵconditionalCreate(5, FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditional_5_Template, 1, 3, "symphiq-pacing-status-badge", 9);
|
|
56059
|
+
i0.ɵɵelementStart(6, "span", 24);
|
|
55973
56060
|
i0.ɵɵtext(7);
|
|
55974
56061
|
i0.ɵɵelementEnd()()();
|
|
55975
|
-
i0.ɵɵelementStart(8, "div",
|
|
56062
|
+
i0.ɵɵelementStart(8, "div", 25)(9, "div")(10, "p", 26);
|
|
55976
56063
|
i0.ɵɵtext(11);
|
|
55977
56064
|
i0.ɵɵelementEnd()();
|
|
55978
56065
|
i0.ɵɵconditionalCreate(12, FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditional_12_Template, 3, 2, "div");
|
|
55979
|
-
i0.ɵɵelementStart(13, "div")(14, "p",
|
|
56066
|
+
i0.ɵɵelementStart(13, "div")(14, "p", 26);
|
|
55980
56067
|
i0.ɵɵtext(15);
|
|
55981
56068
|
i0.ɵɵelementEnd()()()();
|
|
55982
56069
|
} if (rf & 2) {
|
|
@@ -56007,12 +56094,12 @@ function FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Template
|
|
|
56007
56094
|
i0.ɵɵtextInterpolate1("Target: ", ctx_r1.formatMetricValue(metric_r3.calc.targetValue, metric_r3.calc.metric));
|
|
56008
56095
|
} }
|
|
56009
56096
|
function FunnelMetricsVisualizationComponent_For_3_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
56010
|
-
i0.ɵɵelement(0, "div",
|
|
56011
|
-
i0.ɵɵelementStart(1, "div",
|
|
56097
|
+
i0.ɵɵelement(0, "div", 16);
|
|
56098
|
+
i0.ɵɵelementStart(1, "div", 17)(2, "p", 18);
|
|
56012
56099
|
i0.ɵɵtext(3, " Related Metrics ");
|
|
56013
56100
|
i0.ɵɵelementEnd();
|
|
56014
|
-
i0.ɵɵelementStart(4, "div",
|
|
56015
|
-
i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Template, 16, 13, "div",
|
|
56101
|
+
i0.ɵɵelementStart(4, "div", 19);
|
|
56102
|
+
i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Template, 16, 13, "div", 20, _forTrack1$3);
|
|
56016
56103
|
i0.ɵɵelementEnd()();
|
|
56017
56104
|
} if (rf & 2) {
|
|
56018
56105
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
@@ -56024,28 +56111,27 @@ function FunnelMetricsVisualizationComponent_For_3_Conditional_23_Template(rf, c
|
|
|
56024
56111
|
i0.ɵɵrepeater(stage_r1.relatedMetrics);
|
|
56025
56112
|
} }
|
|
56026
56113
|
function FunnelMetricsVisualizationComponent_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
56027
|
-
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "
|
|
56028
|
-
i0.ɵɵtext(
|
|
56114
|
+
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "div", 5)(4, "h3", 6);
|
|
56115
|
+
i0.ɵɵtext(5);
|
|
56029
56116
|
i0.ɵɵelementEnd();
|
|
56030
|
-
i0.ɵɵ
|
|
56031
|
-
i0.ɵɵtext(6);
|
|
56117
|
+
i0.ɵɵconditionalCreate(6, FunnelMetricsVisualizationComponent_For_3_Conditional_6_Template, 3, 3, "button", 7);
|
|
56032
56118
|
i0.ɵɵelementEnd()();
|
|
56033
|
-
i0.ɵɵelementStart(7, "div",
|
|
56034
|
-
i0.ɵɵconditionalCreate(8, FunnelMetricsVisualizationComponent_For_3_Conditional_8_Template, 1, 3, "symphiq-pacing-status-badge",
|
|
56035
|
-
i0.ɵɵelementStart(9, "div",
|
|
56119
|
+
i0.ɵɵelementStart(7, "div", 8);
|
|
56120
|
+
i0.ɵɵconditionalCreate(8, FunnelMetricsVisualizationComponent_For_3_Conditional_8_Template, 1, 3, "symphiq-pacing-status-badge", 9);
|
|
56121
|
+
i0.ɵɵelementStart(9, "div", 10);
|
|
56036
56122
|
i0.ɵɵtext(10);
|
|
56037
56123
|
i0.ɵɵelementEnd()()();
|
|
56038
|
-
i0.ɵɵelementStart(11, "div",
|
|
56124
|
+
i0.ɵɵelementStart(11, "div", 11)(12, "div")(13, "p", 12);
|
|
56039
56125
|
i0.ɵɵtext(14);
|
|
56040
56126
|
i0.ɵɵelementEnd();
|
|
56041
|
-
i0.ɵɵelementStart(15, "p",
|
|
56127
|
+
i0.ɵɵelementStart(15, "p", 13);
|
|
56042
56128
|
i0.ɵɵtext(16);
|
|
56043
56129
|
i0.ɵɵelementEnd()();
|
|
56044
56130
|
i0.ɵɵconditionalCreate(17, FunnelMetricsVisualizationComponent_For_3_Conditional_17_Template, 5, 4, "div");
|
|
56045
|
-
i0.ɵɵelementStart(18, "div")(19, "p",
|
|
56131
|
+
i0.ɵɵelementStart(18, "div")(19, "p", 12);
|
|
56046
56132
|
i0.ɵɵtext(20);
|
|
56047
56133
|
i0.ɵɵelementEnd();
|
|
56048
|
-
i0.ɵɵelementStart(21, "p",
|
|
56134
|
+
i0.ɵɵelementStart(21, "p", 13);
|
|
56049
56135
|
i0.ɵɵtext(22);
|
|
56050
56136
|
i0.ɵɵelementEnd()()();
|
|
56051
56137
|
i0.ɵɵconditionalCreate(23, FunnelMetricsVisualizationComponent_For_3_Conditional_23_Template, 7, 2);
|
|
@@ -56054,14 +56140,12 @@ function FunnelMetricsVisualizationComponent_For_3_Template(rf, ctx) { if (rf &
|
|
|
56054
56140
|
const stage_r1 = ctx.$implicit;
|
|
56055
56141
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
56056
56142
|
i0.ɵɵproperty("ngClass", ctx_r1.stageCardClasses());
|
|
56057
|
-
i0.ɵɵadvance(
|
|
56143
|
+
i0.ɵɵadvance(4);
|
|
56058
56144
|
i0.ɵɵproperty("ngClass", ctx_r1.stageTitleClasses());
|
|
56059
56145
|
i0.ɵɵadvance();
|
|
56060
56146
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.getMetricTitle(stage_r1.stageMetric), " ");
|
|
56061
56147
|
i0.ɵɵadvance();
|
|
56062
|
-
i0.ɵɵ
|
|
56063
|
-
i0.ɵɵadvance();
|
|
56064
|
-
i0.ɵɵtextInterpolate1(" ", stage_r1.stageMetric.description, " ");
|
|
56148
|
+
i0.ɵɵconditional(stage_r1.stageMetric.description ? 6 : -1);
|
|
56065
56149
|
i0.ɵɵadvance(2);
|
|
56066
56150
|
i0.ɵɵconditional(stage_r1.pacingInfo ? 8 : -1);
|
|
56067
56151
|
i0.ɵɵadvance();
|
|
@@ -56215,133 +56299,153 @@ class FunnelMetricsVisualizationComponent {
|
|
|
56215
56299
|
.map(word => word.charAt(0) + word.slice(1).toLowerCase())
|
|
56216
56300
|
.join(' ');
|
|
56217
56301
|
}
|
|
56302
|
+
infoIconClasses() {
|
|
56303
|
+
return this.viewMode() === ViewModeEnum.DARK
|
|
56304
|
+
? 'bg-slate-700/50 text-slate-400 hover:bg-slate-600/50 hover:text-slate-300'
|
|
56305
|
+
: 'bg-slate-100 text-slate-500 hover:bg-slate-200 hover:text-slate-700';
|
|
56306
|
+
}
|
|
56307
|
+
getMarkdownTooltipContent(markdown, title) {
|
|
56308
|
+
return { title, markdown };
|
|
56309
|
+
}
|
|
56218
56310
|
static { this.ɵfac = function FunnelMetricsVisualizationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FunnelMetricsVisualizationComponent)(); }; }
|
|
56219
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelMetricsVisualizationComponent, selectors: [["symphiq-funnel-metrics-visualization"]], inputs: { viewMode: [1, "viewMode"], calculations: [1, "calculations"], pacingMetrics: [1, "pacingMetrics"] }, decls: 4, vars: 0, consts: [[1, "space-y-6"], [1, "space-y-3"], [1, "rounded-xl", "p-6", "border-2", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-4"], [1, "flex-1"], [1, "
|
|
56311
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelMetricsVisualizationComponent, selectors: [["symphiq-funnel-metrics-visualization"]], inputs: { viewMode: [1, "viewMode"], calculations: [1, "calculations"], pacingMetrics: [1, "pacingMetrics"] }, decls: 4, vars: 0, consts: [[1, "space-y-6"], [1, "space-y-3"], [1, "rounded-xl", "p-6", "border-2", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-4"], [1, "flex-1"], [1, "flex", "items-center", "gap-2", "mb-1"], [1, "text-lg", "font-bold", 3, "ngClass"], ["type", "button", "tooltipType", "markdown", 1, "flex-shrink-0", "w-5", "h-5", "rounded-full", "flex", "items-center", "justify-center", "transition-colors", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "flex", "items-center", "gap-3"], [3, "viewMode", "pacingPercentage", "status"], [1, "px-4", "py-2", "rounded-lg", "font-bold", "text-sm", 3, "ngClass"], [1, "grid", "grid-cols-3", "gap-4", "mb-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "my-4", 3, "ngClass"], [1, "space-y-2"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-3", 3, "ngClass"], [1, "grid", "gap-2"], [1, "p-3", "rounded-lg", 3, "ngClass"], [1, "flex", "items-center", "justify-between", "mb-2"], [1, "text-sm", "font-semibold", "flex-1", 3, "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "px-2", "py-1", "rounded", "text-xs", "font-bold", 3, "ngClass"], [1, "grid", "gap-2", "text-xs", 3, "ngClass"], [3, "ngClass"]], template: function FunnelMetricsVisualizationComponent_Template(rf, ctx) { if (rf & 1) {
|
|
56220
56312
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
|
|
56221
|
-
i0.ɵɵrepeaterCreate(2, FunnelMetricsVisualizationComponent_For_3_Template, 24,
|
|
56313
|
+
i0.ɵɵrepeaterCreate(2, FunnelMetricsVisualizationComponent_For_3_Template, 24, 17, "div", 2, _forTrack0$i);
|
|
56222
56314
|
i0.ɵɵelementEnd()();
|
|
56223
56315
|
} if (rf & 2) {
|
|
56224
56316
|
i0.ɵɵadvance(2);
|
|
56225
56317
|
i0.ɵɵrepeater(ctx.funnelStages());
|
|
56226
|
-
} }, dependencies: [CommonModule, i1$1.NgClass, PacingStatusBadgeComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
56318
|
+
} }, dependencies: [CommonModule, i1$1.NgClass, PacingStatusBadgeComponent, TooltipDirective], encapsulation: 2, changeDetection: 0 }); }
|
|
56227
56319
|
}
|
|
56228
56320
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FunnelMetricsVisualizationComponent, [{
|
|
56229
56321
|
type: Component,
|
|
56230
56322
|
args: [{
|
|
56231
56323
|
selector: 'symphiq-funnel-metrics-visualization',
|
|
56232
56324
|
standalone: true,
|
|
56233
|
-
imports: [CommonModule, PacingStatusBadgeComponent],
|
|
56325
|
+
imports: [CommonModule, PacingStatusBadgeComponent, TooltipDirective],
|
|
56234
56326
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
56235
|
-
template: `
|
|
56236
|
-
<div class="space-y-6">
|
|
56237
|
-
<div class="space-y-3">
|
|
56238
|
-
@for (stage of funnelStages(); track stage.stageMetric.metric) {
|
|
56239
|
-
<div [ngClass]="stageCardClasses()" class="rounded-xl p-6 border-2 transition-all duration-200">
|
|
56240
|
-
<div class="flex items-start justify-between mb-4">
|
|
56241
|
-
<div class="flex-1">
|
|
56242
|
-
<
|
|
56243
|
-
|
|
56244
|
-
|
|
56245
|
-
|
|
56246
|
-
|
|
56247
|
-
|
|
56248
|
-
|
|
56249
|
-
|
|
56250
|
-
|
|
56251
|
-
|
|
56252
|
-
|
|
56253
|
-
|
|
56254
|
-
|
|
56255
|
-
|
|
56256
|
-
|
|
56257
|
-
|
|
56258
|
-
|
|
56259
|
-
</div>
|
|
56260
|
-
</div>
|
|
56261
|
-
|
|
56262
|
-
|
|
56263
|
-
|
|
56264
|
-
|
|
56265
|
-
|
|
56266
|
-
|
|
56267
|
-
|
|
56268
|
-
|
|
56269
|
-
|
|
56270
|
-
|
|
56271
|
-
|
|
56272
|
-
|
|
56273
|
-
|
|
56274
|
-
|
|
56275
|
-
|
|
56276
|
-
|
|
56277
|
-
|
|
56278
|
-
|
|
56279
|
-
|
|
56280
|
-
|
|
56281
|
-
|
|
56282
|
-
|
|
56283
|
-
|
|
56284
|
-
|
|
56285
|
-
|
|
56286
|
-
|
|
56287
|
-
|
|
56288
|
-
|
|
56289
|
-
|
|
56290
|
-
|
|
56291
|
-
|
|
56292
|
-
|
|
56293
|
-
|
|
56294
|
-
|
|
56295
|
-
|
|
56296
|
-
|
|
56297
|
-
|
|
56298
|
-
|
|
56299
|
-
|
|
56300
|
-
|
|
56301
|
-
|
|
56302
|
-
|
|
56303
|
-
|
|
56304
|
-
|
|
56305
|
-
|
|
56306
|
-
|
|
56307
|
-
|
|
56308
|
-
|
|
56309
|
-
|
|
56310
|
-
|
|
56311
|
-
|
|
56312
|
-
|
|
56313
|
-
|
|
56314
|
-
|
|
56315
|
-
|
|
56316
|
-
|
|
56317
|
-
</
|
|
56318
|
-
|
|
56319
|
-
|
|
56320
|
-
|
|
56321
|
-
|
|
56322
|
-
|
|
56323
|
-
|
|
56324
|
-
|
|
56325
|
-
|
|
56326
|
-
|
|
56327
|
-
|
|
56328
|
-
|
|
56329
|
-
|
|
56330
|
-
|
|
56331
|
-
|
|
56332
|
-
|
|
56333
|
-
|
|
56334
|
-
|
|
56335
|
-
|
|
56336
|
-
|
|
56337
|
-
|
|
56338
|
-
|
|
56339
|
-
|
|
56340
|
-
|
|
56327
|
+
template: `
|
|
56328
|
+
<div class="space-y-6">
|
|
56329
|
+
<div class="space-y-3">
|
|
56330
|
+
@for (stage of funnelStages(); track stage.stageMetric.metric) {
|
|
56331
|
+
<div [ngClass]="stageCardClasses()" class="rounded-xl p-6 border-2 transition-all duration-200">
|
|
56332
|
+
<div class="flex items-start justify-between mb-4">
|
|
56333
|
+
<div class="flex-1">
|
|
56334
|
+
<div class="flex items-center gap-2 mb-1">
|
|
56335
|
+
<h3 [ngClass]="stageTitleClasses()" class="text-lg font-bold">
|
|
56336
|
+
{{ getMetricTitle(stage.stageMetric) }}
|
|
56337
|
+
</h3>
|
|
56338
|
+
@if (stage.stageMetric.description) {
|
|
56339
|
+
<button
|
|
56340
|
+
type="button"
|
|
56341
|
+
[ngClass]="infoIconClasses()"
|
|
56342
|
+
class="flex-shrink-0 w-5 h-5 rounded-full flex items-center justify-center transition-colors"
|
|
56343
|
+
[libSymphiqTooltip]="getMarkdownTooltipContent(stage.stageMetric.description, getMetricTitle(stage.stageMetric))"
|
|
56344
|
+
tooltipType="markdown"
|
|
56345
|
+
[tooltipPosition]="'right'">
|
|
56346
|
+
<svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
56347
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
56348
|
+
</svg>
|
|
56349
|
+
</button>
|
|
56350
|
+
}
|
|
56351
|
+
</div>
|
|
56352
|
+
</div>
|
|
56353
|
+
<div class="flex items-center gap-3">
|
|
56354
|
+
@if (stage.pacingInfo) {
|
|
56355
|
+
<symphiq-pacing-status-badge
|
|
56356
|
+
[viewMode]="viewMode()"
|
|
56357
|
+
[pacingPercentage]="stage.pacingInfo.pacingPercentage"
|
|
56358
|
+
[status]="stage.pacingInfo.status"
|
|
56359
|
+
/>
|
|
56360
|
+
}
|
|
56361
|
+
<div [ngClass]="percentageBadgeClasses()" class="px-4 py-2 rounded-lg font-bold text-sm">
|
|
56362
|
+
+{{ formatPercentage(stage.stageMetric.percentageIncrease, 1) }}
|
|
56363
|
+
</div>
|
|
56364
|
+
</div>
|
|
56365
|
+
</div>
|
|
56366
|
+
|
|
56367
|
+
<div class="grid grid-cols-3 gap-4 mb-4">
|
|
56368
|
+
<div>
|
|
56369
|
+
<p [ngClass]="labelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
56370
|
+
{{ priorYear() }} Actual
|
|
56371
|
+
</p>
|
|
56372
|
+
<p [ngClass]="valueClasses()" class="text-2xl font-bold">
|
|
56373
|
+
{{ formatMetricValue(stage.stageMetric.currentValue, stage.stageMetric.metric) }}
|
|
56374
|
+
</p>
|
|
56375
|
+
</div>
|
|
56376
|
+
@if (stage.pacingInfo) {
|
|
56377
|
+
<div>
|
|
56378
|
+
<p [ngClass]="labelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
56379
|
+
{{ currentYear() }} Projected
|
|
56380
|
+
</p>
|
|
56381
|
+
<p [ngClass]="projectedValueClasses()" class="text-2xl font-bold">
|
|
56382
|
+
{{ formatMetricValue(stage.pacingInfo.projectedValue, stage.stageMetric.metric) }}
|
|
56383
|
+
</p>
|
|
56384
|
+
</div>
|
|
56385
|
+
}
|
|
56386
|
+
<div>
|
|
56387
|
+
<p [ngClass]="labelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
56388
|
+
{{ currentYear() }} Target
|
|
56389
|
+
</p>
|
|
56390
|
+
<p [ngClass]="targetValueClasses()" class="text-2xl font-bold">
|
|
56391
|
+
{{ formatMetricValue(stage.stageMetric.targetValue, stage.stageMetric.metric) }}
|
|
56392
|
+
</p>
|
|
56393
|
+
</div>
|
|
56394
|
+
</div>
|
|
56395
|
+
|
|
56396
|
+
@if (stage.relatedMetrics.length > 0) {
|
|
56397
|
+
<div [ngClass]="dividerClasses()" class="my-4"></div>
|
|
56398
|
+
|
|
56399
|
+
<div class="space-y-2">
|
|
56400
|
+
<p [ngClass]="relatedTitleClasses()" class="text-xs font-semibold uppercase tracking-wider mb-3">
|
|
56401
|
+
Related Metrics
|
|
56402
|
+
</p>
|
|
56403
|
+
<div class="grid gap-2">
|
|
56404
|
+
@for (metric of stage.relatedMetrics; track metric.calc.metric) {
|
|
56405
|
+
<div [ngClass]="relatedMetricCardClasses()" class="p-3 rounded-lg">
|
|
56406
|
+
<div class="flex items-center justify-between mb-2">
|
|
56407
|
+
<p [ngClass]="relatedMetricNameClasses()" class="text-sm font-semibold flex-1">
|
|
56408
|
+
{{ getMetricTitle(metric.calc) }}
|
|
56409
|
+
</p>
|
|
56410
|
+
<div class="flex items-center gap-2">
|
|
56411
|
+
@if (metric.pacingInfo) {
|
|
56412
|
+
<symphiq-pacing-status-badge
|
|
56413
|
+
[viewMode]="viewMode()"
|
|
56414
|
+
[pacingPercentage]="metric.pacingInfo.pacingPercentage"
|
|
56415
|
+
[status]="metric.pacingInfo.status"
|
|
56416
|
+
/>
|
|
56417
|
+
}
|
|
56418
|
+
<span [ngClass]="relatedPercentageBadgeClasses()" class="px-2 py-1 rounded text-xs font-bold">
|
|
56419
|
+
+{{ formatPercentage(metric.calc.percentageIncrease, 1) }}
|
|
56420
|
+
</span>
|
|
56421
|
+
</div>
|
|
56422
|
+
</div>
|
|
56423
|
+
<div class="grid gap-2 text-xs" [ngClass]="metric.pacingInfo ? 'grid-cols-3' : 'grid-cols-2'">
|
|
56424
|
+
<div>
|
|
56425
|
+
<p [ngClass]="relatedLabelClasses()">{{ priorYear() }}: {{ formatMetricValue(metric.calc.currentValue, metric.calc.metric) }}</p>
|
|
56426
|
+
</div>
|
|
56427
|
+
@if (metric.pacingInfo) {
|
|
56428
|
+
<div>
|
|
56429
|
+
<p [ngClass]="relatedLabelClasses()">Proj: {{ formatMetricValue(metric.pacingInfo.projectedValue, metric.calc.metric) }}</p>
|
|
56430
|
+
</div>
|
|
56431
|
+
}
|
|
56432
|
+
<div>
|
|
56433
|
+
<p [ngClass]="relatedLabelClasses()">Target: {{ formatMetricValue(metric.calc.targetValue, metric.calc.metric) }}</p>
|
|
56434
|
+
</div>
|
|
56435
|
+
</div>
|
|
56436
|
+
</div>
|
|
56437
|
+
}
|
|
56438
|
+
</div>
|
|
56439
|
+
</div>
|
|
56440
|
+
}
|
|
56441
|
+
</div>
|
|
56442
|
+
}
|
|
56443
|
+
</div>
|
|
56444
|
+
</div>
|
|
56341
56445
|
`
|
|
56342
56446
|
}]
|
|
56343
56447
|
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], calculations: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculations", required: false }] }], pacingMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingMetrics", required: false }] }] }); })();
|
|
56344
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber:
|
|
56448
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 135 }); })();
|
|
56345
56449
|
|
|
56346
56450
|
function StickySubmitBarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
56347
56451
|
i0.ɵɵelementStart(0, "div", 4);
|
|
@@ -56792,7 +56896,7 @@ class ChartValueFormatter {
|
|
|
56792
56896
|
}
|
|
56793
56897
|
}
|
|
56794
56898
|
|
|
56795
|
-
const _c0$
|
|
56899
|
+
const _c0$s = ["chartdiv"];
|
|
56796
56900
|
class AreaChartComponent {
|
|
56797
56901
|
constructor() {
|
|
56798
56902
|
this.chart = input({}, ...(ngDevMode ? [{ debugName: "chart" }] : []));
|
|
@@ -57100,7 +57204,7 @@ class AreaChartComponent {
|
|
|
57100
57204
|
}
|
|
57101
57205
|
static { this.ɵfac = function AreaChartComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AreaChartComponent)(); }; }
|
|
57102
57206
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AreaChartComponent, selectors: [["symphiq-area-chart"]], viewQuery: function AreaChartComponent_Query(rf, ctx) { if (rf & 1) {
|
|
57103
|
-
i0.ɵɵviewQuery(_c0$
|
|
57207
|
+
i0.ɵɵviewQuery(_c0$s, 7);
|
|
57104
57208
|
} if (rf & 2) {
|
|
57105
57209
|
let _t;
|
|
57106
57210
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chartDiv = _t.first);
|
|
@@ -57327,8 +57431,9 @@ class RevenueCalculatorService {
|
|
|
57327
57431
|
}]
|
|
57328
57432
|
}], null, null); })();
|
|
57329
57433
|
|
|
57434
|
+
const _c0$r = ["absoluteInputRef"];
|
|
57330
57435
|
function InitialTargetSettingComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
57331
|
-
i0.ɵɵelementStart(0, "p",
|
|
57436
|
+
i0.ɵɵelementStart(0, "p", 8);
|
|
57332
57437
|
i0.ɵɵtext(1);
|
|
57333
57438
|
i0.ɵɵelementEnd();
|
|
57334
57439
|
} if (rf & 2) {
|
|
@@ -57339,10 +57444,10 @@ function InitialTargetSettingComponent_Conditional_12_Template(rf, ctx) { if (rf
|
|
|
57339
57444
|
} }
|
|
57340
57445
|
function InitialTargetSettingComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
57341
57446
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
57342
|
-
i0.ɵɵelementStart(0, "div",
|
|
57447
|
+
i0.ɵɵelementStart(0, "div", 11)(1, "span", 18);
|
|
57343
57448
|
i0.ɵɵtext(2, " $ ");
|
|
57344
57449
|
i0.ɵɵelementEnd();
|
|
57345
|
-
i0.ɵɵelementStart(3, "input",
|
|
57450
|
+
i0.ɵɵelementStart(3, "input", 19, 0);
|
|
57346
57451
|
i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_18_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.absoluteInput, $event) || (ctx_r0.absoluteInput = $event); return i0.ɵɵresetView($event); });
|
|
57347
57452
|
i0.ɵɵlistener("ngModelChange", function InitialTargetSettingComponent_Conditional_18_Template_input_ngModelChange_3_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onAbsoluteInputChange()); });
|
|
57348
57453
|
i0.ɵɵelementEnd()();
|
|
@@ -57356,11 +57461,11 @@ function InitialTargetSettingComponent_Conditional_18_Template(rf, ctx) { if (rf
|
|
|
57356
57461
|
} }
|
|
57357
57462
|
function InitialTargetSettingComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
57358
57463
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
57359
|
-
i0.ɵɵelementStart(0, "div",
|
|
57464
|
+
i0.ɵɵelementStart(0, "div", 11)(1, "input", 20);
|
|
57360
57465
|
i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_19_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.percentageInput, $event) || (ctx_r0.percentageInput = $event); return i0.ɵɵresetView($event); });
|
|
57361
57466
|
i0.ɵɵlistener("ngModelChange", function InitialTargetSettingComponent_Conditional_19_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onPercentageInputChange()); });
|
|
57362
57467
|
i0.ɵɵelementEnd();
|
|
57363
|
-
i0.ɵɵelementStart(2, "span",
|
|
57468
|
+
i0.ɵɵelementStart(2, "span", 21);
|
|
57364
57469
|
i0.ɵɵtext(3, " % ");
|
|
57365
57470
|
i0.ɵɵelementEnd()();
|
|
57366
57471
|
} if (rf & 2) {
|
|
@@ -57372,16 +57477,16 @@ function InitialTargetSettingComponent_Conditional_19_Template(rf, ctx) { if (rf
|
|
|
57372
57477
|
i0.ɵɵproperty("ngClass", ctx_r0.inputSuffixClasses());
|
|
57373
57478
|
} }
|
|
57374
57479
|
function InitialTargetSettingComponent_Conditional_20_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
57375
|
-
i0.ɵɵelementStart(0, "div",
|
|
57480
|
+
i0.ɵɵelementStart(0, "div", 25)(1, "div")(2, "p", 23);
|
|
57376
57481
|
i0.ɵɵtext(3, " Gap to Close ");
|
|
57377
57482
|
i0.ɵɵelementEnd();
|
|
57378
|
-
i0.ɵɵelementStart(4, "p",
|
|
57483
|
+
i0.ɵɵelementStart(4, "p", 26);
|
|
57379
57484
|
i0.ɵɵtext(5);
|
|
57380
57485
|
i0.ɵɵelementEnd()();
|
|
57381
|
-
i0.ɵɵelementStart(6, "div")(7, "p",
|
|
57486
|
+
i0.ɵɵelementStart(6, "div")(7, "p", 23);
|
|
57382
57487
|
i0.ɵɵtext(8, " Additional Growth Needed ");
|
|
57383
57488
|
i0.ɵɵelementEnd();
|
|
57384
|
-
i0.ɵɵelementStart(9, "p",
|
|
57489
|
+
i0.ɵɵelementStart(9, "p", 26);
|
|
57385
57490
|
i0.ɵɵtext(10);
|
|
57386
57491
|
i0.ɵɵelementEnd()()();
|
|
57387
57492
|
} if (rf & 2) {
|
|
@@ -57401,25 +57506,25 @@ function InitialTargetSettingComponent_Conditional_20_Conditional_18_Template(rf
|
|
|
57401
57506
|
i0.ɵɵtextInterpolate2(" ", ctx_r0.gapToClose().amount > 0 ? "+" : "", "", ctx_r0.formatPercentage(ctx_r0.gapToClose().percentage, 1), " ");
|
|
57402
57507
|
} }
|
|
57403
57508
|
function InitialTargetSettingComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
57404
|
-
i0.ɵɵelementStart(0, "div",
|
|
57509
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "div", 22)(2, "div")(3, "p", 23);
|
|
57405
57510
|
i0.ɵɵtext(4);
|
|
57406
57511
|
i0.ɵɵelementEnd();
|
|
57407
|
-
i0.ɵɵelementStart(5, "p",
|
|
57512
|
+
i0.ɵɵelementStart(5, "p", 24);
|
|
57408
57513
|
i0.ɵɵtext(6);
|
|
57409
57514
|
i0.ɵɵelementEnd()();
|
|
57410
|
-
i0.ɵɵelementStart(7, "div",
|
|
57515
|
+
i0.ɵɵelementStart(7, "div", 25)(8, "div")(9, "p", 23);
|
|
57411
57516
|
i0.ɵɵtext(10, " Increase Amount ");
|
|
57412
57517
|
i0.ɵɵelementEnd();
|
|
57413
|
-
i0.ɵɵelementStart(11, "p",
|
|
57518
|
+
i0.ɵɵelementStart(11, "p", 26);
|
|
57414
57519
|
i0.ɵɵtext(12);
|
|
57415
57520
|
i0.ɵɵelementEnd()();
|
|
57416
|
-
i0.ɵɵelementStart(13, "div")(14, "p",
|
|
57521
|
+
i0.ɵɵelementStart(13, "div")(14, "p", 23);
|
|
57417
57522
|
i0.ɵɵtext(15, " % Growth ");
|
|
57418
57523
|
i0.ɵɵelementEnd();
|
|
57419
|
-
i0.ɵɵelementStart(16, "p",
|
|
57524
|
+
i0.ɵɵelementStart(16, "p", 26);
|
|
57420
57525
|
i0.ɵɵtext(17);
|
|
57421
57526
|
i0.ɵɵelementEnd()()();
|
|
57422
|
-
i0.ɵɵconditionalCreate(18, InitialTargetSettingComponent_Conditional_20_Conditional_18_Template, 11, 8, "div",
|
|
57527
|
+
i0.ɵɵconditionalCreate(18, InitialTargetSettingComponent_Conditional_20_Conditional_18_Template, 11, 8, "div", 25);
|
|
57423
57528
|
i0.ɵɵelementEnd()();
|
|
57424
57529
|
} if (rf & 2) {
|
|
57425
57530
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -57450,13 +57555,13 @@ function InitialTargetSettingComponent_Conditional_20_Template(rf, ctx) { if (rf
|
|
|
57450
57555
|
i0.ɵɵconditional(ctx_r0.currentPaceProjection() > 0 && ctx_r0.gapToClose().amount !== 0 ? 18 : -1);
|
|
57451
57556
|
} }
|
|
57452
57557
|
function InitialTargetSettingComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
57453
|
-
i0.ɵɵelement(0, "symphiq-area-chart",
|
|
57558
|
+
i0.ɵɵelement(0, "symphiq-area-chart", 15);
|
|
57454
57559
|
} if (rf & 2) {
|
|
57455
57560
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
57456
57561
|
i0.ɵɵproperty("chart", ctx_r0.revenueChartData())("showAxisLabels", true)("viewMode", ctx_r0.viewMode())("currencySymbol", "$");
|
|
57457
57562
|
} }
|
|
57458
57563
|
function InitialTargetSettingComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
57459
|
-
i0.ɵɵelementStart(0, "div",
|
|
57564
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "p", 27);
|
|
57460
57565
|
i0.ɵɵtext(2, " No revenue data available ");
|
|
57461
57566
|
i0.ɵɵelementEnd()();
|
|
57462
57567
|
} if (rf & 2) {
|
|
@@ -57465,13 +57570,13 @@ function InitialTargetSettingComponent_Conditional_26_Template(rf, ctx) { if (rf
|
|
|
57465
57570
|
i0.ɵɵproperty("ngClass", ctx_r0.noDataClasses());
|
|
57466
57571
|
} }
|
|
57467
57572
|
function InitialTargetSettingComponent_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
57468
|
-
i0.ɵɵelementStart(0, "div",
|
|
57573
|
+
i0.ɵɵelementStart(0, "div", 2)(1, "div", 28)(2, "h2", 29);
|
|
57469
57574
|
i0.ɵɵtext(3, " Contributing Metrics ");
|
|
57470
57575
|
i0.ɵɵelementEnd();
|
|
57471
|
-
i0.ɵɵelementStart(4, "p",
|
|
57576
|
+
i0.ɵɵelementStart(4, "p", 27);
|
|
57472
57577
|
i0.ɵɵtext(5);
|
|
57473
57578
|
i0.ɵɵelementEnd()();
|
|
57474
|
-
i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization",
|
|
57579
|
+
i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization", 30);
|
|
57475
57580
|
i0.ɵɵelementEnd();
|
|
57476
57581
|
} if (rf & 2) {
|
|
57477
57582
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -57498,7 +57603,7 @@ class InitialTargetSettingComponent {
|
|
|
57498
57603
|
this.dataResults = input([], ...(ngDevMode ? [{ debugName: "dataResults" }] : []));
|
|
57499
57604
|
this.targetsCreated = output();
|
|
57500
57605
|
this.inputMode = signal('absolute', ...(ngDevMode ? [{ debugName: "inputMode" }] : []));
|
|
57501
|
-
this.absoluteInput = signal(
|
|
57606
|
+
this.absoluteInput = signal(null, ...(ngDevMode ? [{ debugName: "absoluteInput" }] : []));
|
|
57502
57607
|
this.percentageInput = signal(0, ...(ngDevMode ? [{ debugName: "percentageInput" }] : []));
|
|
57503
57608
|
this.isSubmitting = signal(false, ...(ngDevMode ? [{ debugName: "isSubmitting" }] : []));
|
|
57504
57609
|
this.priorYearRevenue = computed(() => {
|
|
@@ -57524,7 +57629,7 @@ class InitialTargetSettingComponent {
|
|
|
57524
57629
|
const mode = this.inputMode();
|
|
57525
57630
|
const priorRevenue = this.priorYearRevenue();
|
|
57526
57631
|
if (mode === 'absolute') {
|
|
57527
|
-
return this.absoluteInput();
|
|
57632
|
+
return this.absoluteInput() ?? 0;
|
|
57528
57633
|
}
|
|
57529
57634
|
else {
|
|
57530
57635
|
const pct = this.percentageInput();
|
|
@@ -57570,11 +57675,15 @@ class InitialTargetSettingComponent {
|
|
|
57570
57675
|
this.revenueChartData = computed(() => {
|
|
57571
57676
|
const mainData = this.mainUiData();
|
|
57572
57677
|
const yoyData = this.yoyUiData();
|
|
57573
|
-
if (!mainData && !yoyData)
|
|
57678
|
+
if (!mainData && !yoyData) {
|
|
57679
|
+
console.log('no data', mainData, yoyData);
|
|
57574
57680
|
return null;
|
|
57681
|
+
}
|
|
57575
57682
|
const series = transformUiDataToChartSeries(mainData, yoyData, MetricEnum.PURCHASE_REVENUE);
|
|
57576
|
-
if (series.length === 0)
|
|
57683
|
+
if (series.length === 0) {
|
|
57684
|
+
console.log('no series length');
|
|
57577
57685
|
return null;
|
|
57686
|
+
}
|
|
57578
57687
|
return {
|
|
57579
57688
|
title: 'Revenue Trend',
|
|
57580
57689
|
areaChartData: {
|
|
@@ -57591,11 +57700,16 @@ class InitialTargetSettingComponent {
|
|
|
57591
57700
|
this.currentYear = computed(() => new Date().getFullYear(), ...(ngDevMode ? [{ debugName: "currentYear" }] : []));
|
|
57592
57701
|
this.priorYear = computed(() => new Date().getFullYear() - 1, ...(ngDevMode ? [{ debugName: "priorYear" }] : []));
|
|
57593
57702
|
}
|
|
57703
|
+
ngAfterViewInit() {
|
|
57704
|
+
setTimeout(() => {
|
|
57705
|
+
this.absoluteInputRef?.nativeElement?.focus();
|
|
57706
|
+
});
|
|
57707
|
+
}
|
|
57594
57708
|
setInputMode(mode) {
|
|
57595
57709
|
this.inputMode.set(mode);
|
|
57596
57710
|
}
|
|
57597
57711
|
onAbsoluteInputChange() {
|
|
57598
|
-
const value = this.absoluteInput();
|
|
57712
|
+
const value = this.absoluteInput() ?? 0;
|
|
57599
57713
|
if (value > 0 && this.priorYearRevenue() > 0) {
|
|
57600
57714
|
const pct = ((value - this.priorYearRevenue()) / this.priorYearRevenue()) * 100;
|
|
57601
57715
|
this.percentageInput.set(pct);
|
|
@@ -57720,38 +57834,43 @@ class InitialTargetSettingComponent {
|
|
|
57720
57834
|
: 'text-slate-400';
|
|
57721
57835
|
}
|
|
57722
57836
|
static { this.ɵfac = function InitialTargetSettingComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InitialTargetSettingComponent)(); }; }
|
|
57723
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InitialTargetSettingComponent, selectors: [["symphiq-initial-target-setting"]],
|
|
57724
|
-
i0.ɵɵ
|
|
57837
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InitialTargetSettingComponent, selectors: [["symphiq-initial-target-setting"]], viewQuery: function InitialTargetSettingComponent_Query(rf, ctx) { if (rf & 1) {
|
|
57838
|
+
i0.ɵɵviewQuery(_c0$r, 5);
|
|
57839
|
+
} if (rf & 2) {
|
|
57840
|
+
let _t;
|
|
57841
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
|
|
57842
|
+
} }, inputs: { viewMode: [1, "viewMode"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], yoyUiData: [1, "yoyUiData"], trendUiData: [1, "trendUiData"], shopId: [1, "shopId"], pacingMetrics: [1, "pacingMetrics"], dataResults: [1, "dataResults"] }, outputs: { targetsCreated: "targetsCreated" }, decls: 29, vars: 21, consts: [["absoluteInputRef", ""], [1, "space-y-8", "pb-32"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", 3, "ngClass"], [1, "text-2xl", "font-bold", "mb-6", 3, "ngClass"], [1, "grid", "lg:grid-cols-2", "gap-8"], [1, "space-y-6"], [1, "block", "text-sm", "font-semibold", "mb-2", 3, "ngClass"], [1, "space-y-1", "mb-4"], [1, "text-xs", 3, "ngClass"], [1, "flex", "gap-2", "mb-4"], [1, "flex-1", "py-2", "px-4", "rounded-lg", "text-sm", "font-semibold", "transition-all", 3, "click", "ngClass"], [1, "relative"], [1, "p-6", "rounded-xl", "border-2", 3, "ngClass"], [1, "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "rounded-xl", "border", "p-4", 3, "ngClass"], [3, "chart", "showAxisLabels", "viewMode", "currencySymbol"], [1, "h-64", "flex", "items-center", "justify-center"], [3, "submitClick", "viewMode", "isValid", "isSubmitting", "validationMessage", "buttonText"], [1, "absolute", "left-4", "top-1/2", "-translate-y-1/2", "text-xl", "font-bold", 3, "ngClass"], ["type", "number", "placeholder", "0", "min", "0", "step", "1000", 1, "w-full", "pl-10", "pr-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModelChange", "ngModel", "ngClass"], ["type", "number", "placeholder", "0", "min", "0", "max", "1000", "step", "0.1", 1, "w-full", "pr-10", "pl-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModelChange", "ngModel", "ngClass"], [1, "absolute", "right-4", "top-1/2", "-translate-y-1/2", "text-xl", "font-bold", 3, "ngClass"], [1, "space-y-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-4", "pt-4", 3, "ngClass"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [3, "viewMode", "calculations", "pacingMetrics"]], template: function InitialTargetSettingComponent_Template(rf, ctx) { if (rf & 1) {
|
|
57843
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "h2", 3);
|
|
57725
57844
|
i0.ɵɵtext(3, " Calculate Your Revenue Target ");
|
|
57726
57845
|
i0.ɵɵelementEnd();
|
|
57727
|
-
i0.ɵɵelementStart(4, "div",
|
|
57846
|
+
i0.ɵɵelementStart(4, "div", 4)(5, "div", 5)(6, "div")(7, "label", 6);
|
|
57728
57847
|
i0.ɵɵtext(8);
|
|
57729
57848
|
i0.ɵɵelementEnd();
|
|
57730
|
-
i0.ɵɵelementStart(9, "div",
|
|
57849
|
+
i0.ɵɵelementStart(9, "div", 7)(10, "p", 8);
|
|
57731
57850
|
i0.ɵɵtext(11);
|
|
57732
57851
|
i0.ɵɵelementEnd();
|
|
57733
|
-
i0.ɵɵconditionalCreate(12, InitialTargetSettingComponent_Conditional_12_Template, 2, 2, "p",
|
|
57852
|
+
i0.ɵɵconditionalCreate(12, InitialTargetSettingComponent_Conditional_12_Template, 2, 2, "p", 8);
|
|
57734
57853
|
i0.ɵɵelementEnd();
|
|
57735
|
-
i0.ɵɵelementStart(13, "div",
|
|
57854
|
+
i0.ɵɵelementStart(13, "div", 9)(14, "button", 10);
|
|
57736
57855
|
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Template_button_click_14_listener() { return ctx.setInputMode("absolute"); });
|
|
57737
57856
|
i0.ɵɵtext(15, " Absolute Amount ");
|
|
57738
57857
|
i0.ɵɵelementEnd();
|
|
57739
|
-
i0.ɵɵelementStart(16, "button",
|
|
57858
|
+
i0.ɵɵelementStart(16, "button", 10);
|
|
57740
57859
|
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Template_button_click_16_listener() { return ctx.setInputMode("percentage"); });
|
|
57741
57860
|
i0.ɵɵtext(17, " % Increase ");
|
|
57742
57861
|
i0.ɵɵelementEnd()();
|
|
57743
|
-
i0.ɵɵconditionalCreate(18, InitialTargetSettingComponent_Conditional_18_Template,
|
|
57862
|
+
i0.ɵɵconditionalCreate(18, InitialTargetSettingComponent_Conditional_18_Template, 5, 3, "div", 11)(19, InitialTargetSettingComponent_Conditional_19_Template, 4, 3, "div", 11);
|
|
57744
57863
|
i0.ɵɵelementEnd();
|
|
57745
|
-
i0.ɵɵconditionalCreate(20, InitialTargetSettingComponent_Conditional_20_Template, 19, 13, "div",
|
|
57864
|
+
i0.ɵɵconditionalCreate(20, InitialTargetSettingComponent_Conditional_20_Template, 19, 13, "div", 12);
|
|
57746
57865
|
i0.ɵɵelementEnd();
|
|
57747
|
-
i0.ɵɵelementStart(21, "div")(22, "p",
|
|
57866
|
+
i0.ɵɵelementStart(21, "div")(22, "p", 13);
|
|
57748
57867
|
i0.ɵɵtext(23, " Year-over-Year Revenue Trend ");
|
|
57749
57868
|
i0.ɵɵelementEnd();
|
|
57750
|
-
i0.ɵɵelementStart(24, "div",
|
|
57751
|
-
i0.ɵɵconditionalCreate(25, InitialTargetSettingComponent_Conditional_25_Template, 1, 4, "symphiq-area-chart",
|
|
57869
|
+
i0.ɵɵelementStart(24, "div", 14);
|
|
57870
|
+
i0.ɵɵconditionalCreate(25, InitialTargetSettingComponent_Conditional_25_Template, 1, 4, "symphiq-area-chart", 15)(26, InitialTargetSettingComponent_Conditional_26_Template, 3, 1, "div", 16);
|
|
57752
57871
|
i0.ɵɵelementEnd()()()();
|
|
57753
|
-
i0.ɵɵconditionalCreate(27, InitialTargetSettingComponent_Conditional_27_Template, 7, 7, "div",
|
|
57754
|
-
i0.ɵɵelementStart(28, "symphiq-sticky-submit-bar",
|
|
57872
|
+
i0.ɵɵconditionalCreate(27, InitialTargetSettingComponent_Conditional_27_Template, 7, 7, "div", 2);
|
|
57873
|
+
i0.ɵɵelementStart(28, "symphiq-sticky-submit-bar", 17);
|
|
57755
57874
|
i0.ɵɵlistener("submitClick", function InitialTargetSettingComponent_Template_symphiq_sticky_submit_bar_submitClick_28_listener() { return ctx.handleSubmit(); });
|
|
57756
57875
|
i0.ɵɵelementEnd()();
|
|
57757
57876
|
} if (rf & 2) {
|
|
@@ -57804,189 +57923,193 @@ class InitialTargetSettingComponent {
|
|
|
57804
57923
|
AreaChartComponent
|
|
57805
57924
|
],
|
|
57806
57925
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
57807
|
-
template: `
|
|
57808
|
-
<div class="space-y-8 pb-32">
|
|
57809
|
-
<div [ngClass]="sectionCardClasses()" class="rounded-2xl border shadow-lg p-8">
|
|
57810
|
-
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-6">
|
|
57811
|
-
Calculate Your Revenue Target
|
|
57812
|
-
</h2>
|
|
57813
|
-
|
|
57814
|
-
<div class="grid lg:grid-cols-2 gap-8">
|
|
57815
|
-
<div class="space-y-6">
|
|
57816
|
-
<div>
|
|
57817
|
-
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
57818
|
-
{{ currentYear() }} Revenue
|
|
57819
|
-
</label>
|
|
57820
|
-
<div class="space-y-1 mb-4">
|
|
57821
|
-
<p [ngClass]="priorYearLabelClasses()" class="text-xs">
|
|
57822
|
-
{{ priorYear() }} Revenue: {{ formatCurrency(priorYearRevenue()) }}
|
|
57823
|
-
</p>
|
|
57824
|
-
@if (currentPaceProjection() > 0) {
|
|
57825
|
-
<p [ngClass]="priorYearLabelClasses()" class="text-xs">
|
|
57826
|
-
Current Pace Projection: {{ formatCurrency(currentPaceProjection()) }}
|
|
57827
|
-
</p>
|
|
57828
|
-
}
|
|
57829
|
-
</div>
|
|
57830
|
-
|
|
57831
|
-
<div class="flex gap-2 mb-4">
|
|
57832
|
-
<button
|
|
57833
|
-
(click)="setInputMode('absolute')"
|
|
57834
|
-
[ngClass]="inputModeButtonClasses('absolute')"
|
|
57835
|
-
class="flex-1 py-2 px-4 rounded-lg text-sm font-semibold transition-all">
|
|
57836
|
-
Absolute Amount
|
|
57837
|
-
</button>
|
|
57838
|
-
<button
|
|
57839
|
-
(click)="setInputMode('percentage')"
|
|
57840
|
-
[ngClass]="inputModeButtonClasses('percentage')"
|
|
57841
|
-
class="flex-1 py-2 px-4 rounded-lg text-sm font-semibold transition-all">
|
|
57842
|
-
% Increase
|
|
57843
|
-
</button>
|
|
57844
|
-
</div>
|
|
57845
|
-
|
|
57846
|
-
@if (inputMode() === 'absolute') {
|
|
57847
|
-
<div class="relative">
|
|
57848
|
-
<span [ngClass]="inputPrefixClasses()" class="absolute left-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
57849
|
-
$
|
|
57850
|
-
</span>
|
|
57851
|
-
<input
|
|
57852
|
-
|
|
57853
|
-
|
|
57854
|
-
(
|
|
57855
|
-
|
|
57856
|
-
|
|
57857
|
-
|
|
57858
|
-
|
|
57859
|
-
|
|
57860
|
-
|
|
57861
|
-
|
|
57862
|
-
|
|
57863
|
-
|
|
57864
|
-
|
|
57865
|
-
|
|
57866
|
-
(
|
|
57867
|
-
|
|
57868
|
-
|
|
57869
|
-
|
|
57870
|
-
|
|
57871
|
-
|
|
57872
|
-
|
|
57873
|
-
|
|
57874
|
-
|
|
57875
|
-
|
|
57876
|
-
|
|
57877
|
-
|
|
57878
|
-
|
|
57879
|
-
|
|
57880
|
-
|
|
57881
|
-
|
|
57882
|
-
|
|
57883
|
-
|
|
57884
|
-
|
|
57885
|
-
|
|
57886
|
-
|
|
57887
|
-
|
|
57888
|
-
|
|
57889
|
-
|
|
57890
|
-
|
|
57891
|
-
|
|
57892
|
-
|
|
57893
|
-
|
|
57894
|
-
|
|
57895
|
-
|
|
57896
|
-
|
|
57897
|
-
|
|
57898
|
-
|
|
57899
|
-
|
|
57900
|
-
|
|
57901
|
-
|
|
57902
|
-
|
|
57903
|
-
|
|
57904
|
-
|
|
57905
|
-
|
|
57906
|
-
|
|
57907
|
-
|
|
57908
|
-
|
|
57909
|
-
|
|
57910
|
-
|
|
57911
|
-
|
|
57912
|
-
|
|
57913
|
-
|
|
57914
|
-
|
|
57915
|
-
|
|
57916
|
-
|
|
57917
|
-
|
|
57918
|
-
|
|
57919
|
-
|
|
57920
|
-
|
|
57921
|
-
|
|
57922
|
-
|
|
57923
|
-
|
|
57924
|
-
|
|
57925
|
-
|
|
57926
|
-
|
|
57927
|
-
|
|
57928
|
-
|
|
57929
|
-
|
|
57930
|
-
|
|
57931
|
-
|
|
57932
|
-
|
|
57933
|
-
|
|
57934
|
-
|
|
57935
|
-
|
|
57936
|
-
|
|
57937
|
-
|
|
57938
|
-
|
|
57939
|
-
|
|
57940
|
-
|
|
57941
|
-
|
|
57942
|
-
[
|
|
57943
|
-
[
|
|
57944
|
-
[
|
|
57945
|
-
|
|
57946
|
-
|
|
57947
|
-
|
|
57948
|
-
|
|
57949
|
-
|
|
57950
|
-
|
|
57951
|
-
|
|
57952
|
-
|
|
57953
|
-
|
|
57954
|
-
|
|
57955
|
-
|
|
57956
|
-
|
|
57957
|
-
|
|
57958
|
-
|
|
57959
|
-
|
|
57960
|
-
|
|
57961
|
-
|
|
57962
|
-
|
|
57963
|
-
|
|
57964
|
-
|
|
57965
|
-
|
|
57966
|
-
|
|
57967
|
-
|
|
57968
|
-
|
|
57969
|
-
|
|
57970
|
-
|
|
57971
|
-
[
|
|
57972
|
-
[
|
|
57973
|
-
|
|
57974
|
-
|
|
57975
|
-
|
|
57976
|
-
|
|
57977
|
-
|
|
57978
|
-
|
|
57979
|
-
[
|
|
57980
|
-
[
|
|
57981
|
-
[
|
|
57982
|
-
[
|
|
57983
|
-
|
|
57984
|
-
|
|
57985
|
-
|
|
57926
|
+
template: `
|
|
57927
|
+
<div class="space-y-8 pb-32">
|
|
57928
|
+
<div [ngClass]="sectionCardClasses()" class="rounded-2xl border shadow-lg p-8">
|
|
57929
|
+
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-6">
|
|
57930
|
+
Calculate Your Revenue Target
|
|
57931
|
+
</h2>
|
|
57932
|
+
|
|
57933
|
+
<div class="grid lg:grid-cols-2 gap-8">
|
|
57934
|
+
<div class="space-y-6">
|
|
57935
|
+
<div>
|
|
57936
|
+
<label [ngClass]="labelClasses()" class="block text-sm font-semibold mb-2">
|
|
57937
|
+
{{ currentYear() }} Revenue
|
|
57938
|
+
</label>
|
|
57939
|
+
<div class="space-y-1 mb-4">
|
|
57940
|
+
<p [ngClass]="priorYearLabelClasses()" class="text-xs">
|
|
57941
|
+
{{ priorYear() }} Revenue: {{ formatCurrency(priorYearRevenue()) }}
|
|
57942
|
+
</p>
|
|
57943
|
+
@if (currentPaceProjection() > 0) {
|
|
57944
|
+
<p [ngClass]="priorYearLabelClasses()" class="text-xs">
|
|
57945
|
+
Current Pace Projection: {{ formatCurrency(currentPaceProjection()) }}
|
|
57946
|
+
</p>
|
|
57947
|
+
}
|
|
57948
|
+
</div>
|
|
57949
|
+
|
|
57950
|
+
<div class="flex gap-2 mb-4">
|
|
57951
|
+
<button
|
|
57952
|
+
(click)="setInputMode('absolute')"
|
|
57953
|
+
[ngClass]="inputModeButtonClasses('absolute')"
|
|
57954
|
+
class="flex-1 py-2 px-4 rounded-lg text-sm font-semibold transition-all">
|
|
57955
|
+
Absolute Amount
|
|
57956
|
+
</button>
|
|
57957
|
+
<button
|
|
57958
|
+
(click)="setInputMode('percentage')"
|
|
57959
|
+
[ngClass]="inputModeButtonClasses('percentage')"
|
|
57960
|
+
class="flex-1 py-2 px-4 rounded-lg text-sm font-semibold transition-all">
|
|
57961
|
+
% Increase
|
|
57962
|
+
</button>
|
|
57963
|
+
</div>
|
|
57964
|
+
|
|
57965
|
+
@if (inputMode() === 'absolute') {
|
|
57966
|
+
<div class="relative">
|
|
57967
|
+
<span [ngClass]="inputPrefixClasses()" class="absolute left-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
57968
|
+
$
|
|
57969
|
+
</span>
|
|
57970
|
+
<input
|
|
57971
|
+
#absoluteInputRef
|
|
57972
|
+
type="number"
|
|
57973
|
+
[(ngModel)]="absoluteInput"
|
|
57974
|
+
(ngModelChange)="onAbsoluteInputChange()"
|
|
57975
|
+
[ngClass]="inputClasses()"
|
|
57976
|
+
class="w-full pl-10 pr-4 py-4 rounded-xl text-2xl font-bold border-2 transition-all"
|
|
57977
|
+
placeholder="0"
|
|
57978
|
+
min="0"
|
|
57979
|
+
step="1000">
|
|
57980
|
+
</div>
|
|
57981
|
+
} @else {
|
|
57982
|
+
<div class="relative">
|
|
57983
|
+
<input
|
|
57984
|
+
type="number"
|
|
57985
|
+
[(ngModel)]="percentageInput"
|
|
57986
|
+
(ngModelChange)="onPercentageInputChange()"
|
|
57987
|
+
[ngClass]="inputClasses()"
|
|
57988
|
+
class="w-full pr-10 pl-4 py-4 rounded-xl text-2xl font-bold border-2 transition-all"
|
|
57989
|
+
placeholder="0"
|
|
57990
|
+
min="0"
|
|
57991
|
+
max="1000"
|
|
57992
|
+
step="0.1">
|
|
57993
|
+
<span [ngClass]="inputSuffixClasses()" class="absolute right-4 top-1/2 -translate-y-1/2 text-xl font-bold">
|
|
57994
|
+
%
|
|
57995
|
+
</span>
|
|
57996
|
+
</div>
|
|
57997
|
+
}
|
|
57998
|
+
</div>
|
|
57999
|
+
|
|
58000
|
+
@if (calculatedRevenue() > 0) {
|
|
58001
|
+
<div [ngClass]="calculatedValuesCardClasses()" class="p-6 rounded-xl border-2">
|
|
58002
|
+
<div class="space-y-4">
|
|
58003
|
+
<div>
|
|
58004
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
58005
|
+
{{ currentYear() }} Revenue Target
|
|
58006
|
+
</p>
|
|
58007
|
+
<p [ngClass]="calculatedValueClasses()" class="text-3xl font-bold">
|
|
58008
|
+
{{ formatCurrency(calculatedRevenue()) }}
|
|
58009
|
+
</p>
|
|
58010
|
+
</div>
|
|
58011
|
+
<div class="grid grid-cols-2 gap-4 pt-4" [ngClass]="calculatedDividerClasses()">
|
|
58012
|
+
<div>
|
|
58013
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
58014
|
+
Increase Amount
|
|
58015
|
+
</p>
|
|
58016
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
58017
|
+
{{ formatCurrency(calculatedRevenue() - priorYearRevenue()) }}
|
|
58018
|
+
</p>
|
|
58019
|
+
</div>
|
|
58020
|
+
<div>
|
|
58021
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
58022
|
+
% Growth
|
|
58023
|
+
</p>
|
|
58024
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
58025
|
+
+{{ formatPercentage(percentageIncrease(), 1) }}
|
|
58026
|
+
</p>
|
|
58027
|
+
</div>
|
|
58028
|
+
</div>
|
|
58029
|
+
@if (currentPaceProjection() > 0 && gapToClose().amount !== 0) {
|
|
58030
|
+
<div class="grid grid-cols-2 gap-4 pt-4" [ngClass]="calculatedDividerClasses()">
|
|
58031
|
+
<div>
|
|
58032
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
58033
|
+
Gap to Close
|
|
58034
|
+
</p>
|
|
58035
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
58036
|
+
{{ formatCurrency(absValue(gapToClose().amount)) }}
|
|
58037
|
+
</p>
|
|
58038
|
+
</div>
|
|
58039
|
+
<div>
|
|
58040
|
+
<p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1">
|
|
58041
|
+
Additional Growth Needed
|
|
58042
|
+
</p>
|
|
58043
|
+
<p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
|
|
58044
|
+
{{ gapToClose().amount > 0 ? '+' : '' }}{{ formatPercentage(gapToClose().percentage, 1) }}
|
|
58045
|
+
</p>
|
|
58046
|
+
</div>
|
|
58047
|
+
</div>
|
|
58048
|
+
}
|
|
58049
|
+
</div>
|
|
58050
|
+
</div>
|
|
58051
|
+
}
|
|
58052
|
+
</div>
|
|
58053
|
+
|
|
58054
|
+
<div>
|
|
58055
|
+
<p [ngClass]="chartTitleClasses()" class="text-sm font-semibold mb-3">
|
|
58056
|
+
Year-over-Year Revenue Trend
|
|
58057
|
+
</p>
|
|
58058
|
+
<div [ngClass]="chartContainerClasses()" class="rounded-xl border p-4">
|
|
58059
|
+
@if (revenueChartData()) {
|
|
58060
|
+
<symphiq-area-chart
|
|
58061
|
+
[chart]="revenueChartData()!"
|
|
58062
|
+
[showAxisLabels]="true"
|
|
58063
|
+
[viewMode]="viewMode()"
|
|
58064
|
+
[currencySymbol]="'$'"
|
|
58065
|
+
/>
|
|
58066
|
+
} @else {
|
|
58067
|
+
<div class="h-64 flex items-center justify-center">
|
|
58068
|
+
<p [ngClass]="noDataClasses()" class="text-sm">
|
|
58069
|
+
No revenue data available
|
|
58070
|
+
</p>
|
|
58071
|
+
</div>
|
|
58072
|
+
}
|
|
58073
|
+
</div>
|
|
58074
|
+
</div>
|
|
58075
|
+
</div>
|
|
58076
|
+
</div>
|
|
58077
|
+
|
|
58078
|
+
@if (showMetricsVisualization()) {
|
|
58079
|
+
<div [ngClass]="sectionCardClasses()" class="rounded-2xl border shadow-lg p-8">
|
|
58080
|
+
<div class="mb-6">
|
|
58081
|
+
<h2 [ngClass]="sectionTitleClasses()" class="text-2xl font-bold mb-2">
|
|
58082
|
+
Contributing Metrics
|
|
58083
|
+
</h2>
|
|
58084
|
+
<p [ngClass]="sectionDescriptionClasses()" class="text-sm">
|
|
58085
|
+
To achieve your revenue target of {{ formatCurrency(calculatedRevenue()) }}, the following metrics need to improve by these amounts. These improvements compound through your funnel to drive revenue growth.
|
|
58086
|
+
</p>
|
|
58087
|
+
</div>
|
|
58088
|
+
|
|
58089
|
+
<symphiq-funnel-metrics-visualization
|
|
58090
|
+
[viewMode]="viewMode()"
|
|
58091
|
+
[calculations]="metricCalculations()"
|
|
58092
|
+
[pacingMetrics]="pacingMetrics()"
|
|
58093
|
+
/>
|
|
58094
|
+
</div>
|
|
58095
|
+
}
|
|
58096
|
+
|
|
58097
|
+
<symphiq-sticky-submit-bar
|
|
58098
|
+
[viewMode]="viewMode()"
|
|
58099
|
+
[isValid]="isValid()"
|
|
58100
|
+
[isSubmitting]="isSubmitting()"
|
|
58101
|
+
[validationMessage]="validationMessage()"
|
|
58102
|
+
[buttonText]="'Set Revenue Targets'"
|
|
58103
|
+
(submitClick)="handleSubmit()"
|
|
58104
|
+
/>
|
|
58105
|
+
</div>
|
|
57986
58106
|
`
|
|
57987
58107
|
}]
|
|
57988
|
-
}], null, {
|
|
57989
|
-
|
|
58108
|
+
}], null, { absoluteInputRef: [{
|
|
58109
|
+
type: ViewChild,
|
|
58110
|
+
args: ['absoluteInputRef']
|
|
58111
|
+
}], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], funnelMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelMetrics", required: false }] }], mainUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainUiData", required: false }] }], yoyUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "yoyUiData", required: false }] }], trendUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "trendUiData", required: false }] }], shopId: [{ type: i0.Input, args: [{ isSignal: true, alias: "shopId", required: false }] }], pacingMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingMetrics", required: false }] }], dataResults: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataResults", required: false }] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }] }); })();
|
|
58112
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 216 }); })();
|
|
57990
58113
|
|
|
57991
58114
|
function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
57992
58115
|
i0.ɵɵelement(0, "div", 5);
|
|
@@ -58196,7 +58319,6 @@ function SymphiqRevenueCalculatorDashboardComponent_Conditional_26_Template(rf,
|
|
|
58196
58319
|
} }
|
|
58197
58320
|
class SymphiqRevenueCalculatorDashboardComponent {
|
|
58198
58321
|
constructor() {
|
|
58199
|
-
this.headerScrollService = inject(HeaderScrollService);
|
|
58200
58322
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
58201
58323
|
this.isLoading = input(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
58202
58324
|
this.dataLoadStatus = input(ShopDataLoadStatusEnum.NOT_LOADED, ...(ngDevMode ? [{ debugName: "dataLoadStatus" }] : []));
|
|
@@ -58219,6 +58341,8 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58219
58341
|
this.JourneyStepIdEnum = JourneyStepIdEnum;
|
|
58220
58342
|
this.ShopDataLoadStatusEnum = ShopDataLoadStatusEnum;
|
|
58221
58343
|
this.scrollProgress = signal(0, ...(ngDevMode ? [{ debugName: "scrollProgress" }] : []));
|
|
58344
|
+
this.isScrolled = signal(false, ...(ngDevMode ? [{ debugName: "isScrolled" }] : []));
|
|
58345
|
+
this.isProgrammaticScroll = false;
|
|
58222
58346
|
this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
|
|
58223
58347
|
this.hasCurrentYearTargets = computed(() => {
|
|
58224
58348
|
const targets = this.targets() ?? [];
|
|
@@ -58236,15 +58360,29 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58236
58360
|
effect(() => {
|
|
58237
58361
|
const event = this.scrollEvent();
|
|
58238
58362
|
if (event?.detail) {
|
|
58239
|
-
|
|
58363
|
+
const scrollTop = event.detail.scrollTop;
|
|
58364
|
+
this.updateScrollProgress(scrollTop);
|
|
58365
|
+
if (!this.isProgrammaticScroll) {
|
|
58366
|
+
const COLLAPSE_THRESHOLD = 20;
|
|
58367
|
+
const EXPAND_THRESHOLD = 10;
|
|
58368
|
+
const currentState = this.isScrolled();
|
|
58369
|
+
if (!currentState && scrollTop > COLLAPSE_THRESHOLD) {
|
|
58370
|
+
this.isScrolled.set(true);
|
|
58371
|
+
}
|
|
58372
|
+
else if (currentState && scrollTop < EXPAND_THRESHOLD) {
|
|
58373
|
+
this.isScrolled.set(false);
|
|
58374
|
+
}
|
|
58375
|
+
}
|
|
58240
58376
|
}
|
|
58241
58377
|
}, { allowSignalWrites: true });
|
|
58242
58378
|
}
|
|
58243
58379
|
ngAfterViewInit() {
|
|
58244
|
-
this.
|
|
58380
|
+
this.isScrolled.set(false);
|
|
58381
|
+
this.scrollProgress.set(0);
|
|
58245
58382
|
}
|
|
58246
58383
|
ngOnDestroy() {
|
|
58247
|
-
this.
|
|
58384
|
+
this.isScrolled.set(false);
|
|
58385
|
+
this.scrollProgress.set(0);
|
|
58248
58386
|
}
|
|
58249
58387
|
onWindowScroll() {
|
|
58250
58388
|
if (!this.embedded()) {
|
|
@@ -58332,7 +58470,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58332
58470
|
i0.ɵɵtext(11, " Revenue Calculator ");
|
|
58333
58471
|
i0.ɵɵelementEnd();
|
|
58334
58472
|
i0.ɵɵelementStart(12, "p", 0);
|
|
58335
|
-
i0.ɵɵtext(13, " Set
|
|
58473
|
+
i0.ɵɵtext(13, " Set Your Revenue Target and See Required Metric Improvements ");
|
|
58336
58474
|
i0.ɵɵelementEnd()()()()();
|
|
58337
58475
|
i0.ɵɵelementStart(14, "div", 5)(15, "div", 8)(16, "div", 7)(17, "div", 9)(18, "h1", 0);
|
|
58338
58476
|
i0.ɵɵtext(19, " Revenue Calculator ");
|
|
@@ -58355,17 +58493,17 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58355
58493
|
i0.ɵɵadvance(2);
|
|
58356
58494
|
i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
|
|
58357
58495
|
i0.ɵɵadvance();
|
|
58358
|
-
i0.ɵɵclassProp("max-h-0", ctx.
|
|
58496
|
+
i0.ɵɵclassProp("max-h-0", ctx.isScrolled())("opacity-0", ctx.isScrolled())("max-h-96", !ctx.isScrolled())("opacity-100", !ctx.isScrolled());
|
|
58359
58497
|
i0.ɵɵadvance();
|
|
58360
|
-
i0.ɵɵclassProp("pointer-events-none", ctx.
|
|
58498
|
+
i0.ɵɵclassProp("pointer-events-none", ctx.isScrolled())("pointer-events-auto", !ctx.isScrolled());
|
|
58361
58499
|
i0.ɵɵadvance(3);
|
|
58362
58500
|
i0.ɵɵproperty("ngClass", ctx.getMainTitleClasses());
|
|
58363
58501
|
i0.ɵɵadvance(2);
|
|
58364
58502
|
i0.ɵɵproperty("ngClass", ctx.getSubtitleClasses());
|
|
58365
58503
|
i0.ɵɵadvance(2);
|
|
58366
|
-
i0.ɵɵclassProp("max-h-0", !ctx.
|
|
58504
|
+
i0.ɵɵclassProp("max-h-0", !ctx.isScrolled())("opacity-0", !ctx.isScrolled())("max-h-20", ctx.isScrolled())("opacity-100", ctx.isScrolled());
|
|
58367
58505
|
i0.ɵɵadvance();
|
|
58368
|
-
i0.ɵɵclassProp("pointer-events-none", !ctx.
|
|
58506
|
+
i0.ɵɵclassProp("pointer-events-none", !ctx.isScrolled())("pointer-events-auto", ctx.isScrolled());
|
|
58369
58507
|
i0.ɵɵadvance(3);
|
|
58370
58508
|
i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent truncate" : "text-xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent truncate");
|
|
58371
58509
|
i0.ɵɵadvance(2);
|
|
@@ -58411,21 +58549,21 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58411
58549
|
<!-- Expanded Header -->
|
|
58412
58550
|
<div
|
|
58413
58551
|
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
58414
|
-
[class.max-h-0]="
|
|
58415
|
-
[class.opacity-0]="
|
|
58416
|
-
[class.max-h-96]="!
|
|
58417
|
-
[class.opacity-100]="!
|
|
58552
|
+
[class.max-h-0]="isScrolled()"
|
|
58553
|
+
[class.opacity-0]="isScrolled()"
|
|
58554
|
+
[class.max-h-96]="!isScrolled()"
|
|
58555
|
+
[class.opacity-100]="!isScrolled()">
|
|
58418
58556
|
<div
|
|
58419
58557
|
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
58420
|
-
[class.pointer-events-none]="
|
|
58421
|
-
[class.pointer-events-auto]="!
|
|
58558
|
+
[class.pointer-events-none]="isScrolled()"
|
|
58559
|
+
[class.pointer-events-auto]="!isScrolled()">
|
|
58422
58560
|
<div class="flex items-center justify-between">
|
|
58423
58561
|
<div>
|
|
58424
58562
|
<h1 [ngClass]="getMainTitleClasses()">
|
|
58425
58563
|
Revenue Calculator
|
|
58426
58564
|
</h1>
|
|
58427
58565
|
<p [ngClass]="getSubtitleClasses()">
|
|
58428
|
-
Set
|
|
58566
|
+
Set Your Revenue Target and See Required Metric Improvements
|
|
58429
58567
|
</p>
|
|
58430
58568
|
</div>
|
|
58431
58569
|
</div>
|
|
@@ -58435,14 +58573,14 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58435
58573
|
<!-- Condensed Header -->
|
|
58436
58574
|
<div
|
|
58437
58575
|
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
58438
|
-
[class.max-h-0]="!
|
|
58439
|
-
[class.opacity-0]="!
|
|
58440
|
-
[class.max-h-20]="
|
|
58441
|
-
[class.opacity-100]="
|
|
58576
|
+
[class.max-h-0]="!isScrolled()"
|
|
58577
|
+
[class.opacity-0]="!isScrolled()"
|
|
58578
|
+
[class.max-h-20]="isScrolled()"
|
|
58579
|
+
[class.opacity-100]="isScrolled()">
|
|
58442
58580
|
<div
|
|
58443
58581
|
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
58444
|
-
[class.pointer-events-none]="!
|
|
58445
|
-
[class.pointer-events-auto]="
|
|
58582
|
+
[class.pointer-events-none]="!isScrolled()"
|
|
58583
|
+
[class.pointer-events-auto]="isScrolled()">
|
|
58446
58584
|
<div class="flex items-center justify-between">
|
|
58447
58585
|
<div class="flex-1 min-w-0 mr-4">
|
|
58448
58586
|
<h1 [ngClass]="isLightMode() ? 'text-xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent truncate' : 'text-xl font-bold bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent truncate'">
|
|
@@ -58571,7 +58709,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58571
58709
|
type: HostListener,
|
|
58572
58710
|
args: ['window:scroll', ['$event']]
|
|
58573
58711
|
}] }); })();
|
|
58574
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber:
|
|
58712
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber: 219 }); })();
|
|
58575
58713
|
|
|
58576
58714
|
function HierarchyDisplayComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
58577
58715
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 1);
|