@eric-emg/symphiq-components 1.2.175 → 1.2.177
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 +139 -91
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +25 -24
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -55402,7 +55402,7 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55402
55402
|
const isLoaded = this.isDataFullyLoaded();
|
|
55403
55403
|
const hasTargets = this.hasTargets();
|
|
55404
55404
|
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
|
|
55405
|
+
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
55406
|
}
|
|
55407
55407
|
if (isLoaded && !hasTargets) {
|
|
55408
55408
|
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 +55486,12 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55486
55486
|
i0.ɵɵtext(8, " Welcome to Your Revenue Calculator ");
|
|
55487
55487
|
i0.ɵɵelementEnd();
|
|
55488
55488
|
i0.ɵɵelementStart(9, "div", 8)(10, "p", 9);
|
|
55489
|
-
i0.ɵɵtext(11, " The Revenue Calculator empowers you to
|
|
55489
|
+
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
55490
|
i0.ɵɵelementEnd();
|
|
55491
55491
|
i0.ɵɵelementStart(12, "p", 9)(13, "strong", 10);
|
|
55492
55492
|
i0.ɵɵtext(14, "Why this matters:");
|
|
55493
55493
|
i0.ɵɵelementEnd();
|
|
55494
|
-
i0.ɵɵtext(15, "
|
|
55494
|
+
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
55495
|
i0.ɵɵelementEnd()();
|
|
55496
55496
|
i0.ɵɵelementStart(16, "div", 11);
|
|
55497
55497
|
i0.ɵɵnamespaceSVG();
|
|
@@ -55509,9 +55509,9 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55509
55509
|
i0.ɵɵelementEnd();
|
|
55510
55510
|
i0.ɵɵnamespaceHTML();
|
|
55511
55511
|
i0.ɵɵelementStart(26, "span")(27, "strong", 10);
|
|
55512
|
-
i0.ɵɵtext(28, "
|
|
55512
|
+
i0.ɵɵtext(28, "Revenue Target Input");
|
|
55513
55513
|
i0.ɵɵelementEnd();
|
|
55514
|
-
i0.ɵɵtext(29, " \u2014 Set
|
|
55514
|
+
i0.ɵɵtext(29, " \u2014 Set your desired revenue goal for the year, either as an absolute amount or percentage increase");
|
|
55515
55515
|
i0.ɵɵelementEnd()();
|
|
55516
55516
|
i0.ɵɵelementStart(30, "li", 16);
|
|
55517
55517
|
i0.ɵɵnamespaceSVG();
|
|
@@ -55520,9 +55520,9 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55520
55520
|
i0.ɵɵelementEnd();
|
|
55521
55521
|
i0.ɵɵnamespaceHTML();
|
|
55522
55522
|
i0.ɵɵelementStart(33, "span")(34, "strong", 10);
|
|
55523
|
-
i0.ɵɵtext(35, "
|
|
55523
|
+
i0.ɵɵtext(35, "Automatic Metric Distribution");
|
|
55524
55524
|
i0.ɵɵelementEnd();
|
|
55525
|
-
i0.ɵɵtext(36, " \u2014 See
|
|
55525
|
+
i0.ɵɵtext(36, " \u2014 See calculated metric improvements needed across your funnel to achieve your revenue target");
|
|
55526
55526
|
i0.ɵɵelementEnd()();
|
|
55527
55527
|
i0.ɵɵelementStart(37, "li", 16);
|
|
55528
55528
|
i0.ɵɵnamespaceSVG();
|
|
@@ -55531,9 +55531,9 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55531
55531
|
i0.ɵɵelementEnd();
|
|
55532
55532
|
i0.ɵɵnamespaceHTML();
|
|
55533
55533
|
i0.ɵɵelementStart(40, "span")(41, "strong", 10);
|
|
55534
|
-
i0.ɵɵtext(42, "
|
|
55534
|
+
i0.ɵɵtext(42, "Target Refinement Controls");
|
|
55535
55535
|
i0.ɵɵelementEnd();
|
|
55536
|
-
i0.ɵɵtext(43, " \u2014
|
|
55536
|
+
i0.ɵɵtext(43, " \u2014 Adjust individual metric targets to align with your team's capacity and strategic priorities");
|
|
55537
55537
|
i0.ɵɵelementEnd()()()()();
|
|
55538
55538
|
i0.ɵɵelementStart(44, "div", 19);
|
|
55539
55539
|
i0.ɵɵnamespaceSVG();
|
|
@@ -55604,10 +55604,10 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55604
55604
|
<!-- Description (full width, no confidence card) -->
|
|
55605
55605
|
<div class="space-y-3 mb-6">
|
|
55606
55606
|
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
55607
|
-
The Revenue Calculator empowers you to
|
|
55607
|
+
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
55608
|
</p>
|
|
55609
55609
|
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
55610
|
-
<strong class="font-semibold">Why this matters:</strong>
|
|
55610
|
+
<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
55611
|
</p>
|
|
55612
55612
|
</div>
|
|
55613
55613
|
|
|
@@ -55624,19 +55624,19 @@ class RevenueCalculatorWelcomeBannerComponent {
|
|
|
55624
55624
|
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55625
55625
|
<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
55626
|
</svg>
|
|
55627
|
-
<span><strong class="font-semibold">
|
|
55627
|
+
<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
55628
|
</li>
|
|
55629
55629
|
<li class="flex items-start gap-2">
|
|
55630
55630
|
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55631
55631
|
<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
55632
|
</svg>
|
|
55633
|
-
<span><strong class="font-semibold">
|
|
55633
|
+
<span><strong class="font-semibold">Automatic Metric Distribution</strong> — See calculated metric improvements needed across your funnel to achieve your revenue target</span>
|
|
55634
55634
|
</li>
|
|
55635
55635
|
<li class="flex items-start gap-2">
|
|
55636
55636
|
<svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
|
|
55637
55637
|
<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
55638
|
</svg>
|
|
55639
|
-
<span><strong class="font-semibold">
|
|
55639
|
+
<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
55640
|
</li>
|
|
55641
55641
|
</ul>
|
|
55642
55642
|
</div>
|
|
@@ -55824,6 +55824,29 @@ function calculateMetricPacing(metric) {
|
|
|
55824
55824
|
projectedValue
|
|
55825
55825
|
};
|
|
55826
55826
|
}
|
|
55827
|
+
function extractMetricPacing(pacingResponse, metricEnum) {
|
|
55828
|
+
if (!pacingResponse)
|
|
55829
|
+
return null;
|
|
55830
|
+
const soFarMetric = pacingResponse.soFarMetricValues?.find(m => m.metric === metricEnum);
|
|
55831
|
+
const projectedMetric = pacingResponse.projectedMetricValues?.find(m => m.metric === metricEnum);
|
|
55832
|
+
const lastYearMetrics = pacingResponse.lastYearMetricValuesMonthly?.filter(m => m.metric === metricEnum) || [];
|
|
55833
|
+
if (!soFarMetric && !projectedMetric)
|
|
55834
|
+
return null;
|
|
55835
|
+
const currentValue = soFarMetric?.value ? parseFloat(soFarMetric.value) : 0;
|
|
55836
|
+
const projectedValue = projectedMetric?.value ? parseFloat(projectedMetric.value) : 0;
|
|
55837
|
+
const priorYtdValue = lastYearMetrics.reduce((sum, m) => {
|
|
55838
|
+
return sum + (m.value ? parseFloat(m.value) : 0);
|
|
55839
|
+
}, 0);
|
|
55840
|
+
const pacingPercentage = priorYtdValue > 0 ? ((currentValue - priorYtdValue) / priorYtdValue) * 100 : 0;
|
|
55841
|
+
return {
|
|
55842
|
+
metric: metricEnum,
|
|
55843
|
+
currentValue,
|
|
55844
|
+
priorYtdValue,
|
|
55845
|
+
projectedValue,
|
|
55846
|
+
pacingPercentage,
|
|
55847
|
+
ytdVariancePercent: pacingPercentage
|
|
55848
|
+
};
|
|
55849
|
+
}
|
|
55827
55850
|
|
|
55828
55851
|
class PacingStatusBadgeComponent {
|
|
55829
55852
|
constructor() {
|
|
@@ -56070,21 +56093,21 @@ class FunnelMetricsVisualizationComponent {
|
|
|
56070
56093
|
constructor() {
|
|
56071
56094
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
56072
56095
|
this.calculations = input([], ...(ngDevMode ? [{ debugName: "calculations" }] : []));
|
|
56073
|
-
this.pacingMetrics = input(
|
|
56096
|
+
this.pacingMetrics = input(undefined, ...(ngDevMode ? [{ debugName: "pacingMetrics" }] : []));
|
|
56074
56097
|
this.currentYear = computed(() => new Date().getFullYear(), ...(ngDevMode ? [{ debugName: "currentYear" }] : []));
|
|
56075
56098
|
this.priorYear = computed(() => new Date().getFullYear() - 1, ...(ngDevMode ? [{ debugName: "priorYear" }] : []));
|
|
56076
56099
|
this.funnelStages = computed(() => {
|
|
56077
56100
|
const calcs = this.calculations();
|
|
56078
|
-
const
|
|
56101
|
+
const pacingResponse = this.pacingMetrics();
|
|
56079
56102
|
const grouped = new Map();
|
|
56080
56103
|
const stageMetrics = calcs.filter(c => c.isFunnelStage);
|
|
56081
56104
|
const relatedMetrics = calcs.filter(c => !c.isFunnelStage);
|
|
56082
56105
|
stageMetrics.forEach(stageMetric => {
|
|
56083
56106
|
const related = relatedMetrics.filter(rm => rm.funnelMetric === stageMetric.metric);
|
|
56084
|
-
const stagePacingMetric =
|
|
56107
|
+
const stagePacingMetric = extractMetricPacing(pacingResponse, stageMetric.metric);
|
|
56085
56108
|
const stagePacingInfo = stagePacingMetric ? calculateMetricPacing(stagePacingMetric) : null;
|
|
56086
56109
|
const relatedWithPacing = related.map(relMetric => {
|
|
56087
|
-
const relPacingMetric =
|
|
56110
|
+
const relPacingMetric = extractMetricPacing(pacingResponse, relMetric.metric);
|
|
56088
56111
|
const relPacingInfo = relPacingMetric ? calculateMetricPacing(relPacingMetric) : null;
|
|
56089
56112
|
return { calc: relMetric, pacingInfo: relPacingInfo };
|
|
56090
56113
|
});
|
|
@@ -57471,7 +57494,7 @@ class InitialTargetSettingComponent {
|
|
|
57471
57494
|
this.yoyUiData = input(undefined, ...(ngDevMode ? [{ debugName: "yoyUiData" }] : []));
|
|
57472
57495
|
this.trendUiData = input(undefined, ...(ngDevMode ? [{ debugName: "trendUiData" }] : []));
|
|
57473
57496
|
this.shopId = input(undefined, ...(ngDevMode ? [{ debugName: "shopId" }] : []));
|
|
57474
|
-
this.pacingMetrics = input(
|
|
57497
|
+
this.pacingMetrics = input(undefined, ...(ngDevMode ? [{ debugName: "pacingMetrics" }] : []));
|
|
57475
57498
|
this.dataResults = input([], ...(ngDevMode ? [{ debugName: "dataResults" }] : []));
|
|
57476
57499
|
this.targetsCreated = output();
|
|
57477
57500
|
this.inputMode = signal('absolute', ...(ngDevMode ? [{ debugName: "inputMode" }] : []));
|
|
@@ -57482,8 +57505,11 @@ class InitialTargetSettingComponent {
|
|
|
57482
57505
|
return sumMetricFromUiData(this.yoyUiData(), MetricEnum.PURCHASE_REVENUE);
|
|
57483
57506
|
}, ...(ngDevMode ? [{ debugName: "priorYearRevenue" }] : []));
|
|
57484
57507
|
this.currentPaceProjection = computed(() => {
|
|
57485
|
-
const
|
|
57486
|
-
|
|
57508
|
+
const pacingData = this.pacingMetrics();
|
|
57509
|
+
if (!pacingData || !pacingData.projectedMetricValues)
|
|
57510
|
+
return 0;
|
|
57511
|
+
const revenueMetric = pacingData.projectedMetricValues.find(m => m.metric === MetricEnum.PURCHASE_REVENUE);
|
|
57512
|
+
return revenueMetric?.value ? parseFloat(revenueMetric.value) : 0;
|
|
57487
57513
|
}, ...(ngDevMode ? [{ debugName: "currentPaceProjection" }] : []));
|
|
57488
57514
|
this.gapToClose = computed(() => {
|
|
57489
57515
|
const target = this.calculatedRevenue();
|
|
@@ -58140,7 +58166,7 @@ function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template(rf,
|
|
|
58140
58166
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
58141
58167
|
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("dataLoadStatus", ctx_r0.dataLoadStatus() ?? ctx_r0.ShopDataLoadStatusEnum.NOT_LOADED)("hasTargets", false);
|
|
58142
58168
|
i0.ɵɵadvance(2);
|
|
58143
|
-
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("funnelMetrics", ctx_r0.funnelMetrics() ?? i0.ɵɵpureFunction0(11, _c0$q))("mainUiData", ctx_r0.mainUiData())("yoyUiData", ctx_r0.yoyUiData())("trendUiData", ctx_r0.trendUiData())("shopId", ctx_r0.shopId())("pacingMetrics", ctx_r0.
|
|
58169
|
+
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("funnelMetrics", ctx_r0.funnelMetrics() ?? i0.ɵɵpureFunction0(11, _c0$q))("mainUiData", ctx_r0.mainUiData())("yoyUiData", ctx_r0.yoyUiData())("trendUiData", ctx_r0.trendUiData())("shopId", ctx_r0.shopId())("pacingMetrics", ctx_r0.pacingResponse())("dataResults", ctx_r0.dataResults());
|
|
58144
58170
|
} }
|
|
58145
58171
|
function SymphiqRevenueCalculatorDashboardComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
58146
58172
|
i0.ɵɵelement(0, "symphiq-revenue-calculator-welcome-banner", 14);
|
|
@@ -58170,7 +58196,6 @@ function SymphiqRevenueCalculatorDashboardComponent_Conditional_26_Template(rf,
|
|
|
58170
58196
|
} }
|
|
58171
58197
|
class SymphiqRevenueCalculatorDashboardComponent {
|
|
58172
58198
|
constructor() {
|
|
58173
|
-
this.headerScrollService = inject(HeaderScrollService);
|
|
58174
58199
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
58175
58200
|
this.isLoading = input(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
58176
58201
|
this.dataLoadStatus = input(ShopDataLoadStatusEnum.NOT_LOADED, ...(ngDevMode ? [{ debugName: "dataLoadStatus" }] : []));
|
|
@@ -58179,7 +58204,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58179
58204
|
this.mainUiData = input(undefined, ...(ngDevMode ? [{ debugName: "mainUiData" }] : []));
|
|
58180
58205
|
this.yoyUiData = input(undefined, ...(ngDevMode ? [{ debugName: "yoyUiData" }] : []));
|
|
58181
58206
|
this.trendUiData = input(undefined, ...(ngDevMode ? [{ debugName: "trendUiData" }] : []));
|
|
58182
|
-
this.
|
|
58207
|
+
this.pacingResponse = input(undefined, ...(ngDevMode ? [{ debugName: "pacingResponse" }] : []));
|
|
58183
58208
|
this.dataResults = input([], ...(ngDevMode ? [{ debugName: "dataResults" }] : []));
|
|
58184
58209
|
this.shopId = input(0, ...(ngDevMode ? [{ debugName: "shopId" }] : []));
|
|
58185
58210
|
this.embedded = input(false, ...(ngDevMode ? [{ debugName: "embedded" }] : []));
|
|
@@ -58193,6 +58218,8 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58193
58218
|
this.JourneyStepIdEnum = JourneyStepIdEnum;
|
|
58194
58219
|
this.ShopDataLoadStatusEnum = ShopDataLoadStatusEnum;
|
|
58195
58220
|
this.scrollProgress = signal(0, ...(ngDevMode ? [{ debugName: "scrollProgress" }] : []));
|
|
58221
|
+
this.isScrolled = signal(false, ...(ngDevMode ? [{ debugName: "isScrolled" }] : []));
|
|
58222
|
+
this.isProgrammaticScroll = false;
|
|
58196
58223
|
this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
|
|
58197
58224
|
this.hasCurrentYearTargets = computed(() => {
|
|
58198
58225
|
const targets = this.targets() ?? [];
|
|
@@ -58210,15 +58237,29 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58210
58237
|
effect(() => {
|
|
58211
58238
|
const event = this.scrollEvent();
|
|
58212
58239
|
if (event?.detail) {
|
|
58213
|
-
|
|
58240
|
+
const scrollTop = event.detail.scrollTop;
|
|
58241
|
+
this.updateScrollProgress(scrollTop);
|
|
58242
|
+
if (!this.isProgrammaticScroll) {
|
|
58243
|
+
const COLLAPSE_THRESHOLD = 20;
|
|
58244
|
+
const EXPAND_THRESHOLD = 10;
|
|
58245
|
+
const currentState = this.isScrolled();
|
|
58246
|
+
if (!currentState && scrollTop > COLLAPSE_THRESHOLD) {
|
|
58247
|
+
this.isScrolled.set(true);
|
|
58248
|
+
}
|
|
58249
|
+
else if (currentState && scrollTop < EXPAND_THRESHOLD) {
|
|
58250
|
+
this.isScrolled.set(false);
|
|
58251
|
+
}
|
|
58252
|
+
}
|
|
58214
58253
|
}
|
|
58215
58254
|
}, { allowSignalWrites: true });
|
|
58216
58255
|
}
|
|
58217
58256
|
ngAfterViewInit() {
|
|
58218
|
-
this.
|
|
58257
|
+
this.isScrolled.set(false);
|
|
58258
|
+
this.scrollProgress.set(0);
|
|
58219
58259
|
}
|
|
58220
58260
|
ngOnDestroy() {
|
|
58221
|
-
this.
|
|
58261
|
+
this.isScrolled.set(false);
|
|
58262
|
+
this.scrollProgress.set(0);
|
|
58222
58263
|
}
|
|
58223
58264
|
onWindowScroll() {
|
|
58224
58265
|
if (!this.embedded()) {
|
|
@@ -58297,7 +58338,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58297
58338
|
static { this.ɵfac = function SymphiqRevenueCalculatorDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqRevenueCalculatorDashboardComponent)(); }; }
|
|
58298
58339
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqRevenueCalculatorDashboardComponent, selectors: [["symphiq-revenue-calculator-dashboard"]], hostBindings: function SymphiqRevenueCalculatorDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
58299
58340
|
i0.ɵɵlistener("scroll", function SymphiqRevenueCalculatorDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
|
|
58300
|
-
} }, inputs: { viewMode: [1, "viewMode"], isLoading: [1, "isLoading"], dataLoadStatus: [1, "dataLoadStatus"], targets: [1, "targets"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], yoyUiData: [1, "yoyUiData"], trendUiData: [1, "trendUiData"],
|
|
58341
|
+
} }, inputs: { viewMode: [1, "viewMode"], isLoading: [1, "isLoading"], dataLoadStatus: [1, "dataLoadStatus"], targets: [1, "targets"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], yoyUiData: [1, "yoyUiData"], trendUiData: [1, "trendUiData"], pacingResponse: [1, "pacingResponse"], dataResults: [1, "dataResults"], shopId: [1, "shopId"], embedded: [1, "embedded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", targetsCreated: "targetsCreated" }, decls: 27, vars: 42, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative"], [1, "flex", "items-center", "justify-center", "min-h-[400px]"], ["size", "large", 3, "viewMode"], [3, "viewMode", "dataLoadStatus", "hasTargets"], [1, "mt-8", "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-12", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "text-center", "space-y-6"], [1, "space-y-2"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "max-w-md", 3, "ngClass"], [1, "mt-8"], [3, "targetsCreated", "viewMode", "funnelMetrics", "mainUiData", "yoyUiData", "trendUiData", "shopId", "pacingMetrics", "dataResults"], [1, "mt-8", "rounded-2xl", "border-2", "border-dashed", "p-12", 3, "ngClass"], [1, "text-center", "space-y-4"], [1, "flex", "justify-center"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-16", "h-16", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "text-base", "max-w-2xl", "mx-auto", 3, "ngClass"]], template: function SymphiqRevenueCalculatorDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
58301
58342
|
i0.ɵɵelementStart(0, "div", 0)(1, "div");
|
|
58302
58343
|
i0.ɵɵelement(2, "div", 1);
|
|
58303
58344
|
i0.ɵɵelementEnd();
|
|
@@ -58306,7 +58347,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58306
58347
|
i0.ɵɵtext(11, " Revenue Calculator ");
|
|
58307
58348
|
i0.ɵɵelementEnd();
|
|
58308
58349
|
i0.ɵɵelementStart(12, "p", 0);
|
|
58309
|
-
i0.ɵɵtext(13, " Set
|
|
58350
|
+
i0.ɵɵtext(13, " Set Your Revenue Target and See Required Metric Improvements ");
|
|
58310
58351
|
i0.ɵɵelementEnd()()()()();
|
|
58311
58352
|
i0.ɵɵelementStart(14, "div", 5)(15, "div", 8)(16, "div", 7)(17, "div", 9)(18, "h1", 0);
|
|
58312
58353
|
i0.ɵɵtext(19, " Revenue Calculator ");
|
|
@@ -58329,17 +58370,17 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58329
58370
|
i0.ɵɵadvance(2);
|
|
58330
58371
|
i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
|
|
58331
58372
|
i0.ɵɵadvance();
|
|
58332
|
-
i0.ɵɵclassProp("max-h-0", ctx.
|
|
58373
|
+
i0.ɵɵclassProp("max-h-0", ctx.isScrolled())("opacity-0", ctx.isScrolled())("max-h-96", !ctx.isScrolled())("opacity-100", !ctx.isScrolled());
|
|
58333
58374
|
i0.ɵɵadvance();
|
|
58334
|
-
i0.ɵɵclassProp("pointer-events-none", ctx.
|
|
58375
|
+
i0.ɵɵclassProp("pointer-events-none", ctx.isScrolled())("pointer-events-auto", !ctx.isScrolled());
|
|
58335
58376
|
i0.ɵɵadvance(3);
|
|
58336
58377
|
i0.ɵɵproperty("ngClass", ctx.getMainTitleClasses());
|
|
58337
58378
|
i0.ɵɵadvance(2);
|
|
58338
58379
|
i0.ɵɵproperty("ngClass", ctx.getSubtitleClasses());
|
|
58339
58380
|
i0.ɵɵadvance(2);
|
|
58340
|
-
i0.ɵɵclassProp("max-h-0", !ctx.
|
|
58381
|
+
i0.ɵɵclassProp("max-h-0", !ctx.isScrolled())("opacity-0", !ctx.isScrolled())("max-h-20", ctx.isScrolled())("opacity-100", ctx.isScrolled());
|
|
58341
58382
|
i0.ɵɵadvance();
|
|
58342
|
-
i0.ɵɵclassProp("pointer-events-none", !ctx.
|
|
58383
|
+
i0.ɵɵclassProp("pointer-events-none", !ctx.isScrolled())("pointer-events-auto", ctx.isScrolled());
|
|
58343
58384
|
i0.ɵɵadvance(3);
|
|
58344
58385
|
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");
|
|
58345
58386
|
i0.ɵɵadvance(2);
|
|
@@ -58367,37 +58408,39 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58367
58408
|
template: `
|
|
58368
58409
|
<div [ngClass]="getContainerClasses()">
|
|
58369
58410
|
<!-- Scroll Progress Bar -->
|
|
58370
|
-
<div
|
|
58411
|
+
<div
|
|
58412
|
+
[class]="embedded() ? 'sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30' : 'fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30'">
|
|
58371
58413
|
<div
|
|
58372
|
-
|
|
58373
|
-
|
|
58374
|
-
|
|
58414
|
+
[style.width.%]="scrollProgress()"
|
|
58415
|
+
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
58416
|
+
class="h-full transition-all duration-200 ease-out">
|
|
58375
58417
|
</div>
|
|
58376
58418
|
</div>
|
|
58377
58419
|
|
|
58378
58420
|
<!-- Animated Background Bubbles -->
|
|
58379
|
-
<div class="animated-bubbles" [class.light-mode]="isLightMode()"
|
|
58421
|
+
<div class="animated-bubbles" [class.light-mode]="isLightMode()"
|
|
58422
|
+
style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
|
|
58380
58423
|
|
|
58381
58424
|
<div class="relative z-[51]">
|
|
58382
58425
|
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
58383
58426
|
<!-- Expanded Header -->
|
|
58384
58427
|
<div
|
|
58385
|
-
|
|
58386
|
-
|
|
58387
|
-
|
|
58388
|
-
|
|
58389
|
-
|
|
58428
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
58429
|
+
[class.max-h-0]="isScrolled()"
|
|
58430
|
+
[class.opacity-0]="isScrolled()"
|
|
58431
|
+
[class.max-h-96]="!isScrolled()"
|
|
58432
|
+
[class.opacity-100]="!isScrolled()">
|
|
58390
58433
|
<div
|
|
58391
|
-
|
|
58392
|
-
|
|
58393
|
-
|
|
58434
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
58435
|
+
[class.pointer-events-none]="isScrolled()"
|
|
58436
|
+
[class.pointer-events-auto]="!isScrolled()">
|
|
58394
58437
|
<div class="flex items-center justify-between">
|
|
58395
58438
|
<div>
|
|
58396
58439
|
<h1 [ngClass]="getMainTitleClasses()">
|
|
58397
58440
|
Revenue Calculator
|
|
58398
58441
|
</h1>
|
|
58399
58442
|
<p [ngClass]="getSubtitleClasses()">
|
|
58400
|
-
Set
|
|
58443
|
+
Set Your Revenue Target and See Required Metric Improvements
|
|
58401
58444
|
</p>
|
|
58402
58445
|
</div>
|
|
58403
58446
|
</div>
|
|
@@ -58406,15 +58449,15 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58406
58449
|
|
|
58407
58450
|
<!-- Condensed Header -->
|
|
58408
58451
|
<div
|
|
58409
|
-
|
|
58410
|
-
|
|
58411
|
-
|
|
58412
|
-
|
|
58413
|
-
|
|
58452
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
58453
|
+
[class.max-h-0]="!isScrolled()"
|
|
58454
|
+
[class.opacity-0]="!isScrolled()"
|
|
58455
|
+
[class.max-h-20]="isScrolled()"
|
|
58456
|
+
[class.opacity-100]="isScrolled()">
|
|
58414
58457
|
<div
|
|
58415
|
-
|
|
58416
|
-
|
|
58417
|
-
|
|
58458
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
58459
|
+
[class.pointer-events-none]="!isScrolled()"
|
|
58460
|
+
[class.pointer-events-auto]="isScrolled()">
|
|
58418
58461
|
<div class="flex items-center justify-between">
|
|
58419
58462
|
<div class="flex-1 min-w-0 mr-4">
|
|
58420
58463
|
<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'">
|
|
@@ -58428,13 +58471,13 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58428
58471
|
|
|
58429
58472
|
<!-- Journey Progress Indicator -->
|
|
58430
58473
|
<symphiq-journey-progress-indicator
|
|
58431
|
-
|
|
58432
|
-
|
|
58433
|
-
|
|
58434
|
-
|
|
58435
|
-
|
|
58436
|
-
|
|
58437
|
-
|
|
58474
|
+
[viewMode]="viewMode()"
|
|
58475
|
+
[currentStepId]="JourneyStepIdEnum.REVENUE_CALCULATOR"
|
|
58476
|
+
[showNextStepAction]="hasCurrentYearTargets()"
|
|
58477
|
+
[forDemo]="forDemo()"
|
|
58478
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
58479
|
+
(stepClick)="stepClick.emit($event)"
|
|
58480
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
58438
58481
|
/>
|
|
58439
58482
|
|
|
58440
58483
|
<main class="relative">
|
|
@@ -58444,8 +58487,8 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58444
58487
|
@if (isLoading()) {
|
|
58445
58488
|
<div class="flex items-center justify-center min-h-[400px]">
|
|
58446
58489
|
<symphiq-indeterminate-spinner
|
|
58447
|
-
|
|
58448
|
-
|
|
58490
|
+
[viewMode]="viewMode()"
|
|
58491
|
+
size="large"
|
|
58449
58492
|
/>
|
|
58450
58493
|
</div>
|
|
58451
58494
|
}
|
|
@@ -58453,25 +58496,27 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58453
58496
|
<!-- State 2: Data Loading Message (isLoading = false && dataLoadStatus !== FULLY_LOADED) -->
|
|
58454
58497
|
@else if (dataLoadStatus() !== ShopDataLoadStatusEnum.FULLY_LOADED) {
|
|
58455
58498
|
<symphiq-revenue-calculator-welcome-banner
|
|
58456
|
-
|
|
58457
|
-
|
|
58458
|
-
|
|
58499
|
+
[viewMode]="viewMode()"
|
|
58500
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
58501
|
+
[hasTargets]="false"
|
|
58459
58502
|
/>
|
|
58460
58503
|
|
|
58461
58504
|
<!-- Loading Message Card -->
|
|
58462
|
-
<div [ngClass]="loadingMessageContainerClasses()"
|
|
58505
|
+
<div [ngClass]="loadingMessageContainerClasses()"
|
|
58506
|
+
class="mt-8 rounded-2xl border shadow-lg overflow-hidden">
|
|
58463
58507
|
<div [ngClass]="loadingMessageContentClasses()" class="px-8 py-12">
|
|
58464
58508
|
<div class="flex flex-col items-center text-center space-y-6">
|
|
58465
58509
|
<symphiq-indeterminate-spinner
|
|
58466
|
-
|
|
58467
|
-
|
|
58510
|
+
[viewMode]="viewMode()"
|
|
58511
|
+
size="large"
|
|
58468
58512
|
/>
|
|
58469
58513
|
<div class="space-y-2">
|
|
58470
58514
|
<h3 [ngClass]="loadingTitleClasses()" class="text-xl font-bold">
|
|
58471
58515
|
Downloading Your Google Analytics 4 Data
|
|
58472
58516
|
</h3>
|
|
58473
58517
|
<p [ngClass]="loadingTextClasses()" class="text-sm max-w-md">
|
|
58474
|
-
Symphiq is fetching your historical metrics to establish baseline performance. This may take a
|
|
58518
|
+
Symphiq is fetching your historical metrics to establish baseline performance. This may take a
|
|
58519
|
+
moment as we gather your funnel data.
|
|
58475
58520
|
</p>
|
|
58476
58521
|
</div>
|
|
58477
58522
|
</div>
|
|
@@ -58482,22 +58527,22 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58482
58527
|
<!-- State 3a: Initial Target Setting (isLoading = false && dataLoadStatus === FULLY_LOADED && !hasCurrentYearTargets) -->
|
|
58483
58528
|
@else if (!hasCurrentYearTargets()) {
|
|
58484
58529
|
<symphiq-revenue-calculator-welcome-banner
|
|
58485
|
-
|
|
58486
|
-
|
|
58487
|
-
|
|
58530
|
+
[viewMode]="viewMode()"
|
|
58531
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
58532
|
+
[hasTargets]="false"
|
|
58488
58533
|
/>
|
|
58489
58534
|
|
|
58490
58535
|
<div class="mt-8">
|
|
58491
58536
|
<symphiq-initial-target-setting
|
|
58492
|
-
|
|
58493
|
-
|
|
58494
|
-
|
|
58495
|
-
|
|
58496
|
-
|
|
58497
|
-
|
|
58498
|
-
|
|
58499
|
-
|
|
58500
|
-
|
|
58537
|
+
[viewMode]="viewMode()"
|
|
58538
|
+
[funnelMetrics]="funnelMetrics() ?? []"
|
|
58539
|
+
[mainUiData]="mainUiData()"
|
|
58540
|
+
[yoyUiData]="yoyUiData()"
|
|
58541
|
+
[trendUiData]="trendUiData()"
|
|
58542
|
+
[shopId]="shopId()"
|
|
58543
|
+
[pacingMetrics]="pacingResponse()"
|
|
58544
|
+
[dataResults]="dataResults()"
|
|
58545
|
+
(targetsCreated)="targetsCreated.emit($event)"
|
|
58501
58546
|
/>
|
|
58502
58547
|
</div>
|
|
58503
58548
|
}
|
|
@@ -58505,24 +58550,27 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58505
58550
|
<!-- State 3b: Final Dashboard (isLoading = false && dataLoadStatus === FULLY_LOADED && hasCurrentYearTargets) -->
|
|
58506
58551
|
@else {
|
|
58507
58552
|
<symphiq-revenue-calculator-welcome-banner
|
|
58508
|
-
|
|
58509
|
-
|
|
58510
|
-
|
|
58553
|
+
[viewMode]="viewMode()"
|
|
58554
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
58555
|
+
[hasTargets]="true"
|
|
58511
58556
|
/>
|
|
58512
58557
|
|
|
58513
58558
|
<!-- Placeholder for Revenue Calculator Content -->
|
|
58514
58559
|
<div [ngClass]="placeholderContainerClasses()" class="mt-8 rounded-2xl border-2 border-dashed p-12">
|
|
58515
58560
|
<div class="text-center space-y-4">
|
|
58516
58561
|
<div class="flex justify-center">
|
|
58517
|
-
<svg [ngClass]="placeholderIconClasses()" class="w-16 h-16" fill="none" stroke="currentColor"
|
|
58518
|
-
|
|
58562
|
+
<svg [ngClass]="placeholderIconClasses()" class="w-16 h-16" fill="none" stroke="currentColor"
|
|
58563
|
+
viewBox="0 0 24 24">
|
|
58564
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
58565
|
+
d="M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"></path>
|
|
58519
58566
|
</svg>
|
|
58520
58567
|
</div>
|
|
58521
58568
|
<h3 [ngClass]="placeholderTitleClasses()" class="text-2xl font-bold">
|
|
58522
58569
|
Revenue Calculator Dashboard
|
|
58523
58570
|
</h3>
|
|
58524
58571
|
<p [ngClass]="placeholderTextClasses()" class="text-base max-w-2xl mx-auto">
|
|
58525
|
-
Your targets are set! The full revenue calculator dashboard with pacing and insights will be
|
|
58572
|
+
Your targets are set! The full revenue calculator dashboard with pacing and insights will be
|
|
58573
|
+
displayed here.
|
|
58526
58574
|
</p>
|
|
58527
58575
|
</div>
|
|
58528
58576
|
</div>
|
|
@@ -58534,11 +58582,11 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58534
58582
|
</div>
|
|
58535
58583
|
`
|
|
58536
58584
|
}]
|
|
58537
|
-
}], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], dataLoadStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataLoadStatus", required: false }] }], targets: [{ type: i0.Input, args: [{ isSignal: true, alias: "targets", 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 }] }],
|
|
58585
|
+
}], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], dataLoadStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataLoadStatus", required: false }] }], targets: [{ type: i0.Input, args: [{ isSignal: true, alias: "targets", 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 }] }], pacingResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingResponse", required: false }] }], dataResults: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataResults", required: false }] }], shopId: [{ type: i0.Input, args: [{ isSignal: true, alias: "shopId", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], onWindowScroll: [{
|
|
58538
58586
|
type: HostListener,
|
|
58539
58587
|
args: ['window:scroll', ['$event']]
|
|
58540
58588
|
}] }); })();
|
|
58541
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber:
|
|
58589
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber: 219 }); })();
|
|
58542
58590
|
|
|
58543
58591
|
function HierarchyDisplayComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
58544
58592
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 1);
|