@eric-emg/symphiq-components 1.2.175 → 1.2.176
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 +100 -67
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +32 -32
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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);
|
|
@@ -58179,7 +58205,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58179
58205
|
this.mainUiData = input(undefined, ...(ngDevMode ? [{ debugName: "mainUiData" }] : []));
|
|
58180
58206
|
this.yoyUiData = input(undefined, ...(ngDevMode ? [{ debugName: "yoyUiData" }] : []));
|
|
58181
58207
|
this.trendUiData = input(undefined, ...(ngDevMode ? [{ debugName: "trendUiData" }] : []));
|
|
58182
|
-
this.
|
|
58208
|
+
this.pacingResponse = input(undefined, ...(ngDevMode ? [{ debugName: "pacingResponse" }] : []));
|
|
58183
58209
|
this.dataResults = input([], ...(ngDevMode ? [{ debugName: "dataResults" }] : []));
|
|
58184
58210
|
this.shopId = input(0, ...(ngDevMode ? [{ debugName: "shopId" }] : []));
|
|
58185
58211
|
this.embedded = input(false, ...(ngDevMode ? [{ debugName: "embedded" }] : []));
|
|
@@ -58297,7 +58323,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58297
58323
|
static { this.ɵfac = function SymphiqRevenueCalculatorDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqRevenueCalculatorDashboardComponent)(); }; }
|
|
58298
58324
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqRevenueCalculatorDashboardComponent, selectors: [["symphiq-revenue-calculator-dashboard"]], hostBindings: function SymphiqRevenueCalculatorDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
58299
58325
|
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"],
|
|
58326
|
+
} }, 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
58327
|
i0.ɵɵelementStart(0, "div", 0)(1, "div");
|
|
58302
58328
|
i0.ɵɵelement(2, "div", 1);
|
|
58303
58329
|
i0.ɵɵelementEnd();
|
|
@@ -58367,30 +58393,32 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58367
58393
|
template: `
|
|
58368
58394
|
<div [ngClass]="getContainerClasses()">
|
|
58369
58395
|
<!-- Scroll Progress Bar -->
|
|
58370
|
-
<div
|
|
58396
|
+
<div
|
|
58397
|
+
[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
58398
|
<div
|
|
58372
|
-
|
|
58373
|
-
|
|
58374
|
-
|
|
58399
|
+
[style.width.%]="scrollProgress()"
|
|
58400
|
+
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
58401
|
+
class="h-full transition-all duration-200 ease-out">
|
|
58375
58402
|
</div>
|
|
58376
58403
|
</div>
|
|
58377
58404
|
|
|
58378
58405
|
<!-- Animated Background Bubbles -->
|
|
58379
|
-
<div class="animated-bubbles" [class.light-mode]="isLightMode()"
|
|
58406
|
+
<div class="animated-bubbles" [class.light-mode]="isLightMode()"
|
|
58407
|
+
style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
|
|
58380
58408
|
|
|
58381
58409
|
<div class="relative z-[51]">
|
|
58382
58410
|
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
58383
58411
|
<!-- Expanded Header -->
|
|
58384
58412
|
<div
|
|
58385
|
-
|
|
58386
|
-
|
|
58387
|
-
|
|
58388
|
-
|
|
58389
|
-
|
|
58413
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
58414
|
+
[class.max-h-0]="headerScrollService.isScrolled()"
|
|
58415
|
+
[class.opacity-0]="headerScrollService.isScrolled()"
|
|
58416
|
+
[class.max-h-96]="!headerScrollService.isScrolled()"
|
|
58417
|
+
[class.opacity-100]="!headerScrollService.isScrolled()">
|
|
58390
58418
|
<div
|
|
58391
|
-
|
|
58392
|
-
|
|
58393
|
-
|
|
58419
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
58420
|
+
[class.pointer-events-none]="headerScrollService.isScrolled()"
|
|
58421
|
+
[class.pointer-events-auto]="!headerScrollService.isScrolled()">
|
|
58394
58422
|
<div class="flex items-center justify-between">
|
|
58395
58423
|
<div>
|
|
58396
58424
|
<h1 [ngClass]="getMainTitleClasses()">
|
|
@@ -58406,15 +58434,15 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58406
58434
|
|
|
58407
58435
|
<!-- Condensed Header -->
|
|
58408
58436
|
<div
|
|
58409
|
-
|
|
58410
|
-
|
|
58411
|
-
|
|
58412
|
-
|
|
58413
|
-
|
|
58437
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
58438
|
+
[class.max-h-0]="!headerScrollService.isScrolled()"
|
|
58439
|
+
[class.opacity-0]="!headerScrollService.isScrolled()"
|
|
58440
|
+
[class.max-h-20]="headerScrollService.isScrolled()"
|
|
58441
|
+
[class.opacity-100]="headerScrollService.isScrolled()">
|
|
58414
58442
|
<div
|
|
58415
|
-
|
|
58416
|
-
|
|
58417
|
-
|
|
58443
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
58444
|
+
[class.pointer-events-none]="!headerScrollService.isScrolled()"
|
|
58445
|
+
[class.pointer-events-auto]="headerScrollService.isScrolled()">
|
|
58418
58446
|
<div class="flex items-center justify-between">
|
|
58419
58447
|
<div class="flex-1 min-w-0 mr-4">
|
|
58420
58448
|
<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 +58456,13 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58428
58456
|
|
|
58429
58457
|
<!-- Journey Progress Indicator -->
|
|
58430
58458
|
<symphiq-journey-progress-indicator
|
|
58431
|
-
|
|
58432
|
-
|
|
58433
|
-
|
|
58434
|
-
|
|
58435
|
-
|
|
58436
|
-
|
|
58437
|
-
|
|
58459
|
+
[viewMode]="viewMode()"
|
|
58460
|
+
[currentStepId]="JourneyStepIdEnum.REVENUE_CALCULATOR"
|
|
58461
|
+
[showNextStepAction]="hasCurrentYearTargets()"
|
|
58462
|
+
[forDemo]="forDemo()"
|
|
58463
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
58464
|
+
(stepClick)="stepClick.emit($event)"
|
|
58465
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
58438
58466
|
/>
|
|
58439
58467
|
|
|
58440
58468
|
<main class="relative">
|
|
@@ -58444,8 +58472,8 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58444
58472
|
@if (isLoading()) {
|
|
58445
58473
|
<div class="flex items-center justify-center min-h-[400px]">
|
|
58446
58474
|
<symphiq-indeterminate-spinner
|
|
58447
|
-
|
|
58448
|
-
|
|
58475
|
+
[viewMode]="viewMode()"
|
|
58476
|
+
size="large"
|
|
58449
58477
|
/>
|
|
58450
58478
|
</div>
|
|
58451
58479
|
}
|
|
@@ -58453,25 +58481,27 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58453
58481
|
<!-- State 2: Data Loading Message (isLoading = false && dataLoadStatus !== FULLY_LOADED) -->
|
|
58454
58482
|
@else if (dataLoadStatus() !== ShopDataLoadStatusEnum.FULLY_LOADED) {
|
|
58455
58483
|
<symphiq-revenue-calculator-welcome-banner
|
|
58456
|
-
|
|
58457
|
-
|
|
58458
|
-
|
|
58484
|
+
[viewMode]="viewMode()"
|
|
58485
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
58486
|
+
[hasTargets]="false"
|
|
58459
58487
|
/>
|
|
58460
58488
|
|
|
58461
58489
|
<!-- Loading Message Card -->
|
|
58462
|
-
<div [ngClass]="loadingMessageContainerClasses()"
|
|
58490
|
+
<div [ngClass]="loadingMessageContainerClasses()"
|
|
58491
|
+
class="mt-8 rounded-2xl border shadow-lg overflow-hidden">
|
|
58463
58492
|
<div [ngClass]="loadingMessageContentClasses()" class="px-8 py-12">
|
|
58464
58493
|
<div class="flex flex-col items-center text-center space-y-6">
|
|
58465
58494
|
<symphiq-indeterminate-spinner
|
|
58466
|
-
|
|
58467
|
-
|
|
58495
|
+
[viewMode]="viewMode()"
|
|
58496
|
+
size="large"
|
|
58468
58497
|
/>
|
|
58469
58498
|
<div class="space-y-2">
|
|
58470
58499
|
<h3 [ngClass]="loadingTitleClasses()" class="text-xl font-bold">
|
|
58471
58500
|
Downloading Your Google Analytics 4 Data
|
|
58472
58501
|
</h3>
|
|
58473
58502
|
<p [ngClass]="loadingTextClasses()" class="text-sm max-w-md">
|
|
58474
|
-
Symphiq is fetching your historical metrics to establish baseline performance. This may take a
|
|
58503
|
+
Symphiq is fetching your historical metrics to establish baseline performance. This may take a
|
|
58504
|
+
moment as we gather your funnel data.
|
|
58475
58505
|
</p>
|
|
58476
58506
|
</div>
|
|
58477
58507
|
</div>
|
|
@@ -58482,22 +58512,22 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58482
58512
|
<!-- State 3a: Initial Target Setting (isLoading = false && dataLoadStatus === FULLY_LOADED && !hasCurrentYearTargets) -->
|
|
58483
58513
|
@else if (!hasCurrentYearTargets()) {
|
|
58484
58514
|
<symphiq-revenue-calculator-welcome-banner
|
|
58485
|
-
|
|
58486
|
-
|
|
58487
|
-
|
|
58515
|
+
[viewMode]="viewMode()"
|
|
58516
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
58517
|
+
[hasTargets]="false"
|
|
58488
58518
|
/>
|
|
58489
58519
|
|
|
58490
58520
|
<div class="mt-8">
|
|
58491
58521
|
<symphiq-initial-target-setting
|
|
58492
|
-
|
|
58493
|
-
|
|
58494
|
-
|
|
58495
|
-
|
|
58496
|
-
|
|
58497
|
-
|
|
58498
|
-
|
|
58499
|
-
|
|
58500
|
-
|
|
58522
|
+
[viewMode]="viewMode()"
|
|
58523
|
+
[funnelMetrics]="funnelMetrics() ?? []"
|
|
58524
|
+
[mainUiData]="mainUiData()"
|
|
58525
|
+
[yoyUiData]="yoyUiData()"
|
|
58526
|
+
[trendUiData]="trendUiData()"
|
|
58527
|
+
[shopId]="shopId()"
|
|
58528
|
+
[pacingMetrics]="pacingResponse()"
|
|
58529
|
+
[dataResults]="dataResults()"
|
|
58530
|
+
(targetsCreated)="targetsCreated.emit($event)"
|
|
58501
58531
|
/>
|
|
58502
58532
|
</div>
|
|
58503
58533
|
}
|
|
@@ -58505,24 +58535,27 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58505
58535
|
<!-- State 3b: Final Dashboard (isLoading = false && dataLoadStatus === FULLY_LOADED && hasCurrentYearTargets) -->
|
|
58506
58536
|
@else {
|
|
58507
58537
|
<symphiq-revenue-calculator-welcome-banner
|
|
58508
|
-
|
|
58509
|
-
|
|
58510
|
-
|
|
58538
|
+
[viewMode]="viewMode()"
|
|
58539
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
58540
|
+
[hasTargets]="true"
|
|
58511
58541
|
/>
|
|
58512
58542
|
|
|
58513
58543
|
<!-- Placeholder for Revenue Calculator Content -->
|
|
58514
58544
|
<div [ngClass]="placeholderContainerClasses()" class="mt-8 rounded-2xl border-2 border-dashed p-12">
|
|
58515
58545
|
<div class="text-center space-y-4">
|
|
58516
58546
|
<div class="flex justify-center">
|
|
58517
|
-
<svg [ngClass]="placeholderIconClasses()" class="w-16 h-16" fill="none" stroke="currentColor"
|
|
58518
|
-
|
|
58547
|
+
<svg [ngClass]="placeholderIconClasses()" class="w-16 h-16" fill="none" stroke="currentColor"
|
|
58548
|
+
viewBox="0 0 24 24">
|
|
58549
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
58550
|
+
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
58551
|
</svg>
|
|
58520
58552
|
</div>
|
|
58521
58553
|
<h3 [ngClass]="placeholderTitleClasses()" class="text-2xl font-bold">
|
|
58522
58554
|
Revenue Calculator Dashboard
|
|
58523
58555
|
</h3>
|
|
58524
58556
|
<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
|
|
58557
|
+
Your targets are set! The full revenue calculator dashboard with pacing and insights will be
|
|
58558
|
+
displayed here.
|
|
58526
58559
|
</p>
|
|
58527
58560
|
</div>
|
|
58528
58561
|
</div>
|
|
@@ -58534,11 +58567,11 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
58534
58567
|
</div>
|
|
58535
58568
|
`
|
|
58536
58569
|
}]
|
|
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 }] }],
|
|
58570
|
+
}], () => [], { 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
58571
|
type: HostListener,
|
|
58539
58572
|
args: ['window:scroll', ['$event']]
|
|
58540
58573
|
}] }); })();
|
|
58541
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber:
|
|
58574
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber: 220 }); })();
|
|
58542
58575
|
|
|
58543
58576
|
function HierarchyDisplayComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
58544
58577
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 1);
|