@eric-emg/symphiq-components 1.2.212 → 1.2.213
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 +288 -233
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +22 -22
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -56288,10 +56288,10 @@ function InitialTargetSettingComponent_Conditional_18_Template(rf, ctx) { if (rf
|
|
|
56288
56288
|
} }
|
|
56289
56289
|
function InitialTargetSettingComponent_Conditional_22_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
56290
56290
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
56291
|
-
i0.ɵɵelementStart(0, "div", 34)(1, "span",
|
|
56291
|
+
i0.ɵɵelementStart(0, "div", 34)(1, "span", 36);
|
|
56292
56292
|
i0.ɵɵtext(2, " $ ");
|
|
56293
56293
|
i0.ɵɵelementEnd();
|
|
56294
|
-
i0.ɵɵelementStart(3, "input",
|
|
56294
|
+
i0.ɵɵelementStart(3, "input", 37, 0);
|
|
56295
56295
|
i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_22_Conditional_5_Template_input_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.absoluteInput, $event) || (ctx_r0.absoluteInput = $event); return i0.ɵɵresetView($event); });
|
|
56296
56296
|
i0.ɵɵlistener("ngModelChange", function InitialTargetSettingComponent_Conditional_22_Conditional_5_Template_input_ngModelChange_3_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onAbsoluteInputChange()); });
|
|
56297
56297
|
i0.ɵɵelementEnd()();
|
|
@@ -56305,11 +56305,11 @@ function InitialTargetSettingComponent_Conditional_22_Conditional_5_Template(rf,
|
|
|
56305
56305
|
} }
|
|
56306
56306
|
function InitialTargetSettingComponent_Conditional_22_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
56307
56307
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
56308
|
-
i0.ɵɵelementStart(0, "div", 34)(1, "input",
|
|
56308
|
+
i0.ɵɵelementStart(0, "div", 34)(1, "input", 38, 1);
|
|
56309
56309
|
i0.ɵɵtwoWayListener("ngModelChange", function InitialTargetSettingComponent_Conditional_22_Conditional_6_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.percentageInput, $event) || (ctx_r0.percentageInput = $event); return i0.ɵɵresetView($event); });
|
|
56310
56310
|
i0.ɵɵlistener("ngModelChange", function InitialTargetSettingComponent_Conditional_22_Conditional_6_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.onPercentageInputChange()); });
|
|
56311
56311
|
i0.ɵɵelementEnd();
|
|
56312
|
-
i0.ɵɵelementStart(3, "span",
|
|
56312
|
+
i0.ɵɵelementStart(3, "span", 39);
|
|
56313
56313
|
i0.ɵɵtext(4, " % ");
|
|
56314
56314
|
i0.ɵɵelementEnd()();
|
|
56315
56315
|
} if (rf & 2) {
|
|
@@ -56320,6 +56320,17 @@ function InitialTargetSettingComponent_Conditional_22_Conditional_6_Template(rf,
|
|
|
56320
56320
|
i0.ɵɵadvance(2);
|
|
56321
56321
|
i0.ɵɵproperty("ngClass", ctx_r0.inputSuffixClasses());
|
|
56322
56322
|
} }
|
|
56323
|
+
function InitialTargetSettingComponent_Conditional_22_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
56324
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
56325
|
+
i0.ɵɵelementStart(0, "div", 35)(1, "button", 40);
|
|
56326
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_22_Conditional_7_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.handleCancel()); });
|
|
56327
|
+
i0.ɵɵtext(2, " Cancel ");
|
|
56328
|
+
i0.ɵɵelementEnd()();
|
|
56329
|
+
} if (rf & 2) {
|
|
56330
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56331
|
+
i0.ɵɵadvance();
|
|
56332
|
+
i0.ɵɵproperty("ngClass", ctx_r0.cancelButtonClasses());
|
|
56333
|
+
} }
|
|
56323
56334
|
function InitialTargetSettingComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
56324
56335
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
56325
56336
|
i0.ɵɵelementStart(0, "div", 32)(1, "button", 33);
|
|
@@ -56331,6 +56342,7 @@ function InitialTargetSettingComponent_Conditional_22_Template(rf, ctx) { if (rf
|
|
|
56331
56342
|
i0.ɵɵtext(4, " % Increase ");
|
|
56332
56343
|
i0.ɵɵelementEnd()();
|
|
56333
56344
|
i0.ɵɵconditionalCreate(5, InitialTargetSettingComponent_Conditional_22_Conditional_5_Template, 5, 3, "div", 34)(6, InitialTargetSettingComponent_Conditional_22_Conditional_6_Template, 5, 3, "div", 34);
|
|
56345
|
+
i0.ɵɵconditionalCreate(7, InitialTargetSettingComponent_Conditional_22_Conditional_7_Template, 3, 1, "div", 35);
|
|
56334
56346
|
} if (rf & 2) {
|
|
56335
56347
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
56336
56348
|
i0.ɵɵadvance();
|
|
@@ -56339,6 +56351,8 @@ function InitialTargetSettingComponent_Conditional_22_Template(rf, ctx) { if (rf
|
|
|
56339
56351
|
i0.ɵɵproperty("ngClass", ctx_r0.inputModeButtonClasses("percentage"));
|
|
56340
56352
|
i0.ɵɵadvance(2);
|
|
56341
56353
|
i0.ɵɵconditional(ctx_r0.inputMode() === "absolute" ? 5 : 6);
|
|
56354
|
+
i0.ɵɵadvance(2);
|
|
56355
|
+
i0.ɵɵconditional(ctx_r0.hasStoredResponse() ? 7 : -1);
|
|
56342
56356
|
} }
|
|
56343
56357
|
function InitialTargetSettingComponent_Conditional_29_Template(rf, ctx) { if (rf & 1) {
|
|
56344
56358
|
i0.ɵɵelement(0, "symphiq-area-chart", 22);
|
|
@@ -56347,7 +56361,7 @@ function InitialTargetSettingComponent_Conditional_29_Template(rf, ctx) { if (rf
|
|
|
56347
56361
|
i0.ɵɵproperty("chart", ctx_r0.revenueChartData())("showAxisLabels", true)("viewMode", ctx_r0.viewMode())("currencySymbol", "$")("height", "108px");
|
|
56348
56362
|
} }
|
|
56349
56363
|
function InitialTargetSettingComponent_Conditional_30_Template(rf, ctx) { if (rf & 1) {
|
|
56350
|
-
i0.ɵɵelementStart(0, "div", 23)(1, "p",
|
|
56364
|
+
i0.ɵɵelementStart(0, "div", 23)(1, "p", 41);
|
|
56351
56365
|
i0.ɵɵtext(2, " No revenue data available ");
|
|
56352
56366
|
i0.ɵɵelementEnd()();
|
|
56353
56367
|
} if (rf & 2) {
|
|
@@ -56355,40 +56369,52 @@ function InitialTargetSettingComponent_Conditional_30_Template(rf, ctx) { if (rf
|
|
|
56355
56369
|
i0.ɵɵadvance();
|
|
56356
56370
|
i0.ɵɵproperty("ngClass", ctx_r0.noDataClasses());
|
|
56357
56371
|
} }
|
|
56372
|
+
function InitialTargetSettingComponent_Conditional_33_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
56373
|
+
i0.ɵɵtext(0);
|
|
56374
|
+
} if (rf & 2) {
|
|
56375
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56376
|
+
i0.ɵɵtextInterpolate1(" > ", ctx_r0.formatCurrency(ctx_r0.calculatedRevenue()), " ");
|
|
56377
|
+
} }
|
|
56358
56378
|
function InitialTargetSettingComponent_Conditional_33_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
56359
|
-
|
|
56360
|
-
|
|
56361
|
-
|
|
56379
|
+
i0.ɵɵtext(0);
|
|
56380
|
+
} if (rf & 2) {
|
|
56381
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56382
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.formatCurrency(ctx_r0.displayedTargetRevenue()), " ");
|
|
56383
|
+
} }
|
|
56384
|
+
function InitialTargetSettingComponent_Conditional_33_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
56385
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
56386
|
+
i0.ɵɵelementStart(0, "button", 52);
|
|
56387
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_33_Conditional_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.handleAdjustTarget()); });
|
|
56362
56388
|
i0.ɵɵtext(1, " Adjust Revenue Target ");
|
|
56363
56389
|
i0.ɵɵelementEnd();
|
|
56364
56390
|
} if (rf & 2) {
|
|
56365
56391
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56366
56392
|
i0.ɵɵproperty("ngClass", ctx_r0.secondaryButtonClasses());
|
|
56367
56393
|
} }
|
|
56368
|
-
function
|
|
56369
|
-
i0.ɵɵelementStart(0, "div",
|
|
56370
|
-
i0.ɵɵelement(2, "div",
|
|
56371
|
-
i0.ɵɵelementStart(3, "span",
|
|
56394
|
+
function InitialTargetSettingComponent_Conditional_33_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
56395
|
+
i0.ɵɵelementStart(0, "div", 46)(1, "div", 47);
|
|
56396
|
+
i0.ɵɵelement(2, "div", 48);
|
|
56397
|
+
i0.ɵɵelementStart(3, "span", 49);
|
|
56372
56398
|
i0.ɵɵtext(4);
|
|
56373
56399
|
i0.ɵɵelementEnd();
|
|
56374
|
-
i0.ɵɵelement(5, "div",
|
|
56400
|
+
i0.ɵɵelement(5, "div", 48);
|
|
56375
56401
|
i0.ɵɵelementEnd();
|
|
56376
|
-
i0.ɵɵelementStart(6, "div",
|
|
56402
|
+
i0.ɵɵelementStart(6, "div", 50)(7, "div")(8, "p", 43);
|
|
56377
56403
|
i0.ɵɵtext(9, " Gap to Close ");
|
|
56378
56404
|
i0.ɵɵelementEnd();
|
|
56379
|
-
i0.ɵɵelementStart(10, "p",
|
|
56405
|
+
i0.ɵɵelementStart(10, "p", 51);
|
|
56380
56406
|
i0.ɵɵtext(11);
|
|
56381
56407
|
i0.ɵɵelementEnd()();
|
|
56382
|
-
i0.ɵɵelementStart(12, "div")(13, "div",
|
|
56408
|
+
i0.ɵɵelementStart(12, "div")(13, "div", 53)(14, "p", 13);
|
|
56383
56409
|
i0.ɵɵtext(15, " Additional Growth Needed ");
|
|
56384
56410
|
i0.ɵɵelementEnd();
|
|
56385
|
-
i0.ɵɵelementStart(16, "button",
|
|
56411
|
+
i0.ɵɵelementStart(16, "button", 54);
|
|
56386
56412
|
i0.ɵɵnamespaceSVG();
|
|
56387
|
-
i0.ɵɵelementStart(17, "svg",
|
|
56388
|
-
i0.ɵɵelement(18, "path",
|
|
56413
|
+
i0.ɵɵelementStart(17, "svg", 55);
|
|
56414
|
+
i0.ɵɵelement(18, "path", 56);
|
|
56389
56415
|
i0.ɵɵelementEnd()()();
|
|
56390
56416
|
i0.ɵɵnamespaceHTML();
|
|
56391
|
-
i0.ɵɵelementStart(19, "p",
|
|
56417
|
+
i0.ɵɵelementStart(19, "p", 51);
|
|
56392
56418
|
i0.ɵɵtext(20);
|
|
56393
56419
|
i0.ɵɵelementEnd()()()();
|
|
56394
56420
|
} if (rf & 2) {
|
|
@@ -56417,34 +56443,34 @@ function InitialTargetSettingComponent_Conditional_33_Conditional_26_Template(rf
|
|
|
56417
56443
|
i0.ɵɵtextInterpolate2(" ", ctx_r0.gapToClose().amount > 0 ? "+" : "", "", ctx_r0.formatPercentage(ctx_r0.gapToClose().percentage, 1), " ");
|
|
56418
56444
|
} }
|
|
56419
56445
|
function InitialTargetSettingComponent_Conditional_33_Template(rf, ctx) { if (rf & 1) {
|
|
56420
|
-
i0.ɵɵelementStart(0, "div", 26)(1, "div", 17)(2, "div",
|
|
56446
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "div", 17)(2, "div", 42)(3, "div")(4, "p", 43);
|
|
56421
56447
|
i0.ɵɵtext(5);
|
|
56422
56448
|
i0.ɵɵelementEnd();
|
|
56423
|
-
i0.ɵɵelementStart(6, "p",
|
|
56424
|
-
i0.ɵɵ
|
|
56449
|
+
i0.ɵɵelementStart(6, "p", 44);
|
|
56450
|
+
i0.ɵɵconditionalCreate(7, InitialTargetSettingComponent_Conditional_33_Conditional_7_Template, 1, 1)(8, InitialTargetSettingComponent_Conditional_33_Conditional_8_Template, 1, 1);
|
|
56425
56451
|
i0.ɵɵelementEnd()();
|
|
56426
|
-
i0.ɵɵconditionalCreate(
|
|
56452
|
+
i0.ɵɵconditionalCreate(9, InitialTargetSettingComponent_Conditional_33_Conditional_9_Template, 2, 1, "button", 45);
|
|
56427
56453
|
i0.ɵɵelementEnd();
|
|
56428
|
-
i0.ɵɵelementStart(
|
|
56429
|
-
i0.ɵɵelement(
|
|
56430
|
-
i0.ɵɵelementStart(
|
|
56431
|
-
i0.ɵɵtext(
|
|
56454
|
+
i0.ɵɵelementStart(10, "div", 46)(11, "div", 47);
|
|
56455
|
+
i0.ɵɵelement(12, "div", 48);
|
|
56456
|
+
i0.ɵɵelementStart(13, "span", 49);
|
|
56457
|
+
i0.ɵɵtext(14);
|
|
56432
56458
|
i0.ɵɵelementEnd();
|
|
56433
|
-
i0.ɵɵelement(
|
|
56459
|
+
i0.ɵɵelement(15, "div", 48);
|
|
56434
56460
|
i0.ɵɵelementEnd();
|
|
56435
|
-
i0.ɵɵelementStart(
|
|
56436
|
-
i0.ɵɵtext(
|
|
56461
|
+
i0.ɵɵelementStart(16, "div", 50)(17, "div")(18, "p", 43);
|
|
56462
|
+
i0.ɵɵtext(19, " Increase Amount ");
|
|
56437
56463
|
i0.ɵɵelementEnd();
|
|
56438
|
-
i0.ɵɵelementStart(
|
|
56439
|
-
i0.ɵɵtext(
|
|
56464
|
+
i0.ɵɵelementStart(20, "p", 51);
|
|
56465
|
+
i0.ɵɵtext(21);
|
|
56440
56466
|
i0.ɵɵelementEnd()();
|
|
56441
|
-
i0.ɵɵelementStart(
|
|
56442
|
-
i0.ɵɵtext(
|
|
56467
|
+
i0.ɵɵelementStart(22, "div")(23, "p", 43);
|
|
56468
|
+
i0.ɵɵtext(24, " % Growth ");
|
|
56443
56469
|
i0.ɵɵelementEnd();
|
|
56444
|
-
i0.ɵɵelementStart(
|
|
56445
|
-
i0.ɵɵtext(
|
|
56470
|
+
i0.ɵɵelementStart(25, "p", 51);
|
|
56471
|
+
i0.ɵɵtext(26);
|
|
56446
56472
|
i0.ɵɵelementEnd()()()();
|
|
56447
|
-
i0.ɵɵconditionalCreate(
|
|
56473
|
+
i0.ɵɵconditionalCreate(27, InitialTargetSettingComponent_Conditional_33_Conditional_27_Template, 21, 13, "div", 46);
|
|
56448
56474
|
i0.ɵɵelementEnd()();
|
|
56449
56475
|
} if (rf & 2) {
|
|
56450
56476
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -56456,9 +56482,9 @@ function InitialTargetSettingComponent_Conditional_33_Template(rf, ctx) { if (rf
|
|
|
56456
56482
|
i0.ɵɵadvance();
|
|
56457
56483
|
i0.ɵɵproperty("ngClass", ctx_r0.calculatedValueClasses());
|
|
56458
56484
|
i0.ɵɵadvance();
|
|
56459
|
-
i0.ɵɵ
|
|
56460
|
-
i0.ɵɵadvance();
|
|
56461
|
-
i0.ɵɵconditional(ctx_r0.calculationState() === "results" ?
|
|
56485
|
+
i0.ɵɵconditional(ctx_r0.calculationState() === "results" && ctx_r0.targets() === undefined ? 7 : 8);
|
|
56486
|
+
i0.ɵɵadvance(2);
|
|
56487
|
+
i0.ɵɵconditional(ctx_r0.calculationState() === "results" && ctx_r0.targets() === undefined ? 9 : -1);
|
|
56462
56488
|
i0.ɵɵadvance(3);
|
|
56463
56489
|
i0.ɵɵproperty("ngClass", ctx_r0.dividerBorderClasses());
|
|
56464
56490
|
i0.ɵɵadvance();
|
|
@@ -56480,7 +56506,7 @@ function InitialTargetSettingComponent_Conditional_33_Template(rf, ctx) { if (rf
|
|
|
56480
56506
|
i0.ɵɵadvance();
|
|
56481
56507
|
i0.ɵɵtextInterpolate1(" +", ctx_r0.formatPercentage(ctx_r0.percentageIncrease(), 1), " ");
|
|
56482
56508
|
i0.ɵɵadvance();
|
|
56483
|
-
i0.ɵɵconditional(ctx_r0.currentPaceProjection() > 0 && ctx_r0.gapToClose().amount !== 0 ?
|
|
56509
|
+
i0.ɵɵconditional(ctx_r0.currentPaceProjection() > 0 && ctx_r0.gapToClose().amount !== 0 ? 27 : -1);
|
|
56484
56510
|
} }
|
|
56485
56511
|
function InitialTargetSettingComponent_Conditional_34_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
56486
56512
|
i0.ɵɵelement(0, "symphiq-area-chart", 22);
|
|
@@ -56489,7 +56515,7 @@ function InitialTargetSettingComponent_Conditional_34_Conditional_4_Template(rf,
|
|
|
56489
56515
|
i0.ɵɵproperty("chart", ctx_r0.revenueChartData())("showAxisLabels", true)("viewMode", ctx_r0.viewMode())("currencySymbol", "$")("height", "320px");
|
|
56490
56516
|
} }
|
|
56491
56517
|
function InitialTargetSettingComponent_Conditional_34_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
56492
|
-
i0.ɵɵelementStart(0, "div", 23)(1, "p",
|
|
56518
|
+
i0.ɵɵelementStart(0, "div", 23)(1, "p", 41);
|
|
56493
56519
|
i0.ɵɵtext(2, " No revenue data available ");
|
|
56494
56520
|
i0.ɵɵelementEnd()();
|
|
56495
56521
|
} if (rf & 2) {
|
|
@@ -56514,13 +56540,13 @@ function InitialTargetSettingComponent_Conditional_34_Template(rf, ctx) { if (rf
|
|
|
56514
56540
|
i0.ɵɵconditional(ctx_r0.revenueChartData() ? 4 : 5);
|
|
56515
56541
|
} }
|
|
56516
56542
|
function InitialTargetSettingComponent_Conditional_37_Template(rf, ctx) { if (rf & 1) {
|
|
56517
|
-
i0.ɵɵelementStart(0, "div", 3)(1, "div",
|
|
56543
|
+
i0.ɵɵelementStart(0, "div", 3)(1, "div", 57)(2, "h2", 58);
|
|
56518
56544
|
i0.ɵɵtext(3, " Contributing Metrics ");
|
|
56519
56545
|
i0.ɵɵelementEnd();
|
|
56520
|
-
i0.ɵɵelementStart(4, "p",
|
|
56546
|
+
i0.ɵɵelementStart(4, "p", 41);
|
|
56521
56547
|
i0.ɵɵtext(5);
|
|
56522
56548
|
i0.ɵɵelementEnd()();
|
|
56523
|
-
i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization",
|
|
56549
|
+
i0.ɵɵelement(6, "symphiq-funnel-metrics-visualization", 59);
|
|
56524
56550
|
i0.ɵɵelementEnd();
|
|
56525
56551
|
} if (rf & 2) {
|
|
56526
56552
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -56544,6 +56570,7 @@ class InitialTargetSettingComponent {
|
|
|
56544
56570
|
this.pacingMetrics = input(undefined, ...(ngDevMode ? [{ debugName: "pacingMetrics" }] : []));
|
|
56545
56571
|
this.dataResults = input([], ...(ngDevMode ? [{ debugName: "dataResults" }] : []));
|
|
56546
56572
|
this.reverseCalculationResponse = input(undefined, ...(ngDevMode ? [{ debugName: "reverseCalculationResponse" }] : []));
|
|
56573
|
+
this.targets = input(undefined, ...(ngDevMode ? [{ debugName: "targets" }] : []));
|
|
56547
56574
|
this.targetsCreated = output();
|
|
56548
56575
|
this.calculateRevenueRequest = output();
|
|
56549
56576
|
this.inputMode = signal('absolute', ...(ngDevMode ? [{ debugName: "inputMode" }] : []));
|
|
@@ -56659,6 +56686,9 @@ class InitialTargetSettingComponent {
|
|
|
56659
56686
|
return results;
|
|
56660
56687
|
}, ...(ngDevMode ? [{ debugName: "displayedMetricCalculations" }] : []));
|
|
56661
56688
|
this.displayedTargetRevenue = computed(() => {
|
|
56689
|
+
if (this.calculationState() !== 'results') {
|
|
56690
|
+
return this.calculatedRevenue();
|
|
56691
|
+
}
|
|
56662
56692
|
const response = this.storedResponse();
|
|
56663
56693
|
if (response && response.targetRevenue) {
|
|
56664
56694
|
return response.targetRevenue;
|
|
@@ -56824,6 +56854,15 @@ class InitialTargetSettingComponent {
|
|
|
56824
56854
|
this.calculationState.set('input');
|
|
56825
56855
|
}
|
|
56826
56856
|
handleCancel() {
|
|
56857
|
+
const response = this.storedResponse();
|
|
56858
|
+
if (response && response.targetRevenue) {
|
|
56859
|
+
this.absoluteInput.set(response.targetRevenue);
|
|
56860
|
+
const priorRevenue = this.priorYearRevenue();
|
|
56861
|
+
if (priorRevenue > 0) {
|
|
56862
|
+
const pct = ((response.targetRevenue - priorRevenue) / priorRevenue) * 100;
|
|
56863
|
+
this.percentageInput.set(pct);
|
|
56864
|
+
}
|
|
56865
|
+
}
|
|
56827
56866
|
this.calculationState.set('results');
|
|
56828
56867
|
}
|
|
56829
56868
|
formatCurrency(value) {
|
|
@@ -56999,7 +57038,7 @@ class InitialTargetSettingComponent {
|
|
|
56999
57038
|
let _t;
|
|
57000
57039
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
|
|
57001
57040
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
|
|
57002
|
-
} }, inputs: { viewMode: [1, "viewMode"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], trendUiData: [1, "trendUiData"], shopId: [1, "shopId"], pacingMetrics: [1, "pacingMetrics"], dataResults: [1, "dataResults"], reverseCalculationResponse: [1, "reverseCalculationResponse"] }, outputs: { targetsCreated: "targetsCreated", calculateRevenueRequest: "calculateRevenueRequest" }, decls: 39, vars: 33, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [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, "flex", "flex-col", "gap-8"], [1, "grid", "lg:grid-cols-2", "gap-8"], [1, "flex", "flex-col", "gap-4"], [1, "p-6", "rounded-xl", "border-2", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-4", "place-content-between"], [1, "flex", "items-center", "gap-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", 3, "ngClass"], ["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, "text-xs", "font-medium", "uppercase", "tracking-wider", 3, "ngClass"], [1, "text-lg", "font-bold", 3, "ngClass"], [1, "form-area-collapse"], [1, "form-area-content"], [1, "space-y-6"], [1, "chart-in-column"], [1, "chart-in-column-content"], [1, "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "rounded-xl", "border", "p-4", 3, "ngClass"], [3, "chart", "showAxisLabels", "viewMode", "currencySymbol", "height"], [1, "h-64", "flex", "items-center", "justify-center"], [1, "calculated-card-enter", "order-first", "lg:order-last"], [1, "calculated-card-content"], [1, "p-6", "rounded-xl", "border-2", "h-full", 3, "ngClass"], [1, "w-full"], [1, "metrics-section-enter"], [1, "metrics-section-content"], [3, "submitClick", "cancelClick", "viewMode", "isValid", "isSubmitting", "validationMessage", "buttonText", "showCancelButton"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"], [1, "flex", "gap-2"], [1, "flex-1", "py-2", "px-4", "rounded-lg", "text-sm", "font-semibold", "transition-all", 3, "click", "ngClass"], [1, "relative"], [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, "text-sm", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "ngClass"], [1, "relative", "pt-6", "mt-6"], [1, "absolute", "top-0", "left-0", "right-0", "flex", "items-center", "-translate-y-1/2"], [1, "flex-1", "h-px", 3, "ngClass"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-4", "pt-2"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-1", "mb-1"], ["type", "button", "tooltipType", "markdown", "tooltipPosition", "top", 1, "flex-shrink-0", "w-4", "h-4", "rounded-full", "inline-flex", "items-center", "justify-center", "transition-colors", 3, "ngClass", "libSymphiqTooltip"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["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, "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [3, "viewMode", "calculations", "pacingMetrics"]], template: function InitialTargetSettingComponent_Template(rf, ctx) { if (rf & 1) {
|
|
57041
|
+
} }, inputs: { viewMode: [1, "viewMode"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], trendUiData: [1, "trendUiData"], shopId: [1, "shopId"], pacingMetrics: [1, "pacingMetrics"], dataResults: [1, "dataResults"], reverseCalculationResponse: [1, "reverseCalculationResponse"], targets: [1, "targets"] }, outputs: { targetsCreated: "targetsCreated", calculateRevenueRequest: "calculateRevenueRequest" }, decls: 39, vars: 33, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [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, "flex", "flex-col", "gap-8"], [1, "grid", "lg:grid-cols-2", "gap-8"], [1, "flex", "flex-col", "gap-4"], [1, "p-6", "rounded-xl", "border-2", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-4", "place-content-between"], [1, "flex", "items-center", "gap-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", 3, "ngClass"], ["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, "text-xs", "font-medium", "uppercase", "tracking-wider", 3, "ngClass"], [1, "text-lg", "font-bold", 3, "ngClass"], [1, "form-area-collapse"], [1, "form-area-content"], [1, "space-y-6"], [1, "chart-in-column"], [1, "chart-in-column-content"], [1, "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "rounded-xl", "border", "p-4", 3, "ngClass"], [3, "chart", "showAxisLabels", "viewMode", "currencySymbol", "height"], [1, "h-64", "flex", "items-center", "justify-center"], [1, "calculated-card-enter", "order-first", "lg:order-last"], [1, "calculated-card-content"], [1, "p-6", "rounded-xl", "border-2", "h-full", 3, "ngClass"], [1, "w-full"], [1, "metrics-section-enter"], [1, "metrics-section-content"], [3, "submitClick", "cancelClick", "viewMode", "isValid", "isSubmitting", "validationMessage", "buttonText", "showCancelButton"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"], [1, "flex", "gap-2"], [1, "flex-1", "py-2", "px-4", "rounded-lg", "text-sm", "font-semibold", "transition-all", 3, "click", "ngClass"], [1, "relative"], [1, "flex", "justify-end"], [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, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", 3, "click", "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "ngClass"], [1, "relative", "pt-6", "mt-6"], [1, "absolute", "top-0", "left-0", "right-0", "flex", "items-center", "-translate-y-1/2"], [1, "flex-1", "h-px", 3, "ngClass"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-4", "pt-2"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-1", "mb-1"], ["type", "button", "tooltipType", "markdown", "tooltipPosition", "top", 1, "flex-shrink-0", "w-4", "h-4", "rounded-full", "inline-flex", "items-center", "justify-center", "transition-colors", 3, "ngClass", "libSymphiqTooltip"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["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, "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [3, "viewMode", "calculations", "pacingMetrics"]], template: function InitialTargetSettingComponent_Template(rf, ctx) { if (rf & 1) {
|
|
57003
57042
|
i0.ɵɵelementStart(0, "div", 2);
|
|
57004
57043
|
i0.ɵɵelement(1, "symphiq-tooltip-container");
|
|
57005
57044
|
i0.ɵɵelementStart(2, "div", 3)(3, "h2", 4);
|
|
@@ -57020,7 +57059,7 @@ class InitialTargetSettingComponent {
|
|
|
57020
57059
|
i0.ɵɵconditionalCreate(18, InitialTargetSettingComponent_Conditional_18_Template, 8, 4, "div", 10);
|
|
57021
57060
|
i0.ɵɵelementEnd();
|
|
57022
57061
|
i0.ɵɵelementStart(19, "div", 15)(20, "div", 16)(21, "div", 17);
|
|
57023
|
-
i0.ɵɵconditionalCreate(22, InitialTargetSettingComponent_Conditional_22_Template,
|
|
57062
|
+
i0.ɵɵconditionalCreate(22, InitialTargetSettingComponent_Conditional_22_Template, 8, 4);
|
|
57024
57063
|
i0.ɵɵelementEnd()()()();
|
|
57025
57064
|
i0.ɵɵelementStart(23, "div", 18)(24, "div", 19)(25, "div")(26, "p", 20);
|
|
57026
57065
|
i0.ɵɵtext(27, " Year-over-Year Revenue Trend ");
|
|
@@ -57029,7 +57068,7 @@ class InitialTargetSettingComponent {
|
|
|
57029
57068
|
i0.ɵɵconditionalCreate(29, InitialTargetSettingComponent_Conditional_29_Template, 1, 5, "symphiq-area-chart", 22)(30, InitialTargetSettingComponent_Conditional_30_Template, 3, 1, "div", 23);
|
|
57030
57069
|
i0.ɵɵelementEnd()()()()();
|
|
57031
57070
|
i0.ɵɵelementStart(31, "div", 24)(32, "div", 25);
|
|
57032
|
-
i0.ɵɵconditionalCreate(33, InitialTargetSettingComponent_Conditional_33_Template,
|
|
57071
|
+
i0.ɵɵconditionalCreate(33, InitialTargetSettingComponent_Conditional_33_Template, 28, 17, "div", 26);
|
|
57033
57072
|
i0.ɵɵelementEnd()()();
|
|
57034
57073
|
i0.ɵɵconditionalCreate(34, InitialTargetSettingComponent_Conditional_34_Template, 6, 3, "div", 27);
|
|
57035
57074
|
i0.ɵɵelementEnd()();
|
|
@@ -57198,6 +57237,17 @@ class InitialTargetSettingComponent {
|
|
|
57198
57237
|
</span>
|
|
57199
57238
|
</div>
|
|
57200
57239
|
}
|
|
57240
|
+
|
|
57241
|
+
@if (hasStoredResponse()) {
|
|
57242
|
+
<div class="flex justify-end">
|
|
57243
|
+
<button
|
|
57244
|
+
(click)="handleCancel()"
|
|
57245
|
+
[ngClass]="cancelButtonClasses()"
|
|
57246
|
+
class="px-4 py-2 rounded-lg text-sm font-semibold transition-all">
|
|
57247
|
+
Cancel
|
|
57248
|
+
</button>
|
|
57249
|
+
</div>
|
|
57250
|
+
}
|
|
57201
57251
|
}
|
|
57202
57252
|
</div>
|
|
57203
57253
|
</div>
|
|
@@ -57243,10 +57293,14 @@ class InitialTargetSettingComponent {
|
|
|
57243
57293
|
{{ currentYear() }} Revenue Target
|
|
57244
57294
|
</p>
|
|
57245
57295
|
<p [ngClass]="calculatedValueClasses()" class="text-3xl font-bold">
|
|
57246
|
-
|
|
57296
|
+
@if (calculationState() === 'results' && targets() === undefined) {
|
|
57297
|
+
> {{ formatCurrency(calculatedRevenue()) }}
|
|
57298
|
+
} @else {
|
|
57299
|
+
{{ formatCurrency(displayedTargetRevenue()) }}
|
|
57300
|
+
}
|
|
57247
57301
|
</p>
|
|
57248
57302
|
</div>
|
|
57249
|
-
@if (calculationState() === 'results') {
|
|
57303
|
+
@if (calculationState() === 'results' && targets() === undefined) {
|
|
57250
57304
|
<button
|
|
57251
57305
|
(click)="handleAdjustTarget()"
|
|
57252
57306
|
[ngClass]="secondaryButtonClasses()"
|
|
@@ -57401,8 +57455,8 @@ class InitialTargetSettingComponent {
|
|
|
57401
57455
|
}], percentageInputRef: [{
|
|
57402
57456
|
type: ViewChild,
|
|
57403
57457
|
args: ['percentageInputRef']
|
|
57404
|
-
}], 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 }] }], 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 }] }], reverseCalculationResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseCalculationResponse", required: false }] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], calculateRevenueRequest: [{ type: i0.Output, args: ["calculateRevenueRequest"] }] }); })();
|
|
57405
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber:
|
|
57458
|
+
}], 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 }] }], 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 }] }], reverseCalculationResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseCalculationResponse", required: false }] }], targets: [{ type: i0.Input, args: [{ isSignal: true, alias: "targets", required: false }] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], calculateRevenueRequest: [{ type: i0.Output, args: ["calculateRevenueRequest"] }] }); })();
|
|
57459
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 433 }); })();
|
|
57406
57460
|
|
|
57407
57461
|
function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
57408
57462
|
i0.ɵɵelement(0, "div", 5);
|
|
@@ -57582,7 +57636,7 @@ function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template(rf,
|
|
|
57582
57636
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
57583
57637
|
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("dataLoadStatus", ctx_r0.dataLoadStatus() ?? ctx_r0.ShopDataLoadStatusEnum.NOT_LOADED)("hasTargets", false);
|
|
57584
57638
|
i0.ɵɵadvance(2);
|
|
57585
|
-
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("funnelMetrics", ctx_r0.funnelMetrics() ?? i0.ɵɵpureFunction0(
|
|
57639
|
+
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("funnelMetrics", ctx_r0.funnelMetrics() ?? i0.ɵɵpureFunction0(12, _c0$q))("mainUiData", ctx_r0.mainUiData())("trendUiData", ctx_r0.trendUiData())("shopId", ctx_r0.shopId())("pacingMetrics", ctx_r0.pacingResponse())("dataResults", ctx_r0.dataResults())("reverseCalculationResponse", ctx_r0.reverseCalculationResponse())("targets", ctx_r0.targets());
|
|
57586
57640
|
} }
|
|
57587
57641
|
function SymphiqRevenueCalculatorDashboardComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
57588
57642
|
i0.ɵɵelement(0, "symphiq-revenue-calculator-welcome-banner", 14);
|
|
@@ -57756,7 +57810,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
57756
57810
|
static { this.ɵfac = function SymphiqRevenueCalculatorDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqRevenueCalculatorDashboardComponent)(); }; }
|
|
57757
57811
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqRevenueCalculatorDashboardComponent, selectors: [["symphiq-revenue-calculator-dashboard"]], hostBindings: function SymphiqRevenueCalculatorDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
57758
57812
|
i0.ɵɵlistener("scroll", function SymphiqRevenueCalculatorDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
|
|
57759
|
-
} }, inputs: { viewMode: [1, "viewMode"], isLoading: [1, "isLoading"], dataLoadStatus: [1, "dataLoadStatus"], targets: [1, "targets"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], ytdComparisonUiData: [1, "ytdComparisonUiData"], 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"], reverseCalculationResponse: [1, "reverseCalculationResponse"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", targetsCreated: "targetsCreated", calculateRevenueRequest: "calculateRevenueRequest" }, 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", "calculateRevenueRequest", "viewMode", "funnelMetrics", "mainUiData", "trendUiData", "shopId", "pacingMetrics", "dataResults", "reverseCalculationResponse"], [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) {
|
|
57813
|
+
} }, inputs: { viewMode: [1, "viewMode"], isLoading: [1, "isLoading"], dataLoadStatus: [1, "dataLoadStatus"], targets: [1, "targets"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], ytdComparisonUiData: [1, "ytdComparisonUiData"], 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"], reverseCalculationResponse: [1, "reverseCalculationResponse"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", targetsCreated: "targetsCreated", calculateRevenueRequest: "calculateRevenueRequest" }, 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", "calculateRevenueRequest", "viewMode", "funnelMetrics", "mainUiData", "trendUiData", "shopId", "pacingMetrics", "dataResults", "reverseCalculationResponse", "targets"], [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) {
|
|
57760
57814
|
i0.ɵɵelementStart(0, "div", 0)(1, "div");
|
|
57761
57815
|
i0.ɵɵelement(2, "div", 1);
|
|
57762
57816
|
i0.ɵɵelementEnd();
|
|
@@ -57774,7 +57828,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
57774
57828
|
i0.ɵɵlistener("stepClick", function SymphiqRevenueCalculatorDashboardComponent_Template_symphiq_journey_progress_indicator_stepClick_20_listener($event) { return ctx.stepClick.emit($event); })("nextStepClick", function SymphiqRevenueCalculatorDashboardComponent_Template_symphiq_journey_progress_indicator_nextStepClick_20_listener() { return ctx.nextStepClick.emit(); });
|
|
57775
57829
|
i0.ɵɵelementEnd();
|
|
57776
57830
|
i0.ɵɵelementStart(21, "main", 11)(22, "div", 6);
|
|
57777
|
-
i0.ɵɵconditionalCreate(23, SymphiqRevenueCalculatorDashboardComponent_Conditional_23_Template, 2, 1, "div", 12)(24, SymphiqRevenueCalculatorDashboardComponent_Conditional_24_Template, 10, 8)(25, SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template, 3,
|
|
57831
|
+
i0.ɵɵconditionalCreate(23, SymphiqRevenueCalculatorDashboardComponent_Conditional_23_Template, 2, 1, "div", 12)(24, SymphiqRevenueCalculatorDashboardComponent_Conditional_24_Template, 10, 8)(25, SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template, 3, 13)(26, SymphiqRevenueCalculatorDashboardComponent_Conditional_26_Template, 10, 7);
|
|
57778
57832
|
i0.ɵɵelementEnd()()()();
|
|
57779
57833
|
} if (rf & 2) {
|
|
57780
57834
|
i0.ɵɵproperty("ngClass", ctx.getContainerClasses());
|
|
@@ -57823,189 +57877,190 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
57823
57877
|
IndeterminateSpinnerComponent
|
|
57824
57878
|
],
|
|
57825
57879
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
57826
|
-
template: `
|
|
57827
|
-
<div [ngClass]="getContainerClasses()">
|
|
57828
|
-
<!-- Scroll Progress Bar -->
|
|
57829
|
-
<div
|
|
57830
|
-
[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'">
|
|
57831
|
-
<div
|
|
57832
|
-
[style.width.%]="scrollProgress()"
|
|
57833
|
-
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
57834
|
-
class="h-full transition-all duration-200 ease-out">
|
|
57835
|
-
</div>
|
|
57836
|
-
</div>
|
|
57837
|
-
|
|
57838
|
-
<!-- Animated Background Bubbles -->
|
|
57839
|
-
<div class="animated-bubbles" [class.light-mode]="isLightMode()"
|
|
57840
|
-
style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
|
|
57841
|
-
|
|
57842
|
-
<div class="relative z-[51]">
|
|
57843
|
-
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
57844
|
-
<!-- Expanded Header -->
|
|
57845
|
-
<div
|
|
57846
|
-
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57847
|
-
[class.max-h-0]="isScrolled()"
|
|
57848
|
-
[class.opacity-0]="isScrolled()"
|
|
57849
|
-
[class.max-h-96]="!isScrolled()"
|
|
57850
|
-
[class.opacity-100]="!isScrolled()">
|
|
57851
|
-
<div
|
|
57852
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
57853
|
-
[class.pointer-events-none]="isScrolled()"
|
|
57854
|
-
[class.pointer-events-auto]="!isScrolled()">
|
|
57855
|
-
<div class="flex items-center justify-between">
|
|
57856
|
-
<div>
|
|
57857
|
-
<h1 [ngClass]="getMainTitleClasses()">
|
|
57858
|
-
Revenue Calculator
|
|
57859
|
-
</h1>
|
|
57860
|
-
<p [ngClass]="getSubtitleClasses()">
|
|
57861
|
-
Set Your Revenue Target and See Required Metric Improvements
|
|
57862
|
-
</p>
|
|
57863
|
-
</div>
|
|
57864
|
-
</div>
|
|
57865
|
-
</div>
|
|
57866
|
-
</div>
|
|
57867
|
-
|
|
57868
|
-
<!-- Condensed Header -->
|
|
57869
|
-
<div
|
|
57870
|
-
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57871
|
-
[class.max-h-0]="!isScrolled()"
|
|
57872
|
-
[class.opacity-0]="!isScrolled()"
|
|
57873
|
-
[class.max-h-20]="isScrolled()"
|
|
57874
|
-
[class.opacity-100]="isScrolled()">
|
|
57875
|
-
<div
|
|
57876
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
57877
|
-
[class.pointer-events-none]="!isScrolled()"
|
|
57878
|
-
[class.pointer-events-auto]="isScrolled()">
|
|
57879
|
-
<div class="flex items-center justify-between">
|
|
57880
|
-
<div class="flex-1 min-w-0 mr-4">
|
|
57881
|
-
<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'">
|
|
57882
|
-
Revenue Calculator
|
|
57883
|
-
</h1>
|
|
57884
|
-
</div>
|
|
57885
|
-
</div>
|
|
57886
|
-
</div>
|
|
57887
|
-
</div>
|
|
57888
|
-
</header>
|
|
57889
|
-
|
|
57890
|
-
<!-- Journey Progress Indicator -->
|
|
57891
|
-
<symphiq-journey-progress-indicator
|
|
57892
|
-
[viewMode]="viewMode()"
|
|
57893
|
-
[currentStepId]="JourneyStepIdEnum.REVENUE_CALCULATOR"
|
|
57894
|
-
[showNextStepAction]="hasCurrentYearTargets()"
|
|
57895
|
-
[forDemo]="forDemo()"
|
|
57896
|
-
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
57897
|
-
(stepClick)="stepClick.emit($event)"
|
|
57898
|
-
(nextStepClick)="nextStepClick.emit()"
|
|
57899
|
-
/>
|
|
57900
|
-
|
|
57901
|
-
<main class="relative">
|
|
57902
|
-
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
57903
|
-
|
|
57904
|
-
<!-- State 1: Pure Loading (isLoading = true) -->
|
|
57905
|
-
@if (isLoading()) {
|
|
57906
|
-
<div class="flex items-center justify-center min-h-[400px]">
|
|
57907
|
-
<symphiq-indeterminate-spinner
|
|
57908
|
-
[viewMode]="viewMode()"
|
|
57909
|
-
size="large"
|
|
57910
|
-
/>
|
|
57911
|
-
</div>
|
|
57912
|
-
}
|
|
57913
|
-
|
|
57914
|
-
<!-- State 2: Data Loading Message (isLoading = false && dataLoadStatus !== FULLY_LOADED) -->
|
|
57915
|
-
@else if (dataLoadStatus() !== ShopDataLoadStatusEnum.FULLY_LOADED) {
|
|
57916
|
-
<symphiq-revenue-calculator-welcome-banner
|
|
57917
|
-
[viewMode]="viewMode()"
|
|
57918
|
-
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
57919
|
-
[hasTargets]="false"
|
|
57920
|
-
/>
|
|
57921
|
-
|
|
57922
|
-
<!-- Loading Message Card -->
|
|
57923
|
-
<div [ngClass]="loadingMessageContainerClasses()"
|
|
57924
|
-
class="mt-8 rounded-2xl border shadow-lg overflow-hidden">
|
|
57925
|
-
<div [ngClass]="loadingMessageContentClasses()" class="px-8 py-12">
|
|
57926
|
-
<div class="flex flex-col items-center text-center space-y-6">
|
|
57927
|
-
<symphiq-indeterminate-spinner
|
|
57928
|
-
[viewMode]="viewMode()"
|
|
57929
|
-
size="large"
|
|
57930
|
-
/>
|
|
57931
|
-
<div class="space-y-2">
|
|
57932
|
-
<h3 [ngClass]="loadingTitleClasses()" class="text-xl font-bold">
|
|
57933
|
-
Downloading Your Google Analytics 4 Data
|
|
57934
|
-
</h3>
|
|
57935
|
-
<p [ngClass]="loadingTextClasses()" class="text-sm max-w-md">
|
|
57936
|
-
Symphiq is fetching your historical metrics to establish baseline performance. This may take a
|
|
57937
|
-
moment as we gather your funnel data.
|
|
57938
|
-
</p>
|
|
57939
|
-
</div>
|
|
57940
|
-
</div>
|
|
57941
|
-
</div>
|
|
57942
|
-
</div>
|
|
57943
|
-
}
|
|
57944
|
-
|
|
57945
|
-
<!-- State 3a: Initial Target Setting (isLoading = false && dataLoadStatus === FULLY_LOADED && !hasCurrentYearTargets) -->
|
|
57946
|
-
@else if (!hasCurrentYearTargets()) {
|
|
57947
|
-
<symphiq-revenue-calculator-welcome-banner
|
|
57948
|
-
[viewMode]="viewMode()"
|
|
57949
|
-
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
57950
|
-
[hasTargets]="false"
|
|
57951
|
-
/>
|
|
57952
|
-
|
|
57953
|
-
<div class="mt-8">
|
|
57954
|
-
<symphiq-initial-target-setting
|
|
57955
|
-
[viewMode]="viewMode()"
|
|
57956
|
-
[funnelMetrics]="funnelMetrics() ?? []"
|
|
57957
|
-
[mainUiData]="mainUiData()"
|
|
57958
|
-
[trendUiData]="trendUiData()"
|
|
57959
|
-
[shopId]="shopId()"
|
|
57960
|
-
[pacingMetrics]="pacingResponse()"
|
|
57961
|
-
[dataResults]="dataResults()"
|
|
57962
|
-
[reverseCalculationResponse]="reverseCalculationResponse()"
|
|
57963
|
-
|
|
57964
|
-
(
|
|
57965
|
-
|
|
57966
|
-
|
|
57967
|
-
|
|
57968
|
-
|
|
57969
|
-
|
|
57970
|
-
|
|
57971
|
-
|
|
57972
|
-
|
|
57973
|
-
[
|
|
57974
|
-
[
|
|
57975
|
-
|
|
57976
|
-
|
|
57977
|
-
|
|
57978
|
-
|
|
57979
|
-
|
|
57980
|
-
|
|
57981
|
-
|
|
57982
|
-
|
|
57983
|
-
|
|
57984
|
-
|
|
57985
|
-
|
|
57986
|
-
|
|
57987
|
-
|
|
57988
|
-
|
|
57989
|
-
|
|
57990
|
-
|
|
57991
|
-
|
|
57992
|
-
|
|
57993
|
-
|
|
57994
|
-
|
|
57995
|
-
|
|
57996
|
-
|
|
57997
|
-
|
|
57998
|
-
|
|
57999
|
-
|
|
58000
|
-
|
|
58001
|
-
|
|
57880
|
+
template: `
|
|
57881
|
+
<div [ngClass]="getContainerClasses()">
|
|
57882
|
+
<!-- Scroll Progress Bar -->
|
|
57883
|
+
<div
|
|
57884
|
+
[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'">
|
|
57885
|
+
<div
|
|
57886
|
+
[style.width.%]="scrollProgress()"
|
|
57887
|
+
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
57888
|
+
class="h-full transition-all duration-200 ease-out">
|
|
57889
|
+
</div>
|
|
57890
|
+
</div>
|
|
57891
|
+
|
|
57892
|
+
<!-- Animated Background Bubbles -->
|
|
57893
|
+
<div class="animated-bubbles" [class.light-mode]="isLightMode()"
|
|
57894
|
+
style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
|
|
57895
|
+
|
|
57896
|
+
<div class="relative z-[51]">
|
|
57897
|
+
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
57898
|
+
<!-- Expanded Header -->
|
|
57899
|
+
<div
|
|
57900
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57901
|
+
[class.max-h-0]="isScrolled()"
|
|
57902
|
+
[class.opacity-0]="isScrolled()"
|
|
57903
|
+
[class.max-h-96]="!isScrolled()"
|
|
57904
|
+
[class.opacity-100]="!isScrolled()">
|
|
57905
|
+
<div
|
|
57906
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
57907
|
+
[class.pointer-events-none]="isScrolled()"
|
|
57908
|
+
[class.pointer-events-auto]="!isScrolled()">
|
|
57909
|
+
<div class="flex items-center justify-between">
|
|
57910
|
+
<div>
|
|
57911
|
+
<h1 [ngClass]="getMainTitleClasses()">
|
|
57912
|
+
Revenue Calculator
|
|
57913
|
+
</h1>
|
|
57914
|
+
<p [ngClass]="getSubtitleClasses()">
|
|
57915
|
+
Set Your Revenue Target and See Required Metric Improvements
|
|
57916
|
+
</p>
|
|
57917
|
+
</div>
|
|
57918
|
+
</div>
|
|
57919
|
+
</div>
|
|
57920
|
+
</div>
|
|
57921
|
+
|
|
57922
|
+
<!-- Condensed Header -->
|
|
57923
|
+
<div
|
|
57924
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57925
|
+
[class.max-h-0]="!isScrolled()"
|
|
57926
|
+
[class.opacity-0]="!isScrolled()"
|
|
57927
|
+
[class.max-h-20]="isScrolled()"
|
|
57928
|
+
[class.opacity-100]="isScrolled()">
|
|
57929
|
+
<div
|
|
57930
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
57931
|
+
[class.pointer-events-none]="!isScrolled()"
|
|
57932
|
+
[class.pointer-events-auto]="isScrolled()">
|
|
57933
|
+
<div class="flex items-center justify-between">
|
|
57934
|
+
<div class="flex-1 min-w-0 mr-4">
|
|
57935
|
+
<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'">
|
|
57936
|
+
Revenue Calculator
|
|
57937
|
+
</h1>
|
|
57938
|
+
</div>
|
|
57939
|
+
</div>
|
|
57940
|
+
</div>
|
|
57941
|
+
</div>
|
|
57942
|
+
</header>
|
|
57943
|
+
|
|
57944
|
+
<!-- Journey Progress Indicator -->
|
|
57945
|
+
<symphiq-journey-progress-indicator
|
|
57946
|
+
[viewMode]="viewMode()"
|
|
57947
|
+
[currentStepId]="JourneyStepIdEnum.REVENUE_CALCULATOR"
|
|
57948
|
+
[showNextStepAction]="hasCurrentYearTargets()"
|
|
57949
|
+
[forDemo]="forDemo()"
|
|
57950
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
57951
|
+
(stepClick)="stepClick.emit($event)"
|
|
57952
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
57953
|
+
/>
|
|
57954
|
+
|
|
57955
|
+
<main class="relative">
|
|
57956
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
57957
|
+
|
|
57958
|
+
<!-- State 1: Pure Loading (isLoading = true) -->
|
|
57959
|
+
@if (isLoading()) {
|
|
57960
|
+
<div class="flex items-center justify-center min-h-[400px]">
|
|
57961
|
+
<symphiq-indeterminate-spinner
|
|
57962
|
+
[viewMode]="viewMode()"
|
|
57963
|
+
size="large"
|
|
57964
|
+
/>
|
|
57965
|
+
</div>
|
|
57966
|
+
}
|
|
57967
|
+
|
|
57968
|
+
<!-- State 2: Data Loading Message (isLoading = false && dataLoadStatus !== FULLY_LOADED) -->
|
|
57969
|
+
@else if (dataLoadStatus() !== ShopDataLoadStatusEnum.FULLY_LOADED) {
|
|
57970
|
+
<symphiq-revenue-calculator-welcome-banner
|
|
57971
|
+
[viewMode]="viewMode()"
|
|
57972
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
57973
|
+
[hasTargets]="false"
|
|
57974
|
+
/>
|
|
57975
|
+
|
|
57976
|
+
<!-- Loading Message Card -->
|
|
57977
|
+
<div [ngClass]="loadingMessageContainerClasses()"
|
|
57978
|
+
class="mt-8 rounded-2xl border shadow-lg overflow-hidden">
|
|
57979
|
+
<div [ngClass]="loadingMessageContentClasses()" class="px-8 py-12">
|
|
57980
|
+
<div class="flex flex-col items-center text-center space-y-6">
|
|
57981
|
+
<symphiq-indeterminate-spinner
|
|
57982
|
+
[viewMode]="viewMode()"
|
|
57983
|
+
size="large"
|
|
57984
|
+
/>
|
|
57985
|
+
<div class="space-y-2">
|
|
57986
|
+
<h3 [ngClass]="loadingTitleClasses()" class="text-xl font-bold">
|
|
57987
|
+
Downloading Your Google Analytics 4 Data
|
|
57988
|
+
</h3>
|
|
57989
|
+
<p [ngClass]="loadingTextClasses()" class="text-sm max-w-md">
|
|
57990
|
+
Symphiq is fetching your historical metrics to establish baseline performance. This may take a
|
|
57991
|
+
moment as we gather your funnel data.
|
|
57992
|
+
</p>
|
|
57993
|
+
</div>
|
|
57994
|
+
</div>
|
|
57995
|
+
</div>
|
|
57996
|
+
</div>
|
|
57997
|
+
}
|
|
57998
|
+
|
|
57999
|
+
<!-- State 3a: Initial Target Setting (isLoading = false && dataLoadStatus === FULLY_LOADED && !hasCurrentYearTargets) -->
|
|
58000
|
+
@else if (!hasCurrentYearTargets()) {
|
|
58001
|
+
<symphiq-revenue-calculator-welcome-banner
|
|
58002
|
+
[viewMode]="viewMode()"
|
|
58003
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
58004
|
+
[hasTargets]="false"
|
|
58005
|
+
/>
|
|
58006
|
+
|
|
58007
|
+
<div class="mt-8">
|
|
58008
|
+
<symphiq-initial-target-setting
|
|
58009
|
+
[viewMode]="viewMode()"
|
|
58010
|
+
[funnelMetrics]="funnelMetrics() ?? []"
|
|
58011
|
+
[mainUiData]="mainUiData()"
|
|
58012
|
+
[trendUiData]="trendUiData()"
|
|
58013
|
+
[shopId]="shopId()"
|
|
58014
|
+
[pacingMetrics]="pacingResponse()"
|
|
58015
|
+
[dataResults]="dataResults()"
|
|
58016
|
+
[reverseCalculationResponse]="reverseCalculationResponse()"
|
|
58017
|
+
[targets]="targets()"
|
|
58018
|
+
(targetsCreated)="targetsCreated.emit($event)"
|
|
58019
|
+
(calculateRevenueRequest)="calculateRevenueRequest.emit($event)"
|
|
58020
|
+
/>
|
|
58021
|
+
</div>
|
|
58022
|
+
}
|
|
58023
|
+
|
|
58024
|
+
<!-- State 3b: Final Dashboard (isLoading = false && dataLoadStatus === FULLY_LOADED && hasCurrentYearTargets) -->
|
|
58025
|
+
@else {
|
|
58026
|
+
<symphiq-revenue-calculator-welcome-banner
|
|
58027
|
+
[viewMode]="viewMode()"
|
|
58028
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
58029
|
+
[hasTargets]="true"
|
|
58030
|
+
/>
|
|
58031
|
+
|
|
58032
|
+
<!-- Placeholder for Revenue Calculator Content -->
|
|
58033
|
+
<div [ngClass]="placeholderContainerClasses()" class="mt-8 rounded-2xl border-2 border-dashed p-12">
|
|
58034
|
+
<div class="text-center space-y-4">
|
|
58035
|
+
<div class="flex justify-center">
|
|
58036
|
+
<svg [ngClass]="placeholderIconClasses()" class="w-16 h-16" fill="none" stroke="currentColor"
|
|
58037
|
+
viewBox="0 0 24 24">
|
|
58038
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
58039
|
+
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>
|
|
58040
|
+
</svg>
|
|
58041
|
+
</div>
|
|
58042
|
+
<h3 [ngClass]="placeholderTitleClasses()" class="text-2xl font-bold">
|
|
58043
|
+
Revenue Calculator Dashboard
|
|
58044
|
+
</h3>
|
|
58045
|
+
<p [ngClass]="placeholderTextClasses()" class="text-base max-w-2xl mx-auto">
|
|
58046
|
+
Your targets are set! The full revenue calculator dashboard with pacing and insights will be
|
|
58047
|
+
displayed here.
|
|
58048
|
+
</p>
|
|
58049
|
+
</div>
|
|
58050
|
+
</div>
|
|
58051
|
+
}
|
|
58052
|
+
|
|
58053
|
+
</div>
|
|
58054
|
+
</main>
|
|
58055
|
+
</div>
|
|
58056
|
+
</div>
|
|
58002
58057
|
`
|
|
58003
58058
|
}]
|
|
58004
58059
|
}], () => [], { 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 }] }], ytdComparisonUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "ytdComparisonUiData", 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 }] }], reverseCalculationResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseCalculationResponse", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], calculateRevenueRequest: [{ type: i0.Output, args: ["calculateRevenueRequest"] }], onWindowScroll: [{
|
|
58005
58060
|
type: HostListener,
|
|
58006
58061
|
args: ['window:scroll', ['$event']]
|
|
58007
58062
|
}] }); })();
|
|
58008
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber:
|
|
58063
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber: 223 }); })();
|
|
58009
58064
|
|
|
58010
58065
|
function HierarchyDisplayComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
58011
58066
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 1);
|