@eric-emg/symphiq-components 1.2.267 → 1.2.268

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.
@@ -55256,8 +55256,8 @@ const _forTrack1$3 = ($index, $item) => $item.calc.metric;
55256
55256
  function FunnelMetricsVisualizationComponent_For_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
55257
55257
  i0.ɵɵelementStart(0, "button", 7);
55258
55258
  i0.ɵɵnamespaceSVG();
55259
- i0.ɵɵelementStart(1, "svg", 15);
55260
- i0.ɵɵelement(2, "path", 19);
55259
+ i0.ɵɵelementStart(1, "svg", 16);
55260
+ i0.ɵɵelement(2, "path", 20);
55261
55261
  i0.ɵɵelementEnd()();
55262
55262
  } if (rf & 2) {
55263
55263
  const stage_r2 = i0.ɵɵnextContext().$implicit;
@@ -55265,13 +55265,24 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_6_Template(rf, ct
55265
55265
  i0.ɵɵproperty("ngClass", ctx_r2.infoIconClasses())("libSymphiqTooltip", ctx_r2.getMarkdownTooltipContent(stage_r2.stageMetric.description, ctx_r2.getMetricTitle(stage_r2.stageMetric)));
55266
55266
  } }
55267
55267
  function FunnelMetricsVisualizationComponent_For_4_Conditional_19_Template(rf, ctx) { if (rf & 1) {
55268
+ i0.ɵɵelementStart(0, "p", 12);
55269
+ i0.ɵɵtext(1);
55270
+ i0.ɵɵelementEnd();
55271
+ } if (rf & 2) {
55272
+ const stage_r2 = i0.ɵɵnextContext().$implicit;
55273
+ const ctx_r2 = i0.ɵɵnextContext();
55274
+ i0.ɵɵproperty("ngClass", ctx_r2.originalValueClasses());
55275
+ i0.ɵɵadvance();
55276
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.formatMetricValue(stage_r2.stageMetric.originalTargetValue, stage_r2.stageMetric.metric, false), " ");
55277
+ } }
55278
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_21_Template(rf, ctx) { if (rf & 1) {
55268
55279
  i0.ɵɵelementStart(0, "div")(1, "p", 9);
55269
55280
  i0.ɵɵtext(2);
55270
55281
  i0.ɵɵelementEnd();
55271
- i0.ɵɵelementStart(3, "p", 11);
55282
+ i0.ɵɵelementStart(3, "p", 21);
55272
55283
  i0.ɵɵtext(4);
55273
55284
  i0.ɵɵelementEnd();
55274
- i0.ɵɵelement(5, "symphiq-pacing-status-badge", 20);
55285
+ i0.ɵɵelement(5, "symphiq-pacing-status-badge", 22);
55275
55286
  i0.ɵɵelementEnd();
55276
55287
  } if (rf & 2) {
55277
55288
  const stage_r2 = i0.ɵɵnextContext().$implicit;
@@ -55287,25 +55298,36 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_19_Template(rf, c
55287
55298
  i0.ɵɵadvance();
55288
55299
  i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("pacingPercentage", stage_r2.pacingInfo.pacingPercentage)("status", stage_r2.pacingInfo.status)("showAsFullText", true)("showEmphasizedPercentage", true);
55289
55300
  } }
55290
- function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_4_Template(rf, ctx) { if (rf & 1) {
55291
- i0.ɵɵelementStart(0, "button", 28);
55301
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_4_Template(rf, ctx) { if (rf & 1) {
55302
+ i0.ɵɵelementStart(0, "button", 30);
55292
55303
  i0.ɵɵnamespaceSVG();
55293
- i0.ɵɵelementStart(1, "svg", 37);
55294
- i0.ɵɵelement(2, "path", 19);
55304
+ i0.ɵɵelementStart(1, "svg", 40);
55305
+ i0.ɵɵelement(2, "path", 20);
55295
55306
  i0.ɵɵelementEnd()();
55296
55307
  } if (rf & 2) {
55297
55308
  const metric_r5 = i0.ɵɵnextContext().$implicit;
55298
55309
  const ctx_r2 = i0.ɵɵnextContext(3);
55299
55310
  i0.ɵɵproperty("ngClass", ctx_r2.infoIconClasses())("libSymphiqTooltip", ctx_r2.getMarkdownTooltipContent(metric_r5.calc.description, ctx_r2.getMetricTitle(metric_r5.calc)));
55300
55311
  } }
55301
- function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_17_Template(rf, ctx) { if (rf & 1) {
55302
- i0.ɵɵelementStart(0, "div")(1, "p", 30);
55312
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_17_Template(rf, ctx) { if (rf & 1) {
55313
+ i0.ɵɵelementStart(0, "p", 35);
55314
+ i0.ɵɵtext(1);
55315
+ i0.ɵɵelementEnd();
55316
+ } if (rf & 2) {
55317
+ const metric_r5 = i0.ɵɵnextContext().$implicit;
55318
+ const ctx_r2 = i0.ɵɵnextContext(3);
55319
+ i0.ɵɵproperty("ngClass", ctx_r2.relatedOriginalValueClasses());
55320
+ i0.ɵɵadvance();
55321
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.formatMetricValue(metric_r5.calc.originalTargetValue, metric_r5.calc.metric, false), " ");
55322
+ } }
55323
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_19_Template(rf, ctx) { if (rf & 1) {
55324
+ i0.ɵɵelementStart(0, "div")(1, "p", 32);
55303
55325
  i0.ɵɵtext(2);
55304
55326
  i0.ɵɵelementEnd();
55305
- i0.ɵɵelementStart(3, "p", 32);
55327
+ i0.ɵɵelementStart(3, "p", 41);
55306
55328
  i0.ɵɵtext(4);
55307
55329
  i0.ɵɵelementEnd();
55308
- i0.ɵɵelement(5, "symphiq-pacing-status-badge", 38);
55330
+ i0.ɵɵelement(5, "symphiq-pacing-status-badge", 42);
55309
55331
  i0.ɵɵelementEnd();
55310
55332
  } if (rf & 2) {
55311
55333
  const metric_r5 = i0.ɵɵnextContext().$implicit;
@@ -55321,62 +55343,64 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditio
55321
55343
  i0.ɵɵadvance();
55322
55344
  i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("pacingPercentage", metric_r5.pacingInfo.pacingPercentage)("status", metric_r5.pacingInfo.status)("showAsFullText", true)("isCompact", true)("showEmphasizedPercentage", true);
55323
55345
  } }
55324
- function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_26_Template(rf, ctx) { if (rf & 1) {
55346
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_28_Template(rf, ctx) { if (rf & 1) {
55325
55347
  const _r6 = i0.ɵɵgetCurrentView();
55326
- i0.ɵɵelementStart(0, "button", 35);
55327
- i0.ɵɵlistener("click", function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_26_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const metric_r5 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onEditRelatedMetricTarget(metric_r5.calc.metric)); });
55348
+ i0.ɵɵelementStart(0, "button", 38);
55349
+ i0.ɵɵlistener("click", function FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_28_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const metric_r5 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onEditRelatedMetricTarget(metric_r5.calc.metric)); });
55328
55350
  i0.ɵɵnamespaceSVG();
55329
- i0.ɵɵelementStart(1, "svg", 15);
55330
- i0.ɵɵelement(2, "path", 39);
55351
+ i0.ɵɵelementStart(1, "svg", 16);
55352
+ i0.ɵɵelement(2, "path", 43);
55331
55353
  i0.ɵɵelementEnd();
55332
55354
  i0.ɵɵnamespaceHTML();
55333
- i0.ɵɵelementStart(3, "span", 17);
55355
+ i0.ɵɵelementStart(3, "span", 18);
55334
55356
  i0.ɵɵtext(4, "Edit Target");
55335
55357
  i0.ɵɵelementEnd();
55336
- i0.ɵɵelementStart(5, "span", 18);
55358
+ i0.ɵɵelementStart(5, "span", 19);
55337
55359
  i0.ɵɵtext(6, "Edit");
55338
55360
  i0.ɵɵelementEnd()();
55339
55361
  } if (rf & 2) {
55340
55362
  const ctx_r2 = i0.ɵɵnextContext(4);
55341
55363
  i0.ɵɵproperty("ngClass", ctx_r2.editTargetButtonClasses());
55342
55364
  } }
55343
- function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Template(rf, ctx) { if (rf & 1) {
55365
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Template(rf, ctx) { if (rf & 1) {
55344
55366
  const _r4 = i0.ɵɵgetCurrentView();
55345
- i0.ɵɵelementStart(0, "div", 25)(1, "div", 26)(2, "p", 27);
55367
+ i0.ɵɵelementStart(0, "div", 27)(1, "div", 28)(2, "p", 29);
55346
55368
  i0.ɵɵtext(3);
55347
55369
  i0.ɵɵelementEnd();
55348
- i0.ɵɵconditionalCreate(4, FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_4_Template, 3, 2, "button", 28);
55370
+ i0.ɵɵconditionalCreate(4, FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_4_Template, 3, 2, "button", 30);
55349
55371
  i0.ɵɵelementEnd();
55350
- i0.ɵɵelementStart(5, "div", 29)(6, "div")(7, "p", 30);
55372
+ i0.ɵɵelementStart(5, "div", 31)(6, "div")(7, "p", 32);
55351
55373
  i0.ɵɵtext(8);
55352
55374
  i0.ɵɵelementEnd();
55353
- i0.ɵɵelementStart(9, "p", 31);
55375
+ i0.ɵɵelementStart(9, "p", 33);
55354
55376
  i0.ɵɵtext(10);
55355
55377
  i0.ɵɵelementEnd()();
55356
- i0.ɵɵelementStart(11, "div")(12, "p", 30);
55378
+ i0.ɵɵelementStart(11, "div")(12, "p", 32);
55357
55379
  i0.ɵɵtext(13);
55358
55380
  i0.ɵɵelementEnd();
55359
- i0.ɵɵelementStart(14, "p", 32);
55360
- i0.ɵɵtext(15);
55381
+ i0.ɵɵelementStart(14, "div", 34)(15, "p", 33);
55382
+ i0.ɵɵtext(16);
55383
+ i0.ɵɵelementEnd();
55384
+ i0.ɵɵconditionalCreate(17, FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_17_Template, 2, 2, "p", 35);
55361
55385
  i0.ɵɵelementEnd();
55362
- i0.ɵɵelement(16, "symphiq-target-change-badge", 33);
55386
+ i0.ɵɵelement(18, "symphiq-target-change-badge", 36);
55363
55387
  i0.ɵɵelementEnd();
55364
- i0.ɵɵconditionalCreate(17, FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_17_Template, 6, 10, "div");
55388
+ i0.ɵɵconditionalCreate(19, FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_19_Template, 6, 10, "div");
55365
55389
  i0.ɵɵelementEnd();
55366
- i0.ɵɵelementStart(18, "div", 34)(19, "button", 35);
55367
- i0.ɵɵlistener("click", function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Template_button_click_19_listener() { const metric_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onViewRelatedMetricReport(metric_r5.calc.metric)); });
55390
+ i0.ɵɵelementStart(20, "div", 37)(21, "button", 38);
55391
+ i0.ɵɵlistener("click", function FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Template_button_click_21_listener() { const metric_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onViewRelatedMetricReport(metric_r5.calc.metric)); });
55368
55392
  i0.ɵɵnamespaceSVG();
55369
- i0.ɵɵelementStart(20, "svg", 15);
55370
- i0.ɵɵelement(21, "path", 16);
55393
+ i0.ɵɵelementStart(22, "svg", 16);
55394
+ i0.ɵɵelement(23, "path", 17);
55371
55395
  i0.ɵɵelementEnd();
55372
55396
  i0.ɵɵnamespaceHTML();
55373
- i0.ɵɵelementStart(22, "span", 17);
55374
- i0.ɵɵtext(23, "View Report");
55375
- i0.ɵɵelementEnd();
55376
55397
  i0.ɵɵelementStart(24, "span", 18);
55377
- i0.ɵɵtext(25, "Report");
55398
+ i0.ɵɵtext(25, "View Report");
55399
+ i0.ɵɵelementEnd();
55400
+ i0.ɵɵelementStart(26, "span", 19);
55401
+ i0.ɵɵtext(27, "Report");
55378
55402
  i0.ɵɵelementEnd()();
55379
- i0.ɵɵconditionalCreate(26, FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_26_Template, 7, 1, "button", 36);
55403
+ i0.ɵɵconditionalCreate(28, FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_28_Template, 7, 1, "button", 39);
55380
55404
  i0.ɵɵelementEnd()();
55381
55405
  } if (rf & 2) {
55382
55406
  const metric_r5 = ctx.$implicit;
@@ -55400,28 +55424,30 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Template
55400
55424
  i0.ɵɵproperty("ngClass", ctx_r2.relatedLabelClasses());
55401
55425
  i0.ɵɵadvance();
55402
55426
  i0.ɵɵtextInterpolate1(" ", ctx_r2.currentYear(), " Target ");
55403
- i0.ɵɵadvance();
55427
+ i0.ɵɵadvance(2);
55404
55428
  i0.ɵɵproperty("ngClass", ctx_r2.relatedTargetValueClasses());
55405
55429
  i0.ɵɵadvance();
55406
55430
  i0.ɵɵtextInterpolate1(" ", ctx_r2.formatMetricValue(metric_r5.calc.targetValue, metric_r5.calc.metric, false), " ");
55407
55431
  i0.ɵɵadvance();
55432
+ i0.ɵɵconditional(metric_r5.calc.originalTargetValue !== undefined ? 17 : -1);
55433
+ i0.ɵɵadvance();
55408
55434
  i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("percentageChange", metric_r5.calc.percentageIncrease)("metric", metric_r5.calc.metric)("priorYear", ctx_r2.priorYear())("isCompact", true);
55409
55435
  i0.ɵɵadvance();
55410
- i0.ɵɵconditional(metric_r5.pacingInfo ? 17 : -1);
55436
+ i0.ɵɵconditional(metric_r5.pacingInfo ? 19 : -1);
55411
55437
  i0.ɵɵadvance();
55412
55438
  i0.ɵɵproperty("ngClass", ctx_r2.relatedActionBarClasses());
55413
55439
  i0.ɵɵadvance();
55414
55440
  i0.ɵɵproperty("ngClass", ctx_r2.relatedActionButtonClasses());
55415
55441
  i0.ɵɵadvance(7);
55416
- i0.ɵɵconditional(ctx_r2.hasExistingTargets() ? 26 : -1);
55442
+ i0.ɵɵconditional(ctx_r2.hasExistingTargets() ? 28 : -1);
55417
55443
  } }
55418
- function FunnelMetricsVisualizationComponent_For_4_Conditional_28_Template(rf, ctx) { if (rf & 1) {
55419
- i0.ɵɵelement(0, "div", 21);
55420
- i0.ɵɵelementStart(1, "div", 22)(2, "p", 23);
55444
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_30_Template(rf, ctx) { if (rf & 1) {
55445
+ i0.ɵɵelement(0, "div", 23);
55446
+ i0.ɵɵelementStart(1, "div", 24)(2, "p", 25);
55421
55447
  i0.ɵɵtext(3, " Related Metrics ");
55422
55448
  i0.ɵɵelementEnd();
55423
- i0.ɵɵelementStart(4, "div", 24);
55424
- i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Template, 27, 21, "div", 25, _forTrack1$3);
55449
+ i0.ɵɵelementStart(4, "div", 26);
55450
+ i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Template, 29, 22, "div", 27, _forTrack1$3);
55425
55451
  i0.ɵɵelementEnd()();
55426
55452
  } if (rf & 2) {
55427
55453
  const stage_r2 = i0.ɵɵnextContext().$implicit;
@@ -55447,27 +55473,29 @@ function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf &
55447
55473
  i0.ɵɵelementStart(13, "div")(14, "p", 9);
55448
55474
  i0.ɵɵtext(15);
55449
55475
  i0.ɵɵelementEnd();
55450
- i0.ɵɵelementStart(16, "p", 11);
55451
- i0.ɵɵtext(17);
55476
+ i0.ɵɵelementStart(16, "div", 11)(17, "p", 10);
55477
+ i0.ɵɵtext(18);
55478
+ i0.ɵɵelementEnd();
55479
+ i0.ɵɵconditionalCreate(19, FunnelMetricsVisualizationComponent_For_4_Conditional_19_Template, 2, 2, "p", 12);
55452
55480
  i0.ɵɵelementEnd();
55453
- i0.ɵɵelement(18, "symphiq-target-change-badge", 12);
55481
+ i0.ɵɵelement(20, "symphiq-target-change-badge", 13);
55454
55482
  i0.ɵɵelementEnd();
55455
- i0.ɵɵconditionalCreate(19, FunnelMetricsVisualizationComponent_For_4_Conditional_19_Template, 6, 9, "div");
55483
+ i0.ɵɵconditionalCreate(21, FunnelMetricsVisualizationComponent_For_4_Conditional_21_Template, 6, 9, "div");
55456
55484
  i0.ɵɵelementEnd();
55457
- i0.ɵɵelementStart(20, "div", 13)(21, "button", 14);
55458
- i0.ɵɵlistener("click", function FunnelMetricsVisualizationComponent_For_4_Template_button_click_21_listener() { const stage_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onViewStageReport(stage_r2.stageMetric.metric)); });
55485
+ i0.ɵɵelementStart(22, "div", 14)(23, "button", 15);
55486
+ i0.ɵɵlistener("click", function FunnelMetricsVisualizationComponent_For_4_Template_button_click_23_listener() { const stage_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onViewStageReport(stage_r2.stageMetric.metric)); });
55459
55487
  i0.ɵɵnamespaceSVG();
55460
- i0.ɵɵelementStart(22, "svg", 15);
55461
- i0.ɵɵelement(23, "path", 16);
55488
+ i0.ɵɵelementStart(24, "svg", 16);
55489
+ i0.ɵɵelement(25, "path", 17);
55462
55490
  i0.ɵɵelementEnd();
55463
55491
  i0.ɵɵnamespaceHTML();
55464
- i0.ɵɵelementStart(24, "span", 17);
55465
- i0.ɵɵtext(25, "View Report");
55466
- i0.ɵɵelementEnd();
55467
55492
  i0.ɵɵelementStart(26, "span", 18);
55468
- i0.ɵɵtext(27, "Report");
55493
+ i0.ɵɵtext(27, "View Report");
55494
+ i0.ɵɵelementEnd();
55495
+ i0.ɵɵelementStart(28, "span", 19);
55496
+ i0.ɵɵtext(29, "Report");
55469
55497
  i0.ɵɵelementEnd()()();
55470
- i0.ɵɵconditionalCreate(28, FunnelMetricsVisualizationComponent_For_4_Conditional_28_Template, 7, 1);
55498
+ i0.ɵɵconditionalCreate(30, FunnelMetricsVisualizationComponent_For_4_Conditional_30_Template, 7, 1);
55471
55499
  i0.ɵɵelementEnd();
55472
55500
  } if (rf & 2) {
55473
55501
  const stage_r2 = ctx.$implicit;
@@ -55491,20 +55519,22 @@ function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf &
55491
55519
  i0.ɵɵproperty("ngClass", ctx_r2.labelClasses());
55492
55520
  i0.ɵɵadvance();
55493
55521
  i0.ɵɵtextInterpolate1(" ", ctx_r2.currentYear(), " Target ");
55494
- i0.ɵɵadvance();
55522
+ i0.ɵɵadvance(2);
55495
55523
  i0.ɵɵproperty("ngClass", ctx_r2.targetValueClasses());
55496
55524
  i0.ɵɵadvance();
55497
55525
  i0.ɵɵtextInterpolate1(" ", ctx_r2.formatMetricValue(stage_r2.stageMetric.targetValue, stage_r2.stageMetric.metric, false), " ");
55498
55526
  i0.ɵɵadvance();
55527
+ i0.ɵɵconditional(stage_r2.stageMetric.originalTargetValue !== undefined ? 19 : -1);
55528
+ i0.ɵɵadvance();
55499
55529
  i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("percentageChange", stage_r2.stageMetric.percentageIncrease)("metric", stage_r2.stageMetric.metric)("priorYear", ctx_r2.priorYear());
55500
55530
  i0.ɵɵadvance();
55501
- i0.ɵɵconditional(stage_r2.pacingInfo ? 19 : -1);
55531
+ i0.ɵɵconditional(stage_r2.pacingInfo ? 21 : -1);
55502
55532
  i0.ɵɵadvance();
55503
55533
  i0.ɵɵproperty("ngClass", ctx_r2.stageActionBarClasses());
55504
55534
  i0.ɵɵadvance();
55505
55535
  i0.ɵɵproperty("ngClass", ctx_r2.actionButtonClasses());
55506
55536
  i0.ɵɵadvance(7);
55507
- i0.ɵɵconditional(stage_r2.relatedMetrics.length > 0 ? 28 : -1);
55537
+ i0.ɵɵconditional(stage_r2.relatedMetrics.length > 0 ? 30 : -1);
55508
55538
  } }
55509
55539
  class FunnelMetricsVisualizationComponent {
55510
55540
  constructor() {
@@ -55583,6 +55613,11 @@ class FunnelMetricsVisualizationComponent {
55583
55613
  ? 'text-purple-300'
55584
55614
  : 'text-purple-700';
55585
55615
  }
55616
+ originalValueClasses() {
55617
+ return this.viewMode() === ViewModeEnum.DARK
55618
+ ? 'text-slate-400'
55619
+ : 'text-slate-500';
55620
+ }
55586
55621
  projectedValueClasses() {
55587
55622
  return this.viewMode() === ViewModeEnum.DARK
55588
55623
  ? 'text-amber-300'
@@ -55623,6 +55658,11 @@ class FunnelMetricsVisualizationComponent {
55623
55658
  ? 'text-purple-200'
55624
55659
  : 'text-purple-800';
55625
55660
  }
55661
+ relatedOriginalValueClasses() {
55662
+ return this.viewMode() === ViewModeEnum.DARK
55663
+ ? 'text-slate-400'
55664
+ : 'text-slate-500';
55665
+ }
55626
55666
  relatedProjectedValueClasses() {
55627
55667
  return this.viewMode() === ViewModeEnum.DARK
55628
55668
  ? 'text-amber-200'
@@ -55691,11 +55731,11 @@ class FunnelMetricsVisualizationComponent {
55691
55731
  this.editRelatedMetricTarget.emit(metric);
55692
55732
  }
55693
55733
  static { this.ɵfac = function FunnelMetricsVisualizationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FunnelMetricsVisualizationComponent)(); }; }
55694
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelMetricsVisualizationComponent, selectors: [["symphiq-funnel-metrics-visualization"]], inputs: { viewMode: [1, "viewMode"], calculations: [1, "calculations"], pacingMetrics: [1, "pacingMetrics"], hasExistingTargets: [1, "hasExistingTargets"] }, outputs: { viewStageReport: "viewStageReport", viewRelatedMetricReport: "viewRelatedMetricReport", editRelatedMetricTarget: "editRelatedMetricTarget" }, decls: 5, vars: 0, consts: [[1, "space-y-6"], [1, "space-y-8"], [1, "rounded-xl", "p-6", "border-2", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "flex-1"], [1, "flex", "items-center", "gap-2", "mb-1"], [1, "text-lg", "sm:text-xl", "font-bold", "leading-tight", "m-0", 3, "ngClass"], ["type", "button", "tooltipType", "markdown", "tooltipPosition", "right", 1, "flex-shrink-0", "w-6", "h-6", "rounded-full", "inline-flex", "items-center", "justify-center", "transition-colors", 3, "ngClass", "libSymphiqTooltip"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "lg:grid-cols-3", "gap-6", "mb-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-2", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [3, "viewMode", "percentageChange", "metric", "priorYear"], [1, "mt-6", "pt-4", "border-t", "flex", "justify-start", 3, "ngClass"], ["type", "button", 1, "inline-flex", "items-center", "gap-2", "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "hidden", "sm:inline"], [1, "sm:hidden"], ["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"], [3, "viewMode", "pacingPercentage", "status", "showAsFullText", "showEmphasizedPercentage"], [1, "my-8"], [1, "space-y-3"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-3", 3, "ngClass"], [1, "grid", "gap-3"], [1, "p-4", "rounded-lg", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mb-4"], [1, "text-sm", "sm:text-base", "font-semibold", "leading-tight", 3, "ngClass"], ["type", "button", "tooltipType", "markdown", "tooltipPosition", "right", 1, "flex-shrink-0", "w-5", "h-5", "rounded-full", "inline-flex", "items-center", "justify-center", "transition-colors", 3, "ngClass", "libSymphiqTooltip"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "lg:grid-cols-3", "gap-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1.5", 3, "ngClass"], [1, "text-lg", "font-bold", 3, "ngClass"], [1, "text-lg", "font-bold", "mb-2", 3, "ngClass"], [3, "viewMode", "percentageChange", "metric", "priorYear", "isCompact"], [1, "mt-6", "pt-4", "border-t", "flex", "justify-between", "items-center", 3, "ngClass"], ["type", "button", 1, "inline-flex", "items-center", "gap-2", "px-3", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "click", "ngClass"], ["type", "button", 1, "inline-flex", "items-center", "gap-2", "px-3", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"], [3, "viewMode", "pacingPercentage", "status", "showAsFullText", "isCompact", "showEmphasizedPercentage"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"]], template: function FunnelMetricsVisualizationComponent_Template(rf, ctx) { if (rf & 1) {
55734
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelMetricsVisualizationComponent, selectors: [["symphiq-funnel-metrics-visualization"]], inputs: { viewMode: [1, "viewMode"], calculations: [1, "calculations"], pacingMetrics: [1, "pacingMetrics"], hasExistingTargets: [1, "hasExistingTargets"] }, outputs: { viewStageReport: "viewStageReport", viewRelatedMetricReport: "viewRelatedMetricReport", editRelatedMetricTarget: "editRelatedMetricTarget" }, decls: 5, vars: 0, consts: [[1, "space-y-6"], [1, "space-y-8"], [1, "rounded-xl", "p-6", "border-2", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "flex-1"], [1, "flex", "items-center", "gap-2", "mb-1"], [1, "text-lg", "sm:text-xl", "font-bold", "leading-tight", "m-0", 3, "ngClass"], ["type", "button", "tooltipType", "markdown", "tooltipPosition", "right", 1, "flex-shrink-0", "w-6", "h-6", "rounded-full", "inline-flex", "items-center", "justify-center", "transition-colors", 3, "ngClass", "libSymphiqTooltip"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "lg:grid-cols-3", "gap-6", "mb-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-2", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "flex", "items-baseline", "gap-2", "mb-3"], [1, "text-base", "line-through", "opacity-60", 3, "ngClass"], [3, "viewMode", "percentageChange", "metric", "priorYear"], [1, "mt-6", "pt-4", "border-t", "flex", "justify-start", 3, "ngClass"], ["type", "button", 1, "inline-flex", "items-center", "gap-2", "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "hidden", "sm:inline"], [1, "sm:hidden"], ["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, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [3, "viewMode", "pacingPercentage", "status", "showAsFullText", "showEmphasizedPercentage"], [1, "my-8"], [1, "space-y-3"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-3", 3, "ngClass"], [1, "grid", "gap-3"], [1, "p-4", "rounded-lg", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mb-4"], [1, "text-sm", "sm:text-base", "font-semibold", "leading-tight", 3, "ngClass"], ["type", "button", "tooltipType", "markdown", "tooltipPosition", "right", 1, "flex-shrink-0", "w-5", "h-5", "rounded-full", "inline-flex", "items-center", "justify-center", "transition-colors", 3, "ngClass", "libSymphiqTooltip"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "lg:grid-cols-3", "gap-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1.5", 3, "ngClass"], [1, "text-lg", "font-bold", 3, "ngClass"], [1, "flex", "items-baseline", "gap-2", "mb-2"], [1, "text-sm", "line-through", "opacity-60", 3, "ngClass"], [3, "viewMode", "percentageChange", "metric", "priorYear", "isCompact"], [1, "mt-6", "pt-4", "border-t", "flex", "justify-between", "items-center", 3, "ngClass"], ["type", "button", 1, "inline-flex", "items-center", "gap-2", "px-3", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "click", "ngClass"], ["type", "button", 1, "inline-flex", "items-center", "gap-2", "px-3", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"], [1, "text-lg", "font-bold", "mb-2", 3, "ngClass"], [3, "viewMode", "pacingPercentage", "status", "showAsFullText", "isCompact", "showEmphasizedPercentage"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"]], template: function FunnelMetricsVisualizationComponent_Template(rf, ctx) { if (rf & 1) {
55695
55735
  i0.ɵɵelementStart(0, "div", 0);
55696
55736
  i0.ɵɵelement(1, "symphiq-tooltip-container");
55697
55737
  i0.ɵɵelementStart(2, "div", 1);
55698
- i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 29, 20, "div", 2, _forTrack0$j);
55738
+ i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 31, 21, "div", 2, _forTrack0$j);
55699
55739
  i0.ɵɵelementEnd()();
55700
55740
  } if (rf & 2) {
55701
55741
  i0.ɵɵadvance(3);
@@ -55751,9 +55791,16 @@ class FunnelMetricsVisualizationComponent {
55751
55791
  <p [ngClass]="labelClasses()" class="text-xs font-medium uppercase tracking-wider mb-2">
55752
55792
  {{ currentYear() }} Target
55753
55793
  </p>
55754
- <p [ngClass]="targetValueClasses()" class="text-2xl font-bold mb-3">
55755
- {{ formatMetricValue(stage.stageMetric.targetValue, stage.stageMetric.metric, false) }}
55756
- </p>
55794
+ <div class="flex items-baseline gap-2 mb-3">
55795
+ <p [ngClass]="targetValueClasses()" class="text-2xl font-bold">
55796
+ {{ formatMetricValue(stage.stageMetric.targetValue, stage.stageMetric.metric, false) }}
55797
+ </p>
55798
+ @if (stage.stageMetric.originalTargetValue !== undefined) {
55799
+ <p [ngClass]="originalValueClasses()" class="text-base line-through opacity-60">
55800
+ {{ formatMetricValue(stage.stageMetric.originalTargetValue, stage.stageMetric.metric, false) }}
55801
+ </p>
55802
+ }
55803
+ </div>
55757
55804
  <symphiq-target-change-badge
55758
55805
  [viewMode]="viewMode()"
55759
55806
  [percentageChange]="stage.stageMetric.percentageIncrease"
@@ -55835,9 +55882,16 @@ class FunnelMetricsVisualizationComponent {
55835
55882
  <p [ngClass]="relatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1.5">
55836
55883
  {{ currentYear() }} Target
55837
55884
  </p>
55838
- <p [ngClass]="relatedTargetValueClasses()" class="text-lg font-bold mb-2">
55839
- {{ formatMetricValue(metric.calc.targetValue, metric.calc.metric, false) }}
55840
- </p>
55885
+ <div class="flex items-baseline gap-2 mb-2">
55886
+ <p [ngClass]="relatedTargetValueClasses()" class="text-lg font-bold">
55887
+ {{ formatMetricValue(metric.calc.targetValue, metric.calc.metric, false) }}
55888
+ </p>
55889
+ @if (metric.calc.originalTargetValue !== undefined) {
55890
+ <p [ngClass]="relatedOriginalValueClasses()" class="text-sm line-through opacity-60">
55891
+ {{ formatMetricValue(metric.calc.originalTargetValue, metric.calc.metric, false) }}
55892
+ </p>
55893
+ }
55894
+ </div>
55841
55895
  <symphiq-target-change-badge
55842
55896
  [viewMode]="viewMode()"
55843
55897
  [percentageChange]="metric.calc.percentageIncrease"
@@ -55904,7 +55958,7 @@ class FunnelMetricsVisualizationComponent {
55904
55958
  `
55905
55959
  }]
55906
55960
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], calculations: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculations", required: false }] }], pacingMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingMetrics", required: false }] }], hasExistingTargets: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasExistingTargets", required: false }] }], viewStageReport: [{ type: i0.Output, args: ["viewStageReport"] }], viewRelatedMetricReport: [{ type: i0.Output, args: ["viewRelatedMetricReport"] }], editRelatedMetricTarget: [{ type: i0.Output, args: ["editRelatedMetricTarget"] }] }); })();
55907
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 211 }); })();
55961
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 225 }); })();
55908
55962
 
55909
55963
  function StickySubmitBarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
55910
55964
  i0.ɵɵelementStart(0, "div", 4);
@@ -59068,12 +59122,24 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional
59068
59122
  function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_12_Template(rf, ctx) { if (rf & 1) {
59069
59123
  i0.ɵɵtext(0, " -- ");
59070
59124
  } }
59071
- function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_21_Template(rf, ctx) { if (rf & 1) {
59125
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_21_Conditional_0_Template(rf, ctx) { if (rf & 1) {
59072
59126
  i0.ɵɵtext(0);
59073
59127
  } if (rf & 2) {
59074
- const ctx_r1 = i0.ɵɵnextContext(4);
59128
+ const ctx_r1 = i0.ɵɵnextContext(5);
59129
+ i0.ɵɵtextInterpolate1(" +", ctx_r1.formatPercentage(ctx_r1.Math.abs(ctx_r1.animatedGapPercentage()), 1), " ");
59130
+ } }
59131
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_21_Conditional_1_Template(rf, ctx) { if (rf & 1) {
59132
+ i0.ɵɵtext(0);
59133
+ } if (rf & 2) {
59134
+ const ctx_r1 = i0.ɵɵnextContext(5);
59075
59135
  i0.ɵɵtextInterpolate2(" ", ctx_r1.animatedGapPercentage() > 0 ? "+" : "", "", ctx_r1.formatPercentage(ctx_r1.animatedGapPercentage(), 1), " ");
59076
59136
  } }
59137
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_21_Template(rf, ctx) { if (rf & 1) {
59138
+ i0.ɵɵconditionalCreate(0, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_21_Conditional_0_Template, 1, 1)(1, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_21_Conditional_1_Template, 1, 2);
59139
+ } if (rf & 2) {
59140
+ const ctx_r1 = i0.ɵɵnextContext(4);
59141
+ i0.ɵɵconditional(ctx_r1.isPaceAhead() ? 0 : 1);
59142
+ } }
59077
59143
  function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_22_Template(rf, ctx) { if (rf & 1) {
59078
59144
  i0.ɵɵtext(0, " -- ");
59079
59145
  } }
@@ -59103,7 +59169,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional
59103
59169
  i0.ɵɵelementEnd()()();
59104
59170
  i0.ɵɵnamespaceHTML();
59105
59171
  i0.ɵɵelementStart(20, "p", 50);
59106
- i0.ɵɵconditionalCreate(21, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_21_Template, 1, 2)(22, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_22_Template, 1, 0);
59172
+ i0.ɵɵconditionalCreate(21, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_21_Template, 2, 1)(22, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_22_Template, 1, 0);
59107
59173
  i0.ɵɵelementEnd()()()();
59108
59174
  } if (rf & 2) {
59109
59175
  const ctx_r1 = i0.ɵɵnextContext(3);
@@ -59568,7 +59634,7 @@ class EditMetricTargetModalComponent {
59568
59634
  normalizedAbsolute = currentAbsolute / 100;
59569
59635
  }
59570
59636
  const percentageChange = ((normalizedAbsolute - priorValue) / priorValue) * 100;
59571
- this.percentageInput.set(Math.round(Math.abs(percentageChange) * 100) / 100);
59637
+ this.percentageInput.set(Math.abs(percentageChange));
59572
59638
  }
59573
59639
  }
59574
59640
  this.updateAnimatedValuesImmediate();
@@ -60092,7 +60158,11 @@ class EditMetricTargetModalComponent {
60092
60158
  </div>
60093
60159
  <p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
60094
60160
  @if (isTargetValid()) {
60095
- {{ animatedGapPercentage() > 0 ? '+' : '' }}{{ formatPercentage(animatedGapPercentage(), 1) }}
60161
+ @if (isPaceAhead()) {
60162
+ +{{ formatPercentage(Math.abs(animatedGapPercentage()), 1) }}
60163
+ } @else {
60164
+ {{ animatedGapPercentage() > 0 ? '+' : '' }}{{ formatPercentage(animatedGapPercentage(), 1) }}
60165
+ }
60096
60166
  } @else {
60097
60167
  --
60098
60168
  }
@@ -60139,7 +60209,7 @@ class EditMetricTargetModalComponent {
60139
60209
  type: HostListener,
60140
60210
  args: ['document:keydown.escape']
60141
60211
  }] }); })();
60142
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditMetricTargetModalComponent, { className: "EditMetricTargetModalComponent", filePath: "lib/components/revenue-calculator-dashboard/edit-metric-target-modal.component.ts", lineNumber: 327 }); })();
60212
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditMetricTargetModalComponent, { className: "EditMetricTargetModalComponent", filePath: "lib/components/revenue-calculator-dashboard/edit-metric-target-modal.component.ts", lineNumber: 331 }); })();
60143
60213
 
60144
60214
  const _c0$q = ["absoluteInputRef"];
60145
60215
  const _c1$b = ["percentageInputRef"];
@@ -60541,11 +60611,11 @@ function InitialTargetSettingComponent_Conditional_41_Template(rf, ctx) { if (rf
60541
60611
  function InitialTargetSettingComponent_Conditional_42_Template(rf, ctx) { if (rf & 1) {
60542
60612
  const _r11 = i0.ɵɵgetCurrentView();
60543
60613
  i0.ɵɵelementStart(0, "div", 33)(1, "p", 52);
60544
- i0.ɵɵtext(2, " Edit individual metric targets above, then save your changes. ");
60614
+ i0.ɵɵtext(2, " You have unsaved target changes. ");
60545
60615
  i0.ɵɵelementEnd();
60546
60616
  i0.ɵɵelementStart(3, "div", 72)(4, "button", 73);
60547
60617
  i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_42_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r11); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onDiscardChanges()); });
60548
- i0.ɵɵtext(5, " Discard Changes ");
60618
+ i0.ɵɵtext(5, " Reset ");
60549
60619
  i0.ɵɵelementEnd();
60550
60620
  i0.ɵɵelementStart(6, "button", 73);
60551
60621
  i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_42_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r11); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onSaveTargets()); });
@@ -60577,6 +60647,11 @@ class InitialTargetSettingComponent {
60577
60647
  this.editRelatedMetricTarget = output();
60578
60648
  this.saveTargetsClick = output();
60579
60649
  this.discardChangesClick = output();
60650
+ this.targetsUpdated = output();
60651
+ this.pendingTargetChanges = signal(new Map(), ...(ngDevMode ? [{ debugName: "pendingTargetChanges" }] : []));
60652
+ this.hasPendingChanges = computed(() => {
60653
+ return this.pendingTargetChanges().size > 0;
60654
+ }, ...(ngDevMode ? [{ debugName: "hasPendingChanges" }] : []));
60580
60655
  this.inputMode = signal('absolute', ...(ngDevMode ? [{ debugName: "inputMode" }] : []));
60581
60656
  this.absoluteInput = signal(null, ...(ngDevMode ? [{ debugName: "absoluteInput" }] : []));
60582
60657
  this.percentageInput = signal(null, ...(ngDevMode ? [{ debugName: "percentageInput" }] : []));
@@ -60661,53 +60736,70 @@ class InitialTargetSettingComponent {
60661
60736
  }, ...(ngDevMode ? [{ debugName: "isTargetValid" }] : []));
60662
60737
  this.displayedMetricCalculations = computed(() => {
60663
60738
  const targets = this.targets();
60739
+ const pendingChanges = this.pendingTargetChanges();
60740
+ let baseResults = [];
60664
60741
  if (targets && targets.length > 0) {
60665
- return this.buildCalculationsFromTargets(targets);
60742
+ baseResults = this.buildCalculationsFromTargets(targets);
60666
60743
  }
60667
- const response = this.storedResponse();
60668
- if (!response) {
60669
- return [];
60670
- }
60671
- const results = [];
60672
- if (response.funnelMetricValues) {
60673
- response.funnelMetricValues.forEach((metricValue) => {
60674
- const metric = metricValue.metric;
60675
- const funnelMetric = this.funnelMetrics().find(fm => fm.funnelMetric === metric && fm.funnelMetric === fm.relatedMetric);
60676
- const currentValue = sumMetricFromUiData(this.mainUiData(), metric, 'priorYear');
60677
- const { targetValue, percentageIncrease } = this.parseMetricValue(metricValue.value);
60678
- results.push({
60679
- metric,
60680
- funnelMetric: metric,
60681
- currentValue,
60682
- targetValue,
60683
- percentageIncrease: metric === MetricEnum.PURCHASE_REVENUE ? this.percentageIncrease() : percentageIncrease,
60684
- isFunnelStage: true,
60685
- funnelInd: funnelMetric?.funnelInd,
60686
- relatedInd: 0,
60687
- description: funnelMetric?.funnelMetricDescription
60744
+ else {
60745
+ const response = this.storedResponse();
60746
+ if (!response) {
60747
+ return [];
60748
+ }
60749
+ if (response.funnelMetricValues) {
60750
+ response.funnelMetricValues.forEach((metricValue) => {
60751
+ const metric = metricValue.metric;
60752
+ const funnelMetric = this.funnelMetrics().find(fm => fm.funnelMetric === metric && fm.funnelMetric === fm.relatedMetric);
60753
+ const currentValue = sumMetricFromUiData(this.mainUiData(), metric, 'priorYear');
60754
+ const { targetValue, percentageIncrease } = this.parseMetricValue(metricValue.value);
60755
+ baseResults.push({
60756
+ metric,
60757
+ funnelMetric: metric,
60758
+ currentValue,
60759
+ targetValue,
60760
+ percentageIncrease: metric === MetricEnum.PURCHASE_REVENUE ? this.percentageIncrease() : percentageIncrease,
60761
+ isFunnelStage: true,
60762
+ funnelInd: funnelMetric?.funnelInd,
60763
+ relatedInd: 0,
60764
+ description: funnelMetric?.funnelMetricDescription
60765
+ });
60688
60766
  });
60689
- });
60690
- }
60691
- if (response.relatedMetricTargets) {
60692
- response.relatedMetricTargets.forEach((metricValue) => {
60693
- const metric = metricValue.metric;
60694
- const funnelMetric = this.funnelMetrics().find(fm => fm.relatedMetric === metric);
60695
- const currentValue = sumMetricFromUiData(this.mainUiData(), metric, 'priorYear');
60696
- const { targetValue, percentageIncrease } = this.parseMetricValue(metricValue.value);
60697
- results.push({
60698
- metric,
60699
- funnelMetric: funnelMetric?.funnelMetric,
60700
- currentValue,
60701
- targetValue,
60702
- percentageIncrease: percentageIncrease || response.equalRelatedMetricIncreasePercent || 0,
60703
- isFunnelStage: false,
60704
- funnelInd: funnelMetric?.funnelInd,
60705
- relatedInd: funnelMetric?.relatedInd,
60706
- description: funnelMetric?.relatedMetricDescription
60767
+ }
60768
+ if (response.relatedMetricTargets) {
60769
+ response.relatedMetricTargets.forEach((metricValue) => {
60770
+ const metric = metricValue.metric;
60771
+ const funnelMetric = this.funnelMetrics().find(fm => fm.relatedMetric === metric);
60772
+ const currentValue = sumMetricFromUiData(this.mainUiData(), metric, 'priorYear');
60773
+ const { targetValue, percentageIncrease } = this.parseMetricValue(metricValue.value);
60774
+ baseResults.push({
60775
+ metric,
60776
+ funnelMetric: funnelMetric?.funnelMetric,
60777
+ currentValue,
60778
+ targetValue,
60779
+ percentageIncrease: percentageIncrease || response.equalRelatedMetricIncreasePercent || 0,
60780
+ isFunnelStage: false,
60781
+ funnelInd: funnelMetric?.funnelInd,
60782
+ relatedInd: funnelMetric?.relatedInd,
60783
+ description: funnelMetric?.relatedMetricDescription
60784
+ });
60707
60785
  });
60708
- });
60786
+ }
60787
+ }
60788
+ if (pendingChanges.size === 0) {
60789
+ return baseResults;
60709
60790
  }
60710
- return results;
60791
+ return baseResults.map(calc => {
60792
+ const pending = pendingChanges.get(calc.metric);
60793
+ if (pending) {
60794
+ return {
60795
+ ...calc,
60796
+ originalTargetValue: pending.originalValue,
60797
+ targetValue: pending.newValue,
60798
+ percentageIncrease: pending.percentageChange
60799
+ };
60800
+ }
60801
+ return calc;
60802
+ });
60711
60803
  }, ...(ngDevMode ? [{ debugName: "displayedMetricCalculations" }] : []));
60712
60804
  this.displayedTargetRevenue = computed(() => {
60713
60805
  const targets = this.targets();
@@ -61207,12 +61299,38 @@ class InitialTargetSettingComponent {
61207
61299
  this.editMetricEnum.set('');
61208
61300
  }
61209
61301
  onEditMetricTargetApplied(event) {
61210
- this.editRelatedMetricTarget.emit(event.metric);
61302
+ const pendingChanges = new Map(this.pendingTargetChanges());
61303
+ const existingPending = pendingChanges.get(event.metric);
61304
+ const originalValue = existingPending
61305
+ ? existingPending.originalValue
61306
+ : (this.displayedMetricCalculations().find(c => c.metric === event.metric)?.targetValue ?? 0);
61307
+ pendingChanges.set(event.metric, {
61308
+ newValue: event.targetValue,
61309
+ originalValue,
61310
+ percentageChange: event.percentageChange
61311
+ });
61312
+ this.pendingTargetChanges.set(pendingChanges);
61313
+ this.closeEditMetricModal();
61211
61314
  }
61212
61315
  onSaveTargets() {
61316
+ const pendingChanges = this.pendingTargetChanges();
61317
+ if (pendingChanges.size > 0) {
61318
+ const updates = [];
61319
+ pendingChanges.forEach((change, metric) => {
61320
+ updates.push({
61321
+ metric,
61322
+ targetValue: change.newValue,
61323
+ percentageChange: change.percentageChange,
61324
+ originalValue: change.originalValue
61325
+ });
61326
+ });
61327
+ this.targetsUpdated.emit(updates);
61328
+ this.pendingTargetChanges.set(new Map());
61329
+ }
61213
61330
  this.saveTargetsClick.emit();
61214
61331
  }
61215
61332
  onDiscardChanges() {
61333
+ this.pendingTargetChanges.set(new Map());
61216
61334
  this.discardChangesClick.emit();
61217
61335
  }
61218
61336
  saveFooterClasses() {
@@ -61243,7 +61361,7 @@ class InitialTargetSettingComponent {
61243
61361
  let _t;
61244
61362
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
61245
61363
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
61246
- } }, 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", editRelatedMetricTarget: "editRelatedMetricTarget", saveTargetsClick: "saveTargetsClick", discardChangesClick: "discardChangesClick" }, decls: 45, vars: 51, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [1, "space-y-8", "pb-32"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", 3, "click", "ngClass"], [1, "flex", "items-center", "justify-between", "mb-6"], [1, "text-2xl", "font-bold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "chevron-rotate", 3, "chevron-rotate-expanded", "ngClass"], [1, "flex", "flex-col", "gap-4"], [1, "grid", "lg:grid-cols-2", "gap-4"], [1, "p-6", "rounded-xl", "border-2", 3, "click", "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", 3, "ngClass", "h-full"], [1, "w-full"], [1, "metrics-section-enter"], [1, "metrics-section-content"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", 3, "ngClass"], [3, "viewMode", "isValid", "isSubmitting", "validationMessage", "buttonText", "showCancelButton"], [1, "mt-8", "p-6", "rounded-xl", "border-2", "flex", "flex-col", "sm:flex-row", "items-center", "justify-between", "gap-4", 3, "ngClass"], [3, "closed", "viewMode", "metricEnum", "metricData", "contributingMetrics", "pacingMetrics", "trendChartData", "isOpen"], [3, "closed", "targetApplied", "viewMode", "metricData", "pacingMetrics", "isOpen"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "chevron-rotate", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"], [1, "flex", "items-center", "gap-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, "click", "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, "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, "p-6", "rounded-xl", "border-2", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "font-bold", "transition-all", "duration-300", "text-lg", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "ngClass"], [1, "details-collapse"], [1, "details-collapse-content"], [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-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [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"], [1, "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [3, "viewStageReport", "viewRelatedMetricReport", "editRelatedMetricTarget", "viewMode", "calculations", "pacingMetrics", "hasExistingTargets"], [3, "submitClick", "cancelClick", "viewMode", "isValid", "isSubmitting", "validationMessage", "buttonText", "showCancelButton"], [1, "flex", "items-center", "gap-3"], ["type", "button", 1, "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "click", "ngClass"]], template: function InitialTargetSettingComponent_Template(rf, ctx) { if (rf & 1) {
61364
+ } }, 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", editRelatedMetricTarget: "editRelatedMetricTarget", saveTargetsClick: "saveTargetsClick", discardChangesClick: "discardChangesClick", targetsUpdated: "targetsUpdated" }, decls: 45, vars: 51, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [1, "space-y-8", "pb-32"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", 3, "click", "ngClass"], [1, "flex", "items-center", "justify-between", "mb-6"], [1, "text-2xl", "font-bold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "chevron-rotate", 3, "chevron-rotate-expanded", "ngClass"], [1, "flex", "flex-col", "gap-4"], [1, "grid", "lg:grid-cols-2", "gap-4"], [1, "p-6", "rounded-xl", "border-2", 3, "click", "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", 3, "ngClass", "h-full"], [1, "w-full"], [1, "metrics-section-enter"], [1, "metrics-section-content"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", 3, "ngClass"], [3, "viewMode", "isValid", "isSubmitting", "validationMessage", "buttonText", "showCancelButton"], [1, "fixed", "bottom-0", "left-0", "right-0", "p-4", "border-t", "shadow-lg", "z-50", "flex", "flex-col", "sm:flex-row", "items-center", "justify-center", "gap-4", 3, "ngClass"], [3, "closed", "viewMode", "metricEnum", "metricData", "contributingMetrics", "pacingMetrics", "trendChartData", "isOpen"], [3, "closed", "targetApplied", "viewMode", "metricData", "pacingMetrics", "isOpen"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "chevron-rotate", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"], [1, "flex", "items-center", "gap-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, "click", "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, "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, "p-6", "rounded-xl", "border-2", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "font-bold", "transition-all", "duration-300", "text-lg", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "ngClass"], [1, "details-collapse"], [1, "details-collapse-content"], [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-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [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"], [1, "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [3, "viewStageReport", "viewRelatedMetricReport", "editRelatedMetricTarget", "viewMode", "calculations", "pacingMetrics", "hasExistingTargets"], [3, "submitClick", "cancelClick", "viewMode", "isValid", "isSubmitting", "validationMessage", "buttonText", "showCancelButton"], [1, "flex", "items-center", "gap-3"], ["type", "button", 1, "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "click", "ngClass"]], template: function InitialTargetSettingComponent_Template(rf, ctx) { if (rf & 1) {
61247
61365
  i0.ɵɵelementStart(0, "div", 2);
61248
61366
  i0.ɵɵelement(1, "symphiq-tooltip-container");
61249
61367
  i0.ɵɵelementStart(2, "div", 3);
@@ -61345,7 +61463,7 @@ class InitialTargetSettingComponent {
61345
61463
  i0.ɵɵadvance();
61346
61464
  i0.ɵɵconditional(!ctx.hasExistingTargets() ? 41 : -1);
61347
61465
  i0.ɵɵadvance();
61348
- i0.ɵɵconditional(ctx.hasExistingTargets() ? 42 : -1);
61466
+ i0.ɵɵconditional(ctx.hasPendingChanges() ? 42 : -1);
61349
61467
  i0.ɵɵadvance();
61350
61468
  i0.ɵɵproperty("viewMode", ctx.viewMode())("metricEnum", ctx.selectedMetricEnum())("metricData", ctx.selectedMetricData())("contributingMetrics", ctx.selectedContributingMetrics())("pacingMetrics", ctx.pacingMetrics())("trendChartData", ctx.revenueChartData())("isOpen", ctx.isMetricReportOpen());
61351
61469
  i0.ɵɵadvance();
@@ -61747,10 +61865,10 @@ class InitialTargetSettingComponent {
61747
61865
  />
61748
61866
  }
61749
61867
 
61750
- @if (hasExistingTargets()) {
61751
- <div [ngClass]="saveFooterClasses()" class="mt-8 p-6 rounded-xl border-2 flex flex-col sm:flex-row items-center justify-between gap-4">
61868
+ @if (hasPendingChanges()) {
61869
+ <div [ngClass]="saveFooterClasses()" class="fixed bottom-0 left-0 right-0 p-4 border-t shadow-lg z-50 flex flex-col sm:flex-row items-center justify-center gap-4">
61752
61870
  <p [ngClass]="saveFooterTextClasses()" class="text-sm">
61753
- Edit individual metric targets above, then save your changes.
61871
+ You have unsaved target changes.
61754
61872
  </p>
61755
61873
  <div class="flex items-center gap-3">
61756
61874
  <button
@@ -61758,7 +61876,7 @@ class InitialTargetSettingComponent {
61758
61876
  (click)="onDiscardChanges()"
61759
61877
  [ngClass]="discardButtonClasses()"
61760
61878
  class="px-4 py-2.5 rounded-lg font-medium text-sm transition-all duration-200">
61761
- Discard Changes
61879
+ Reset
61762
61880
  </button>
61763
61881
  <button
61764
61882
  type="button"
@@ -61800,7 +61918,7 @@ class InitialTargetSettingComponent {
61800
61918
  }], percentageInputRef: [{
61801
61919
  type: ViewChild,
61802
61920
  args: ['percentageInputRef']
61803
- }], 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"] }], editRelatedMetricTarget: [{ type: i0.Output, args: ["editRelatedMetricTarget"] }], saveTargetsClick: [{ type: i0.Output, args: ["saveTargetsClick"] }], discardChangesClick: [{ type: i0.Output, args: ["discardChangesClick"] }] }); })();
61921
+ }], 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"] }], editRelatedMetricTarget: [{ type: i0.Output, args: ["editRelatedMetricTarget"] }], saveTargetsClick: [{ type: i0.Output, args: ["saveTargetsClick"] }], discardChangesClick: [{ type: i0.Output, args: ["discardChangesClick"] }], targetsUpdated: [{ type: i0.Output, args: ["targetsUpdated"] }] }); })();
61804
61922
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 578 }); })();
61805
61923
 
61806
61924
  function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {