@eric-emg/symphiq-components 1.2.267 → 1.2.269

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);
55361
55383
  i0.ɵɵelementEnd();
55362
- i0.ɵɵelement(16, "symphiq-target-change-badge", 33);
55384
+ i0.ɵɵconditionalCreate(17, FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_17_Template, 2, 2, "p", 35);
55363
55385
  i0.ɵɵelementEnd();
55364
- i0.ɵɵconditionalCreate(17, FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_17_Template, 6, 10, "div");
55386
+ i0.ɵɵelement(18, "symphiq-target-change-badge", 36);
55365
55387
  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)); });
55388
+ i0.ɵɵconditionalCreate(19, FunnelMetricsVisualizationComponent_For_4_Conditional_30_For_6_Conditional_19_Template, 6, 10, "div");
55389
+ i0.ɵɵelementEnd();
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);
@@ -58943,17 +58997,17 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_27_Template(rf
58943
58997
  i0.ɵɵelementStart(0, "div", 18);
58944
58998
  i0.ɵɵnamespaceSVG();
58945
58999
  i0.ɵɵelementStart(1, "svg", 19);
58946
- i0.ɵɵelement(2, "path", 31);
59000
+ i0.ɵɵelement(2, "path", 32);
58947
59001
  i0.ɵɵelementEnd();
58948
59002
  i0.ɵɵnamespaceHTML();
58949
- i0.ɵɵelementStart(3, "div")(4, "div", 32)(5, "p", 21);
59003
+ i0.ɵɵelementStart(3, "div")(4, "div", 33)(5, "p", 21);
58950
59004
  i0.ɵɵtext(6, " Current Pace Projection ");
58951
59005
  i0.ɵɵelementEnd();
58952
- i0.ɵɵelementStart(7, "button", 33);
59006
+ i0.ɵɵelementStart(7, "button", 34);
58953
59007
  i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Conditional_27_Template_button_click_7_listener($event) { i0.ɵɵrestoreView(_r3); return i0.ɵɵresetView($event.stopPropagation()); });
58954
59008
  i0.ɵɵnamespaceSVG();
58955
- i0.ɵɵelementStart(8, "svg", 34);
58956
- i0.ɵɵelement(9, "path", 35);
59009
+ i0.ɵɵelementStart(8, "svg", 35);
59010
+ i0.ɵɵelement(9, "path", 36);
58957
59011
  i0.ɵɵelementEnd()()();
58958
59012
  i0.ɵɵnamespaceHTML();
58959
59013
  i0.ɵɵelementStart(10, "p", 22);
@@ -58974,11 +59028,11 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_27_Template(rf
58974
59028
  } }
58975
59029
  function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_1_Template(rf, ctx) { if (rf & 1) {
58976
59030
  const _r4 = i0.ɵɵgetCurrentView();
58977
- i0.ɵɵelementStart(0, "input", 37, 0);
59031
+ i0.ɵɵelementStart(0, "input", 38, 0);
58978
59032
  i0.ɵɵtwoWayListener("ngModelChange", function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_1_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.absoluteInput, $event) || (ctx_r1.absoluteInput = $event); return i0.ɵɵresetView($event); });
58979
59033
  i0.ɵɵlistener("ngModelChange", function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_1_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onAbsoluteInputChange()); });
58980
59034
  i0.ɵɵelementEnd();
58981
- i0.ɵɵelementStart(2, "span", 38);
59035
+ i0.ɵɵelementStart(2, "span", 39);
58982
59036
  i0.ɵɵtext(3, " % ");
58983
59037
  i0.ɵɵelementEnd();
58984
59038
  } if (rf & 2) {
@@ -58990,10 +59044,10 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional
58990
59044
  } }
58991
59045
  function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_2_Template(rf, ctx) { if (rf & 1) {
58992
59046
  const _r5 = i0.ɵɵgetCurrentView();
58993
- i0.ɵɵelementStart(0, "span", 39);
59047
+ i0.ɵɵelementStart(0, "span", 40);
58994
59048
  i0.ɵɵtext(1, " $ ");
58995
59049
  i0.ɵɵelementEnd();
58996
- i0.ɵɵelementStart(2, "input", 40, 0);
59050
+ i0.ɵɵelementStart(2, "input", 41, 0);
58997
59051
  i0.ɵɵtwoWayListener("ngModelChange", function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_2_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.absoluteInput, $event) || (ctx_r1.absoluteInput = $event); return i0.ɵɵresetView($event); });
58998
59052
  i0.ɵɵlistener("ngModelChange", function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_2_Template_input_ngModelChange_2_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onAbsoluteInputChange()); });
58999
59053
  i0.ɵɵelementEnd();
@@ -59006,7 +59060,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional
59006
59060
  } }
59007
59061
  function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_3_Template(rf, ctx) { if (rf & 1) {
59008
59062
  const _r6 = i0.ɵɵgetCurrentView();
59009
- i0.ɵɵelementStart(0, "input", 41, 0);
59063
+ i0.ɵɵelementStart(0, "input", 42, 0);
59010
59064
  i0.ɵɵtwoWayListener("ngModelChange", function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_3_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); i0.ɵɵtwoWayBindingSet(ctx_r1.absoluteInput, $event) || (ctx_r1.absoluteInput = $event); return i0.ɵɵresetView($event); });
59011
59065
  i0.ɵɵlistener("ngModelChange", function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_3_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onAbsoluteInputChange()); })("keydown", function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_3_Template_input_keydown_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onIntegerKeyDown($event)); });
59012
59066
  i0.ɵɵelementEnd();
@@ -59017,7 +59071,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional
59017
59071
  } }
59018
59072
  function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Template(rf, ctx) { if (rf & 1) {
59019
59073
  i0.ɵɵelementStart(0, "div", 26);
59020
- i0.ɵɵconditionalCreate(1, EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_1_Template, 4, 3)(2, EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_2_Template, 4, 3)(3, EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_3_Template, 2, 2, "input", 36);
59074
+ i0.ɵɵconditionalCreate(1, EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_1_Template, 4, 3)(2, EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_2_Template, 4, 3)(3, EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_3_Template, 2, 2, "input", 37);
59021
59075
  i0.ɵɵelementEnd();
59022
59076
  } if (rf & 2) {
59023
59077
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -59026,11 +59080,11 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Template(rf
59026
59080
  } }
59027
59081
  function EditMetricTargetModalComponent_Conditional_0_Conditional_35_Template(rf, ctx) { if (rf & 1) {
59028
59082
  const _r7 = i0.ɵɵgetCurrentView();
59029
- i0.ɵɵelementStart(0, "div", 26)(1, "input", 42, 1);
59083
+ i0.ɵɵelementStart(0, "div", 26)(1, "input", 43, 1);
59030
59084
  i0.ɵɵtwoWayListener("ngModelChange", function EditMetricTargetModalComponent_Conditional_0_Conditional_35_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.percentageInput, $event) || (ctx_r1.percentageInput = $event); return i0.ɵɵresetView($event); });
59031
59085
  i0.ɵɵlistener("ngModelChange", function EditMetricTargetModalComponent_Conditional_0_Conditional_35_Template_input_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onPercentageInputChange()); });
59032
59086
  i0.ɵɵelementEnd();
59033
- i0.ɵɵelementStart(3, "span", 38);
59087
+ i0.ɵɵelementStart(3, "span", 39);
59034
59088
  i0.ɵɵtext(4, " % ");
59035
59089
  i0.ɵɵelementEnd()();
59036
59090
  } if (rf & 2) {
@@ -59041,69 +59095,91 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_35_Template(rf
59041
59095
  i0.ɵɵadvance(2);
59042
59096
  i0.ɵɵproperty("ngClass", ctx_r1.inputSuffixClasses());
59043
59097
  } }
59044
- function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_17_Template(rf, ctx) { if (rf & 1) {
59098
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_7_Template(rf, ctx) { if (rf & 1) {
59099
+ i0.ɵɵelementStart(0, "p", 46);
59100
+ i0.ɵɵtext(1);
59101
+ i0.ɵɵelementEnd();
59102
+ } if (rf & 2) {
59103
+ const ctx_r1 = i0.ɵɵnextContext(3);
59104
+ i0.ɵɵproperty("ngClass", ctx_r1.originalValueClasses());
59105
+ i0.ɵɵadvance();
59106
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(ctx_r1.initialTargetValue()), " ");
59107
+ } }
59108
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_19_Template(rf, ctx) { if (rf & 1) {
59045
59109
  i0.ɵɵtext(0);
59046
59110
  } if (rf & 2) {
59047
59111
  const ctx_r1 = i0.ɵɵnextContext(3);
59048
59112
  i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(ctx_r1.animatedIncreaseAmount()), " ");
59049
59113
  } }
59050
- function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_18_Template(rf, ctx) { if (rf & 1) {
59114
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_20_Template(rf, ctx) { if (rf & 1) {
59051
59115
  i0.ɵɵtext(0, " -- ");
59052
59116
  } }
59053
- function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_23_Template(rf, ctx) { if (rf & 1) {
59117
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Template(rf, ctx) { if (rf & 1) {
59054
59118
  i0.ɵɵtext(0);
59055
59119
  } if (rf & 2) {
59056
59120
  const ctx_r1 = i0.ɵɵnextContext(3);
59057
59121
  i0.ɵɵtextInterpolate2(" ", ctx_r1.animatedPercentageGrowth() >= 0 ? "+" : "", "", ctx_r1.formatPercentage(ctx_r1.animatedPercentageGrowth(), 1), " ");
59058
59122
  } }
59059
- function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_24_Template(rf, ctx) { if (rf & 1) {
59123
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_26_Template(rf, ctx) { if (rf & 1) {
59060
59124
  i0.ɵɵtext(0, " -- ");
59061
59125
  } }
59062
- function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_11_Template(rf, ctx) { if (rf & 1) {
59126
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_11_Template(rf, ctx) { if (rf & 1) {
59063
59127
  i0.ɵɵtext(0);
59064
59128
  } if (rf & 2) {
59065
59129
  const ctx_r1 = i0.ɵɵnextContext(4);
59066
59130
  i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(ctx_r1.animatedGapAmount()), " ");
59067
59131
  } }
59068
- function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_12_Template(rf, ctx) { if (rf & 1) {
59132
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_12_Template(rf, ctx) { if (rf & 1) {
59069
59133
  i0.ɵɵtext(0, " -- ");
59070
59134
  } }
59071
- function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_21_Template(rf, ctx) { if (rf & 1) {
59135
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_21_Conditional_0_Template(rf, ctx) { if (rf & 1) {
59072
59136
  i0.ɵɵtext(0);
59073
59137
  } if (rf & 2) {
59074
- const ctx_r1 = i0.ɵɵnextContext(4);
59138
+ const ctx_r1 = i0.ɵɵnextContext(5);
59139
+ i0.ɵɵtextInterpolate1(" +", ctx_r1.formatPercentage(ctx_r1.Math.abs(ctx_r1.animatedGapPercentage()), 1), " ");
59140
+ } }
59141
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_21_Conditional_1_Template(rf, ctx) { if (rf & 1) {
59142
+ i0.ɵɵtext(0);
59143
+ } if (rf & 2) {
59144
+ const ctx_r1 = i0.ɵɵnextContext(5);
59075
59145
  i0.ɵɵtextInterpolate2(" ", ctx_r1.animatedGapPercentage() > 0 ? "+" : "", "", ctx_r1.formatPercentage(ctx_r1.animatedGapPercentage(), 1), " ");
59076
59146
  } }
59077
- function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_22_Template(rf, ctx) { if (rf & 1) {
59147
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_21_Template(rf, ctx) { if (rf & 1) {
59148
+ i0.ɵɵconditionalCreate(0, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_21_Conditional_0_Template, 1, 1)(1, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_21_Conditional_1_Template, 1, 2);
59149
+ } if (rf & 2) {
59150
+ const ctx_r1 = i0.ɵɵnextContext(4);
59151
+ i0.ɵɵconditional(ctx_r1.isPaceAhead() ? 0 : 1);
59152
+ } }
59153
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_22_Template(rf, ctx) { if (rf & 1) {
59078
59154
  i0.ɵɵtext(0, " -- ");
59079
59155
  } }
59080
- function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Template(rf, ctx) { if (rf & 1) {
59156
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Template(rf, ctx) { if (rf & 1) {
59081
59157
  const _r8 = i0.ɵɵgetCurrentView();
59082
- i0.ɵɵelementStart(0, "div", 44)(1, "div", 45);
59083
- i0.ɵɵelement(2, "div", 46);
59084
- i0.ɵɵelementStart(3, "span", 47);
59158
+ i0.ɵɵelementStart(0, "div", 47)(1, "div", 48);
59159
+ i0.ɵɵelement(2, "div", 49);
59160
+ i0.ɵɵelementStart(3, "span", 50);
59085
59161
  i0.ɵɵtext(4);
59086
59162
  i0.ɵɵelementEnd();
59087
- i0.ɵɵelement(5, "div", 46);
59163
+ i0.ɵɵelement(5, "div", 49);
59088
59164
  i0.ɵɵelementEnd();
59089
- i0.ɵɵelementStart(6, "div", 48)(7, "div")(8, "p", 49);
59165
+ i0.ɵɵelementStart(6, "div", 51)(7, "div")(8, "p", 52);
59090
59166
  i0.ɵɵtext(9);
59091
59167
  i0.ɵɵelementEnd();
59092
- i0.ɵɵelementStart(10, "p", 50);
59093
- i0.ɵɵconditionalCreate(11, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_11_Template, 1, 1)(12, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Conditional_12_Template, 1, 0);
59168
+ i0.ɵɵelementStart(10, "p", 53);
59169
+ i0.ɵɵconditionalCreate(11, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_11_Template, 1, 1)(12, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_12_Template, 1, 0);
59094
59170
  i0.ɵɵelementEnd()();
59095
- i0.ɵɵelementStart(13, "div")(14, "div", 51)(15, "p", 21);
59171
+ i0.ɵɵelementStart(13, "div")(14, "div", 54)(15, "p", 21);
59096
59172
  i0.ɵɵtext(16);
59097
59173
  i0.ɵɵelementEnd();
59098
- i0.ɵɵelementStart(17, "button", 33);
59099
- i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Template_button_click_17_listener($event) { i0.ɵɵrestoreView(_r8); return i0.ɵɵresetView($event.stopPropagation()); });
59174
+ i0.ɵɵelementStart(17, "button", 34);
59175
+ i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Template_button_click_17_listener($event) { i0.ɵɵrestoreView(_r8); return i0.ɵɵresetView($event.stopPropagation()); });
59100
59176
  i0.ɵɵnamespaceSVG();
59101
- i0.ɵɵelementStart(18, "svg", 34);
59102
- i0.ɵɵelement(19, "path", 35);
59177
+ i0.ɵɵelementStart(18, "svg", 35);
59178
+ i0.ɵɵelement(19, "path", 36);
59103
59179
  i0.ɵɵelementEnd()()();
59104
59180
  i0.ɵɵnamespaceHTML();
59105
- 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);
59181
+ i0.ɵɵelementStart(20, "p", 53);
59182
+ i0.ɵɵconditionalCreate(21, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_21_Template, 2, 1)(22, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Conditional_22_Template, 1, 0);
59107
59183
  i0.ɵɵelementEnd()()()();
59108
59184
  } if (rf & 2) {
59109
59185
  const ctx_r1 = i0.ɵɵnextContext(3);
@@ -59138,29 +59214,31 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Template(rf
59138
59214
  i0.ɵɵelementStart(0, "div", 27)(1, "div")(2, "p", 21);
59139
59215
  i0.ɵɵtext(3);
59140
59216
  i0.ɵɵelementEnd();
59141
- i0.ɵɵelementStart(4, "p", 43);
59142
- i0.ɵɵtext(5);
59217
+ i0.ɵɵelementStart(4, "div", 44)(5, "p", 45);
59218
+ i0.ɵɵtext(6);
59219
+ i0.ɵɵelementEnd();
59220
+ i0.ɵɵconditionalCreate(7, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_7_Template, 2, 2, "p", 46);
59143
59221
  i0.ɵɵelementEnd()();
59144
- i0.ɵɵelementStart(6, "div", 44)(7, "div", 45);
59145
- i0.ɵɵelement(8, "div", 46);
59146
- i0.ɵɵelementStart(9, "span", 47);
59147
- i0.ɵɵtext(10);
59222
+ i0.ɵɵelementStart(8, "div", 47)(9, "div", 48);
59223
+ i0.ɵɵelement(10, "div", 49);
59224
+ i0.ɵɵelementStart(11, "span", 50);
59225
+ i0.ɵɵtext(12);
59148
59226
  i0.ɵɵelementEnd();
59149
- i0.ɵɵelement(11, "div", 46);
59227
+ i0.ɵɵelement(13, "div", 49);
59150
59228
  i0.ɵɵelementEnd();
59151
- i0.ɵɵelementStart(12, "div", 48)(13, "div")(14, "p", 49);
59152
- i0.ɵɵtext(15);
59229
+ i0.ɵɵelementStart(14, "div", 51)(15, "div")(16, "p", 52);
59230
+ i0.ɵɵtext(17);
59153
59231
  i0.ɵɵelementEnd();
59154
- i0.ɵɵelementStart(16, "p", 50);
59155
- i0.ɵɵconditionalCreate(17, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_17_Template, 1, 1)(18, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_18_Template, 1, 0);
59232
+ i0.ɵɵelementStart(18, "p", 53);
59233
+ i0.ɵɵconditionalCreate(19, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_19_Template, 1, 1)(20, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_20_Template, 1, 0);
59156
59234
  i0.ɵɵelementEnd()();
59157
- i0.ɵɵelementStart(19, "div")(20, "p", 49);
59158
- i0.ɵɵtext(21);
59235
+ i0.ɵɵelementStart(21, "div")(22, "p", 52);
59236
+ i0.ɵɵtext(23);
59159
59237
  i0.ɵɵelementEnd();
59160
- i0.ɵɵelementStart(22, "p", 50);
59161
- i0.ɵɵconditionalCreate(23, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_23_Template, 1, 2)(24, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_24_Template, 1, 0);
59238
+ i0.ɵɵelementStart(24, "p", 53);
59239
+ i0.ɵɵconditionalCreate(25, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Template, 1, 2)(26, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_26_Template, 1, 0);
59162
59240
  i0.ɵɵelementEnd()()()();
59163
- i0.ɵɵconditionalCreate(25, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_25_Template, 23, 14, "div", 44);
59241
+ i0.ɵɵconditionalCreate(27, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_27_Template, 23, 14, "div", 47);
59164
59242
  i0.ɵɵelementEnd();
59165
59243
  } if (rf & 2) {
59166
59244
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -59169,10 +59247,12 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Template(rf
59169
59247
  i0.ɵɵproperty("ngClass", ctx_r1.calculatedLabelClasses());
59170
59248
  i0.ɵɵadvance();
59171
59249
  i0.ɵɵtextInterpolate2(" ", ctx_r1.currentYear(), " ", ctx_r1.metricTitle(), " Target ");
59172
- i0.ɵɵadvance();
59250
+ i0.ɵɵadvance(2);
59173
59251
  i0.ɵɵproperty("ngClass", ctx_r1.calculatedValueClasses());
59174
59252
  i0.ɵɵadvance();
59175
59253
  i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(ctx_r1.animatedTarget()), " ");
59254
+ i0.ɵɵadvance();
59255
+ i0.ɵɵconditional(ctx_r1.hasChangedFromInitial() ? 7 : -1);
59176
59256
  i0.ɵɵadvance(3);
59177
59257
  i0.ɵɵproperty("ngClass", ctx_r1.dividerBorderClasses());
59178
59258
  i0.ɵɵadvance();
@@ -59188,7 +59268,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Template(rf
59188
59268
  i0.ɵɵadvance();
59189
59269
  i0.ɵɵproperty("ngClass", ctx_r1.calculatedSecondaryClasses());
59190
59270
  i0.ɵɵadvance();
59191
- i0.ɵɵconditional(ctx_r1.isTargetValid() ? 17 : 18);
59271
+ i0.ɵɵconditional(ctx_r1.isTargetValid() ? 19 : 20);
59192
59272
  i0.ɵɵadvance(3);
59193
59273
  i0.ɵɵproperty("ngClass", ctx_r1.calculatedLabelClasses());
59194
59274
  i0.ɵɵadvance();
@@ -59196,9 +59276,19 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Template(rf
59196
59276
  i0.ɵɵadvance();
59197
59277
  i0.ɵɵproperty("ngClass", ctx_r1.calculatedSecondaryClasses());
59198
59278
  i0.ɵɵadvance();
59199
- i0.ɵɵconditional(ctx_r1.isTargetValid() ? 23 : 24);
59279
+ i0.ɵɵconditional(ctx_r1.isTargetValid() ? 25 : 26);
59200
59280
  i0.ɵɵadvance(2);
59201
- i0.ɵɵconditional(ctx_r1.currentPaceProjectionRaw() > 0 ? 25 : -1);
59281
+ i0.ɵɵconditional(ctx_r1.currentPaceProjectionRaw() > 0 ? 27 : -1);
59282
+ } }
59283
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_40_Template(rf, ctx) { if (rf & 1) {
59284
+ const _r9 = i0.ɵɵgetCurrentView();
59285
+ i0.ɵɵelementStart(0, "button", 29);
59286
+ i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Conditional_40_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.resetToInitial()); });
59287
+ i0.ɵɵtext(1, " Reset ");
59288
+ i0.ɵɵelementEnd();
59289
+ } if (rf & 2) {
59290
+ const ctx_r1 = i0.ɵɵnextContext(2);
59291
+ i0.ɵɵproperty("ngClass", ctx_r1.resetButtonClasses());
59202
59292
  } }
59203
59293
  function EditMetricTargetModalComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
59204
59294
  const _r1 = i0.ɵɵgetCurrentView();
@@ -59246,15 +59336,16 @@ function EditMetricTargetModalComponent_Conditional_0_Template(rf, ctx) { if (rf
59246
59336
  i0.ɵɵelementEnd()();
59247
59337
  i0.ɵɵconditionalCreate(34, EditMetricTargetModalComponent_Conditional_0_Conditional_34_Template, 4, 1, "div", 26)(35, EditMetricTargetModalComponent_Conditional_0_Conditional_35_Template, 5, 3, "div", 26);
59248
59338
  i0.ɵɵelementEnd()();
59249
- i0.ɵɵconditionalCreate(36, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Template, 26, 19, "div", 27);
59339
+ i0.ɵɵconditionalCreate(36, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Template, 28, 20, "div", 27);
59250
59340
  i0.ɵɵelementEnd()();
59251
59341
  i0.ɵɵelementStart(37, "div", 28)(38, "button", 29);
59252
59342
  i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Template_button_click_38_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.close()); });
59253
59343
  i0.ɵɵtext(39, " Cancel ");
59254
59344
  i0.ɵɵelementEnd();
59255
- i0.ɵɵelementStart(40, "button", 30);
59256
- i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Template_button_click_40_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.applyTarget()); });
59257
- i0.ɵɵtext(41, " Apply Target ");
59345
+ i0.ɵɵconditionalCreate(40, EditMetricTargetModalComponent_Conditional_0_Conditional_40_Template, 2, 1, "button", 30);
59346
+ i0.ɵɵelementStart(41, "button", 31);
59347
+ i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Template_button_click_41_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.applyTarget()); });
59348
+ i0.ɵɵtext(42, " Apply Target ");
59258
59349
  i0.ɵɵelementEnd()()()()();
59259
59350
  } if (rf & 2) {
59260
59351
  const ctx_r1 = i0.ɵɵnextContext();
@@ -59301,6 +59392,8 @@ function EditMetricTargetModalComponent_Conditional_0_Template(rf, ctx) { if (rf
59301
59392
  i0.ɵɵadvance();
59302
59393
  i0.ɵɵproperty("ngClass", ctx_r1.cancelButtonClasses());
59303
59394
  i0.ɵɵadvance(2);
59395
+ i0.ɵɵconditional(ctx_r1.hasChangedFromInitial() ? 40 : -1);
59396
+ i0.ɵɵadvance();
59304
59397
  i0.ɵɵproperty("disabled", !ctx_r1.isTargetValid())("ngClass", ctx_r1.applyButtonClasses());
59305
59398
  } }
59306
59399
  class EditMetricTargetModalComponent {
@@ -59316,12 +59409,18 @@ class EditMetricTargetModalComponent {
59316
59409
  this.inputMode = signal('absolute', ...(ngDevMode ? [{ debugName: "inputMode" }] : []));
59317
59410
  this.absoluteInput = signal(null, ...(ngDevMode ? [{ debugName: "absoluteInput" }] : []));
59318
59411
  this.percentageInput = signal(null, ...(ngDevMode ? [{ debugName: "percentageInput" }] : []));
59412
+ this.initialTargetValue = signal(0, ...(ngDevMode ? [{ debugName: "initialTargetValue" }] : []));
59319
59413
  this.animatedTarget = signal(0, ...(ngDevMode ? [{ debugName: "animatedTarget" }] : []));
59320
59414
  this.animatedIncreaseAmount = signal(0, ...(ngDevMode ? [{ debugName: "animatedIncreaseAmount" }] : []));
59321
59415
  this.animatedPercentageGrowth = signal(0, ...(ngDevMode ? [{ debugName: "animatedPercentageGrowth" }] : []));
59322
59416
  this.animatedGapAmount = signal(0, ...(ngDevMode ? [{ debugName: "animatedGapAmount" }] : []));
59323
59417
  this.animatedGapPercentage = signal(0, ...(ngDevMode ? [{ debugName: "animatedGapPercentage" }] : []));
59324
59418
  this.animationFrameId = null;
59419
+ this.hasChangedFromInitial = computed(() => {
59420
+ const current = this.calculatedTarget();
59421
+ const initial = this.initialTargetValue();
59422
+ return initial > 0 && Math.abs(current - initial) > 0.001;
59423
+ }, ...(ngDevMode ? [{ debugName: "hasChangedFromInitial" }] : []));
59325
59424
  this.currentYear = computed(() => new Date().getFullYear(), ...(ngDevMode ? [{ debugName: "currentYear" }] : []));
59326
59425
  this.priorYear = computed(() => new Date().getFullYear() - 1, ...(ngDevMode ? [{ debugName: "priorYear" }] : []));
59327
59426
  this.metricTitle = computed(() => {
@@ -59469,6 +59568,7 @@ class EditMetricTargetModalComponent {
59469
59568
  ? Math.round(metricData.targetValue)
59470
59569
  : metricData.targetValue;
59471
59570
  this.absoluteInput.set(value);
59571
+ this.initialTargetValue.set(value);
59472
59572
  }
59473
59573
  afterNextRender(() => {
59474
59574
  this.focusCurrentInput();
@@ -59477,6 +59577,15 @@ class EditMetricTargetModalComponent {
59477
59577
  }
59478
59578
  });
59479
59579
  }
59580
+ resetToInitial() {
59581
+ const initial = this.initialTargetValue();
59582
+ if (initial > 0) {
59583
+ this.inputMode.set('absolute');
59584
+ this.absoluteInput.set(initial);
59585
+ this.percentageInput.set(null);
59586
+ this.updateAnimatedValuesImmediate();
59587
+ }
59588
+ }
59480
59589
  triggerAnimation() {
59481
59590
  const target = this.calculatedTarget();
59482
59591
  const increaseAmt = Math.abs(this.increaseAmount());
@@ -59568,7 +59677,7 @@ class EditMetricTargetModalComponent {
59568
59677
  normalizedAbsolute = currentAbsolute / 100;
59569
59678
  }
59570
59679
  const percentageChange = ((normalizedAbsolute - priorValue) / priorValue) * 100;
59571
- this.percentageInput.set(Math.round(Math.abs(percentageChange) * 100) / 100);
59680
+ this.percentageInput.set(Math.abs(percentageChange));
59572
59681
  }
59573
59682
  }
59574
59683
  this.updateAnimatedValuesImmediate();
@@ -59785,6 +59894,16 @@ class EditMetricTargetModalComponent {
59785
59894
  ? 'bg-purple-600 text-white hover:bg-purple-500 border border-purple-500 hover:border-purple-400'
59786
59895
  : 'bg-purple-600 text-white hover:bg-purple-700 border border-purple-600 hover:border-purple-700';
59787
59896
  }
59897
+ resetButtonClasses() {
59898
+ return this.viewMode() === ViewModeEnum.DARK
59899
+ ? 'bg-transparent text-amber-400 hover:bg-amber-900/30 hover:text-amber-300 border border-amber-600/50 hover:border-amber-500/50'
59900
+ : 'bg-transparent text-amber-600 hover:bg-amber-50 hover:text-amber-700 border border-amber-400 hover:border-amber-500';
59901
+ }
59902
+ originalValueClasses() {
59903
+ return this.viewMode() === ViewModeEnum.DARK
59904
+ ? 'text-purple-400/70'
59905
+ : 'text-purple-500/70';
59906
+ }
59788
59907
  static { this.ɵfac = function EditMetricTargetModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EditMetricTargetModalComponent)(i0.ɵɵdirectiveInject(i0.Injector)); }; }
59789
59908
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EditMetricTargetModalComponent, selectors: [["symphiq-edit-metric-target-modal"]], viewQuery: function EditMetricTargetModalComponent_Query(rf, ctx) { if (rf & 1) {
59790
59909
  i0.ɵɵviewQuery(_c0$r, 5);
@@ -59795,8 +59914,8 @@ class EditMetricTargetModalComponent {
59795
59914
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
59796
59915
  } }, hostBindings: function EditMetricTargetModalComponent_HostBindings(rf, ctx) { if (rf & 1) {
59797
59916
  i0.ɵɵlistener("keydown.escape", function EditMetricTargetModalComponent_keydown_escape_HostBindingHandler() { return ctx.onEscape(); }, i0.ɵɵresolveDocument);
59798
- } }, inputs: { viewMode: [1, "viewMode"], isOpen: [1, "isOpen"], metricData: [1, "metricData"], pacingMetrics: [1, "pacingMetrics"] }, outputs: { closed: "closed", targetApplied: "targetApplied" }, decls: 1, vars: 1, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [1, "fixed", "inset-0", "overflow-y-auto", "z-50", 3, "click"], [1, "flex", "items-center", "justify-center", "min-h-screen", "px-4", "pt-4", "pb-20", "text-center", "sm:block", "sm:p-0"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-md", 3, "ngClass"], ["aria-hidden", "true", 1, "hidden", "sm:inline-block", "sm:align-middle", "sm:h-screen"], [1, "relative", "inline-block", "align-bottom", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "sm:my-8", "sm:align-middle", "sm:w-full", "sm:max-w-4xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", "sticky", "top-0", "z-10", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex-1"], [1, "text-xl", "font-bold", "mb-0", 3, "ngClass"], [1, "ml-4", "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "px-6", "py-6", "max-h-[70vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [1, "grid", "lg:grid-cols-2", "gap-6"], [1, "p-6", "rounded-xl", "border-2", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-4", "place-content-between", "mb-6"], [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, "space-y-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, "p-6", "rounded-xl", "border-2", "h-full", 3, "ngClass"], [1, "px-6", "py-4", "border-t", "flex", "justify-end", "gap-3", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "click", "ngClass"], ["type", "button", 1, "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "disabled:opacity-50", "disabled:cursor-not-allowed", 3, "click", "disabled", "ngClass"], ["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"], ["type", "number", "placeholder", "0", "min", "0", "step", "1", 1, "w-full", "px-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModel", "ngClass"], ["type", "number", "placeholder", "0", "min", "0", "max", "100", "step", "0.01", 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, "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", "step", "1", 1, "w-full", "px-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModelChange", "keydown", "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, "text-3xl", "font-bold", "transition-all", "duration-300", 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-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "flex", "items-center", "gap-1", "mb-1"]], template: function EditMetricTargetModalComponent_Template(rf, ctx) { if (rf & 1) {
59799
- i0.ɵɵconditionalCreate(0, EditMetricTargetModalComponent_Conditional_0_Template, 42, 27);
59917
+ } }, inputs: { viewMode: [1, "viewMode"], isOpen: [1, "isOpen"], metricData: [1, "metricData"], pacingMetrics: [1, "pacingMetrics"] }, outputs: { closed: "closed", targetApplied: "targetApplied" }, decls: 1, vars: 1, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [1, "fixed", "inset-0", "overflow-y-auto", "z-50", 3, "click"], [1, "flex", "items-center", "justify-center", "min-h-screen", "px-4", "pt-4", "pb-20", "text-center", "sm:block", "sm:p-0"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-md", 3, "ngClass"], ["aria-hidden", "true", 1, "hidden", "sm:inline-block", "sm:align-middle", "sm:h-screen"], [1, "relative", "inline-block", "align-bottom", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "sm:my-8", "sm:align-middle", "sm:w-full", "sm:max-w-4xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", "sticky", "top-0", "z-10", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex-1"], [1, "text-xl", "font-bold", "mb-0", 3, "ngClass"], [1, "ml-4", "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "px-6", "py-6", "max-h-[70vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [1, "grid", "lg:grid-cols-2", "gap-6"], [1, "p-6", "rounded-xl", "border-2", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-4", "place-content-between", "mb-6"], [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, "space-y-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, "p-6", "rounded-xl", "border-2", "h-full", 3, "ngClass"], [1, "px-6", "py-4", "border-t", "flex", "justify-end", "gap-3", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "click", "ngClass"], ["type", "button", 1, "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "disabled:opacity-50", "disabled:cursor-not-allowed", 3, "click", "disabled", "ngClass"], ["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"], ["type", "number", "placeholder", "0", "min", "0", "step", "1", 1, "w-full", "px-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModel", "ngClass"], ["type", "number", "placeholder", "0", "min", "0", "max", "100", "step", "0.01", 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, "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", "step", "1", 1, "w-full", "px-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModelChange", "keydown", "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, "flex", "items-baseline", "gap-3"], [1, "text-3xl", "font-bold", "transition-all", "duration-300", 3, "ngClass"], [1, "text-xl", "line-through", "opacity-60", 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-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "flex", "items-center", "gap-1", "mb-1"]], template: function EditMetricTargetModalComponent_Template(rf, ctx) { if (rf & 1) {
59918
+ i0.ɵɵconditionalCreate(0, EditMetricTargetModalComponent_Conditional_0_Template, 43, 28);
59800
59919
  } if (rf & 2) {
59801
59920
  i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
59802
59921
  } }, dependencies: [CommonModule, i1$1.NgClass, FormsModule, i2$1.DefaultValueAccessor, i2$1.NumberValueAccessor, i2$1.NgControlStatus, i2$1.MinValidator, i2$1.MaxValidator, i2$1.NgModel, TooltipDirective, TooltipContainerComponent], encapsulation: 2, data: { animation: [
@@ -60009,9 +60128,16 @@ class EditMetricTargetModalComponent {
60009
60128
  <p [ngClass]="calculatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider">
60010
60129
  {{ currentYear() }} {{ metricTitle() }} Target
60011
60130
  </p>
60012
- <p [ngClass]="calculatedValueClasses()" class="text-3xl font-bold transition-all duration-300">
60013
- {{ formatMetricValue(animatedTarget()) }}
60014
- </p>
60131
+ <div class="flex items-baseline gap-3">
60132
+ <p [ngClass]="calculatedValueClasses()" class="text-3xl font-bold transition-all duration-300">
60133
+ {{ formatMetricValue(animatedTarget()) }}
60134
+ </p>
60135
+ @if (hasChangedFromInitial()) {
60136
+ <p [ngClass]="originalValueClasses()" class="text-xl line-through opacity-60">
60137
+ {{ formatMetricValue(initialTargetValue()) }}
60138
+ </p>
60139
+ }
60140
+ </div>
60015
60141
  </div>
60016
60142
 
60017
60143
  <div class="relative pt-6 mt-6">
@@ -60092,7 +60218,11 @@ class EditMetricTargetModalComponent {
60092
60218
  </div>
60093
60219
  <p [ngClass]="calculatedSecondaryClasses()" class="text-xl font-bold">
60094
60220
  @if (isTargetValid()) {
60095
- {{ animatedGapPercentage() > 0 ? '+' : '' }}{{ formatPercentage(animatedGapPercentage(), 1) }}
60221
+ @if (isPaceAhead()) {
60222
+ +{{ formatPercentage(Math.abs(animatedGapPercentage()), 1) }}
60223
+ } @else {
60224
+ {{ animatedGapPercentage() > 0 ? '+' : '' }}{{ formatPercentage(animatedGapPercentage(), 1) }}
60225
+ }
60096
60226
  } @else {
60097
60227
  --
60098
60228
  }
@@ -60114,6 +60244,15 @@ class EditMetricTargetModalComponent {
60114
60244
  class="px-4 py-2.5 rounded-lg font-medium text-sm transition-all duration-200">
60115
60245
  Cancel
60116
60246
  </button>
60247
+ @if (hasChangedFromInitial()) {
60248
+ <button
60249
+ type="button"
60250
+ (click)="resetToInitial()"
60251
+ [ngClass]="resetButtonClasses()"
60252
+ class="px-4 py-2.5 rounded-lg font-medium text-sm transition-all duration-200">
60253
+ Reset
60254
+ </button>
60255
+ }
60117
60256
  <button
60118
60257
  type="button"
60119
60258
  (click)="applyTarget()"
@@ -60139,7 +60278,7 @@ class EditMetricTargetModalComponent {
60139
60278
  type: HostListener,
60140
60279
  args: ['document:keydown.escape']
60141
60280
  }] }); })();
60142
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditMetricTargetModalComponent, { className: "EditMetricTargetModalComponent", filePath: "lib/components/revenue-calculator-dashboard/edit-metric-target-modal.component.ts", lineNumber: 327 }); })();
60281
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditMetricTargetModalComponent, { className: "EditMetricTargetModalComponent", filePath: "lib/components/revenue-calculator-dashboard/edit-metric-target-modal.component.ts", lineNumber: 347 }); })();
60143
60282
 
60144
60283
  const _c0$q = ["absoluteInputRef"];
60145
60284
  const _c1$b = ["percentageInputRef"];
@@ -60541,11 +60680,11 @@ function InitialTargetSettingComponent_Conditional_41_Template(rf, ctx) { if (rf
60541
60680
  function InitialTargetSettingComponent_Conditional_42_Template(rf, ctx) { if (rf & 1) {
60542
60681
  const _r11 = i0.ɵɵgetCurrentView();
60543
60682
  i0.ɵɵelementStart(0, "div", 33)(1, "p", 52);
60544
- i0.ɵɵtext(2, " Edit individual metric targets above, then save your changes. ");
60683
+ i0.ɵɵtext(2, " You have unsaved target changes. ");
60545
60684
  i0.ɵɵelementEnd();
60546
60685
  i0.ɵɵelementStart(3, "div", 72)(4, "button", 73);
60547
60686
  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 ");
60687
+ i0.ɵɵtext(5, " Reset ");
60549
60688
  i0.ɵɵelementEnd();
60550
60689
  i0.ɵɵelementStart(6, "button", 73);
60551
60690
  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 +60716,11 @@ class InitialTargetSettingComponent {
60577
60716
  this.editRelatedMetricTarget = output();
60578
60717
  this.saveTargetsClick = output();
60579
60718
  this.discardChangesClick = output();
60719
+ this.targetsUpdated = output();
60720
+ this.pendingTargetChanges = signal(new Map(), ...(ngDevMode ? [{ debugName: "pendingTargetChanges" }] : []));
60721
+ this.hasPendingChanges = computed(() => {
60722
+ return this.pendingTargetChanges().size > 0;
60723
+ }, ...(ngDevMode ? [{ debugName: "hasPendingChanges" }] : []));
60580
60724
  this.inputMode = signal('absolute', ...(ngDevMode ? [{ debugName: "inputMode" }] : []));
60581
60725
  this.absoluteInput = signal(null, ...(ngDevMode ? [{ debugName: "absoluteInput" }] : []));
60582
60726
  this.percentageInput = signal(null, ...(ngDevMode ? [{ debugName: "percentageInput" }] : []));
@@ -60661,53 +60805,70 @@ class InitialTargetSettingComponent {
60661
60805
  }, ...(ngDevMode ? [{ debugName: "isTargetValid" }] : []));
60662
60806
  this.displayedMetricCalculations = computed(() => {
60663
60807
  const targets = this.targets();
60808
+ const pendingChanges = this.pendingTargetChanges();
60809
+ let baseResults = [];
60664
60810
  if (targets && targets.length > 0) {
60665
- return this.buildCalculationsFromTargets(targets);
60666
- }
60667
- const response = this.storedResponse();
60668
- if (!response) {
60669
- return [];
60811
+ baseResults = this.buildCalculationsFromTargets(targets);
60670
60812
  }
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
60813
+ else {
60814
+ const response = this.storedResponse();
60815
+ if (!response) {
60816
+ return [];
60817
+ }
60818
+ if (response.funnelMetricValues) {
60819
+ response.funnelMetricValues.forEach((metricValue) => {
60820
+ const metric = metricValue.metric;
60821
+ const funnelMetric = this.funnelMetrics().find(fm => fm.funnelMetric === metric && fm.funnelMetric === fm.relatedMetric);
60822
+ const currentValue = sumMetricFromUiData(this.mainUiData(), metric, 'priorYear');
60823
+ const { targetValue, percentageIncrease } = this.parseMetricValue(metricValue.value);
60824
+ baseResults.push({
60825
+ metric,
60826
+ funnelMetric: metric,
60827
+ currentValue,
60828
+ targetValue,
60829
+ percentageIncrease: metric === MetricEnum.PURCHASE_REVENUE ? this.percentageIncrease() : percentageIncrease,
60830
+ isFunnelStage: true,
60831
+ funnelInd: funnelMetric?.funnelInd,
60832
+ relatedInd: 0,
60833
+ description: funnelMetric?.funnelMetricDescription
60834
+ });
60688
60835
  });
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
60836
+ }
60837
+ if (response.relatedMetricTargets) {
60838
+ response.relatedMetricTargets.forEach((metricValue) => {
60839
+ const metric = metricValue.metric;
60840
+ const funnelMetric = this.funnelMetrics().find(fm => fm.relatedMetric === metric);
60841
+ const currentValue = sumMetricFromUiData(this.mainUiData(), metric, 'priorYear');
60842
+ const { targetValue, percentageIncrease } = this.parseMetricValue(metricValue.value);
60843
+ baseResults.push({
60844
+ metric,
60845
+ funnelMetric: funnelMetric?.funnelMetric,
60846
+ currentValue,
60847
+ targetValue,
60848
+ percentageIncrease: percentageIncrease || response.equalRelatedMetricIncreasePercent || 0,
60849
+ isFunnelStage: false,
60850
+ funnelInd: funnelMetric?.funnelInd,
60851
+ relatedInd: funnelMetric?.relatedInd,
60852
+ description: funnelMetric?.relatedMetricDescription
60853
+ });
60707
60854
  });
60708
- });
60855
+ }
60709
60856
  }
60710
- return results;
60857
+ if (pendingChanges.size === 0) {
60858
+ return baseResults;
60859
+ }
60860
+ return baseResults.map(calc => {
60861
+ const pending = pendingChanges.get(calc.metric);
60862
+ if (pending) {
60863
+ return {
60864
+ ...calc,
60865
+ originalTargetValue: pending.originalValue,
60866
+ targetValue: pending.newValue,
60867
+ percentageIncrease: pending.percentageChange
60868
+ };
60869
+ }
60870
+ return calc;
60871
+ });
60711
60872
  }, ...(ngDevMode ? [{ debugName: "displayedMetricCalculations" }] : []));
60712
60873
  this.displayedTargetRevenue = computed(() => {
60713
60874
  const targets = this.targets();
@@ -61207,18 +61368,44 @@ class InitialTargetSettingComponent {
61207
61368
  this.editMetricEnum.set('');
61208
61369
  }
61209
61370
  onEditMetricTargetApplied(event) {
61210
- this.editRelatedMetricTarget.emit(event.metric);
61371
+ const pendingChanges = new Map(this.pendingTargetChanges());
61372
+ const existingPending = pendingChanges.get(event.metric);
61373
+ const originalValue = existingPending
61374
+ ? existingPending.originalValue
61375
+ : (this.displayedMetricCalculations().find(c => c.metric === event.metric)?.targetValue ?? 0);
61376
+ pendingChanges.set(event.metric, {
61377
+ newValue: event.targetValue,
61378
+ originalValue,
61379
+ percentageChange: event.percentageChange
61380
+ });
61381
+ this.pendingTargetChanges.set(pendingChanges);
61382
+ this.closeEditMetricModal();
61211
61383
  }
61212
61384
  onSaveTargets() {
61385
+ const pendingChanges = this.pendingTargetChanges();
61386
+ if (pendingChanges.size > 0) {
61387
+ const updates = [];
61388
+ pendingChanges.forEach((change, metric) => {
61389
+ updates.push({
61390
+ metric,
61391
+ targetValue: change.newValue,
61392
+ percentageChange: change.percentageChange,
61393
+ originalValue: change.originalValue
61394
+ });
61395
+ });
61396
+ this.targetsUpdated.emit(updates);
61397
+ this.pendingTargetChanges.set(new Map());
61398
+ }
61213
61399
  this.saveTargetsClick.emit();
61214
61400
  }
61215
61401
  onDiscardChanges() {
61402
+ this.pendingTargetChanges.set(new Map());
61216
61403
  this.discardChangesClick.emit();
61217
61404
  }
61218
61405
  saveFooterClasses() {
61219
61406
  return this.viewMode() === ViewModeEnum.DARK
61220
- ? 'bg-slate-800/50 border-slate-700/50'
61221
- : 'bg-slate-50 border-slate-200';
61407
+ ? 'bg-slate-900 border-slate-700'
61408
+ : 'bg-white border-slate-200';
61222
61409
  }
61223
61410
  saveFooterTextClasses() {
61224
61411
  return this.viewMode() === ViewModeEnum.DARK
@@ -61243,7 +61430,7 @@ class InitialTargetSettingComponent {
61243
61430
  let _t;
61244
61431
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
61245
61432
  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) {
61433
+ } }, 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
61434
  i0.ɵɵelementStart(0, "div", 2);
61248
61435
  i0.ɵɵelement(1, "symphiq-tooltip-container");
61249
61436
  i0.ɵɵelementStart(2, "div", 3);
@@ -61345,7 +61532,7 @@ class InitialTargetSettingComponent {
61345
61532
  i0.ɵɵadvance();
61346
61533
  i0.ɵɵconditional(!ctx.hasExistingTargets() ? 41 : -1);
61347
61534
  i0.ɵɵadvance();
61348
- i0.ɵɵconditional(ctx.hasExistingTargets() ? 42 : -1);
61535
+ i0.ɵɵconditional(ctx.hasPendingChanges() ? 42 : -1);
61349
61536
  i0.ɵɵadvance();
61350
61537
  i0.ɵɵproperty("viewMode", ctx.viewMode())("metricEnum", ctx.selectedMetricEnum())("metricData", ctx.selectedMetricData())("contributingMetrics", ctx.selectedContributingMetrics())("pacingMetrics", ctx.pacingMetrics())("trendChartData", ctx.revenueChartData())("isOpen", ctx.isMetricReportOpen());
61351
61538
  i0.ɵɵadvance();
@@ -61747,10 +61934,10 @@ class InitialTargetSettingComponent {
61747
61934
  />
61748
61935
  }
61749
61936
 
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">
61937
+ @if (hasPendingChanges()) {
61938
+ <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
61939
  <p [ngClass]="saveFooterTextClasses()" class="text-sm">
61753
- Edit individual metric targets above, then save your changes.
61940
+ You have unsaved target changes.
61754
61941
  </p>
61755
61942
  <div class="flex items-center gap-3">
61756
61943
  <button
@@ -61758,7 +61945,7 @@ class InitialTargetSettingComponent {
61758
61945
  (click)="onDiscardChanges()"
61759
61946
  [ngClass]="discardButtonClasses()"
61760
61947
  class="px-4 py-2.5 rounded-lg font-medium text-sm transition-all duration-200">
61761
- Discard Changes
61948
+ Reset
61762
61949
  </button>
61763
61950
  <button
61764
61951
  type="button"
@@ -61800,7 +61987,7 @@ class InitialTargetSettingComponent {
61800
61987
  }], percentageInputRef: [{
61801
61988
  type: ViewChild,
61802
61989
  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"] }] }); })();
61990
+ }], 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
61991
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 578 }); })();
61805
61992
 
61806
61993
  function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {