@eric-emg/symphiq-components 1.2.212 → 1.2.214
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 +290 -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.submittedAbsoluteInput()), " ");
|
|
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 && ctx_r0.submittedAbsoluteInput() !== null ? 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" }] : []));
|
|
@@ -56551,6 +56578,7 @@ class InitialTargetSettingComponent {
|
|
|
56551
56578
|
this.percentageInput = signal(null, ...(ngDevMode ? [{ debugName: "percentageInput" }] : []));
|
|
56552
56579
|
this.calculationState = signal('input', ...(ngDevMode ? [{ debugName: "calculationState" }] : []));
|
|
56553
56580
|
this.storedResponse = signal(null, ...(ngDevMode ? [{ debugName: "storedResponse" }] : []));
|
|
56581
|
+
this.submittedAbsoluteInput = signal(null, ...(ngDevMode ? [{ debugName: "submittedAbsoluteInput" }] : []));
|
|
56554
56582
|
this.priorYearRevenue = computed(() => {
|
|
56555
56583
|
return sumMetricFromUiData(this.mainUiData(), MetricEnum.PURCHASE_REVENUE, 'priorYear');
|
|
56556
56584
|
}, ...(ngDevMode ? [{ debugName: "priorYearRevenue" }] : []));
|
|
@@ -56659,6 +56687,9 @@ class InitialTargetSettingComponent {
|
|
|
56659
56687
|
return results;
|
|
56660
56688
|
}, ...(ngDevMode ? [{ debugName: "displayedMetricCalculations" }] : []));
|
|
56661
56689
|
this.displayedTargetRevenue = computed(() => {
|
|
56690
|
+
if (this.calculationState() !== 'results') {
|
|
56691
|
+
return this.calculatedRevenue();
|
|
56692
|
+
}
|
|
56662
56693
|
const response = this.storedResponse();
|
|
56663
56694
|
if (response && response.targetRevenue) {
|
|
56664
56695
|
return response.targetRevenue;
|
|
@@ -56804,6 +56835,7 @@ class InitialTargetSettingComponent {
|
|
|
56804
56835
|
handleCalculateRequest() {
|
|
56805
56836
|
if (!this.isValid())
|
|
56806
56837
|
return;
|
|
56838
|
+
this.submittedAbsoluteInput.set(this.calculatedRevenue());
|
|
56807
56839
|
this.calculationState.set('calculating');
|
|
56808
56840
|
const request = {
|
|
56809
56841
|
shopId: this.shopId(),
|
|
@@ -56824,6 +56856,15 @@ class InitialTargetSettingComponent {
|
|
|
56824
56856
|
this.calculationState.set('input');
|
|
56825
56857
|
}
|
|
56826
56858
|
handleCancel() {
|
|
56859
|
+
const submittedValue = this.submittedAbsoluteInput();
|
|
56860
|
+
if (submittedValue !== null) {
|
|
56861
|
+
this.absoluteInput.set(submittedValue);
|
|
56862
|
+
const priorRevenue = this.priorYearRevenue();
|
|
56863
|
+
if (priorRevenue > 0) {
|
|
56864
|
+
const pct = ((submittedValue - priorRevenue) / priorRevenue) * 100;
|
|
56865
|
+
this.percentageInput.set(pct);
|
|
56866
|
+
}
|
|
56867
|
+
}
|
|
56827
56868
|
this.calculationState.set('results');
|
|
56828
56869
|
}
|
|
56829
56870
|
formatCurrency(value) {
|
|
@@ -56999,7 +57040,7 @@ class InitialTargetSettingComponent {
|
|
|
56999
57040
|
let _t;
|
|
57000
57041
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
|
|
57001
57042
|
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) {
|
|
57043
|
+
} }, 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
57044
|
i0.ɵɵelementStart(0, "div", 2);
|
|
57004
57045
|
i0.ɵɵelement(1, "symphiq-tooltip-container");
|
|
57005
57046
|
i0.ɵɵelementStart(2, "div", 3)(3, "h2", 4);
|
|
@@ -57020,7 +57061,7 @@ class InitialTargetSettingComponent {
|
|
|
57020
57061
|
i0.ɵɵconditionalCreate(18, InitialTargetSettingComponent_Conditional_18_Template, 8, 4, "div", 10);
|
|
57021
57062
|
i0.ɵɵelementEnd();
|
|
57022
57063
|
i0.ɵɵelementStart(19, "div", 15)(20, "div", 16)(21, "div", 17);
|
|
57023
|
-
i0.ɵɵconditionalCreate(22, InitialTargetSettingComponent_Conditional_22_Template,
|
|
57064
|
+
i0.ɵɵconditionalCreate(22, InitialTargetSettingComponent_Conditional_22_Template, 8, 4);
|
|
57024
57065
|
i0.ɵɵelementEnd()()()();
|
|
57025
57066
|
i0.ɵɵelementStart(23, "div", 18)(24, "div", 19)(25, "div")(26, "p", 20);
|
|
57026
57067
|
i0.ɵɵtext(27, " Year-over-Year Revenue Trend ");
|
|
@@ -57029,7 +57070,7 @@ class InitialTargetSettingComponent {
|
|
|
57029
57070
|
i0.ɵɵconditionalCreate(29, InitialTargetSettingComponent_Conditional_29_Template, 1, 5, "symphiq-area-chart", 22)(30, InitialTargetSettingComponent_Conditional_30_Template, 3, 1, "div", 23);
|
|
57030
57071
|
i0.ɵɵelementEnd()()()()();
|
|
57031
57072
|
i0.ɵɵelementStart(31, "div", 24)(32, "div", 25);
|
|
57032
|
-
i0.ɵɵconditionalCreate(33, InitialTargetSettingComponent_Conditional_33_Template,
|
|
57073
|
+
i0.ɵɵconditionalCreate(33, InitialTargetSettingComponent_Conditional_33_Template, 28, 17, "div", 26);
|
|
57033
57074
|
i0.ɵɵelementEnd()()();
|
|
57034
57075
|
i0.ɵɵconditionalCreate(34, InitialTargetSettingComponent_Conditional_34_Template, 6, 3, "div", 27);
|
|
57035
57076
|
i0.ɵɵelementEnd()();
|
|
@@ -57198,6 +57239,17 @@ class InitialTargetSettingComponent {
|
|
|
57198
57239
|
</span>
|
|
57199
57240
|
</div>
|
|
57200
57241
|
}
|
|
57242
|
+
|
|
57243
|
+
@if (hasStoredResponse()) {
|
|
57244
|
+
<div class="flex justify-end">
|
|
57245
|
+
<button
|
|
57246
|
+
(click)="handleCancel()"
|
|
57247
|
+
[ngClass]="cancelButtonClasses()"
|
|
57248
|
+
class="px-4 py-2 rounded-lg text-sm font-semibold transition-all">
|
|
57249
|
+
Cancel
|
|
57250
|
+
</button>
|
|
57251
|
+
</div>
|
|
57252
|
+
}
|
|
57201
57253
|
}
|
|
57202
57254
|
</div>
|
|
57203
57255
|
</div>
|
|
@@ -57243,10 +57295,14 @@ class InitialTargetSettingComponent {
|
|
|
57243
57295
|
{{ currentYear() }} Revenue Target
|
|
57244
57296
|
</p>
|
|
57245
57297
|
<p [ngClass]="calculatedValueClasses()" class="text-3xl font-bold">
|
|
57246
|
-
|
|
57298
|
+
@if (calculationState() === 'results' && targets() === undefined && submittedAbsoluteInput() !== null) {
|
|
57299
|
+
> {{ formatCurrency(submittedAbsoluteInput()!) }}
|
|
57300
|
+
} @else {
|
|
57301
|
+
{{ formatCurrency(displayedTargetRevenue()) }}
|
|
57302
|
+
}
|
|
57247
57303
|
</p>
|
|
57248
57304
|
</div>
|
|
57249
|
-
@if (calculationState() === 'results') {
|
|
57305
|
+
@if (calculationState() === 'results' && targets() === undefined) {
|
|
57250
57306
|
<button
|
|
57251
57307
|
(click)="handleAdjustTarget()"
|
|
57252
57308
|
[ngClass]="secondaryButtonClasses()"
|
|
@@ -57401,8 +57457,8 @@ class InitialTargetSettingComponent {
|
|
|
57401
57457
|
}], percentageInputRef: [{
|
|
57402
57458
|
type: ViewChild,
|
|
57403
57459
|
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:
|
|
57460
|
+
}], 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"] }] }); })();
|
|
57461
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 433 }); })();
|
|
57406
57462
|
|
|
57407
57463
|
function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
57408
57464
|
i0.ɵɵelement(0, "div", 5);
|
|
@@ -57582,7 +57638,7 @@ function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template(rf,
|
|
|
57582
57638
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
57583
57639
|
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("dataLoadStatus", ctx_r0.dataLoadStatus() ?? ctx_r0.ShopDataLoadStatusEnum.NOT_LOADED)("hasTargets", false);
|
|
57584
57640
|
i0.ɵɵadvance(2);
|
|
57585
|
-
i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("funnelMetrics", ctx_r0.funnelMetrics() ?? i0.ɵɵpureFunction0(
|
|
57641
|
+
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
57642
|
} }
|
|
57587
57643
|
function SymphiqRevenueCalculatorDashboardComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
57588
57644
|
i0.ɵɵelement(0, "symphiq-revenue-calculator-welcome-banner", 14);
|
|
@@ -57756,7 +57812,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
57756
57812
|
static { this.ɵfac = function SymphiqRevenueCalculatorDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqRevenueCalculatorDashboardComponent)(); }; }
|
|
57757
57813
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqRevenueCalculatorDashboardComponent, selectors: [["symphiq-revenue-calculator-dashboard"]], hostBindings: function SymphiqRevenueCalculatorDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
57758
57814
|
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) {
|
|
57815
|
+
} }, 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
57816
|
i0.ɵɵelementStart(0, "div", 0)(1, "div");
|
|
57761
57817
|
i0.ɵɵelement(2, "div", 1);
|
|
57762
57818
|
i0.ɵɵelementEnd();
|
|
@@ -57774,7 +57830,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
57774
57830
|
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
57831
|
i0.ɵɵelementEnd();
|
|
57776
57832
|
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,
|
|
57833
|
+
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
57834
|
i0.ɵɵelementEnd()()()();
|
|
57779
57835
|
} if (rf & 2) {
|
|
57780
57836
|
i0.ɵɵproperty("ngClass", ctx.getContainerClasses());
|
|
@@ -57823,189 +57879,190 @@ class SymphiqRevenueCalculatorDashboardComponent {
|
|
|
57823
57879
|
IndeterminateSpinnerComponent
|
|
57824
57880
|
],
|
|
57825
57881
|
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
|
-
|
|
57882
|
+
template: `
|
|
57883
|
+
<div [ngClass]="getContainerClasses()">
|
|
57884
|
+
<!-- Scroll Progress Bar -->
|
|
57885
|
+
<div
|
|
57886
|
+
[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'">
|
|
57887
|
+
<div
|
|
57888
|
+
[style.width.%]="scrollProgress()"
|
|
57889
|
+
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
57890
|
+
class="h-full transition-all duration-200 ease-out">
|
|
57891
|
+
</div>
|
|
57892
|
+
</div>
|
|
57893
|
+
|
|
57894
|
+
<!-- Animated Background Bubbles -->
|
|
57895
|
+
<div class="animated-bubbles" [class.light-mode]="isLightMode()"
|
|
57896
|
+
style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
|
|
57897
|
+
|
|
57898
|
+
<div class="relative z-[51]">
|
|
57899
|
+
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
57900
|
+
<!-- Expanded Header -->
|
|
57901
|
+
<div
|
|
57902
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57903
|
+
[class.max-h-0]="isScrolled()"
|
|
57904
|
+
[class.opacity-0]="isScrolled()"
|
|
57905
|
+
[class.max-h-96]="!isScrolled()"
|
|
57906
|
+
[class.opacity-100]="!isScrolled()">
|
|
57907
|
+
<div
|
|
57908
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"
|
|
57909
|
+
[class.pointer-events-none]="isScrolled()"
|
|
57910
|
+
[class.pointer-events-auto]="!isScrolled()">
|
|
57911
|
+
<div class="flex items-center justify-between">
|
|
57912
|
+
<div>
|
|
57913
|
+
<h1 [ngClass]="getMainTitleClasses()">
|
|
57914
|
+
Revenue Calculator
|
|
57915
|
+
</h1>
|
|
57916
|
+
<p [ngClass]="getSubtitleClasses()">
|
|
57917
|
+
Set Your Revenue Target and See Required Metric Improvements
|
|
57918
|
+
</p>
|
|
57919
|
+
</div>
|
|
57920
|
+
</div>
|
|
57921
|
+
</div>
|
|
57922
|
+
</div>
|
|
57923
|
+
|
|
57924
|
+
<!-- Condensed Header -->
|
|
57925
|
+
<div
|
|
57926
|
+
class="transition-all duration-300 ease-in-out overflow-hidden"
|
|
57927
|
+
[class.max-h-0]="!isScrolled()"
|
|
57928
|
+
[class.opacity-0]="!isScrolled()"
|
|
57929
|
+
[class.max-h-20]="isScrolled()"
|
|
57930
|
+
[class.opacity-100]="isScrolled()">
|
|
57931
|
+
<div
|
|
57932
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"
|
|
57933
|
+
[class.pointer-events-none]="!isScrolled()"
|
|
57934
|
+
[class.pointer-events-auto]="isScrolled()">
|
|
57935
|
+
<div class="flex items-center justify-between">
|
|
57936
|
+
<div class="flex-1 min-w-0 mr-4">
|
|
57937
|
+
<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'">
|
|
57938
|
+
Revenue Calculator
|
|
57939
|
+
</h1>
|
|
57940
|
+
</div>
|
|
57941
|
+
</div>
|
|
57942
|
+
</div>
|
|
57943
|
+
</div>
|
|
57944
|
+
</header>
|
|
57945
|
+
|
|
57946
|
+
<!-- Journey Progress Indicator -->
|
|
57947
|
+
<symphiq-journey-progress-indicator
|
|
57948
|
+
[viewMode]="viewMode()"
|
|
57949
|
+
[currentStepId]="JourneyStepIdEnum.REVENUE_CALCULATOR"
|
|
57950
|
+
[showNextStepAction]="hasCurrentYearTargets()"
|
|
57951
|
+
[forDemo]="forDemo()"
|
|
57952
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
57953
|
+
(stepClick)="stepClick.emit($event)"
|
|
57954
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
57955
|
+
/>
|
|
57956
|
+
|
|
57957
|
+
<main class="relative">
|
|
57958
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
57959
|
+
|
|
57960
|
+
<!-- State 1: Pure Loading (isLoading = true) -->
|
|
57961
|
+
@if (isLoading()) {
|
|
57962
|
+
<div class="flex items-center justify-center min-h-[400px]">
|
|
57963
|
+
<symphiq-indeterminate-spinner
|
|
57964
|
+
[viewMode]="viewMode()"
|
|
57965
|
+
size="large"
|
|
57966
|
+
/>
|
|
57967
|
+
</div>
|
|
57968
|
+
}
|
|
57969
|
+
|
|
57970
|
+
<!-- State 2: Data Loading Message (isLoading = false && dataLoadStatus !== FULLY_LOADED) -->
|
|
57971
|
+
@else if (dataLoadStatus() !== ShopDataLoadStatusEnum.FULLY_LOADED) {
|
|
57972
|
+
<symphiq-revenue-calculator-welcome-banner
|
|
57973
|
+
[viewMode]="viewMode()"
|
|
57974
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
57975
|
+
[hasTargets]="false"
|
|
57976
|
+
/>
|
|
57977
|
+
|
|
57978
|
+
<!-- Loading Message Card -->
|
|
57979
|
+
<div [ngClass]="loadingMessageContainerClasses()"
|
|
57980
|
+
class="mt-8 rounded-2xl border shadow-lg overflow-hidden">
|
|
57981
|
+
<div [ngClass]="loadingMessageContentClasses()" class="px-8 py-12">
|
|
57982
|
+
<div class="flex flex-col items-center text-center space-y-6">
|
|
57983
|
+
<symphiq-indeterminate-spinner
|
|
57984
|
+
[viewMode]="viewMode()"
|
|
57985
|
+
size="large"
|
|
57986
|
+
/>
|
|
57987
|
+
<div class="space-y-2">
|
|
57988
|
+
<h3 [ngClass]="loadingTitleClasses()" class="text-xl font-bold">
|
|
57989
|
+
Downloading Your Google Analytics 4 Data
|
|
57990
|
+
</h3>
|
|
57991
|
+
<p [ngClass]="loadingTextClasses()" class="text-sm max-w-md">
|
|
57992
|
+
Symphiq is fetching your historical metrics to establish baseline performance. This may take a
|
|
57993
|
+
moment as we gather your funnel data.
|
|
57994
|
+
</p>
|
|
57995
|
+
</div>
|
|
57996
|
+
</div>
|
|
57997
|
+
</div>
|
|
57998
|
+
</div>
|
|
57999
|
+
}
|
|
58000
|
+
|
|
58001
|
+
<!-- State 3a: Initial Target Setting (isLoading = false && dataLoadStatus === FULLY_LOADED && !hasCurrentYearTargets) -->
|
|
58002
|
+
@else if (!hasCurrentYearTargets()) {
|
|
58003
|
+
<symphiq-revenue-calculator-welcome-banner
|
|
58004
|
+
[viewMode]="viewMode()"
|
|
58005
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
58006
|
+
[hasTargets]="false"
|
|
58007
|
+
/>
|
|
58008
|
+
|
|
58009
|
+
<div class="mt-8">
|
|
58010
|
+
<symphiq-initial-target-setting
|
|
58011
|
+
[viewMode]="viewMode()"
|
|
58012
|
+
[funnelMetrics]="funnelMetrics() ?? []"
|
|
58013
|
+
[mainUiData]="mainUiData()"
|
|
58014
|
+
[trendUiData]="trendUiData()"
|
|
58015
|
+
[shopId]="shopId()"
|
|
58016
|
+
[pacingMetrics]="pacingResponse()"
|
|
58017
|
+
[dataResults]="dataResults()"
|
|
58018
|
+
[reverseCalculationResponse]="reverseCalculationResponse()"
|
|
58019
|
+
[targets]="targets()"
|
|
58020
|
+
(targetsCreated)="targetsCreated.emit($event)"
|
|
58021
|
+
(calculateRevenueRequest)="calculateRevenueRequest.emit($event)"
|
|
58022
|
+
/>
|
|
58023
|
+
</div>
|
|
58024
|
+
}
|
|
58025
|
+
|
|
58026
|
+
<!-- State 3b: Final Dashboard (isLoading = false && dataLoadStatus === FULLY_LOADED && hasCurrentYearTargets) -->
|
|
58027
|
+
@else {
|
|
58028
|
+
<symphiq-revenue-calculator-welcome-banner
|
|
58029
|
+
[viewMode]="viewMode()"
|
|
58030
|
+
[dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
|
|
58031
|
+
[hasTargets]="true"
|
|
58032
|
+
/>
|
|
58033
|
+
|
|
58034
|
+
<!-- Placeholder for Revenue Calculator Content -->
|
|
58035
|
+
<div [ngClass]="placeholderContainerClasses()" class="mt-8 rounded-2xl border-2 border-dashed p-12">
|
|
58036
|
+
<div class="text-center space-y-4">
|
|
58037
|
+
<div class="flex justify-center">
|
|
58038
|
+
<svg [ngClass]="placeholderIconClasses()" class="w-16 h-16" fill="none" stroke="currentColor"
|
|
58039
|
+
viewBox="0 0 24 24">
|
|
58040
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
58041
|
+
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>
|
|
58042
|
+
</svg>
|
|
58043
|
+
</div>
|
|
58044
|
+
<h3 [ngClass]="placeholderTitleClasses()" class="text-2xl font-bold">
|
|
58045
|
+
Revenue Calculator Dashboard
|
|
58046
|
+
</h3>
|
|
58047
|
+
<p [ngClass]="placeholderTextClasses()" class="text-base max-w-2xl mx-auto">
|
|
58048
|
+
Your targets are set! The full revenue calculator dashboard with pacing and insights will be
|
|
58049
|
+
displayed here.
|
|
58050
|
+
</p>
|
|
58051
|
+
</div>
|
|
58052
|
+
</div>
|
|
58053
|
+
}
|
|
58054
|
+
|
|
58055
|
+
</div>
|
|
58056
|
+
</main>
|
|
58057
|
+
</div>
|
|
58058
|
+
</div>
|
|
58002
58059
|
`
|
|
58003
58060
|
}]
|
|
58004
58061
|
}], () => [], { 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
58062
|
type: HostListener,
|
|
58006
58063
|
args: ['window:scroll', ['$event']]
|
|
58007
58064
|
}] }); })();
|
|
58008
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber:
|
|
58065
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber: 223 }); })();
|
|
58009
58066
|
|
|
58010
58067
|
function HierarchyDisplayComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
58011
58068
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 1);
|