@eric-emg/symphiq-components 1.2.286 → 1.2.288

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.
@@ -2575,10 +2575,9 @@ function getMinFractionDigitsForSignificantFigures(value, minSigFigs) {
2575
2575
  return Math.max(0, -magnitude + minSigFigs - 1);
2576
2576
  }
2577
2577
  function formatCurrency(value, currencySymbol = '$') {
2578
- const fractionDigits = getMinFractionDigitsForSignificantFigures(value, 2);
2579
2578
  return `${currencySymbol}${value.toLocaleString('en-US', {
2580
- minimumFractionDigits: fractionDigits,
2581
- maximumFractionDigits: fractionDigits
2579
+ minimumFractionDigits: 0,
2580
+ maximumFractionDigits: 0
2582
2581
  })}`;
2583
2582
  }
2584
2583
  function formatPercentage(value, decimals = 1) {
@@ -3889,7 +3888,7 @@ class CompetitiveScoreService {
3889
3888
  }]
3890
3889
  }], null, null); })();
3891
3890
 
3892
- const _forTrack0$Q = ($index, $item) => $item.category;
3891
+ const _forTrack0$R = ($index, $item) => $item.category;
3893
3892
  function CompetitivePositioningSummaryComponent_Conditional_1_For_47_Conditional_12_Template(rf, ctx) { if (rf & 1) {
3894
3893
  i0.ɵɵelementStart(0, "div", 15);
3895
3894
  i0.ɵɵelement(1, "div", 37);
@@ -4048,7 +4047,7 @@ function CompetitivePositioningSummaryComponent_Conditional_1_Template(rf, ctx)
4048
4047
  i0.ɵɵelementEnd()();
4049
4048
  i0.ɵɵnamespaceHTML();
4050
4049
  i0.ɵɵelementStart(43, "div", 24)(44, "div", 25)(45, "div", 26);
4051
- i0.ɵɵrepeaterCreate(46, CompetitivePositioningSummaryComponent_Conditional_1_For_47_Template, 15, 12, "div", 27, _forTrack0$Q);
4050
+ i0.ɵɵrepeaterCreate(46, CompetitivePositioningSummaryComponent_Conditional_1_For_47_Template, 15, 12, "div", 27, _forTrack0$R);
4052
4051
  i0.ɵɵelementEnd()()()();
4053
4052
  i0.ɵɵelementStart(48, "div", 28)(49, "button", 29);
4054
4053
  i0.ɵɵlistener("click", function CompetitivePositioningSummaryComponent_Conditional_1_Template_button_click_49_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.scrollToCompetitive.emit()); });
@@ -4257,7 +4256,7 @@ function CompetitivePositioningSummaryComponent_Conditional_2_Template(rf, ctx)
4257
4256
  i0.ɵɵelementStart(32, "div", 50)(33, "h4", 51);
4258
4257
  i0.ɵɵtext(34, "By Funnel Stage");
4259
4258
  i0.ɵɵelementEnd();
4260
- i0.ɵɵrepeaterCreate(35, CompetitivePositioningSummaryComponent_Conditional_2_For_36_Template, 12, 11, "div", 52, _forTrack0$Q);
4259
+ i0.ɵɵrepeaterCreate(35, CompetitivePositioningSummaryComponent_Conditional_2_For_36_Template, 12, 11, "div", 52, _forTrack0$R);
4261
4260
  i0.ɵɵelementEnd();
4262
4261
  i0.ɵɵelementStart(37, "div", 28)(38, "button", 53);
4263
4262
  i0.ɵɵlistener("click", function CompetitivePositioningSummaryComponent_Conditional_2_Template_button_click_38_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.scrollToCompetitive.emit()); });
@@ -8934,7 +8933,7 @@ class MetricCardComponent {
8934
8933
  const _c0$14 = () => [1, 2, 3];
8935
8934
  const _c1$C = (a0, a1, a2) => [a0, a1, a2];
8936
8935
  const _c2$p = (a0, a1) => [a0, a1];
8937
- const _forTrack0$P = ($index, $item) => $item.metric;
8936
+ const _forTrack0$Q = ($index, $item) => $item.metric;
8938
8937
  const _forTrack1$7 = ($index, $item) => $item.dimensionValue;
8939
8938
  function BreakdownSectionComponent_Conditional_0_For_7_For_4_Template(rf, ctx) { if (rf & 1) {
8940
8939
  i0.ɵɵelementStart(0, "div", 7);
@@ -9257,7 +9256,7 @@ function BreakdownSectionComponent_Conditional_1_Template(rf, ctx) { if (rf & 1)
9257
9256
  i0.ɵɵelementEnd()();
9258
9257
  i0.ɵɵconditionalCreate(6, BreakdownSectionComponent_Conditional_1_Conditional_6_Template, 3, 0, "div", 11);
9259
9258
  i0.ɵɵelementStart(7, "div", 12);
9260
- i0.ɵɵrepeaterCreate(8, BreakdownSectionComponent_Conditional_1_For_9_Template, 28, 18, "div", 13, _forTrack0$P);
9259
+ i0.ɵɵrepeaterCreate(8, BreakdownSectionComponent_Conditional_1_For_9_Template, 28, 18, "div", 13, _forTrack0$Q);
9261
9260
  i0.ɵɵelementEnd()();
9262
9261
  } if (rf & 2) {
9263
9262
  const ctx_r0 = i0.ɵɵnextContext();
@@ -10655,7 +10654,7 @@ class ChartCardComponent {
10655
10654
  }], null, { chart: [{ type: i0.Input, args: [{ isSignal: true, alias: "chart", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], chartClick: [{ type: i0.Output, args: ["chartClick"] }] }); }); })();
10656
10655
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChartCardComponent, { className: "ChartCardComponent", filePath: "lib/components/shared/chart-card.component.ts", lineNumber: 101 }); })();
10657
10656
 
10658
- const _forTrack0$O = ($index, $item) => $item.id;
10657
+ const _forTrack0$P = ($index, $item) => $item.id;
10659
10658
  function FunnelStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
10660
10659
  i0.ɵɵelementStart(0, "div", 1);
10661
10660
  i0.ɵɵnamespaceSVG();
@@ -10769,7 +10768,7 @@ function FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template(r
10769
10768
  } }
10770
10769
  function FunnelStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
10771
10770
  i0.ɵɵelementStart(0, "div", 2);
10772
- i0.ɵɵrepeaterCreate(1, FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template, 30, 22, "button", 7, _forTrack0$O);
10771
+ i0.ɵɵrepeaterCreate(1, FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template, 30, 22, "button", 7, _forTrack0$P);
10773
10772
  i0.ɵɵelementEnd();
10774
10773
  } if (rf & 2) {
10775
10774
  const ctx_r0 = i0.ɵɵnextContext();
@@ -10979,7 +10978,7 @@ class FunnelStrengthsListModalContentComponent {
10979
10978
  }], null, { strengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "strengths", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: true }] }] }); })();
10980
10979
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelStrengthsListModalContentComponent, { className: "FunnelStrengthsListModalContentComponent", filePath: "lib/components/funnel-analysis-dashboard/funnel-strengths-list-modal-content.component.ts", lineNumber: 93 }); })();
10981
10980
 
10982
- const _forTrack0$N = ($index, $item) => $item.severity;
10981
+ const _forTrack0$O = ($index, $item) => $item.severity;
10983
10982
  const _forTrack1$6 = ($index, $item) => $item.id;
10984
10983
  function FunnelWeaknessesListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
10985
10984
  i0.ɵɵelementStart(0, "div", 1);
@@ -11158,7 +11157,7 @@ function FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template(
11158
11157
  } }
11159
11158
  function FunnelWeaknessesListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
11160
11159
  i0.ɵɵelementStart(0, "div", 2);
11161
- i0.ɵɵrepeaterCreate(1, FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template, 9, 7, "div", null, _forTrack0$N);
11160
+ i0.ɵɵrepeaterCreate(1, FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template, 9, 7, "div", null, _forTrack0$O);
11162
11161
  i0.ɵɵelementEnd();
11163
11162
  } if (rf & 2) {
11164
11163
  const ctx_r0 = i0.ɵɵnextContext();
@@ -12933,7 +12932,7 @@ class ProfileItemLookupService {
12933
12932
  }], null, null); })();
12934
12933
 
12935
12934
  const _c0$11 = a0 => ({ name: "chevron-right", source: a0 });
12936
- const _forTrack0$M = ($index, $item) => $item.id;
12935
+ const _forTrack0$N = ($index, $item) => $item.id;
12937
12936
  function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
12938
12937
  const _r1 = i0.ɵɵgetCurrentView();
12939
12938
  i0.ɵɵelementStart(0, "button", 2);
@@ -12954,7 +12953,7 @@ function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (r
12954
12953
  } }
12955
12954
  function RelatedAreaChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
12956
12955
  i0.ɵɵelementStart(0, "div", 0);
12957
- i0.ɵɵrepeaterCreate(1, RelatedAreaChipsComponent_Conditional_0_For_2_Template, 4, 5, "button", 1, _forTrack0$M);
12956
+ i0.ɵɵrepeaterCreate(1, RelatedAreaChipsComponent_Conditional_0_For_2_Template, 4, 5, "button", 1, _forTrack0$N);
12958
12957
  i0.ɵɵelementEnd();
12959
12958
  } if (rf & 2) {
12960
12959
  const ctx_r2 = i0.ɵɵnextContext();
@@ -13179,7 +13178,7 @@ class CompetitorChipListComponent {
13179
13178
  }], null, { relatedCompetitorIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "relatedCompetitorIds", required: false }] }], competitors: [{ type: i0.Input, args: [{ isSignal: true, alias: "competitors", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isDark: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDark", required: false }] }], inModalContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "inModalContext", required: false }] }] }); })();
13180
13179
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorChipListComponent, { className: "CompetitorChipListComponent", filePath: "lib/components/business-analysis-dashboard/shared/competitor-chip-list.component.ts", lineNumber: 37 }); })();
13181
13180
 
13182
- const _forTrack0$L = ($index, $item) => $item.id;
13181
+ const _forTrack0$M = ($index, $item) => $item.id;
13183
13182
  function CompetitorContextSectionComponent_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
13184
13183
  const _r1 = i0.ɵɵgetCurrentView();
13185
13184
  i0.ɵɵelementStart(0, "button", 8);
@@ -13262,7 +13261,7 @@ function CompetitorContextSectionComponent_Conditional_0_Template(rf, ctx) { if
13262
13261
  i0.ɵɵconditionalCreate(8, CompetitorContextSectionComponent_Conditional_0_Conditional_8_Template, 5, 4, "button", 4);
13263
13262
  i0.ɵɵelementEnd();
13264
13263
  i0.ɵɵelementStart(9, "div", 5)(10, "div", 6);
13265
- i0.ɵɵrepeaterCreate(11, CompetitorContextSectionComponent_Conditional_0_For_12_Template, 10, 6, "button", 7, _forTrack0$L);
13264
+ i0.ɵɵrepeaterCreate(11, CompetitorContextSectionComponent_Conditional_0_For_12_Template, 10, 6, "button", 7, _forTrack0$M);
13266
13265
  i0.ɵɵelementEnd()()();
13267
13266
  } if (rf & 2) {
13268
13267
  const ctx_r1 = i0.ɵɵnextContext();
@@ -13453,7 +13452,7 @@ class CompetitorContextSectionComponent {
13453
13452
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorContextSectionComponent, { className: "CompetitorContextSectionComponent", filePath: "lib/components/business-analysis-dashboard/cards/competitor-context-section.component.ts", lineNumber: 86 }); })();
13454
13453
 
13455
13454
  const _c0$$ = a0 => ({ name: "chevron-right", source: a0 });
13456
- const _forTrack0$K = ($index, $item) => $item.id;
13455
+ const _forTrack0$L = ($index, $item) => $item.id;
13457
13456
  function RelatedRecommendationChipsComponent_Conditional_0_For_3_Template(rf, ctx) { if (rf & 1) {
13458
13457
  const _r1 = i0.ɵɵgetCurrentView();
13459
13458
  i0.ɵɵelementStart(0, "button", 4);
@@ -13496,7 +13495,7 @@ function RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Templat
13496
13495
  } }
13497
13496
  function RelatedRecommendationChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
13498
13497
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
13499
- i0.ɵɵrepeaterCreate(2, RelatedRecommendationChipsComponent_Conditional_0_For_3_Template, 5, 6, "button", 2, _forTrack0$K);
13498
+ i0.ɵɵrepeaterCreate(2, RelatedRecommendationChipsComponent_Conditional_0_For_3_Template, 5, 6, "button", 2, _forTrack0$L);
13500
13499
  i0.ɵɵelementEnd();
13501
13500
  i0.ɵɵconditionalCreate(4, RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Template, 5, 4, "button", 3);
13502
13501
  i0.ɵɵelementEnd();
@@ -13952,7 +13951,7 @@ class RelatedFunnelInsightsSectionComponent {
13952
13951
  }], null, { insightCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "insightCount", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], insightsClicked: [{ type: i0.Output, args: ["insightsClicked"] }] }); })();
13953
13952
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedFunnelInsightsSectionComponent, { className: "RelatedFunnelInsightsSectionComponent", filePath: "lib/components/business-analysis-dashboard/shared/related-funnel-insights-section.component.ts", lineNumber: 47 }); })();
13954
13953
 
13955
- const _forTrack0$J = ($index, $item) => $item.order;
13954
+ const _forTrack0$K = ($index, $item) => $item.order;
13956
13955
  function RecommendationCardComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
13957
13956
  i0.ɵɵelementStart(0, "div", 9);
13958
13957
  i0.ɵɵelement(1, "symphiq-icon", 11);
@@ -14305,7 +14304,7 @@ function RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6
14305
14304
  } }
14306
14305
  function RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_Template(rf, ctx) { if (rf & 1) {
14307
14306
  i0.ɵɵelementStart(0, "div", 37);
14308
- i0.ɵɵrepeaterCreate(1, RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_For_2_Template, 13, 9, "div", 41, _forTrack0$J);
14307
+ i0.ɵɵrepeaterCreate(1, RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_For_2_Template, 13, 9, "div", 41, _forTrack0$K);
14309
14308
  i0.ɵɵelementEnd();
14310
14309
  } if (rf & 2) {
14311
14310
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -15144,7 +15143,7 @@ const ModalComponent_Conditional_0_Conditional_19_Conditional_4_Defer_2_DepsFn =
15144
15143
  const ModalComponent_Conditional_0_Conditional_19_Conditional_5_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return barChart_component; }).then(m => m.BarChartComponent)];
15145
15144
  const ModalComponent_Conditional_0_Conditional_19_Conditional_6_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent)];
15146
15145
  const ModalComponent_Conditional_0_Conditional_19_Conditional_7_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
15147
- const _forTrack0$I = ($index, $item) => $item.id || $index;
15146
+ const _forTrack0$J = ($index, $item) => $item.id || $index;
15148
15147
  function ModalComponent_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
15149
15148
  const _r3 = i0.ɵɵgetCurrentView();
15150
15149
  i0.ɵɵelementStart(0, "button", 13);
@@ -15518,7 +15517,7 @@ function ModalComponent_Conditional_0_Conditional_22_For_3_Template(rf, ctx) { i
15518
15517
  function ModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
15519
15518
  i0.ɵɵelementStart(0, "div", 22);
15520
15519
  i0.ɵɵconditionalCreate(1, ModalComponent_Conditional_0_Conditional_22_Conditional_1_Template, 2, 2, "p", 55);
15521
- i0.ɵɵrepeaterCreate(2, ModalComponent_Conditional_0_Conditional_22_For_3_Template, 2, 5, "div", null, _forTrack0$I);
15520
+ i0.ɵɵrepeaterCreate(2, ModalComponent_Conditional_0_Conditional_22_For_3_Template, 2, 5, "div", null, _forTrack0$J);
15522
15521
  i0.ɵɵelementEnd();
15523
15522
  } if (rf & 2) {
15524
15523
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -19755,7 +19754,7 @@ class NarrativeTooltipComponent {
19755
19754
  }], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }] }); })();
19756
19755
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NarrativeTooltipComponent, { className: "NarrativeTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/narrative-tooltip.component.ts", lineNumber: 27 }); })();
19757
19756
 
19758
- const _forTrack0$H = ($index, $item) => $item.name;
19757
+ const _forTrack0$I = ($index, $item) => $item.name;
19759
19758
  function CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template(rf, ctx) { if (rf & 1) {
19760
19759
  i0.ɵɵelementStart(0, "div", 7)(1, "div", 8)(2, "div", 9);
19761
19760
  i0.ɵɵelement(3, "div", 10);
@@ -19799,7 +19798,7 @@ function CompetitiveStatusTooltipComponent_Conditional_6_Template(rf, ctx) { if
19799
19798
  i0.ɵɵtext(3);
19800
19799
  i0.ɵɵelementEnd();
19801
19800
  i0.ɵɵelementStart(4, "div", 5);
19802
- i0.ɵɵrepeaterCreate(5, CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template, 13, 12, "div", 6, _forTrack0$H);
19801
+ i0.ɵɵrepeaterCreate(5, CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template, 13, 12, "div", 6, _forTrack0$I);
19803
19802
  i0.ɵɵelementEnd()();
19804
19803
  } if (rf & 2) {
19805
19804
  const ctx_r1 = i0.ɵɵnextContext();
@@ -20046,7 +20045,7 @@ class CompetitiveStatusTooltipComponent {
20046
20045
  }], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], currencySymbol: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencySymbol", required: false }] }] }); })();
20047
20046
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveStatusTooltipComponent, { className: "CompetitiveStatusTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/competitive-status-tooltip.component.ts", lineNumber: 60 }); })();
20048
20047
 
20049
- const _forTrack0$G = ($index, $item) => $item.name;
20048
+ const _forTrack0$H = ($index, $item) => $item.name;
20050
20049
  function FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template(rf, ctx) { if (rf & 1) {
20051
20050
  i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
20052
20051
  i0.ɵɵtext(3);
@@ -20086,7 +20085,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_8_Template(rf, ctx)
20086
20085
  i0.ɵɵtext(4);
20087
20086
  i0.ɵɵelementEnd()();
20088
20087
  i0.ɵɵelementStart(5, "div", 8);
20089
- i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template, 11, 9, "div", 9, _forTrack0$G);
20088
+ i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template, 11, 9, "div", 9, _forTrack0$H);
20090
20089
  i0.ɵɵelementEnd()();
20091
20090
  } if (rf & 2) {
20092
20091
  const ctx_r1 = i0.ɵɵnextContext();
@@ -20136,7 +20135,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_9_Template(rf, ctx)
20136
20135
  i0.ɵɵtext(4);
20137
20136
  i0.ɵɵelementEnd()();
20138
20137
  i0.ɵɵelementStart(5, "div", 8);
20139
- i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_9_For_7_Template, 11, 9, "div", 9, _forTrack0$G);
20138
+ i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_9_For_7_Template, 11, 9, "div", 9, _forTrack0$H);
20140
20139
  i0.ɵɵelementEnd()();
20141
20140
  } if (rf & 2) {
20142
20141
  const ctx_r1 = i0.ɵɵnextContext();
@@ -20186,7 +20185,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_10_Template(rf, ctx)
20186
20185
  i0.ɵɵtext(4);
20187
20186
  i0.ɵɵelementEnd()();
20188
20187
  i0.ɵɵelementStart(5, "div", 8);
20189
- i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_10_For_7_Template, 11, 9, "div", 9, _forTrack0$G);
20188
+ i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_10_For_7_Template, 11, 9, "div", 9, _forTrack0$H);
20190
20189
  i0.ɵɵelementEnd()();
20191
20190
  } if (rf & 2) {
20192
20191
  const ctx_r1 = i0.ɵɵnextContext();
@@ -21450,7 +21449,7 @@ class MobileFABComponent {
21450
21449
  }], null, { isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }], expandedChange: [{ type: i0.Output, args: ["expandedChange"] }], scrollToTop: [{ type: i0.Output, args: ["scrollToTop"] }], toggleView: [{ type: i0.Output, args: ["toggleView"] }] }); })();
21451
21450
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MobileFABComponent, { className: "MobileFABComponent", filePath: "lib/components/funnel-analysis-dashboard/mobile-fab.component.ts", lineNumber: 75 }); })();
21452
21451
 
21453
- const _forTrack0$F = ($index, $item) => $item.id;
21452
+ const _forTrack0$G = ($index, $item) => $item.id;
21454
21453
  function MobileBottomNavComponent_For_3_Template(rf, ctx) { if (rf & 1) {
21455
21454
  const _r1 = i0.ɵɵgetCurrentView();
21456
21455
  i0.ɵɵelementStart(0, "button", 3);
@@ -21508,7 +21507,7 @@ class MobileBottomNavComponent {
21508
21507
  static { this.ɵfac = function MobileBottomNavComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MobileBottomNavComponent)(); }; }
21509
21508
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MobileBottomNavComponent, selectors: [["symphiq-mobile-bottom-nav"]], inputs: { isLightMode: [1, "isLightMode"], sections: [1, "sections"], activeSection: [1, "activeSection"] }, outputs: { navigate: "navigate" }, decls: 4, vars: 1, consts: [[1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "lg:hidden", "border-t", "backdrop-blur-md", 3, "ngClass"], [1, "flex", "items-center", "justify-around", "px-2", "py-3"], [1, "flex", "flex-col", "items-center", "gap-1", "px-3", "py-2", "rounded-lg", "transition-all", "duration-200", "active:scale-95", "min-w-[64px]", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "gap-1", "px-3", "py-2", "rounded-lg", "transition-all", "duration-200", "active:scale-95", "min-w-[64px]", 3, "click", "ngClass"], [1, "w-6", "h-6", 3, "innerHTML"], [1, "text-xs", "font-medium"]], template: function MobileBottomNavComponent_Template(rf, ctx) { if (rf & 1) {
21510
21509
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
21511
- i0.ɵɵrepeaterCreate(2, MobileBottomNavComponent_For_3_Template, 4, 3, "button", 2, _forTrack0$F);
21510
+ i0.ɵɵrepeaterCreate(2, MobileBottomNavComponent_For_3_Template, 4, 3, "button", 2, _forTrack0$G);
21512
21511
  i0.ɵɵelementEnd()();
21513
21512
  } if (rf & 2) {
21514
21513
  i0.ɵɵproperty("ngClass", ctx.containerClass());
@@ -21713,7 +21712,7 @@ class SearchService {
21713
21712
  }], null, null); })();
21714
21713
 
21715
21714
  const _c0$Z = ["searchInput"];
21716
- const _forTrack0$E = ($index, $item) => $item.id;
21715
+ const _forTrack0$F = ($index, $item) => $item.id;
21717
21716
  function SearchBarComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
21718
21717
  const _r3 = i0.ɵɵgetCurrentView();
21719
21718
  i0.ɵɵelementStart(0, "button", 18);
@@ -21806,7 +21805,7 @@ function SearchBarComponent_Conditional_0_Conditional_14_For_2_Template(rf, ctx)
21806
21805
  } }
21807
21806
  function SearchBarComponent_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
21808
21807
  i0.ɵɵelementStart(0, "div", 15);
21809
- i0.ɵɵrepeaterCreate(1, SearchBarComponent_Conditional_0_Conditional_14_For_2_Template, 16, 12, "button", 19, _forTrack0$E);
21808
+ i0.ɵɵrepeaterCreate(1, SearchBarComponent_Conditional_0_Conditional_14_For_2_Template, 16, 12, "button", 19, _forTrack0$F);
21810
21809
  i0.ɵɵelementEnd();
21811
21810
  } if (rf & 2) {
21812
21811
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -22297,7 +22296,7 @@ class SearchHighlightDirective {
22297
22296
  }]
22298
22297
  }], () => [], { symphiqSearchHighlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "libSymphiqSearchHighlight", required: false }] }], highlightId: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlightId", required: false }] }] }); })();
22299
22298
 
22300
- const _forTrack0$D = ($index, $item) => $item.value;
22299
+ const _forTrack0$E = ($index, $item) => $item.value;
22301
22300
  const _forTrack1$5 = ($index, $item) => $item.performanceItemId;
22302
22301
  function CompetitiveScorecardComponent_For_12_Template(rf, ctx) { if (rf & 1) {
22303
22302
  i0.ɵɵelementStart(0, "div", 7);
@@ -22672,7 +22671,7 @@ class CompetitiveScorecardComponent {
22672
22671
  i0.ɵɵtext(9);
22673
22672
  i0.ɵɵelementEnd()()();
22674
22673
  i0.ɵɵelementStart(10, "div", 6);
22675
- i0.ɵɵrepeaterCreate(11, CompetitiveScorecardComponent_For_12_Template, 4, 7, "div", 7, _forTrack0$D);
22674
+ i0.ɵɵrepeaterCreate(11, CompetitiveScorecardComponent_For_12_Template, 4, 7, "div", 7, _forTrack0$E);
22676
22675
  i0.ɵɵelementEnd();
22677
22676
  i0.ɵɵelementStart(13, "div", 8)(14, "table", 9)(15, "thead")(16, "tr", 10)(17, "th", 11);
22678
22677
  i0.ɵɵtext(18, "Metric");
@@ -23307,7 +23306,7 @@ class SectionDividerComponent {
23307
23306
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], animationDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDelay", required: false }] }], sectionIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "sectionIcon", required: false }] }], subsections: [{ type: i0.Input, args: [{ isSignal: true, alias: "subsections", required: false }] }] }); })();
23308
23307
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SectionDividerComponent, { className: "SectionDividerComponent", filePath: "lib/components/shared/section-divider.component.ts", lineNumber: 36 }); })();
23309
23308
 
23310
- const _forTrack0$C = ($index, $item) => $item.id;
23309
+ const _forTrack0$D = ($index, $item) => $item.id;
23311
23310
  function FloatingTocComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
23312
23311
  i0.ɵɵnamespaceSVG();
23313
23312
  i0.ɵɵelement(0, "path", 8);
@@ -23359,7 +23358,7 @@ function FloatingTocComponent_For_19_Conditional_7_For_2_Template(rf, ctx) { if
23359
23358
  } }
23360
23359
  function FloatingTocComponent_For_19_Conditional_7_Template(rf, ctx) { if (rf & 1) {
23361
23360
  i0.ɵɵelementStart(0, "div", 17);
23362
- i0.ɵɵrepeaterCreate(1, FloatingTocComponent_For_19_Conditional_7_For_2_Template, 4, 4, "button", 19, _forTrack0$C);
23361
+ i0.ɵɵrepeaterCreate(1, FloatingTocComponent_For_19_Conditional_7_For_2_Template, 4, 4, "button", 19, _forTrack0$D);
23363
23362
  i0.ɵɵelementEnd();
23364
23363
  } if (rf & 2) {
23365
23364
  const section_r2 = i0.ɵɵnextContext().$implicit;
@@ -23749,7 +23748,7 @@ class FloatingTocComponent {
23749
23748
  i0.ɵɵelementEnd()()();
23750
23749
  i0.ɵɵnamespaceHTML();
23751
23750
  i0.ɵɵelementStart(17, "nav", 9);
23752
- i0.ɵɵrepeaterCreate(18, FloatingTocComponent_For_19_Template, 8, 6, "div", 10, _forTrack0$C);
23751
+ i0.ɵɵrepeaterCreate(18, FloatingTocComponent_For_19_Template, 8, 6, "div", 10, _forTrack0$D);
23753
23752
  i0.ɵɵelementEnd();
23754
23753
  i0.ɵɵelementStart(20, "div", 11)(21, "button", 7);
23755
23754
  i0.ɵɵlistener("click", function FloatingTocComponent_Template_button_click_21_listener() { return ctx.scrollToTop(); });
@@ -23903,7 +23902,7 @@ class FloatingTocComponent {
23903
23902
  }], null, { sections: [{ type: i0.Input, args: [{ isSignal: true, alias: "sections", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], containerElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "containerElement", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], parentHeaderOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentHeaderOffset", required: false }] }] }); })();
23904
23903
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FloatingTocComponent, { className: "FloatingTocComponent", filePath: "lib/components/business-analysis-dashboard/floating-toc.component.ts", lineNumber: 125 }); })();
23905
23904
 
23906
- const _forTrack0$B = ($index, $item) => $item.id;
23905
+ const _forTrack0$C = ($index, $item) => $item.id;
23907
23906
  function JourneyProgressIndicatorComponent_For_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
23908
23907
  i0.ɵɵnamespaceSVG();
23909
23908
  i0.ɵɵelementStart(0, "svg", 22);
@@ -24136,7 +24135,7 @@ function JourneyProgressIndicatorComponent_Conditional_23_Template(rf, ctx) { if
24136
24135
  i0.ɵɵtext(2, "Journey Progress");
24137
24136
  i0.ɵɵelementEnd();
24138
24137
  i0.ɵɵelementStart(3, "div", 44);
24139
- i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Template, 14, 8, "div", 45, _forTrack0$B);
24138
+ i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Template, 14, 8, "div", 45, _forTrack0$C);
24140
24139
  i0.ɵɵelementEnd()();
24141
24140
  } if (rf & 2) {
24142
24141
  const ctx_r2 = i0.ɵɵnextContext();
@@ -24585,7 +24584,7 @@ class JourneyProgressIndicatorComponent {
24585
24584
  static { this.ɵfac = function JourneyProgressIndicatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JourneyProgressIndicatorComponent)(); }; }
24586
24585
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JourneyProgressIndicatorComponent, selectors: [["symphiq-journey-progress-indicator"]], inputs: { viewMode: [1, "viewMode"], currentStepId: [1, "currentStepId"], showNextStepAction: [1, "showNextStepAction"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { nextStepClick: "nextStepClick", stepClick: "stepClick" }, decls: 25, vars: 12, consts: [[1, "sticky", "top-[60px]", "z-40", "border-b", "pt-8", "pb-6", "px-6", "transition-all", "duration-200", "overflow-visible", 3, "ngClass"], [1, "max-w-7xl", "mx-auto", "overflow-visible"], [1, "hidden", "lg:flex", "items-start", "justify-between", "overflow-visible"], [1, "flex-1", "flex", "items-start", "justify-start", "overflow-visible"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "disabled", "ngClass", "cursor-pointer", "cursor-not-allowed", "opacity-50", "hover:scale-105"], [1, "lg:hidden"], [1, "flex", "items-center", "justify-between", "gap-4"], [1, "flex-1", "flex", "items-center", "gap-3"], [1, "w-10", "h-10", "min-w-[2.5rem]", "min-h-[2.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5"], [1, "w-3", "h-3", "min-w-[0.75rem]", "min-h-[0.75rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "text-sm", "font-bold", 3, "ngClass"], [1, "flex-1", "text-left"], [1, "flex", "items-center", "gap-1.5", "relative", 3, "mouseenter", "mouseleave", "click"], [1, "text-xs", "cursor-pointer", 3, "ngClass"], [1, "p-0.5", "rounded-full", "cursor-pointer", 3, "ngClass"], ["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, "absolute", "top-full", "left-0", "mt-2", "w-80", "max-w-[calc(100vw-2rem)]", "p-4", "rounded-lg", "shadow-xl", "z-50", 3, "ngClass"], ["type", "button", 1, "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "disabled", "ngClass", "cursor-pointer", "cursor-not-allowed", "opacity-50", "hover:scale-105"], [1, "flex", "flex-col", "items-center", "relative", "step-column", "overflow-visible", "flex-shrink-0", 3, "mouseenter", "mouseleave", "click"], [1, "w-8", "h-8", "min-w-[2rem]", "min-h-[2rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", "step-circle", "relative", "z-10", "mb-1.5", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4"], [1, "w-2.5", "h-2.5", "min-w-[0.625rem]", "min-h-[0.625rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", 3, "ngClass"], [1, "text-xs", "font-bold", 3, "ngClass"], [1, "text-[10px]", "text-center", "leading-tight", "whitespace-nowrap", "max-w-[64px]", "overflow-hidden", "text-ellipsis", 3, "ngClass"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass", "expanded-card-right", "expanded-card-left", "top", "left", "right"], [1, "flex-1", "h-0.5", "transition-all", "duration-200", "mt-[16px]", 3, "ngClass"], ["fill-rule", "evenodd", "d", "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", "clip-rule", "evenodd"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass"], [1, "flex", "items-start", "px-4", "py-3", "expanded-content"], [1, "flex", "items-start", "gap-2", "w-full"], [1, "text-xs", "font-bold", "flex-shrink-0", "mt-0.5", 3, "ngClass"], [1, "flex", "flex-col", "gap-1", "flex-1"], [1, "text-sm", "font-bold", "leading-tight", 3, "ngClass"], [1, "text-xs", "leading-relaxed", "description-fade", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "text-sm", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2"], [1, "w-6", "h-6", "min-w-[1.5rem]", "min-h-[1.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-3", "h-3"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-1.5", "h-1.5", "min-w-[0.375rem]", "min-h-[0.375rem]", "rounded-full", 3, "ngClass"], [1, "text-[10px]", "font-bold", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-2"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "text-[10px]", "mt-0.5", 3, "ngClass"], ["type", "button", 1, "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5", "animate-spin"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"]], template: function JourneyProgressIndicatorComponent_Template(rf, ctx) { if (rf & 1) {
24587
24586
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
24588
- i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_For_5_Template, 10, 10, null, null, _forTrack0$B);
24587
+ i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_For_5_Template, 10, 10, null, null, _forTrack0$C);
24589
24588
  i0.ɵɵelementEnd();
24590
24589
  i0.ɵɵconditionalCreate(6, JourneyProgressIndicatorComponent_Conditional_6_Template, 3, 11, "button", 4);
24591
24590
  i0.ɵɵelementEnd();
@@ -26736,7 +26735,7 @@ class ViewModeSwitcherModalComponent {
26736
26735
  const _c0$X = a0 => ({ name: "check-badge", source: a0 });
26737
26736
  const _c1$A = a0 => ({ name: "check-circle", source: a0 });
26738
26737
  const _c2$o = a0 => ({ name: "chevron-right", source: a0 });
26739
- const _forTrack0$A = ($index, $item) => $item.area;
26738
+ const _forTrack0$B = ($index, $item) => $item.area;
26740
26739
  function KeyStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
26741
26740
  i0.ɵɵelementStart(0, "div", 1);
26742
26741
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -26805,7 +26804,7 @@ function KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template(rf,
26805
26804
  } }
26806
26805
  function KeyStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
26807
26806
  i0.ɵɵelementStart(0, "div", 2);
26808
- i0.ɵɵrepeaterCreate(1, KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$A);
26807
+ i0.ɵɵrepeaterCreate(1, KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$B);
26809
26808
  i0.ɵɵelementEnd();
26810
26809
  } if (rf & 2) {
26811
26810
  const ctx_r0 = i0.ɵɵnextContext();
@@ -26969,7 +26968,7 @@ const _c0$W = a0 => ({ name: "shield-check", source: a0 });
26969
26968
  const _c1$z = a0 => ({ name: "exclamation-triangle", source: a0 });
26970
26969
  const _c2$n = a0 => ({ name: "document-text", source: a0 });
26971
26970
  const _c3$h = a0 => ({ name: "chevron-right", source: a0 });
26972
- const _forTrack0$z = ($index, $item) => $item.area;
26971
+ const _forTrack0$A = ($index, $item) => $item.area;
26973
26972
  function CriticalGapsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
26974
26973
  i0.ɵɵelementStart(0, "div", 1);
26975
26974
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -27054,7 +27053,7 @@ function CriticalGapsListModalContentComponent_Conditional_2_For_2_Template(rf,
27054
27053
  } }
27055
27054
  function CriticalGapsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
27056
27055
  i0.ɵɵelementStart(0, "div", 2);
27057
- i0.ɵɵrepeaterCreate(1, CriticalGapsListModalContentComponent_Conditional_2_For_2_Template, 23, 25, "button", 6, _forTrack0$z);
27056
+ i0.ɵɵrepeaterCreate(1, CriticalGapsListModalContentComponent_Conditional_2_For_2_Template, 23, 25, "button", 6, _forTrack0$A);
27058
27057
  i0.ɵɵelementEnd();
27059
27058
  } if (rf & 2) {
27060
27059
  const ctx_r0 = i0.ɵɵnextContext();
@@ -27283,7 +27282,7 @@ class CriticalGapsListModalContentComponent {
27283
27282
 
27284
27283
  const _c0$V = a0 => ({ name: "check-circle", source: a0 });
27285
27284
  const _c1$y = a0 => ({ name: "chat-bubble-left-right", source: a0 });
27286
- const _forTrack0$y = ($index, $item) => $item.questionId;
27285
+ const _forTrack0$z = ($index, $item) => $item.questionId;
27287
27286
  function KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
27288
27287
  i0.ɵɵelementStart(0, "div", 19)(1, "span", 20);
27289
27288
  i0.ɵɵtext(2);
@@ -27330,7 +27329,7 @@ function KeyStrengthDetailModalContentComponent_Conditional_13_Template(rf, ctx)
27330
27329
  i0.ɵɵtext(3, " Supporting Evidence ");
27331
27330
  i0.ɵɵelementEnd();
27332
27331
  i0.ɵɵelementStart(4, "div", 12);
27333
- i0.ɵɵrepeaterCreate(5, KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Template, 9, 10, "div", 13, _forTrack0$y);
27332
+ i0.ɵɵrepeaterCreate(5, KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Template, 9, 10, "div", 13, _forTrack0$z);
27334
27333
  i0.ɵɵelementEnd()();
27335
27334
  } if (rf & 2) {
27336
27335
  const ctx_r1 = i0.ɵɵnextContext();
@@ -27525,7 +27524,7 @@ class KeyStrengthDetailModalContentComponent {
27525
27524
  const _c0$U = a0 => ({ name: "exclamation-triangle", source: a0 });
27526
27525
  const _c1$x = a0 => ({ name: "document-text", source: a0 });
27527
27526
  const _c2$m = a0 => ({ name: "chat-bubble-left-right", source: a0 });
27528
- const _forTrack0$x = ($index, $item) => $item.questionId;
27527
+ const _forTrack0$y = ($index, $item) => $item.questionId;
27529
27528
  function CriticalGapDetailModalContentComponent_Conditional_20_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
27530
27529
  i0.ɵɵelementStart(0, "div", 23)(1, "p", 25);
27531
27530
  i0.ɵɵtext(2, " Gap Identified: ");
@@ -27593,7 +27592,7 @@ function CriticalGapDetailModalContentComponent_Conditional_20_Template(rf, ctx)
27593
27592
  i0.ɵɵtext(3, " Supporting Evidence ");
27594
27593
  i0.ɵɵelementEnd();
27595
27594
  i0.ɵɵelementStart(4, "div", 17);
27596
- i0.ɵɵrepeaterCreate(5, CriticalGapDetailModalContentComponent_Conditional_20_For_6_Template, 10, 11, "div", 18, _forTrack0$x);
27595
+ i0.ɵɵrepeaterCreate(5, CriticalGapDetailModalContentComponent_Conditional_20_For_6_Template, 10, 11, "div", 18, _forTrack0$y);
27597
27596
  i0.ɵɵelementEnd()();
27598
27597
  } if (rf & 2) {
27599
27598
  const ctx_r1 = i0.ɵɵnextContext();
@@ -29389,7 +29388,7 @@ const _c0$T = a0 => ({ name: "check-badge", source: a0 });
29389
29388
  const _c1$w = a0 => ({ name: "check-circle", source: a0 });
29390
29389
  const _c2$l = a0 => ({ name: "chevron-right", source: a0 });
29391
29390
  const _c3$g = a0 => ({ name: "chart-bar", source: a0 });
29392
- const _forTrack0$w = ($index, $item) => $item.capability;
29391
+ const _forTrack0$x = ($index, $item) => $item.capability;
29393
29392
  function FocusAreaStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
29394
29393
  i0.ɵɵelementStart(0, "div", 1);
29395
29394
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -29504,7 +29503,7 @@ function FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Templat
29504
29503
  } }
29505
29504
  function FocusAreaStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
29506
29505
  i0.ɵɵelementStart(0, "div", 2);
29507
- i0.ɵɵrepeaterCreate(1, FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Template, 16, 18, "button", 6, _forTrack0$w);
29506
+ i0.ɵɵrepeaterCreate(1, FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Template, 16, 18, "button", 6, _forTrack0$x);
29508
29507
  i0.ɵɵelementEnd();
29509
29508
  } if (rf & 2) {
29510
29509
  const ctx_r0 = i0.ɵɵnextContext();
@@ -29711,7 +29710,7 @@ class FocusAreaStrengthsListModalContentComponent {
29711
29710
  const _c0$S = a0 => ({ name: "exclamation-triangle", source: a0 });
29712
29711
  const _c1$v = a0 => ({ name: "exclamation-circle", source: a0 });
29713
29712
  const _c2$k = a0 => ({ name: "chevron-right", source: a0 });
29714
- function _forTrack0$v($index, $item) { return this.getGapTitle($item); }
29713
+ function _forTrack0$w($index, $item) { return this.getGapTitle($item); }
29715
29714
  function FocusAreaGapsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
29716
29715
  i0.ɵɵelementStart(0, "div", 1);
29717
29716
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -29828,7 +29827,7 @@ function FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template(rf,
29828
29827
  } }
29829
29828
  function FocusAreaGapsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
29830
29829
  i0.ɵɵelementStart(0, "div", 2);
29831
- i0.ɵɵrepeaterCreate(1, FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$v, true);
29830
+ i0.ɵɵrepeaterCreate(1, FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$w, true);
29832
29831
  i0.ɵɵelementEnd();
29833
29832
  } if (rf & 2) {
29834
29833
  const ctx_r0 = i0.ɵɵnextContext();
@@ -30105,7 +30104,7 @@ class FocusAreaGapsListModalContentComponent {
30105
30104
  const _c0$R = a0 => ({ name: "light-bulb", source: a0 });
30106
30105
  const _c1$u = a0 => ({ name: "chevron-right", source: a0 });
30107
30106
  const _c2$j = a0 => ({ name: "chart-bar", source: a0 });
30108
- const _forTrack0$u = ($index, $item) => $item.opportunity;
30107
+ const _forTrack0$v = ($index, $item) => $item.opportunity;
30109
30108
  function FocusAreaOpportunitiesListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
30110
30109
  i0.ɵɵelementStart(0, "div", 1);
30111
30110
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -30196,7 +30195,7 @@ function FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Tem
30196
30195
  } }
30197
30196
  function FocusAreaOpportunitiesListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
30198
30197
  i0.ɵɵelementStart(0, "div", 2);
30199
- i0.ɵɵrepeaterCreate(1, FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Template, 11, 11, "button", 6, _forTrack0$u);
30198
+ i0.ɵɵrepeaterCreate(1, FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Template, 11, 11, "button", 6, _forTrack0$v);
30200
30199
  i0.ɵɵelementEnd();
30201
30200
  } if (rf & 2) {
30202
30201
  const ctx_r0 = i0.ɵɵnextContext();
@@ -30373,7 +30372,7 @@ class FocusAreaOpportunitiesListModalContentComponent {
30373
30372
 
30374
30373
  const _c0$Q = a0 => ({ name: "chevron-right", source: a0 });
30375
30374
  const _c1$t = a0 => ({ name: "chat-bubble-left-right", source: a0 });
30376
- const _forTrack0$t = ($index, $item) => $item.performanceItemId;
30375
+ const _forTrack0$u = ($index, $item) => $item.performanceItemId;
30377
30376
  function FocusAreaStrengthDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
30378
30377
  i0.ɵɵelementStart(0, "div")(1, "p", 2);
30379
30378
  i0.ɵɵtext(2);
@@ -30443,7 +30442,7 @@ function FocusAreaStrengthDetailModalContentComponent_Conditional_4_Template(rf,
30443
30442
  i0.ɵɵtext(2);
30444
30443
  i0.ɵɵelementEnd();
30445
30444
  i0.ɵɵelementStart(3, "div", 9);
30446
- i0.ɵɵrepeaterCreate(4, FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Template, 4, 5, "button", 10, _forTrack0$t);
30445
+ i0.ɵɵrepeaterCreate(4, FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Template, 4, 5, "button", 10, _forTrack0$u);
30447
30446
  i0.ɵɵelementEnd()();
30448
30447
  } if (rf & 2) {
30449
30448
  const ctx_r0 = i0.ɵɵnextContext();
@@ -31094,7 +31093,7 @@ class FocusAreaGapDetailModalContentComponent {
31094
31093
 
31095
31094
  const _c0$O = a0 => ({ name: "chevron-right", source: a0 });
31096
31095
  const _c1$s = () => [];
31097
- const _forTrack0$s = ($index, $item) => $item.performanceItemId;
31096
+ const _forTrack0$t = ($index, $item) => $item.performanceItemId;
31098
31097
  function FocusAreaOpportunityDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
31099
31098
  i0.ɵɵelementStart(0, "div")(1, "p", 2);
31100
31099
  i0.ɵɵtext(2);
@@ -31146,7 +31145,7 @@ function FocusAreaOpportunityDetailModalContentComponent_Conditional_3_Template(
31146
31145
  i0.ɵɵtext(2);
31147
31146
  i0.ɵɵelementEnd();
31148
31147
  i0.ɵɵelementStart(3, "div", 6);
31149
- i0.ɵɵrepeaterCreate(4, FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Template, 4, 5, "button", 7, _forTrack0$s);
31148
+ i0.ɵɵrepeaterCreate(4, FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Template, 4, 5, "button", 7, _forTrack0$t);
31150
31149
  i0.ɵɵelementEnd()();
31151
31150
  } if (rf & 2) {
31152
31151
  const ctx_r0 = i0.ɵɵnextContext();
@@ -36289,7 +36288,7 @@ const _c4$7 = a0 => ({ name: "academic-cap", source: a0 });
36289
36288
  const _c5$5 = a0 => ({ name: "information-circle", source: a0 });
36290
36289
  const _c6$2 = a0 => ({ name: "signal", source: a0 });
36291
36290
  const _c7$1 = a0 => ({ name: "wrench-screwdriver", source: a0 });
36292
- const _forTrack0$r = ($index, $item) => $item.name;
36291
+ const _forTrack0$s = ($index, $item) => $item.name;
36293
36292
  function ProductCategoryCardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
36294
36293
  i0.ɵɵelementStart(0, "p", 8);
36295
36294
  i0.ɵɵtext(1);
@@ -36420,7 +36419,7 @@ function ProductCategoryCardComponent_Conditional_16_Template(rf, ctx) { if (rf
36420
36419
  i0.ɵɵelementStart(6, "symphiq-visualization-container", 21);
36421
36420
  i0.ɵɵlistener("visualizationClick", function ProductCategoryCardComponent_Conditional_16_Template_symphiq_visualization_container_visualizationClick_6_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.openHorizontalBarModal($event)); });
36422
36421
  i0.ɵɵelementStart(7, "div", 22);
36423
- i0.ɵɵrepeaterCreate(8, ProductCategoryCardComponent_Conditional_16_For_9_Template, 2, 5, "div", 23, _forTrack0$r);
36422
+ i0.ɵɵrepeaterCreate(8, ProductCategoryCardComponent_Conditional_16_For_9_Template, 2, 5, "div", 23, _forTrack0$s);
36424
36423
  i0.ɵɵelementEnd()()()();
36425
36424
  } if (rf & 2) {
36426
36425
  const ctx_r0 = i0.ɵɵnextContext();
@@ -41409,7 +41408,7 @@ const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_5_D
41409
41408
  const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_6_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
41410
41409
  const _c3$8 = a0 => ({ name: "arrow-left", source: a0 });
41411
41410
  const _c4$5 = a0 => ({ name: "chevron-right", source: a0 });
41412
- const _forTrack0$q = ($index, $item) => $item.performanceItemId || $index;
41411
+ const _forTrack0$r = ($index, $item) => $item.performanceItemId || $index;
41413
41412
  const _forTrack1$4 = ($index, $item) => $item.id || $index;
41414
41413
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_10_For_5_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
41415
41414
  const _r4 = i0.ɵɵgetCurrentView();
@@ -41620,7 +41619,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Templa
41620
41619
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_21_Template(rf, ctx) { if (rf & 1) {
41621
41620
  i0.ɵɵelementStart(0, "div", 20);
41622
41621
  i0.ɵɵconditionalCreate(1, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_Conditional_1_Template, 2, 2, "p", 52);
41623
- i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Template, 13, 10, "div", 53, _forTrack0$q);
41622
+ i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Template, 13, 10, "div", 53, _forTrack0$r);
41624
41623
  i0.ɵɵelementEnd();
41625
41624
  } if (rf & 2) {
41626
41625
  const data_r11 = ctx;
@@ -41700,7 +41699,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Templa
41700
41699
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
41701
41700
  i0.ɵɵelementStart(0, "div", 20);
41702
41701
  i0.ɵɵconditionalCreate(1, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_Conditional_1_Template, 2, 2, "p", 52);
41703
- i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Template, 13, 10, "div", 53, _forTrack0$q);
41702
+ i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Template, 13, 10, "div", 53, _forTrack0$r);
41704
41703
  i0.ɵɵelementEnd();
41705
41704
  } if (rf & 2) {
41706
41705
  const data_r14 = ctx;
@@ -41819,7 +41818,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
41819
41818
  i0.ɵɵelementStart(0, "div", 69)(1, "h3", 70);
41820
41819
  i0.ɵɵtext(2, " Directly Affected Metric ");
41821
41820
  i0.ɵɵelementEnd();
41822
- i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_0_For_4_Template, 1, 1, null, null, _forTrack0$q);
41821
+ i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_0_For_4_Template, 1, 1, null, null, _forTrack0$r);
41823
41822
  i0.ɵɵelementEnd();
41824
41823
  } if (rf & 2) {
41825
41824
  const data_r32 = i0.ɵɵnextContext(2);
@@ -41853,7 +41852,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
41853
41852
  i0.ɵɵelementStart(0, "div", 69)(1, "h3", 70);
41854
41853
  i0.ɵɵtext(2, " Indirectly Affected Metrics ");
41855
41854
  i0.ɵɵelementEnd();
41856
- i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_1_For_4_Template, 1, 1, null, null, _forTrack0$q);
41855
+ i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_1_For_4_Template, 1, 1, null, null, _forTrack0$r);
41857
41856
  i0.ɵɵelementEnd();
41858
41857
  } if (rf & 2) {
41859
41858
  const data_r32 = i0.ɵɵnextContext(2);
@@ -41885,7 +41884,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
41885
41884
  i0.ɵɵproperty("metric", metric_r38)("isLightMode", ctx_r1.isLightMode())("animationKey", $index_r39);
41886
41885
  } }
41887
41886
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_Template(rf, ctx) { if (rf & 1) {
41888
- i0.ɵɵrepeaterCreate(0, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_For_1_Template, 2, 3, "div", null, _forTrack0$q);
41887
+ i0.ɵɵrepeaterCreate(0, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_For_1_Template, 2, 3, "div", null, _forTrack0$r);
41889
41888
  } if (rf & 2) {
41890
41889
  const data_r32 = i0.ɵɵnextContext();
41891
41890
  i0.ɵɵrepeater(data_r32.metrics);
@@ -44539,7 +44538,7 @@ const _c0$y = a0 => ({ name: "list-bullet", source: a0 });
44539
44538
  const _c1$f = a0 => ({ name: "arrow-right", source: a0 });
44540
44539
  const _c2$9 = a0 => ({ name: "check-circle", source: a0 });
44541
44540
  const _c3$6 = a0 => ({ name: "exclamation-circle", source: a0 });
44542
- const _forTrack0$p = ($index, $item) => $item.order;
44541
+ const _forTrack0$q = ($index, $item) => $item.order;
44543
44542
  function RecommendationActionStepsModalComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
44544
44543
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 5);
44545
44544
  i0.ɵɵelement(2, "symphiq-icon", 6);
@@ -44693,7 +44692,7 @@ class RecommendationActionStepsModalComponent {
44693
44692
  i0.ɵɵelementStart(0, "div", 0);
44694
44693
  i0.ɵɵconditionalCreate(1, RecommendationActionStepsModalComponent_Conditional_1_Template, 8, 7, "div", 1);
44695
44694
  i0.ɵɵelementStart(2, "div", 2);
44696
- i0.ɵɵrepeaterCreate(3, RecommendationActionStepsModalComponent_For_4_Template, 13, 11, "div", 3, _forTrack0$p);
44695
+ i0.ɵɵrepeaterCreate(3, RecommendationActionStepsModalComponent_For_4_Template, 13, 11, "div", 3, _forTrack0$q);
44697
44696
  i0.ɵɵelementEnd();
44698
44697
  i0.ɵɵconditionalCreate(5, RecommendationActionStepsModalComponent_Conditional_5_Template, 4, 5, "div", 4);
44699
44698
  i0.ɵɵelementEnd();
@@ -45489,7 +45488,7 @@ const _c2$8 = () => [1, 2, 3, 4, 5, 6];
45489
45488
  const _c3$5 = () => [1, 2, 3];
45490
45489
  const _c4$3 = () => [1, 2, 3, 4];
45491
45490
  const _c5$2 = () => [1, 2];
45492
- const _forTrack0$o = ($index, $item) => $item.value;
45491
+ const _forTrack0$p = ($index, $item) => $item.value;
45493
45492
  function SymphiqFunnelAnalysisDashboardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
45494
45493
  i0.ɵɵelement(0, "div", 11);
45495
45494
  } }
@@ -45528,7 +45527,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template(rf, ctx
45528
45527
  i0.ɵɵlistener("click", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_div_click_3_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); })("mousedown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_div_mousedown_3_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); })("pointerdown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_div_pointerdown_3_listener($event) { i0.ɵɵrestoreView(_r4); return i0.ɵɵresetView($event.stopPropagation()); });
45529
45528
  i0.ɵɵelementStart(4, "select", 48);
45530
45529
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template_select_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.changeSectionFilter($event)); });
45531
- i0.ɵɵrepeaterCreate(5, SymphiqFunnelAnalysisDashboardComponent_Conditional_25_For_6_Template, 2, 2, "option", 49, _forTrack0$o);
45530
+ i0.ɵɵrepeaterCreate(5, SymphiqFunnelAnalysisDashboardComponent_Conditional_25_For_6_Template, 2, 2, "option", 49, _forTrack0$p);
45532
45531
  i0.ɵɵelementEnd()()();
45533
45532
  } if (rf & 2) {
45534
45533
  const ctx_r2 = i0.ɵɵnextContext();
@@ -45608,7 +45607,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template(rf, ctx
45608
45607
  i0.ɵɵlistener("click", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); })("mousedown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); })("pointerdown", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_div_pointerdown_0_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); });
45609
45608
  i0.ɵɵelementStart(1, "select", 54);
45610
45609
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template_select_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.changeSectionFilter($event)); });
45611
- i0.ɵɵrepeaterCreate(2, SymphiqFunnelAnalysisDashboardComponent_Conditional_46_For_3_Template, 2, 2, "option", 49, _forTrack0$o);
45610
+ i0.ɵɵrepeaterCreate(2, SymphiqFunnelAnalysisDashboardComponent_Conditional_46_For_3_Template, 2, 2, "option", 49, _forTrack0$p);
45612
45611
  i0.ɵɵelementEnd()();
45613
45612
  } if (rf & 2) {
45614
45613
  const ctx_r2 = i0.ɵɵnextContext();
@@ -46354,7 +46353,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Te
46354
46353
  i0.ɵɵconditionalCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Conditional_14_Template, 2, 0, "div", 122);
46355
46354
  i0.ɵɵelementStart(15, "select", 123);
46356
46355
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Template_select_ngModelChange_15_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeCategoryFilter($event)); });
46357
- i0.ɵɵrepeaterCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_17_Template, 2, 1, null, null, _forTrack0$o);
46356
+ i0.ɵɵrepeaterCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_17_Template, 2, 1, null, null, _forTrack0$p);
46358
46357
  i0.ɵɵelementEnd();
46359
46358
  i0.ɵɵelementStart(18, "button", 124);
46360
46359
  i0.ɵɵlistener("click", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r26); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.toggleSortOrder()); });
@@ -46368,7 +46367,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Te
46368
46367
  i0.ɵɵtext(23, "Sort");
46369
46368
  i0.ɵɵelementEnd()()()();
46370
46369
  i0.ɵɵelementStart(24, "div", 127)(25, "div", 128);
46371
- i0.ɵɵrepeaterCreate(26, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_27_Template, 1, 1, null, null, _forTrack0$o);
46370
+ i0.ɵɵrepeaterCreate(26, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_For_27_Template, 1, 1, null, null, _forTrack0$p);
46372
46371
  i0.ɵɵelementEnd()()();
46373
46372
  i0.ɵɵconditionalCreate(28, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Conditional_28_Template, 3, 1, "div", 129)(29, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_4_Conditional_29_Template, 4, 5, "div", 130);
46374
46373
  i0.ɵɵelementEnd()();
@@ -46545,7 +46544,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Te
46545
46544
  i0.ɵɵconditionalCreate(12, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Conditional_12_Template, 2, 0, "div", 122);
46546
46545
  i0.ɵɵelementStart(13, "select", 164);
46547
46546
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Template_select_ngModelChange_13_listener($event) { i0.ɵɵrestoreView(_r36); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeBreakdownFilter($event)); });
46548
- i0.ɵɵrepeaterCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_For_15_Template, 2, 1, null, null, _forTrack0$o);
46547
+ i0.ɵɵrepeaterCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_For_15_Template, 2, 1, null, null, _forTrack0$p);
46549
46548
  i0.ɵɵelementEnd()()();
46550
46549
  i0.ɵɵconditionalCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Conditional_16_Template, 3, 1, "div", 95)(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_5_Conditional_17_Template, 4, 5, "div", 165);
46551
46550
  i0.ɵɵelementEnd()();
@@ -46656,7 +46655,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Te
46656
46655
  i0.ɵɵconditionalCreate(13, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Conditional_13_Template, 2, 0, "div", 122);
46657
46656
  i0.ɵɵelementStart(14, "select", 123);
46658
46657
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Template_select_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeCompetitiveFilter($event)); });
46659
- i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_For_16_Template, 2, 1, null, null, _forTrack0$o);
46658
+ i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_For_16_Template, 2, 1, null, null, _forTrack0$p);
46660
46659
  i0.ɵɵelementEnd()()();
46661
46660
  i0.ɵɵconditionalCreate(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Conditional_17_Template, 6, 5, "div", 95)(18, SymphiqFunnelAnalysisDashboardComponent_Conditional_51_Conditional_6_Conditional_18_Template, 1, 6, "symphiq-competitive-intelligence-view", 92);
46662
46661
  i0.ɵɵelementEnd()();
@@ -49223,7 +49222,7 @@ function getTrendClasses(trendPercent, viewMode) {
49223
49222
  }
49224
49223
  }
49225
49224
 
49226
- const _forTrack0$n = ($index, $item) => $item.performanceItemId;
49225
+ const _forTrack0$o = ($index, $item) => $item.performanceItemId;
49227
49226
  function SymphiqFunnelAnalysisPreviewComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
49228
49227
  i0.ɵɵelementStart(0, "div", 17)(1, "p", 18);
49229
49228
  i0.ɵɵtext(2);
@@ -49842,7 +49841,7 @@ class SymphiqFunnelAnalysisPreviewComponent {
49842
49841
  i0.ɵɵconditionalCreate(12, SymphiqFunnelAnalysisPreviewComponent_Conditional_12_Template, 3, 7, "div", 9);
49843
49842
  i0.ɵɵconditionalCreate(13, SymphiqFunnelAnalysisPreviewComponent_Conditional_13_Template, 18, 23, "div", 10);
49844
49843
  i0.ɵɵelementStart(14, "div", 11);
49845
- i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisPreviewComponent_For_16_Template, 10, 17, "div", 12, _forTrack0$n);
49844
+ i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisPreviewComponent_For_16_Template, 10, 17, "div", 12, _forTrack0$o);
49846
49845
  i0.ɵɵelementEnd();
49847
49846
  i0.ɵɵconditionalCreate(17, SymphiqFunnelAnalysisPreviewComponent_Conditional_17_Template, 9, 11, "div", 9);
49848
49847
  i0.ɵɵconditionalCreate(18, SymphiqFunnelAnalysisPreviewComponent_Conditional_18_Template, 14, 19, "div", 9);
@@ -50085,7 +50084,7 @@ class SymphiqFunnelAnalysisPreviewComponent {
50085
50084
  }], () => [], { analysisInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelAnalysis", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], onViewAnalysis: [{ type: i0.Output, args: ["onViewAnalysis"] }] }); })();
50086
50085
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisPreviewComponent, { className: "SymphiqFunnelAnalysisPreviewComponent", filePath: "lib/components/funnel-analysis-preview/symphiq-funnel-analysis-preview.component.ts", lineNumber: 228 }); })();
50087
50086
 
50088
- const _forTrack0$m = ($index, $item) => $item.id;
50087
+ const _forTrack0$n = ($index, $item) => $item.id;
50089
50088
  function SymphiqWelcomeDashboardComponent_For_65_Template(rf, ctx) { if (rf & 1) {
50090
50089
  i0.ɵɵelementStart(0, "div", 31)(1, "div", 36)(2, "div", 37)(3, "span", 38);
50091
50090
  i0.ɵɵtext(4);
@@ -50380,7 +50379,7 @@ class SymphiqWelcomeDashboardComponent {
50380
50379
  i0.ɵɵtext(62, " Your Onboarding Journey ");
50381
50380
  i0.ɵɵelementEnd();
50382
50381
  i0.ɵɵelementStart(63, "div", 30);
50383
- i0.ɵɵrepeaterCreate(64, SymphiqWelcomeDashboardComponent_For_65_Template, 9, 3, "div", 31, _forTrack0$m);
50382
+ i0.ɵɵrepeaterCreate(64, SymphiqWelcomeDashboardComponent_For_65_Template, 9, 3, "div", 31, _forTrack0$n);
50384
50383
  i0.ɵɵelementEnd()()();
50385
50384
  i0.ɵɵelementStart(66, "div", 32);
50386
50385
  i0.ɵɵnamespaceSVG();
@@ -51419,7 +51418,7 @@ class FocusAreaToolsModalComponent {
51419
51418
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaToolsModalComponent, { className: "FocusAreaToolsModalComponent", filePath: "lib/components/create-account-dashboard/focus-area-tools-modal.component.ts", lineNumber: 149 }); })();
51420
51419
 
51421
51420
  const _c0$v = ["shopNameInput"];
51422
- const _forTrack0$l = ($index, $item) => $item.focusAreaDomain;
51421
+ const _forTrack0$m = ($index, $item) => $item.focusAreaDomain;
51423
51422
  function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_27_Template(rf, ctx) { if (rf & 1) {
51424
51423
  i0.ɵɵtext(0, " Shopify ");
51425
51424
  } }
@@ -51746,7 +51745,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_Te
51746
51745
  i0.ɵɵtext(3);
51747
51746
  i0.ɵɵelementEnd();
51748
51747
  i0.ɵɵelementStart(4, "div", 55);
51749
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Template, 7, 5, "div", 56, _forTrack0$l);
51748
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_12_For_6_Template, 7, 5, "div", 56, _forTrack0$m);
51750
51749
  i0.ɵɵelementEnd()();
51751
51750
  } if (rf & 2) {
51752
51751
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -51776,7 +51775,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_Te
51776
51775
  i0.ɵɵtext(3);
51777
51776
  i0.ɵɵelementEnd();
51778
51777
  i0.ɵɵelementStart(4, "div", 65);
51779
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_For_6_Template, 3, 3, "div", 66, _forTrack0$l);
51778
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_13_For_6_Template, 3, 3, "div", 66, _forTrack0$m);
51780
51779
  i0.ɵɵelementEnd()();
51781
51780
  } if (rf & 2) {
51782
51781
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -51806,7 +51805,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_Te
51806
51805
  i0.ɵɵtext(3);
51807
51806
  i0.ɵɵelementEnd();
51808
51807
  i0.ɵɵelementStart(4, "div", 68);
51809
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_For_6_Template, 3, 3, "div", 69, _forTrack0$l);
51808
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_25_Conditional_14_For_6_Template, 3, 3, "div", 69, _forTrack0$m);
51810
51809
  i0.ɵɵelementEnd()();
51811
51810
  } if (rf & 2) {
51812
51811
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -53194,7 +53193,7 @@ class SymphiqCreateAccountDashboardComponent {
53194
53193
  }] }); })();
53195
53194
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber: 625 }); })();
53196
53195
 
53197
- const _forTrack0$k = ($index, $item) => $item.id;
53196
+ const _forTrack0$l = ($index, $item) => $item.id;
53198
53197
  function SymphiqConnectGaDashboardComponent_Conditional_21_Conditional_9_Template(rf, ctx) { if (rf & 1) {
53199
53198
  i0.ɵɵtext(0, " Change Google Account ");
53200
53199
  } }
@@ -53401,7 +53400,7 @@ function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_14_For_2_
53401
53400
  } }
53402
53401
  function SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_14_Template(rf, ctx) { if (rf & 1) {
53403
53402
  i0.ɵɵelementStart(0, "div", 50);
53404
- i0.ɵɵrepeaterCreate(1, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_14_For_2_Template, 11, 8, "label", 52, _forTrack0$k);
53403
+ i0.ɵɵrepeaterCreate(1, SymphiqConnectGaDashboardComponent_Conditional_22_Conditional_14_For_2_Template, 11, 8, "label", 52, _forTrack0$l);
53405
53404
  i0.ɵɵelementEnd();
53406
53405
  } if (rf & 2) {
53407
53406
  const ctx_r2 = i0.ɵɵnextContext(2);
@@ -54409,17 +54408,22 @@ class RevenueCalculatorWelcomeBannerComponent {
54409
54408
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
54410
54409
  this.dataLoadStatus = input(ShopDataLoadStatusEnum.NOT_LOADED, ...(ngDevMode ? [{ debugName: "dataLoadStatus" }] : []));
54411
54410
  this.hasTargets = input(false, ...(ngDevMode ? [{ debugName: "hasTargets" }] : []));
54411
+ this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
54412
54412
  this.isDataFullyLoaded = computed(() => this.dataLoadStatus() === ShopDataLoadStatusEnum.FULLY_LOADED, ...(ngDevMode ? [{ debugName: "isDataFullyLoaded" }] : []));
54413
54413
  }
54414
54414
  getNextStepsMessage() {
54415
54415
  const isLoaded = this.isDataFullyLoaded();
54416
54416
  const hasTargets = this.hasTargets();
54417
+ const isOnboarded = this.isOnboarded();
54417
54418
  if (!isLoaded) {
54418
54419
  return "We're currently downloading your Google Analytics 4 data to establish your baseline metrics. Once your data is loaded, you'll set your target revenue for the year, and Symphiq will calculate the specific metric improvements needed to reach it. You can then adjust individual metrics to align with your team's capacity and strategic priorities.";
54419
54420
  }
54420
54421
  if (isLoaded && !hasTargets) {
54421
54422
  return "Now that we have your data, it's time to set your revenue target for this year. Enter your desired revenue goal below, and we'll automatically calculate the required improvements for each funnel metric. This ensures your revenue targets are grounded in achievable, metric-level improvements.";
54422
54423
  }
54424
+ if (hasTargets && isOnboarded) {
54425
+ return "Your metric targets are set. Adjust them anytime or continue onboarding to see your funnel performance.";
54426
+ }
54423
54427
  return "Great work! Your targets are set. You can now track your progress and start strategizing to achieve your revenue goals. Continue to the Funnel Analysis to see how you're pacing against these targets and identify opportunities for growth.";
54424
54428
  }
54425
54429
  containerClasses() {
@@ -54488,7 +54492,7 @@ class RevenueCalculatorWelcomeBannerComponent {
54488
54492
  : 'text-slate-700';
54489
54493
  }
54490
54494
  static { this.ɵfac = function RevenueCalculatorWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || RevenueCalculatorWelcomeBannerComponent)(); }; }
54491
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RevenueCalculatorWelcomeBannerComponent, selectors: [["symphiq-revenue-calculator-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], dataLoadStatus: [1, "dataLoadStatus"], hasTargets: [1, "hasTargets"] }, decls: 52, vars: 15, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-3", "mb-6"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["fill-rule", "evenodd", "d", "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z", "clip-rule", "evenodd"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function RevenueCalculatorWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
54495
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RevenueCalculatorWelcomeBannerComponent, selectors: [["symphiq-revenue-calculator-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], dataLoadStatus: [1, "dataLoadStatus"], hasTargets: [1, "hasTargets"], isOnboarded: [1, "isOnboarded"] }, decls: 52, vars: 15, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-3", "mb-6"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-6", "p-5", "rounded-xl", "border-l-4", "flex", "items-start", "gap-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "flex-shrink-0", "mt-0.5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "font-bold", "text-lg", "mb-2", 3, "ngClass"], [1, "space-y-2", "text-sm", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5", "flex-shrink-0", "mt-0.5"], ["fill-rule", "evenodd", "d", "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z", "clip-rule", "evenodd"], [1, "mt-6", "p-5", "rounded-xl", "border", "flex", "items-start", "gap-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "font-bold", "mb-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"]], template: function RevenueCalculatorWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
54492
54496
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
54493
54497
  i0.ɵɵnamespaceSVG();
54494
54498
  i0.ɵɵelementStart(4, "svg", 4);
@@ -54599,82 +54603,82 @@ class RevenueCalculatorWelcomeBannerComponent {
54599
54603
  standalone: true,
54600
54604
  imports: [CommonModule],
54601
54605
  changeDetection: ChangeDetectionStrategy.OnPush,
54602
- template: `
54603
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
54604
- <div [ngClass]="contentClasses()" class="px-8 py-8">
54605
- <div class="flex items-start gap-6">
54606
- <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
54607
- <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54608
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"></path>
54609
- </svg>
54610
- </div>
54611
-
54612
- <div class="flex-1">
54613
- <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
54614
- Welcome to Your Revenue Calculator
54615
- </h2>
54616
-
54617
- <!-- Description (full width, no confidence card) -->
54618
- <div class="space-y-3 mb-6">
54619
- <p [ngClass]="textClasses()" class="text-base leading-relaxed">
54620
- The Revenue Calculator empowers you to achieve your revenue goals with precision. Start by setting your target revenue for the year, and Symphiq will automatically calculate the specific metric improvements needed across your funnel. You can then refine individual metric targets to match your team's capabilities and strategic focus.
54621
- </p>
54622
- <p [ngClass]="textClasses()" class="text-base leading-relaxed">
54623
- <strong class="font-semibold">Why this matters:</strong> This approach bridges strategy and execution. By starting with your revenue ambition and translating it into specific, measurable metric targets, your team gains clarity on exactly what needs to improve. You maintain full control to adjust targets based on your resources, historical performance, and growth opportunities at each funnel stage.
54624
- </p>
54625
- </div>
54626
-
54627
- <div [ngClass]="highlightBoxClasses()" class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
54628
- <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="highlightIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54629
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
54630
- </svg>
54631
- <div class="flex-1">
54632
- <h3 [ngClass]="highlightTitleClasses()" class="font-bold text-lg mb-2">
54633
- What You'll See Below
54634
- </h3>
54635
- <ul [ngClass]="highlightListClasses()" class="space-y-2 text-sm">
54636
- <li class="flex items-start gap-2">
54637
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
54638
- <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
54639
- </svg>
54640
- <span><strong class="font-semibold">Revenue Target Input</strong> — Set your desired revenue goal for the year, either as an absolute amount or percentage increase</span>
54641
- </li>
54642
- <li class="flex items-start gap-2">
54643
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
54644
- <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
54645
- </svg>
54646
- <span><strong class="font-semibold">Automatic Metric Distribution</strong> — See calculated metric improvements needed across your funnel to achieve your revenue target</span>
54647
- </li>
54648
- <li class="flex items-start gap-2">
54649
- <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
54650
- <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
54651
- </svg>
54652
- <span><strong class="font-semibold">Target Refinement Controls</strong> — Adjust individual metric targets to align with your team's capacity and strategic priorities</span>
54653
- </li>
54654
- </ul>
54655
- </div>
54656
- </div>
54657
-
54658
- <div [ngClass]="nextStepsBoxClasses()" class="mt-6 p-5 rounded-xl border flex items-start gap-4">
54659
- <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="nextStepsIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54660
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
54661
- </svg>
54662
- <div class="flex-1">
54663
- <h3 [ngClass]="nextStepsTitleClasses()" class="font-bold mb-1">
54664
- This is Just the Beginning
54665
- </h3>
54666
- <p [ngClass]="nextStepsTextClasses()" class="text-sm leading-relaxed">
54667
- {{ getNextStepsMessage() }}
54668
- </p>
54669
- </div>
54670
- </div>
54671
- </div>
54672
- </div>
54673
- </div>
54674
- </div>
54606
+ template: `
54607
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
54608
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
54609
+ <div class="flex items-start gap-6">
54610
+ <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
54611
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54612
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"></path>
54613
+ </svg>
54614
+ </div>
54615
+
54616
+ <div class="flex-1">
54617
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
54618
+ Welcome to Your Revenue Calculator
54619
+ </h2>
54620
+
54621
+ <!-- Description (full width, no confidence card) -->
54622
+ <div class="space-y-3 mb-6">
54623
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed">
54624
+ The Revenue Calculator empowers you to achieve your revenue goals with precision. Start by setting your target revenue for the year, and Symphiq will automatically calculate the specific metric improvements needed across your funnel. You can then refine individual metric targets to match your team's capabilities and strategic focus.
54625
+ </p>
54626
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed">
54627
+ <strong class="font-semibold">Why this matters:</strong> This approach bridges strategy and execution. By starting with your revenue ambition and translating it into specific, measurable metric targets, your team gains clarity on exactly what needs to improve. You maintain full control to adjust targets based on your resources, historical performance, and growth opportunities at each funnel stage.
54628
+ </p>
54629
+ </div>
54630
+
54631
+ <div [ngClass]="highlightBoxClasses()" class="mt-6 p-5 rounded-xl border-l-4 flex items-start gap-4">
54632
+ <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="highlightIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54633
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
54634
+ </svg>
54635
+ <div class="flex-1">
54636
+ <h3 [ngClass]="highlightTitleClasses()" class="font-bold text-lg mb-2">
54637
+ What You'll See Below
54638
+ </h3>
54639
+ <ul [ngClass]="highlightListClasses()" class="space-y-2 text-sm">
54640
+ <li class="flex items-start gap-2">
54641
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
54642
+ <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
54643
+ </svg>
54644
+ <span><strong class="font-semibold">Revenue Target Input</strong> — Set your desired revenue goal for the year, either as an absolute amount or percentage increase</span>
54645
+ </li>
54646
+ <li class="flex items-start gap-2">
54647
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
54648
+ <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
54649
+ </svg>
54650
+ <span><strong class="font-semibold">Automatic Metric Distribution</strong> — See calculated metric improvements needed across your funnel to achieve your revenue target</span>
54651
+ </li>
54652
+ <li class="flex items-start gap-2">
54653
+ <svg class="w-5 h-5 flex-shrink-0 mt-0.5" fill="currentColor" viewBox="0 0 20 20">
54654
+ <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"></path>
54655
+ </svg>
54656
+ <span><strong class="font-semibold">Target Refinement Controls</strong> — Adjust individual metric targets to align with your team's capacity and strategic priorities</span>
54657
+ </li>
54658
+ </ul>
54659
+ </div>
54660
+ </div>
54661
+
54662
+ <div [ngClass]="nextStepsBoxClasses()" class="mt-6 p-5 rounded-xl border flex items-start gap-4">
54663
+ <svg class="w-6 h-6 flex-shrink-0 mt-0.5" [ngClass]="nextStepsIconClasses()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
54664
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
54665
+ </svg>
54666
+ <div class="flex-1">
54667
+ <h3 [ngClass]="nextStepsTitleClasses()" class="font-bold mb-1">
54668
+ This is Just the Beginning
54669
+ </h3>
54670
+ <p [ngClass]="nextStepsTextClasses()" class="text-sm leading-relaxed">
54671
+ {{ getNextStepsMessage() }}
54672
+ </p>
54673
+ </div>
54674
+ </div>
54675
+ </div>
54676
+ </div>
54677
+ </div>
54678
+ </div>
54675
54679
  `
54676
54680
  }]
54677
- }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], dataLoadStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataLoadStatus", required: false }] }], hasTargets: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasTargets", required: false }] }] }); })();
54681
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], dataLoadStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataLoadStatus", required: false }] }], hasTargets: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasTargets", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }] }); })();
54678
54682
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RevenueCalculatorWelcomeBannerComponent, { className: "RevenueCalculatorWelcomeBannerComponent", filePath: "lib/components/revenue-calculator-dashboard/revenue-calculator-welcome-banner.component.ts", lineNumber: 85 }); })();
54679
54683
 
54680
54684
  function calculatePacingStatus(projectedValue, targetValue, increaseBad = false) {
@@ -55260,7 +55264,7 @@ class TargetChangeBadgeComponent {
55260
55264
  }], () => [{ type: i0.ElementRef }], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], percentageChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "percentageChange", required: false }] }], metric: [{ type: i0.Input, args: [{ isSignal: true, alias: "metric", required: false }] }], priorYear: [{ type: i0.Input, args: [{ isSignal: true, alias: "priorYear", required: false }] }], isCompact: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompact", required: false }] }] }); })();
55261
55265
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TargetChangeBadgeComponent, { className: "TargetChangeBadgeComponent", filePath: "lib/components/revenue-calculator-dashboard/target-change-badge.component.ts", lineNumber: 27 }); })();
55262
55266
 
55263
- const _forTrack0$j = ($index, $item) => $item.stageMetric.metric;
55267
+ const _forTrack0$k = ($index, $item) => $item.stageMetric.metric;
55264
55268
  const _forTrack1$3 = ($index, $item) => $item.calc.metric;
55265
55269
  function FunnelMetricsVisualizationComponent_For_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
55266
55270
  i0.ɵɵelementStart(0, "button", 7);
@@ -55776,7 +55780,7 @@ class FunnelMetricsVisualizationComponent {
55776
55780
  i0.ɵɵelementStart(0, "div", 0);
55777
55781
  i0.ɵɵelement(1, "symphiq-tooltip-container");
55778
55782
  i0.ɵɵelementStart(2, "div", 1);
55779
- i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 28, 15, "div", 2, _forTrack0$j);
55783
+ i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 28, 15, "div", 2, _forTrack0$k);
55780
55784
  i0.ɵɵelementEnd()();
55781
55785
  } if (rf & 2) {
55782
55786
  i0.ɵɵadvance(3);
@@ -57588,7 +57592,7 @@ class ProgressToTargetChartComponent {
57588
57592
  }] }); })();
57589
57593
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProgressToTargetChartComponent, { className: "ProgressToTargetChartComponent", filePath: "lib/components/revenue-calculator-dashboard/progress-to-target-chart.component.ts", lineNumber: 66 }); })();
57590
57594
 
57591
- const _forTrack0$i = ($index, $item) => $item.metric;
57595
+ const _forTrack0$j = ($index, $item) => $item.metric;
57592
57596
  function MetricReportModalComponent_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
57593
57597
  i0.ɵɵelementStart(0, "button", 10);
57594
57598
  i0.ɵɵnamespaceSVG();
@@ -57724,7 +57728,7 @@ function MetricReportModalComponent_Conditional_0_Conditional_65_Template(rf, ct
57724
57728
  i0.ɵɵtext(12, "Improve by");
57725
57729
  i0.ɵɵelementEnd()()();
57726
57730
  i0.ɵɵelementStart(13, "tbody");
57727
- i0.ɵɵrepeaterCreate(14, MetricReportModalComponent_Conditional_0_Conditional_65_For_15_Template, 15, 7, "tr", 47, _forTrack0$i);
57731
+ i0.ɵɵrepeaterCreate(14, MetricReportModalComponent_Conditional_0_Conditional_65_For_15_Template, 15, 7, "tr", 47, _forTrack0$j);
57728
57732
  i0.ɵɵelementEnd()()()();
57729
57733
  } if (rf & 2) {
57730
57734
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -59040,22 +59044,23 @@ class MetricReportModalComponent {
59040
59044
 
59041
59045
  const _c0$r = ["absoluteInputRef"];
59042
59046
  const _c1$c = ["percentageInputRef"];
59047
+ const _forTrack0$i = ($index, $item) => $item.id;
59043
59048
  function EditMetricTargetModalComponent_Conditional_0_Conditional_27_Template(rf, ctx) { if (rf & 1) {
59044
59049
  const _r3 = i0.ɵɵgetCurrentView();
59045
59050
  i0.ɵɵelementStart(0, "div", 18);
59046
59051
  i0.ɵɵnamespaceSVG();
59047
59052
  i0.ɵɵelementStart(1, "svg", 19);
59048
- i0.ɵɵelement(2, "path", 32);
59053
+ i0.ɵɵelement(2, "path", 33);
59049
59054
  i0.ɵɵelementEnd();
59050
59055
  i0.ɵɵnamespaceHTML();
59051
- i0.ɵɵelementStart(3, "div")(4, "div", 33)(5, "p", 21);
59056
+ i0.ɵɵelementStart(3, "div")(4, "div", 34)(5, "p", 21);
59052
59057
  i0.ɵɵtext(6, " Current Pace Projection ");
59053
59058
  i0.ɵɵelementEnd();
59054
- i0.ɵɵelementStart(7, "button", 34);
59059
+ i0.ɵɵelementStart(7, "button", 35);
59055
59060
  i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Conditional_27_Template_button_click_7_listener($event) { i0.ɵɵrestoreView(_r3); return i0.ɵɵresetView($event.stopPropagation()); });
59056
59061
  i0.ɵɵnamespaceSVG();
59057
- i0.ɵɵelementStart(8, "svg", 35);
59058
- i0.ɵɵelement(9, "path", 36);
59062
+ i0.ɵɵelementStart(8, "svg", 36);
59063
+ i0.ɵɵelement(9, "path", 37);
59059
59064
  i0.ɵɵelementEnd()()();
59060
59065
  i0.ɵɵnamespaceHTML();
59061
59066
  i0.ɵɵelementStart(10, "p", 22);
@@ -59076,11 +59081,11 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_27_Template(rf
59076
59081
  } }
59077
59082
  function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_1_Template(rf, ctx) { if (rf & 1) {
59078
59083
  const _r4 = i0.ɵɵgetCurrentView();
59079
- i0.ɵɵelementStart(0, "input", 38, 0);
59084
+ i0.ɵɵelementStart(0, "input", 39, 0);
59080
59085
  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); });
59081
59086
  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()); });
59082
59087
  i0.ɵɵelementEnd();
59083
- i0.ɵɵelementStart(2, "span", 39);
59088
+ i0.ɵɵelementStart(2, "span", 40);
59084
59089
  i0.ɵɵtext(3, " % ");
59085
59090
  i0.ɵɵelementEnd();
59086
59091
  } if (rf & 2) {
@@ -59092,10 +59097,10 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional
59092
59097
  } }
59093
59098
  function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_2_Template(rf, ctx) { if (rf & 1) {
59094
59099
  const _r5 = i0.ɵɵgetCurrentView();
59095
- i0.ɵɵelementStart(0, "span", 40);
59100
+ i0.ɵɵelementStart(0, "span", 41);
59096
59101
  i0.ɵɵtext(1, " $ ");
59097
59102
  i0.ɵɵelementEnd();
59098
- i0.ɵɵelementStart(2, "input", 41, 0);
59103
+ i0.ɵɵelementStart(2, "input", 42, 0);
59099
59104
  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); });
59100
59105
  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()); });
59101
59106
  i0.ɵɵelementEnd();
@@ -59108,7 +59113,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional
59108
59113
  } }
59109
59114
  function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional_3_Template(rf, ctx) { if (rf & 1) {
59110
59115
  const _r6 = i0.ɵɵgetCurrentView();
59111
- i0.ɵɵelementStart(0, "input", 42, 0);
59116
+ i0.ɵɵelementStart(0, "input", 43, 0);
59112
59117
  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); });
59113
59118
  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)); });
59114
59119
  i0.ɵɵelementEnd();
@@ -59119,7 +59124,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Conditional
59119
59124
  } }
59120
59125
  function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Template(rf, ctx) { if (rf & 1) {
59121
59126
  i0.ɵɵelementStart(0, "div", 26);
59122
- 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);
59127
+ 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", 38);
59123
59128
  i0.ɵɵelementEnd();
59124
59129
  } if (rf & 2) {
59125
59130
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -59128,11 +59133,11 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_34_Template(rf
59128
59133
  } }
59129
59134
  function EditMetricTargetModalComponent_Conditional_0_Conditional_35_Template(rf, ctx) { if (rf & 1) {
59130
59135
  const _r7 = i0.ɵɵgetCurrentView();
59131
- i0.ɵɵelementStart(0, "div", 26)(1, "input", 43, 1);
59136
+ i0.ɵɵelementStart(0, "div", 26)(1, "input", 44, 1);
59132
59137
  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); });
59133
59138
  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()); });
59134
59139
  i0.ɵɵelementEnd();
59135
- i0.ɵɵelementStart(3, "span", 39);
59140
+ i0.ɵɵelementStart(3, "span", 40);
59136
59141
  i0.ɵɵtext(4, " % ");
59137
59142
  i0.ɵɵelementEnd()();
59138
59143
  } if (rf & 2) {
@@ -59144,7 +59149,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_35_Template(rf
59144
59149
  i0.ɵɵproperty("ngClass", ctx_r1.inputSuffixClasses());
59145
59150
  } }
59146
59151
  function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_7_Template(rf, ctx) { if (rf & 1) {
59147
- i0.ɵɵelementStart(0, "p", 46);
59152
+ i0.ɵɵelementStart(0, "p", 47);
59148
59153
  i0.ɵɵtext(1);
59149
59154
  i0.ɵɵelementEnd();
59150
59155
  } if (rf & 2) {
@@ -59163,7 +59168,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional
59163
59168
  i0.ɵɵtext(0, " -- ");
59164
59169
  } }
59165
59170
  function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_22_Template(rf, ctx) { if (rf & 1) {
59166
- i0.ɵɵelementStart(0, "p", 55);
59171
+ i0.ɵɵelementStart(0, "p", 56);
59167
59172
  i0.ɵɵtext(1);
59168
59173
  i0.ɵɵelementEnd();
59169
59174
  } if (rf & 2) {
@@ -59182,7 +59187,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional
59182
59187
  i0.ɵɵtext(0, " -- ");
59183
59188
  } }
59184
59189
  function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_30_Template(rf, ctx) { if (rf & 1) {
59185
- i0.ɵɵelementStart(0, "p", 55);
59190
+ i0.ɵɵelementStart(0, "p", 56);
59186
59191
  i0.ɵɵtext(1);
59187
59192
  i0.ɵɵelementEnd();
59188
59193
  } if (rf & 2) {
@@ -59201,7 +59206,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional
59201
59206
  i0.ɵɵtext(0, " -- ");
59202
59207
  } }
59203
59208
  function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_14_Template(rf, ctx) { if (rf & 1) {
59204
- i0.ɵɵelementStart(0, "p", 55);
59209
+ i0.ɵɵelementStart(0, "p", 56);
59205
59210
  i0.ɵɵtext(1);
59206
59211
  i0.ɵɵelementEnd();
59207
59212
  } if (rf & 2) {
@@ -59244,7 +59249,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional
59244
59249
  i0.ɵɵtextInterpolate2(" ", ctx_r1.initialGapToClose().percentage > 0 ? "+" : "", "", ctx_r1.formatPercentage(ctx_r1.initialGapToClose().percentage, 1), " ");
59245
59250
  } }
59246
59251
  function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_26_Template(rf, ctx) { if (rf & 1) {
59247
- i0.ɵɵelementStart(0, "p", 55);
59252
+ i0.ɵɵelementStart(0, "p", 56);
59248
59253
  i0.ɵɵconditionalCreate(1, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_26_Conditional_1_Template, 1, 1)(2, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_26_Conditional_2_Template, 1, 2);
59249
59254
  i0.ɵɵelementEnd();
59250
59255
  } if (rf & 2) {
@@ -59255,35 +59260,35 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional
59255
59260
  } }
59256
59261
  function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Template(rf, ctx) { if (rf & 1) {
59257
59262
  const _r8 = i0.ɵɵgetCurrentView();
59258
- i0.ɵɵelementStart(0, "div", 47)(1, "div", 48);
59259
- i0.ɵɵelement(2, "div", 49);
59260
- i0.ɵɵelementStart(3, "span", 50);
59263
+ i0.ɵɵelementStart(0, "div", 48)(1, "div", 49);
59264
+ i0.ɵɵelement(2, "div", 50);
59265
+ i0.ɵɵelementStart(3, "span", 51);
59261
59266
  i0.ɵɵtext(4);
59262
59267
  i0.ɵɵelementEnd();
59263
- i0.ɵɵelement(5, "div", 49);
59268
+ i0.ɵɵelement(5, "div", 50);
59264
59269
  i0.ɵɵelementEnd();
59265
- i0.ɵɵelementStart(6, "div", 51)(7, "div")(8, "p", 52);
59270
+ i0.ɵɵelementStart(6, "div", 52)(7, "div")(8, "p", 53);
59266
59271
  i0.ɵɵtext(9);
59267
59272
  i0.ɵɵelementEnd();
59268
- i0.ɵɵelementStart(10, "div", 53)(11, "p", 54);
59273
+ i0.ɵɵelementStart(10, "div", 54)(11, "p", 55);
59269
59274
  i0.ɵɵconditionalCreate(12, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_12_Template, 1, 1)(13, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_13_Template, 1, 0);
59270
59275
  i0.ɵɵelementEnd();
59271
- i0.ɵɵconditionalCreate(14, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_14_Template, 2, 2, "p", 55);
59276
+ i0.ɵɵconditionalCreate(14, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_14_Template, 2, 2, "p", 56);
59272
59277
  i0.ɵɵelementEnd()();
59273
- i0.ɵɵelementStart(15, "div")(16, "div", 56)(17, "p", 21);
59278
+ i0.ɵɵelementStart(15, "div")(16, "div", 57)(17, "p", 21);
59274
59279
  i0.ɵɵtext(18);
59275
59280
  i0.ɵɵelementEnd();
59276
- i0.ɵɵelementStart(19, "button", 34);
59281
+ i0.ɵɵelementStart(19, "button", 35);
59277
59282
  i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Template_button_click_19_listener($event) { i0.ɵɵrestoreView(_r8); return i0.ɵɵresetView($event.stopPropagation()); });
59278
59283
  i0.ɵɵnamespaceSVG();
59279
- i0.ɵɵelementStart(20, "svg", 35);
59280
- i0.ɵɵelement(21, "path", 36);
59284
+ i0.ɵɵelementStart(20, "svg", 36);
59285
+ i0.ɵɵelement(21, "path", 37);
59281
59286
  i0.ɵɵelementEnd()()();
59282
59287
  i0.ɵɵnamespaceHTML();
59283
- i0.ɵɵelementStart(22, "div", 53)(23, "p", 54);
59288
+ i0.ɵɵelementStart(22, "div", 54)(23, "p", 55);
59284
59289
  i0.ɵɵconditionalCreate(24, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_24_Template, 2, 1)(25, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_25_Template, 1, 0);
59285
59290
  i0.ɵɵelementEnd();
59286
- i0.ɵɵconditionalCreate(26, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_26_Template, 3, 2, "p", 55);
59291
+ i0.ɵɵconditionalCreate(26, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Conditional_26_Template, 3, 2, "p", 56);
59287
59292
  i0.ɵɵelementEnd()()()();
59288
59293
  } if (rf & 2) {
59289
59294
  const ctx_r1 = i0.ɵɵnextContext(3);
@@ -59322,35 +59327,35 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Template(rf
59322
59327
  i0.ɵɵelementStart(0, "div", 27)(1, "div")(2, "p", 21);
59323
59328
  i0.ɵɵtext(3);
59324
59329
  i0.ɵɵelementEnd();
59325
- i0.ɵɵelementStart(4, "div", 44)(5, "p", 45);
59330
+ i0.ɵɵelementStart(4, "div", 45)(5, "p", 46);
59326
59331
  i0.ɵɵtext(6);
59327
59332
  i0.ɵɵelementEnd();
59328
- i0.ɵɵconditionalCreate(7, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_7_Template, 2, 2, "p", 46);
59333
+ i0.ɵɵconditionalCreate(7, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_7_Template, 2, 2, "p", 47);
59329
59334
  i0.ɵɵelementEnd()();
59330
- i0.ɵɵelementStart(8, "div", 47)(9, "div", 48);
59331
- i0.ɵɵelement(10, "div", 49);
59332
- i0.ɵɵelementStart(11, "span", 50);
59335
+ i0.ɵɵelementStart(8, "div", 48)(9, "div", 49);
59336
+ i0.ɵɵelement(10, "div", 50);
59337
+ i0.ɵɵelementStart(11, "span", 51);
59333
59338
  i0.ɵɵtext(12);
59334
59339
  i0.ɵɵelementEnd();
59335
- i0.ɵɵelement(13, "div", 49);
59340
+ i0.ɵɵelement(13, "div", 50);
59336
59341
  i0.ɵɵelementEnd();
59337
- i0.ɵɵelementStart(14, "div", 51)(15, "div")(16, "p", 52);
59342
+ i0.ɵɵelementStart(14, "div", 52)(15, "div")(16, "p", 53);
59338
59343
  i0.ɵɵtext(17);
59339
59344
  i0.ɵɵelementEnd();
59340
- i0.ɵɵelementStart(18, "div", 53)(19, "p", 54);
59345
+ i0.ɵɵelementStart(18, "div", 54)(19, "p", 55);
59341
59346
  i0.ɵɵconditionalCreate(20, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_20_Template, 1, 1)(21, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_21_Template, 1, 0);
59342
59347
  i0.ɵɵelementEnd();
59343
- i0.ɵɵconditionalCreate(22, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_22_Template, 2, 2, "p", 55);
59348
+ i0.ɵɵconditionalCreate(22, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_22_Template, 2, 2, "p", 56);
59344
59349
  i0.ɵɵelementEnd()();
59345
- i0.ɵɵelementStart(23, "div")(24, "p", 52);
59350
+ i0.ɵɵelementStart(23, "div")(24, "p", 53);
59346
59351
  i0.ɵɵtext(25);
59347
59352
  i0.ɵɵelementEnd();
59348
- i0.ɵɵelementStart(26, "div", 53)(27, "p", 54);
59353
+ i0.ɵɵelementStart(26, "div", 54)(27, "p", 55);
59349
59354
  i0.ɵɵconditionalCreate(28, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_28_Template, 1, 2)(29, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_29_Template, 1, 0);
59350
59355
  i0.ɵɵelementEnd();
59351
- i0.ɵɵconditionalCreate(30, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_30_Template, 2, 3, "p", 55);
59356
+ i0.ɵɵconditionalCreate(30, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_30_Template, 2, 3, "p", 56);
59352
59357
  i0.ɵɵelementEnd()()()();
59353
- i0.ɵɵconditionalCreate(31, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Template, 27, 16, "div", 47);
59358
+ i0.ɵɵconditionalCreate(31, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Conditional_31_Template, 27, 16, "div", 48);
59354
59359
  i0.ɵɵelementEnd();
59355
59360
  } if (rf & 2) {
59356
59361
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -59396,10 +59401,112 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Template(rf
59396
59401
  i0.ɵɵadvance();
59397
59402
  i0.ɵɵconditional(ctx_r1.currentPaceProjectionRaw() > 0 ? 31 : -1);
59398
59403
  } }
59399
- function EditMetricTargetModalComponent_Conditional_0_Conditional_40_Template(rf, ctx) { if (rf & 1) {
59400
- const _r9 = i0.ɵɵgetCurrentView();
59401
- i0.ɵɵelementStart(0, "button", 29);
59402
- 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()); });
59404
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
59405
+ i0.ɵɵelement(0, "img", 68);
59406
+ } if (rf & 2) {
59407
+ const user_r9 = i0.ɵɵnextContext();
59408
+ const ctx_r1 = i0.ɵɵnextContext(4);
59409
+ i0.ɵɵproperty("src", user_r9.avatarImg, i0.ɵɵsanitizeUrl)("alt", ctx_r1.getUserDisplayName(user_r9));
59410
+ } }
59411
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
59412
+ i0.ɵɵtext(0);
59413
+ } if (rf & 2) {
59414
+ const user_r9 = i0.ɵɵnextContext();
59415
+ const ctx_r1 = i0.ɵɵnextContext(4);
59416
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.getUserInitial(user_r9), " ");
59417
+ } }
59418
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_2_Template(rf, ctx) { if (rf & 1) {
59419
+ i0.ɵɵelementStart(0, "div", 67);
59420
+ i0.ɵɵconditionalCreate(1, EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_2_Conditional_1_Template, 1, 2, "img", 68)(2, EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_2_Conditional_2_Template, 1, 1);
59421
+ i0.ɵɵelementEnd();
59422
+ i0.ɵɵelementStart(3, "div")(4, "p", 69);
59423
+ i0.ɵɵtext(5);
59424
+ i0.ɵɵelementEnd();
59425
+ i0.ɵɵelementStart(6, "p", 66);
59426
+ i0.ɵɵtext(7);
59427
+ i0.ɵɵelementEnd()();
59428
+ } if (rf & 2) {
59429
+ const user_r9 = ctx;
59430
+ const ctx_r1 = i0.ɵɵnextContext(4);
59431
+ i0.ɵɵproperty("ngClass", ctx_r1.avatarClasses());
59432
+ i0.ɵɵadvance();
59433
+ i0.ɵɵconditional(user_r9.avatarImg ? 1 : 2);
59434
+ i0.ɵɵadvance(3);
59435
+ i0.ɵɵproperty("ngClass", ctx_r1.historyUserNameClasses());
59436
+ i0.ɵɵadvance();
59437
+ i0.ɵɵtextInterpolate(ctx_r1.getUserDisplayName(user_r9));
59438
+ i0.ɵɵadvance();
59439
+ i0.ɵɵproperty("ngClass", ctx_r1.historyUserEmailClasses());
59440
+ i0.ɵɵadvance();
59441
+ i0.ɵɵtextInterpolate(user_r9.email);
59442
+ } }
59443
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_3_Template(rf, ctx) { if (rf & 1) {
59444
+ i0.ɵɵelementStart(0, "div", 70);
59445
+ i0.ɵɵtext(1, " ? ");
59446
+ i0.ɵɵelementEnd();
59447
+ i0.ɵɵelementStart(2, "div")(3, "p", 69);
59448
+ i0.ɵɵtext(4, "Unknown User");
59449
+ i0.ɵɵelementEnd()();
59450
+ } if (rf & 2) {
59451
+ const ctx_r1 = i0.ɵɵnextContext(4);
59452
+ i0.ɵɵproperty("ngClass", ctx_r1.avatarClasses());
59453
+ i0.ɵɵadvance(3);
59454
+ i0.ɵɵproperty("ngClass", ctx_r1.historyUserNameClasses());
59455
+ } }
59456
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Template(rf, ctx) { if (rf & 1) {
59457
+ i0.ɵɵelementStart(0, "div", 62)(1, "div", 63);
59458
+ i0.ɵɵconditionalCreate(2, EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_2_Template, 8, 6)(3, EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_3_Template, 5, 2);
59459
+ i0.ɵɵelementEnd();
59460
+ i0.ɵɵelementStart(4, "div", 64)(5, "p", 65);
59461
+ i0.ɵɵtext(6);
59462
+ i0.ɵɵelementEnd();
59463
+ i0.ɵɵelementStart(7, "p", 66);
59464
+ i0.ɵɵtext(8);
59465
+ i0.ɵɵelementEnd()()();
59466
+ } if (rf & 2) {
59467
+ let tmp_12_0;
59468
+ const history_r10 = ctx.$implicit;
59469
+ const ctx_r1 = i0.ɵɵnextContext(3);
59470
+ i0.ɵɵadvance(2);
59471
+ i0.ɵɵconditional((tmp_12_0 = ctx_r1.getUserById(history_r10.creatorUserId)) ? 2 : 3, tmp_12_0);
59472
+ i0.ɵɵadvance(3);
59473
+ i0.ɵɵproperty("ngClass", ctx_r1.historyValueClasses());
59474
+ i0.ɵɵadvance();
59475
+ i0.ɵɵtextInterpolate(ctx_r1.formatHistoryValue(history_r10.amount ?? 0));
59476
+ i0.ɵɵadvance();
59477
+ i0.ɵɵproperty("ngClass", ctx_r1.historyDateClasses());
59478
+ i0.ɵɵadvance();
59479
+ i0.ɵɵtextInterpolate(ctx_r1.formatHistoryDate(history_r10.createdDate));
59480
+ } }
59481
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_37_Template(rf, ctx) { if (rf & 1) {
59482
+ i0.ɵɵelementStart(0, "div", 28)(1, "h4", 58);
59483
+ i0.ɵɵtext(2, "Target history");
59484
+ i0.ɵɵelementEnd();
59485
+ i0.ɵɵelementStart(3, "div", 59)(4, "div", 60)(5, "span");
59486
+ i0.ɵɵtext(6, "User");
59487
+ i0.ɵɵelementEnd();
59488
+ i0.ɵɵelementStart(7, "span");
59489
+ i0.ɵɵtext(8, "Amount set");
59490
+ i0.ɵɵelementEnd()();
59491
+ i0.ɵɵelementStart(9, "div", 61);
59492
+ i0.ɵɵrepeaterCreate(10, EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Template, 9, 5, "div", 62, _forTrack0$i);
59493
+ i0.ɵɵelementEnd()()();
59494
+ } if (rf & 2) {
59495
+ const ctx_r1 = i0.ɵɵnextContext(2);
59496
+ i0.ɵɵproperty("ngClass", ctx_r1.historyContainerClasses());
59497
+ i0.ɵɵadvance();
59498
+ i0.ɵɵproperty("ngClass", ctx_r1.historyTitleClasses());
59499
+ i0.ɵɵadvance(3);
59500
+ i0.ɵɵproperty("ngClass", ctx_r1.historyHeaderClasses());
59501
+ i0.ɵɵadvance(5);
59502
+ i0.ɵɵproperty("ngClass", ctx_r1.historyDividerClasses());
59503
+ i0.ɵɵadvance();
59504
+ i0.ɵɵrepeater(ctx_r1.filteredHistories());
59505
+ } }
59506
+ function EditMetricTargetModalComponent_Conditional_0_Conditional_41_Template(rf, ctx) { if (rf & 1) {
59507
+ const _r11 = i0.ɵɵgetCurrentView();
59508
+ i0.ɵɵelementStart(0, "button", 30);
59509
+ i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Conditional_41_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.resetToInitial()); });
59403
59510
  i0.ɵɵtext(1, " Reset ");
59404
59511
  i0.ɵɵelementEnd();
59405
59512
  } if (rf & 2) {
@@ -59453,15 +59560,17 @@ function EditMetricTargetModalComponent_Conditional_0_Template(rf, ctx) { if (rf
59453
59560
  i0.ɵɵconditionalCreate(34, EditMetricTargetModalComponent_Conditional_0_Conditional_34_Template, 4, 1, "div", 26)(35, EditMetricTargetModalComponent_Conditional_0_Conditional_35_Template, 5, 3, "div", 26);
59454
59561
  i0.ɵɵelementEnd()();
59455
59562
  i0.ɵɵconditionalCreate(36, EditMetricTargetModalComponent_Conditional_0_Conditional_36_Template, 32, 22, "div", 27);
59456
- i0.ɵɵelementEnd()();
59457
- i0.ɵɵelementStart(37, "div", 28)(38, "button", 29);
59458
- 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()); });
59459
- i0.ɵɵtext(39, " Cancel ");
59460
59563
  i0.ɵɵelementEnd();
59461
- i0.ɵɵconditionalCreate(40, EditMetricTargetModalComponent_Conditional_0_Conditional_40_Template, 2, 1, "button", 30);
59462
- i0.ɵɵelementStart(41, "button", 31);
59463
- 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()); });
59464
- i0.ɵɵtext(42, " Apply Target ");
59564
+ i0.ɵɵconditionalCreate(37, EditMetricTargetModalComponent_Conditional_0_Conditional_37_Template, 12, 4, "div", 28);
59565
+ i0.ɵɵelementEnd();
59566
+ i0.ɵɵelementStart(38, "div", 29)(39, "button", 30);
59567
+ i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Template_button_click_39_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.close()); });
59568
+ i0.ɵɵtext(40, " Cancel ");
59569
+ i0.ɵɵelementEnd();
59570
+ i0.ɵɵconditionalCreate(41, EditMetricTargetModalComponent_Conditional_0_Conditional_41_Template, 2, 1, "button", 31);
59571
+ i0.ɵɵelementStart(42, "button", 32);
59572
+ i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Template_button_click_42_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.applyTarget()); });
59573
+ i0.ɵɵtext(43, " Apply Target ");
59465
59574
  i0.ɵɵelementEnd()()()()();
59466
59575
  } if (rf & 2) {
59467
59576
  const ctx_r1 = i0.ɵɵnextContext();
@@ -59504,11 +59613,13 @@ function EditMetricTargetModalComponent_Conditional_0_Template(rf, ctx) { if (rf
59504
59613
  i0.ɵɵadvance(2);
59505
59614
  i0.ɵɵconditional(ctx_r1.calculatedTarget() > 0 ? 36 : -1);
59506
59615
  i0.ɵɵadvance();
59616
+ i0.ɵɵconditional(ctx_r1.filteredHistories().length > 0 ? 37 : -1);
59617
+ i0.ɵɵadvance();
59507
59618
  i0.ɵɵproperty("ngClass", ctx_r1.footerClasses());
59508
59619
  i0.ɵɵadvance();
59509
59620
  i0.ɵɵproperty("ngClass", ctx_r1.cancelButtonClasses());
59510
59621
  i0.ɵɵadvance(2);
59511
- i0.ɵɵconditional(ctx_r1.hasChangedFromInitial() ? 40 : -1);
59622
+ i0.ɵɵconditional(ctx_r1.hasChangedFromInitial() ? 41 : -1);
59512
59623
  i0.ɵɵadvance();
59513
59624
  i0.ɵɵproperty("disabled", !ctx_r1.isTargetValid() || !ctx_r1.hasChangedFromInitial())("ngClass", ctx_r1.applyButtonClasses());
59514
59625
  } }
@@ -59519,6 +59630,8 @@ class EditMetricTargetModalComponent {
59519
59630
  this.isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
59520
59631
  this.metricData = input(undefined, ...(ngDevMode ? [{ debugName: "metricData" }] : []));
59521
59632
  this.pacingMetrics = input(undefined, ...(ngDevMode ? [{ debugName: "pacingMetrics" }] : []));
59633
+ this.targetHistories = input([], ...(ngDevMode ? [{ debugName: "targetHistories" }] : []));
59634
+ this.users = input([], ...(ngDevMode ? [{ debugName: "users" }] : []));
59522
59635
  this.closed = output();
59523
59636
  this.targetApplied = output();
59524
59637
  this.Math = Math;
@@ -59704,6 +59817,11 @@ class EditMetricTargetModalComponent {
59704
59817
  markdown: 'This percentage represents the additional improvement required beyond your current projected pace to reach your target. It shows how much more change is needed to close the gap between your projected performance and your goal.'
59705
59818
  };
59706
59819
  }, ...(ngDevMode ? [{ debugName: "gapTooltip" }] : []));
59820
+ this.filteredHistories = computed(() => {
59821
+ return this.targetHistories()
59822
+ .slice()
59823
+ .sort((a, b) => new Date(b.createdDate ?? 0).getTime() - new Date(a.createdDate ?? 0).getTime());
59824
+ }, ...(ngDevMode ? [{ debugName: "filteredHistories" }] : []));
59707
59825
  this.currentPaceProjectionTooltip = {
59708
59826
  title: 'Current Pace Projection',
59709
59827
  markdown: 'This is your projected year-end value based on your current performance trends. It extrapolates your year-to-date results to estimate where you will finish the year if you maintain your current pace.'
@@ -59788,6 +59906,38 @@ class EditMetricTargetModalComponent {
59788
59906
  this.percentageInputRef.nativeElement.focus();
59789
59907
  }
59790
59908
  }
59909
+ getUserById(userId) {
59910
+ if (!userId)
59911
+ return undefined;
59912
+ return this.users().find(u => u.id === userId);
59913
+ }
59914
+ getUserDisplayName(user) {
59915
+ if (user.firstName && user.lastName) {
59916
+ return `${user.firstName} ${user.lastName}`;
59917
+ }
59918
+ if (user.firstName) {
59919
+ return user.firstName;
59920
+ }
59921
+ return user.email || 'Unknown User';
59922
+ }
59923
+ getUserInitial(user) {
59924
+ if (user.firstName) {
59925
+ return user.firstName.charAt(0).toUpperCase();
59926
+ }
59927
+ if (user.email) {
59928
+ return user.email.charAt(0).toUpperCase();
59929
+ }
59930
+ return '?';
59931
+ }
59932
+ formatHistoryDate(date) {
59933
+ if (!date)
59934
+ return '';
59935
+ const d = new Date(date);
59936
+ return d.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
59937
+ }
59938
+ formatHistoryValue(value) {
59939
+ return this.formatMetricValue(value, false);
59940
+ }
59791
59941
  onEscape() {
59792
59942
  if (this.isOpen()) {
59793
59943
  this.close();
@@ -60056,6 +60206,51 @@ class EditMetricTargetModalComponent {
60056
60206
  ? 'text-purple-400/70'
60057
60207
  : 'text-purple-500/70';
60058
60208
  }
60209
+ historyContainerClasses() {
60210
+ return this.viewMode() === ViewModeEnum.DARK
60211
+ ? 'bg-slate-800/50 border-slate-700/50'
60212
+ : 'bg-slate-50 border-slate-200';
60213
+ }
60214
+ historyTitleClasses() {
60215
+ return this.viewMode() === ViewModeEnum.DARK
60216
+ ? 'text-white'
60217
+ : 'text-slate-900';
60218
+ }
60219
+ historyHeaderClasses() {
60220
+ return this.viewMode() === ViewModeEnum.DARK
60221
+ ? 'text-slate-400'
60222
+ : 'text-slate-500';
60223
+ }
60224
+ historyDividerClasses() {
60225
+ return this.viewMode() === ViewModeEnum.DARK
60226
+ ? 'divide-slate-700/50'
60227
+ : 'divide-slate-200';
60228
+ }
60229
+ avatarClasses() {
60230
+ return this.viewMode() === ViewModeEnum.DARK
60231
+ ? 'bg-slate-700 text-slate-300'
60232
+ : 'bg-slate-200 text-slate-600';
60233
+ }
60234
+ historyUserNameClasses() {
60235
+ return this.viewMode() === ViewModeEnum.DARK
60236
+ ? 'text-white'
60237
+ : 'text-slate-900';
60238
+ }
60239
+ historyUserEmailClasses() {
60240
+ return this.viewMode() === ViewModeEnum.DARK
60241
+ ? 'text-slate-400'
60242
+ : 'text-slate-500';
60243
+ }
60244
+ historyValueClasses() {
60245
+ return this.viewMode() === ViewModeEnum.DARK
60246
+ ? 'text-purple-400'
60247
+ : 'text-purple-600';
60248
+ }
60249
+ historyDateClasses() {
60250
+ return this.viewMode() === ViewModeEnum.DARK
60251
+ ? 'text-slate-400'
60252
+ : 'text-slate-500';
60253
+ }
60059
60254
  static { this.ɵfac = function EditMetricTargetModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || EditMetricTargetModalComponent)(i0.ɵɵdirectiveInject(i0.Injector)); }; }
60060
60255
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EditMetricTargetModalComponent, selectors: [["symphiq-edit-metric-target-modal"]], viewQuery: function EditMetricTargetModalComponent_Query(rf, ctx) { if (rf & 1) {
60061
60256
  i0.ɵɵviewQuery(_c0$r, 5);
@@ -60066,8 +60261,8 @@ class EditMetricTargetModalComponent {
60066
60261
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
60067
60262
  } }, hostBindings: function EditMetricTargetModalComponent_HostBindings(rf, ctx) { if (rf & 1) {
60068
60263
  i0.ɵɵlistener("keydown.escape", function EditMetricTargetModalComponent_keydown_escape_HostBindingHandler() { return ctx.onEscape(); }, i0.ɵɵresolveDocument);
60069
- } }, 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, "flex", "items-baseline", "gap-2"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-base", "line-through", "opacity-60", 3, "ngClass"], [1, "flex", "items-center", "gap-1", "mb-1"]], template: function EditMetricTargetModalComponent_Template(rf, ctx) { if (rf & 1) {
60070
- i0.ɵɵconditionalCreate(0, EditMetricTargetModalComponent_Conditional_0_Template, 43, 28);
60264
+ } }, inputs: { viewMode: [1, "viewMode"], isOpen: [1, "isOpen"], metricData: [1, "metricData"], pacingMetrics: [1, "pacingMetrics"], targetHistories: [1, "targetHistories"], users: [1, "users"] }, 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, "mt-6", "p-6", "rounded-xl", "border", 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, "flex", "items-baseline", "gap-2"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-base", "line-through", "opacity-60", 3, "ngClass"], [1, "flex", "items-center", "gap-1", "mb-1"], [1, "text-base", "font-semibold", "mb-4", 3, "ngClass"], [1, "overflow-hidden"], [1, "flex", "justify-between", "items-center", "px-4", "py-2", "text-xs", "font-medium", "uppercase", "tracking-wider", 3, "ngClass"], [1, "divide-y", 3, "ngClass"], [1, "flex", "justify-between", "items-center", "px-4", "py-4"], [1, "flex", "items-center", "gap-3"], [1, "text-right"], [1, "text-sm", "font-bold", 3, "ngClass"], [1, "text-xs", 3, "ngClass"], [1, "w-10", "h-10", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-medium", "overflow-hidden", 3, "ngClass"], [1, "w-full", "h-full", "object-cover", 3, "src", "alt"], [1, "text-sm", "font-medium", 3, "ngClass"], [1, "w-10", "h-10", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-medium", 3, "ngClass"]], template: function EditMetricTargetModalComponent_Template(rf, ctx) { if (rf & 1) {
60265
+ i0.ɵɵconditionalCreate(0, EditMetricTargetModalComponent_Conditional_0_Template, 44, 29);
60071
60266
  } if (rf & 2) {
60072
60267
  i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
60073
60268
  } }, 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: [
@@ -60418,6 +60613,50 @@ class EditMetricTargetModalComponent {
60418
60613
  </div>
60419
60614
  }
60420
60615
  </div>
60616
+
60617
+ @if (filteredHistories().length > 0) {
60618
+ <div [ngClass]="historyContainerClasses()" class="mt-6 p-6 rounded-xl border">
60619
+ <h4 [ngClass]="historyTitleClasses()" class="text-base font-semibold mb-4">Target history</h4>
60620
+ <div class="overflow-hidden">
60621
+ <div [ngClass]="historyHeaderClasses()" class="flex justify-between items-center px-4 py-2 text-xs font-medium uppercase tracking-wider">
60622
+ <span>User</span>
60623
+ <span>Amount set</span>
60624
+ </div>
60625
+ <div class="divide-y" [ngClass]="historyDividerClasses()">
60626
+ @for (history of filteredHistories(); track history.id) {
60627
+ <div class="flex justify-between items-center px-4 py-4">
60628
+ <div class="flex items-center gap-3">
60629
+ @if (getUserById(history.creatorUserId); as user) {
60630
+ <div [ngClass]="avatarClasses()" class="w-10 h-10 rounded-full flex items-center justify-center text-sm font-medium overflow-hidden">
60631
+ @if (user.avatarImg) {
60632
+ <img [src]="user.avatarImg" [alt]="getUserDisplayName(user)" class="w-full h-full object-cover">
60633
+ } @else {
60634
+ {{ getUserInitial(user) }}
60635
+ }
60636
+ </div>
60637
+ <div>
60638
+ <p [ngClass]="historyUserNameClasses()" class="text-sm font-medium">{{ getUserDisplayName(user) }}</p>
60639
+ <p [ngClass]="historyUserEmailClasses()" class="text-xs">{{ user.email }}</p>
60640
+ </div>
60641
+ } @else {
60642
+ <div [ngClass]="avatarClasses()" class="w-10 h-10 rounded-full flex items-center justify-center text-sm font-medium">
60643
+ ?
60644
+ </div>
60645
+ <div>
60646
+ <p [ngClass]="historyUserNameClasses()" class="text-sm font-medium">Unknown User</p>
60647
+ </div>
60648
+ }
60649
+ </div>
60650
+ <div class="text-right">
60651
+ <p [ngClass]="historyValueClasses()" class="text-sm font-bold">{{ formatHistoryValue(history.amount ?? 0) }}</p>
60652
+ <p [ngClass]="historyDateClasses()" class="text-xs">{{ formatHistoryDate(history.createdDate) }}</p>
60653
+ </div>
60654
+ </div>
60655
+ }
60656
+ </div>
60657
+ </div>
60658
+ </div>
60659
+ }
60421
60660
  </div>
60422
60661
 
60423
60662
  <div [ngClass]="footerClasses()" class="px-6 py-4 border-t flex justify-end gap-3">
@@ -60458,11 +60697,11 @@ class EditMetricTargetModalComponent {
60458
60697
  }], percentageInputRef: [{
60459
60698
  type: ViewChild,
60460
60699
  args: ['percentageInputRef']
60461
- }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], metricData: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricData", required: false }] }], pacingMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingMetrics", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], targetApplied: [{ type: i0.Output, args: ["targetApplied"] }], onEscape: [{
60700
+ }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], metricData: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricData", required: false }] }], pacingMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingMetrics", required: false }] }], targetHistories: [{ type: i0.Input, args: [{ isSignal: true, alias: "targetHistories", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], targetApplied: [{ type: i0.Output, args: ["targetApplied"] }], onEscape: [{
60462
60701
  type: HostListener,
60463
60702
  args: ['document:keydown.escape']
60464
60703
  }] }); })();
60465
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditMetricTargetModalComponent, { className: "EditMetricTargetModalComponent", filePath: "lib/components/revenue-calculator-dashboard/edit-metric-target-modal.component.ts", lineNumber: 379 }); })();
60704
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditMetricTargetModalComponent, { className: "EditMetricTargetModalComponent", filePath: "lib/components/revenue-calculator-dashboard/edit-metric-target-modal.component.ts", lineNumber: 423 }); })();
60466
60705
 
60467
60706
  const _c0$q = ["absoluteInputRef"];
60468
60707
  const _c1$b = ["percentageInputRef"];
@@ -60932,6 +61171,8 @@ class InitialTargetSettingComponent {
60932
61171
  this.calculateRevenueResponse = input(undefined, ...(ngDevMode ? [{ debugName: "calculateRevenueResponse" }] : []));
60933
61172
  this.isCalculatingTargets = input(false, ...(ngDevMode ? [{ debugName: "isCalculatingTargets" }] : []));
60934
61173
  this.targets = input(undefined, ...(ngDevMode ? [{ debugName: "targets" }] : []));
61174
+ this.targetHistories = input([], ...(ngDevMode ? [{ debugName: "targetHistories" }] : []));
61175
+ this.users = input([], ...(ngDevMode ? [{ debugName: "users" }] : []));
60935
61176
  this.targetsCreated = output();
60936
61177
  this.calculateRevenueReverseRequest = output();
60937
61178
  this.calculateRevenueRequest = output();
@@ -61706,6 +61947,7 @@ class InitialTargetSettingComponent {
61706
61947
  }
61707
61948
  this.targetsUpdated.emit(changedTargets);
61708
61949
  this.pendingTargetChanges.set(new Map());
61950
+ this.storedCalculateResponse.set(null);
61709
61951
  }
61710
61952
  this.saveTargetsClick.emit();
61711
61953
  }
@@ -61742,7 +61984,7 @@ class InitialTargetSettingComponent {
61742
61984
  let _t;
61743
61985
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
61744
61986
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
61745
- } }, inputs: { viewMode: [1, "viewMode"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], trendUiData: [1, "trendUiData"], shopId: [1, "shopId"], pacingMetrics: [1, "pacingMetrics"], dataResults: [1, "dataResults"], calculateRevenueReverseResponse: [1, "calculateRevenueReverseResponse"], calculateRevenueResponse: [1, "calculateRevenueResponse"], isCalculatingTargets: [1, "isCalculatingTargets"], targets: [1, "targets"] }, outputs: { targetsCreated: "targetsCreated", calculateRevenueReverseRequest: "calculateRevenueReverseRequest", 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", "!mb-0", 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, "flex", "items-baseline", "gap-2"], [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, "w-5", "h-5", "border-2", "border-t-transparent", "rounded-full", "animate-spin", 3, "ngClass"], [1, "text-lg", "font-medium", 3, "ngClass"], [1, "font-bold", "transition-all", "duration-300", "text-lg", 3, "ngClass"], [1, "text-base", "line-through", "opacity-60", 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", "isCalculatingTargets"], [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) {
61987
+ } }, inputs: { viewMode: [1, "viewMode"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], trendUiData: [1, "trendUiData"], shopId: [1, "shopId"], pacingMetrics: [1, "pacingMetrics"], dataResults: [1, "dataResults"], calculateRevenueReverseResponse: [1, "calculateRevenueReverseResponse"], calculateRevenueResponse: [1, "calculateRevenueResponse"], isCalculatingTargets: [1, "isCalculatingTargets"], targets: [1, "targets"], targetHistories: [1, "targetHistories"], users: [1, "users"] }, outputs: { targetsCreated: "targetsCreated", calculateRevenueReverseRequest: "calculateRevenueReverseRequest", calculateRevenueRequest: "calculateRevenueRequest", editRelatedMetricTarget: "editRelatedMetricTarget", saveTargetsClick: "saveTargetsClick", discardChangesClick: "discardChangesClick", targetsUpdated: "targetsUpdated" }, decls: 45, vars: 53, 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", "!mb-0", 3, "ngClass"], [3, "closed", "viewMode", "metricEnum", "metricData", "contributingMetrics", "pacingMetrics", "trendChartData", "isOpen"], [3, "closed", "targetApplied", "viewMode", "metricData", "pacingMetrics", "targetHistories", "users", "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, "flex", "items-baseline", "gap-2"], [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, "w-5", "h-5", "border-2", "border-t-transparent", "rounded-full", "animate-spin", 3, "ngClass"], [1, "text-lg", "font-medium", 3, "ngClass"], [1, "font-bold", "transition-all", "duration-300", "text-lg", 3, "ngClass"], [1, "text-base", "line-through", "opacity-60", 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", "isCalculatingTargets"], [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) {
61746
61988
  i0.ɵɵelementStart(0, "div", 2);
61747
61989
  i0.ɵɵelement(1, "symphiq-tooltip-container");
61748
61990
  i0.ɵɵelementStart(2, "div", 3);
@@ -61848,7 +62090,7 @@ class InitialTargetSettingComponent {
61848
62090
  i0.ɵɵadvance();
61849
62091
  i0.ɵɵproperty("viewMode", ctx.viewMode())("metricEnum", ctx.selectedMetricEnum())("metricData", ctx.selectedMetricData())("contributingMetrics", ctx.selectedContributingMetrics())("pacingMetrics", ctx.pacingMetrics())("trendChartData", ctx.revenueChartData())("isOpen", ctx.isMetricReportOpen());
61850
62092
  i0.ɵɵadvance();
61851
- i0.ɵɵproperty("viewMode", ctx.viewMode())("metricData", ctx.editMetricData())("pacingMetrics", ctx.pacingMetrics())("isOpen", ctx.isEditMetricModalOpen());
62093
+ i0.ɵɵproperty("viewMode", ctx.viewMode())("metricData", ctx.editMetricData())("pacingMetrics", ctx.pacingMetrics())("targetHistories", ctx.targetHistories())("users", ctx.users())("isOpen", ctx.isEditMetricModalOpen());
61852
62094
  } }, dependencies: [CommonModule, i1$1.NgClass, FormsModule, i2$1.DefaultValueAccessor, i2$1.NumberValueAccessor, i2$1.NgControlStatus, i2$1.MinValidator, i2$1.MaxValidator, i2$1.NgModel, FunnelMetricsVisualizationComponent,
61853
62095
  StickySubmitBarComponent,
61854
62096
  AreaChartComponent,
@@ -62302,6 +62544,8 @@ class InitialTargetSettingComponent {
62302
62544
  [viewMode]="viewMode()"
62303
62545
  [metricData]="editMetricData()"
62304
62546
  [pacingMetrics]="pacingMetrics()"
62547
+ [targetHistories]="targetHistories()"
62548
+ [users]="users()"
62305
62549
  [isOpen]="isEditMetricModalOpen()"
62306
62550
  (closed)="closeEditMetricModal()"
62307
62551
  (targetApplied)="onEditMetricTargetApplied($event)"
@@ -62314,8 +62558,8 @@ class InitialTargetSettingComponent {
62314
62558
  }], percentageInputRef: [{
62315
62559
  type: ViewChild,
62316
62560
  args: ['percentageInputRef']
62317
- }], 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 }] }], calculateRevenueReverseResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculateRevenueReverseResponse", required: false }] }], calculateRevenueResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculateRevenueResponse", required: false }] }], isCalculatingTargets: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCalculatingTargets", required: false }] }], targets: [{ type: i0.Input, args: [{ isSignal: true, alias: "targets", required: false }] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], calculateRevenueReverseRequest: [{ type: i0.Output, args: ["calculateRevenueReverseRequest"] }], 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"] }] }); })();
62318
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 595 }); })();
62561
+ }], 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 }] }], calculateRevenueReverseResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculateRevenueReverseResponse", required: false }] }], calculateRevenueResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculateRevenueResponse", required: false }] }], isCalculatingTargets: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCalculatingTargets", required: false }] }], targets: [{ type: i0.Input, args: [{ isSignal: true, alias: "targets", required: false }] }], targetHistories: [{ type: i0.Input, args: [{ isSignal: true, alias: "targetHistories", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], calculateRevenueReverseRequest: [{ type: i0.Output, args: ["calculateRevenueReverseRequest"] }], 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"] }] }); })();
62562
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 599 }); })();
62319
62563
 
62320
62564
  function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {
62321
62565
  i0.ɵɵelement(0, "div", 5);
@@ -62454,7 +62698,7 @@ class IndeterminateSpinnerComponent {
62454
62698
  const _c0$p = () => [];
62455
62699
  function SymphiqRevenueCalculatorDashboardComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
62456
62700
  i0.ɵɵelementStart(0, "div", 12);
62457
- i0.ɵɵelement(1, "symphiq-indeterminate-spinner", 13);
62701
+ i0.ɵɵelement(1, "symphiq-indeterminate-spinner", 14);
62458
62702
  i0.ɵɵelementEnd();
62459
62703
  } if (rf & 2) {
62460
62704
  const ctx_r0 = i0.ɵɵnextContext();
@@ -62462,13 +62706,13 @@ function SymphiqRevenueCalculatorDashboardComponent_Conditional_23_Template(rf,
62462
62706
  i0.ɵɵproperty("viewMode", ctx_r0.viewMode());
62463
62707
  } }
62464
62708
  function SymphiqRevenueCalculatorDashboardComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
62465
- i0.ɵɵelement(0, "symphiq-revenue-calculator-welcome-banner", 14);
62466
- i0.ɵɵelementStart(1, "div", 15)(2, "div", 16)(3, "div", 17);
62467
- i0.ɵɵelement(4, "symphiq-indeterminate-spinner", 13);
62468
- i0.ɵɵelementStart(5, "div", 18)(6, "h3", 19);
62709
+ i0.ɵɵelement(0, "symphiq-revenue-calculator-welcome-banner", 15);
62710
+ i0.ɵɵelementStart(1, "div", 16)(2, "div", 17)(3, "div", 18);
62711
+ i0.ɵɵelement(4, "symphiq-indeterminate-spinner", 14);
62712
+ i0.ɵɵelementStart(5, "div", 19)(6, "h3", 20);
62469
62713
  i0.ɵɵtext(7, " Downloading Your Google Analytics 4 Data ");
62470
62714
  i0.ɵɵelementEnd();
62471
- i0.ɵɵelementStart(8, "p", 20);
62715
+ i0.ɵɵelementStart(8, "p", 21);
62472
62716
  i0.ɵɵtext(9, " Symphiq is fetching your historical metrics to establish baseline performance. This may take a moment as we gather your funnel data. ");
62473
62717
  i0.ɵɵelementEnd()()()()();
62474
62718
  } if (rf & 2) {
@@ -62487,15 +62731,35 @@ function SymphiqRevenueCalculatorDashboardComponent_Conditional_24_Template(rf,
62487
62731
  } }
62488
62732
  function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
62489
62733
  const _r2 = i0.ɵɵgetCurrentView();
62490
- i0.ɵɵelement(0, "symphiq-revenue-calculator-welcome-banner", 14);
62491
- i0.ɵɵelementStart(1, "div", 21)(2, "symphiq-initial-target-setting", 22);
62734
+ i0.ɵɵelement(0, "symphiq-revenue-calculator-welcome-banner", 22);
62735
+ i0.ɵɵelementStart(1, "div", 23)(2, "symphiq-initial-target-setting", 24);
62492
62736
  i0.ɵɵlistener("targetsCreated", function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template_symphiq_initial_target_setting_targetsCreated_2_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onTargetsCreated($event)); })("calculateRevenueReverseRequest", function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template_symphiq_initial_target_setting_calculateRevenueReverseRequest_2_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.calculateRevenueReverseRequest.emit($event)); })("calculateRevenueRequest", function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template_symphiq_initial_target_setting_calculateRevenueRequest_2_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onCalculateRevenueRequest($event)); })("editRelatedMetricTarget", function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template_symphiq_initial_target_setting_editRelatedMetricTarget_2_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.editRelatedMetricTarget.emit($event)); })("saveTargetsClick", function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template_symphiq_initial_target_setting_saveTargetsClick_2_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.saveTargetsClick.emit()); })("targetsUpdated", function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template_symphiq_initial_target_setting_targetsUpdated_2_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.targetsUpdated.emit($event)); })("discardChangesClick", function SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template_symphiq_initial_target_setting_discardChangesClick_2_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.discardChangesClick.emit()); });
62493
62737
  i0.ɵɵelementEnd()();
62494
62738
  } if (rf & 2) {
62495
62739
  const ctx_r0 = i0.ɵɵnextContext();
62496
- i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("dataLoadStatus", ctx_r0.dataLoadStatus() ?? ctx_r0.ShopDataLoadStatusEnum.NOT_LOADED)("hasTargets", ctx_r0.hasCurrentYearTargets());
62740
+ i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("dataLoadStatus", ctx_r0.dataLoadStatus() ?? ctx_r0.ShopDataLoadStatusEnum.NOT_LOADED)("hasTargets", ctx_r0.hasCurrentYearTargets())("isOnboarded", ctx_r0.isOnboarded());
62497
62741
  i0.ɵɵadvance(2);
62498
- i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("funnelMetrics", ctx_r0.funnelMetrics() ?? i0.ɵɵpureFunction0(14, _c0$p))("mainUiData", ctx_r0.mainUiData())("trendUiData", ctx_r0.trendUiData())("shopId", ctx_r0.shopId())("pacingMetrics", ctx_r0.pacingResponse())("dataResults", ctx_r0.dataResults())("calculateRevenueReverseResponse", ctx_r0.calculateRevenueReverseResponse())("calculateRevenueResponse", ctx_r0.calculateRevenueResponse())("isCalculatingTargets", ctx_r0.isCalculatingTargets())("targets", ctx_r0.targets());
62742
+ i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("funnelMetrics", ctx_r0.funnelMetrics() ?? i0.ɵɵpureFunction0(17, _c0$p))("mainUiData", ctx_r0.mainUiData())("trendUiData", ctx_r0.trendUiData())("shopId", ctx_r0.shopId())("pacingMetrics", ctx_r0.pacingResponse())("dataResults", ctx_r0.dataResults())("calculateRevenueReverseResponse", ctx_r0.calculateRevenueReverseResponse())("calculateRevenueResponse", ctx_r0.calculateRevenueResponse())("isCalculatingTargets", ctx_r0.isCalculatingTargets())("targets", ctx_r0.targets())("targetHistories", ctx_r0.targetHistories())("users", ctx_r0.users());
62743
+ } }
62744
+ function SymphiqRevenueCalculatorDashboardComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
62745
+ const _r3 = i0.ɵɵgetCurrentView();
62746
+ i0.ɵɵelementStart(0, "div", 13)(1, "div", 25)(2, "p", 26);
62747
+ i0.ɵɵtext(3, " Targets set. Adjust anytime or continue onboarding. ");
62748
+ i0.ɵɵelementEnd();
62749
+ i0.ɵɵelementStart(4, "button", 27);
62750
+ i0.ɵɵlistener("click", function SymphiqRevenueCalculatorDashboardComponent_Conditional_26_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.nextStepClick.emit()); });
62751
+ i0.ɵɵtext(5, " Continue ");
62752
+ i0.ɵɵnamespaceSVG();
62753
+ i0.ɵɵelementStart(6, "svg", 28);
62754
+ i0.ɵɵelement(7, "path", 29);
62755
+ i0.ɵɵelementEnd()()()();
62756
+ } if (rf & 2) {
62757
+ const ctx_r0 = i0.ɵɵnextContext();
62758
+ i0.ɵɵproperty("ngClass", ctx_r0.stickyFooterClasses());
62759
+ i0.ɵɵadvance(2);
62760
+ i0.ɵɵproperty("ngClass", ctx_r0.footerTextClasses());
62761
+ i0.ɵɵadvance(2);
62762
+ i0.ɵɵproperty("ngClass", ctx_r0.footerButtonClasses());
62499
62763
  } }
62500
62764
  dayjs.extend(utc);
62501
62765
  class SymphiqRevenueCalculatorDashboardComponent {
@@ -62519,6 +62783,9 @@ class SymphiqRevenueCalculatorDashboardComponent {
62519
62783
  this.calculateRevenueReverseResponse = input(undefined, ...(ngDevMode ? [{ debugName: "calculateRevenueReverseResponse" }] : []));
62520
62784
  this.calculateRevenueResponse = input(undefined, ...(ngDevMode ? [{ debugName: "calculateRevenueResponse" }] : []));
62521
62785
  this.isCalculatingTargets = input(false, ...(ngDevMode ? [{ debugName: "isCalculatingTargets" }] : []));
62786
+ this.targetHistories = input([], ...(ngDevMode ? [{ debugName: "targetHistories" }] : []));
62787
+ this.users = input([], ...(ngDevMode ? [{ debugName: "users" }] : []));
62788
+ this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
62522
62789
  this.stepClick = output();
62523
62790
  this.nextStepClick = output();
62524
62791
  this.targetsCreated = output();
@@ -62652,6 +62919,21 @@ class SymphiqRevenueCalculatorDashboardComponent {
62652
62919
  ? 'text-slate-600'
62653
62920
  : 'text-slate-400';
62654
62921
  }
62922
+ stickyFooterClasses() {
62923
+ return this.isLightMode()
62924
+ ? 'bg-white/95 backdrop-blur-md border-slate-200'
62925
+ : 'bg-slate-800/95 backdrop-blur-md border-slate-700';
62926
+ }
62927
+ footerTextClasses() {
62928
+ return this.isLightMode()
62929
+ ? 'text-slate-600'
62930
+ : 'text-slate-300';
62931
+ }
62932
+ footerButtonClasses() {
62933
+ return this.isLightMode()
62934
+ ? 'bg-blue-600 hover:bg-blue-700 text-white'
62935
+ : 'bg-blue-500 hover:bg-blue-600 text-white';
62936
+ }
62655
62937
  onTargetsCreated(targets) {
62656
62938
  const startDate = dayjs().utc().startOf('year').toDate();
62657
62939
  const endDate = dayjs().utc().endOf('year').toDate();
@@ -62668,7 +62950,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
62668
62950
  static { this.ɵfac = function SymphiqRevenueCalculatorDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqRevenueCalculatorDashboardComponent)(); }; }
62669
62951
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqRevenueCalculatorDashboardComponent, selectors: [["symphiq-revenue-calculator-dashboard"]], hostBindings: function SymphiqRevenueCalculatorDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
62670
62952
  i0.ɵɵlistener("scroll", function SymphiqRevenueCalculatorDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
62671
- } }, inputs: { viewMode: [1, "viewMode"], isLoading: [1, "isLoading"], dataLoadStatus: [1, "dataLoadStatus"], targets: [1, "targets"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], ytdComparisonUiData: [1, "ytdComparisonUiData"], trendUiData: [1, "trendUiData"], pacingResponse: [1, "pacingResponse"], dataResults: [1, "dataResults"], shopId: [1, "shopId"], embedded: [1, "embedded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], calculateRevenueReverseResponse: [1, "calculateRevenueReverseResponse"], calculateRevenueResponse: [1, "calculateRevenueResponse"], isCalculatingTargets: [1, "isCalculatingTargets"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", targetsCreated: "targetsCreated", targetsUpdated: "targetsUpdated", saveTargetsClick: "saveTargetsClick", calculateRevenueRequest: "calculateRevenueRequest", calculateRevenueReverseRequest: "calculateRevenueReverseRequest", editRelatedMetricTarget: "editRelatedMetricTarget", discardChangesClick: "discardChangesClick" }, decls: 26, vars: 42, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative"], [1, "flex", "items-center", "justify-center", "min-h-[400px]"], ["size", "large", 3, "viewMode"], [3, "viewMode", "dataLoadStatus", "hasTargets"], [1, "mt-8", "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-12", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "text-center", "space-y-6"], [1, "space-y-2"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "max-w-md", 3, "ngClass"], [1, "mt-8"], [3, "targetsCreated", "calculateRevenueReverseRequest", "calculateRevenueRequest", "editRelatedMetricTarget", "saveTargetsClick", "targetsUpdated", "discardChangesClick", "viewMode", "funnelMetrics", "mainUiData", "trendUiData", "shopId", "pacingMetrics", "dataResults", "calculateRevenueReverseResponse", "calculateRevenueResponse", "isCalculatingTargets", "targets"]], template: function SymphiqRevenueCalculatorDashboardComponent_Template(rf, ctx) { if (rf & 1) {
62953
+ } }, inputs: { viewMode: [1, "viewMode"], isLoading: [1, "isLoading"], dataLoadStatus: [1, "dataLoadStatus"], targets: [1, "targets"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], ytdComparisonUiData: [1, "ytdComparisonUiData"], trendUiData: [1, "trendUiData"], pacingResponse: [1, "pacingResponse"], dataResults: [1, "dataResults"], shopId: [1, "shopId"], embedded: [1, "embedded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], calculateRevenueReverseResponse: [1, "calculateRevenueReverseResponse"], calculateRevenueResponse: [1, "calculateRevenueResponse"], isCalculatingTargets: [1, "isCalculatingTargets"], targetHistories: [1, "targetHistories"], users: [1, "users"], isOnboarded: [1, "isOnboarded"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", targetsCreated: "targetsCreated", targetsUpdated: "targetsUpdated", saveTargetsClick: "saveTargetsClick", calculateRevenueRequest: "calculateRevenueRequest", calculateRevenueReverseRequest: "calculateRevenueReverseRequest", editRelatedMetricTarget: "editRelatedMetricTarget", discardChangesClick: "discardChangesClick" }, decls: 27, vars: 43, consts: [[3, "ngClass"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "relative", "z-[51]"], [1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [3, "stepClick", "nextStepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative"], [1, "flex", "items-center", "justify-center", "min-h-[400px]"], [1, "sticky", "bottom-0", "z-50", "border-t", "py-4", "px-4", "sm:px-6", "lg:px-8", 3, "ngClass"], ["size", "large", 3, "viewMode"], [3, "viewMode", "dataLoadStatus", "hasTargets"], [1, "mt-8", "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-12", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "text-center", "space-y-6"], [1, "space-y-2"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "max-w-md", 3, "ngClass"], [3, "viewMode", "dataLoadStatus", "hasTargets", "isOnboarded"], [1, "mt-8"], [3, "targetsCreated", "calculateRevenueReverseRequest", "calculateRevenueRequest", "editRelatedMetricTarget", "saveTargetsClick", "targetsUpdated", "discardChangesClick", "viewMode", "funnelMetrics", "mainUiData", "trendUiData", "shopId", "pacingMetrics", "dataResults", "calculateRevenueReverseResponse", "calculateRevenueResponse", "isCalculatingTargets", "targets", "targetHistories", "users"], [1, "max-w-7xl", "mx-auto", "flex", "items-center", "justify-between", "gap-4"], [1, "text-sm", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex", "items-center", "gap-2", "whitespace-nowrap", "hover:scale-105", 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", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqRevenueCalculatorDashboardComponent_Template(rf, ctx) { if (rf & 1) {
62672
62954
  i0.ɵɵelementStart(0, "div", 0)(1, "div");
62673
62955
  i0.ɵɵelement(2, "div", 1);
62674
62956
  i0.ɵɵelementEnd();
@@ -62686,8 +62968,10 @@ class SymphiqRevenueCalculatorDashboardComponent {
62686
62968
  i0.ɵɵlistener("stepClick", function SymphiqRevenueCalculatorDashboardComponent_Template_symphiq_journey_progress_indicator_stepClick_20_listener($event) { return ctx.stepClick.emit($event); })("nextStepClick", function SymphiqRevenueCalculatorDashboardComponent_Template_symphiq_journey_progress_indicator_nextStepClick_20_listener() { return ctx.nextStepClick.emit(); });
62687
62969
  i0.ɵɵelementEnd();
62688
62970
  i0.ɵɵelementStart(21, "main", 11)(22, "div", 6);
62689
- i0.ɵɵconditionalCreate(23, SymphiqRevenueCalculatorDashboardComponent_Conditional_23_Template, 2, 1, "div", 12)(24, SymphiqRevenueCalculatorDashboardComponent_Conditional_24_Template, 10, 8)(25, SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template, 3, 15);
62690
- i0.ɵɵelementEnd()()()();
62971
+ i0.ɵɵconditionalCreate(23, SymphiqRevenueCalculatorDashboardComponent_Conditional_23_Template, 2, 1, "div", 12)(24, SymphiqRevenueCalculatorDashboardComponent_Conditional_24_Template, 10, 8)(25, SymphiqRevenueCalculatorDashboardComponent_Conditional_25_Template, 3, 18);
62972
+ i0.ɵɵelementEnd()();
62973
+ i0.ɵɵconditionalCreate(26, SymphiqRevenueCalculatorDashboardComponent_Conditional_26_Template, 8, 3, "div", 13);
62974
+ i0.ɵɵelementEnd()();
62691
62975
  } if (rf & 2) {
62692
62976
  i0.ɵɵproperty("ngClass", ctx.getContainerClasses());
62693
62977
  i0.ɵɵadvance();
@@ -62717,6 +63001,8 @@ class SymphiqRevenueCalculatorDashboardComponent {
62717
63001
  i0.ɵɵproperty("viewMode", ctx.viewMode())("currentStepId", ctx.JourneyStepIdEnum.REVENUE_CALCULATOR)("showNextStepAction", ctx.hasAnyTargets())("forDemo", ctx.forDemo())("maxAccessibleStepId", ctx.maxAccessibleStepId());
62718
63002
  i0.ɵɵadvance(3);
62719
63003
  i0.ɵɵconditional(ctx.isLoading() ? 23 : ctx.dataLoadStatus() !== ctx.ShopDataLoadStatusEnum.FULLY_LOADED ? 24 : 25);
63004
+ i0.ɵɵadvance(3);
63005
+ i0.ɵɵconditional(ctx.hasAnyTargets() && ctx.isOnboarded() ? 26 : -1);
62720
63006
  } }, dependencies: [CommonModule, i1$1.NgClass, JourneyProgressIndicatorComponent,
62721
63007
  RevenueCalculatorWelcomeBannerComponent,
62722
63008
  InitialTargetSettingComponent,
@@ -62860,6 +63146,7 @@ class SymphiqRevenueCalculatorDashboardComponent {
62860
63146
  [viewMode]="viewMode()"
62861
63147
  [dataLoadStatus]="dataLoadStatus() ?? ShopDataLoadStatusEnum.NOT_LOADED"
62862
63148
  [hasTargets]="hasCurrentYearTargets()"
63149
+ [isOnboarded]="isOnboarded()"
62863
63150
  />
62864
63151
 
62865
63152
  <div class="mt-8">
@@ -62875,6 +63162,8 @@ class SymphiqRevenueCalculatorDashboardComponent {
62875
63162
  [calculateRevenueResponse]="calculateRevenueResponse()"
62876
63163
  [isCalculatingTargets]="isCalculatingTargets()"
62877
63164
  [targets]="targets()"
63165
+ [targetHistories]="targetHistories()"
63166
+ [users]="users()"
62878
63167
  (targetsCreated)="onTargetsCreated($event)"
62879
63168
  (calculateRevenueReverseRequest)="calculateRevenueReverseRequest.emit($event)"
62880
63169
  (calculateRevenueRequest)="onCalculateRevenueRequest($event)"
@@ -62888,15 +63177,36 @@ class SymphiqRevenueCalculatorDashboardComponent {
62888
63177
 
62889
63178
  </div>
62890
63179
  </main>
63180
+
63181
+ <!-- Sticky Footer for Onboarding Continuation -->
63182
+ @if (hasAnyTargets() && isOnboarded()) {
63183
+ <div [ngClass]="stickyFooterClasses()" class="sticky bottom-0 z-50 border-t py-4 px-4 sm:px-6 lg:px-8">
63184
+ <div class="max-w-7xl mx-auto flex items-center justify-between gap-4">
63185
+ <p [ngClass]="footerTextClasses()" class="text-sm">
63186
+ Targets set. Adjust anytime or continue onboarding.
63187
+ </p>
63188
+ <button
63189
+ type="button"
63190
+ (click)="nextStepClick.emit()"
63191
+ [ngClass]="footerButtonClasses()"
63192
+ class="px-4 py-2 rounded-lg font-medium text-sm transition-all duration-200 flex items-center gap-2 whitespace-nowrap hover:scale-105">
63193
+ Continue
63194
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
63195
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
63196
+ </svg>
63197
+ </button>
63198
+ </div>
63199
+ </div>
63200
+ }
62891
63201
  </div>
62892
63202
  </div>
62893
63203
  `
62894
63204
  }]
62895
- }], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], dataLoadStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataLoadStatus", required: false }] }], targets: [{ type: i0.Input, args: [{ isSignal: true, alias: "targets", required: false }] }], funnelMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelMetrics", required: false }] }], mainUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainUiData", required: false }] }], ytdComparisonUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "ytdComparisonUiData", required: false }] }], trendUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "trendUiData", required: false }] }], pacingResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingResponse", required: false }] }], dataResults: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataResults", required: false }] }], shopId: [{ type: i0.Input, args: [{ isSignal: true, alias: "shopId", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], calculateRevenueReverseResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculateRevenueReverseResponse", required: false }] }], calculateRevenueResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculateRevenueResponse", required: false }] }], isCalculatingTargets: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCalculatingTargets", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], targetsUpdated: [{ type: i0.Output, args: ["targetsUpdated"] }], saveTargetsClick: [{ type: i0.Output, args: ["saveTargetsClick"] }], calculateRevenueRequest: [{ type: i0.Output, args: ["calculateRevenueRequest"] }], calculateRevenueReverseRequest: [{ type: i0.Output, args: ["calculateRevenueReverseRequest"] }], editRelatedMetricTarget: [{ type: i0.Output, args: ["editRelatedMetricTarget"] }], discardChangesClick: [{ type: i0.Output, args: ["discardChangesClick"] }], onWindowScroll: [{
63205
+ }], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], dataLoadStatus: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataLoadStatus", required: false }] }], targets: [{ type: i0.Input, args: [{ isSignal: true, alias: "targets", required: false }] }], funnelMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelMetrics", required: false }] }], mainUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainUiData", required: false }] }], ytdComparisonUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "ytdComparisonUiData", required: false }] }], trendUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "trendUiData", required: false }] }], pacingResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingResponse", required: false }] }], dataResults: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataResults", required: false }] }], shopId: [{ type: i0.Input, args: [{ isSignal: true, alias: "shopId", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], calculateRevenueReverseResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculateRevenueReverseResponse", required: false }] }], calculateRevenueResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculateRevenueResponse", required: false }] }], isCalculatingTargets: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCalculatingTargets", required: false }] }], targetHistories: [{ type: i0.Input, args: [{ isSignal: true, alias: "targetHistories", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], targetsUpdated: [{ type: i0.Output, args: ["targetsUpdated"] }], saveTargetsClick: [{ type: i0.Output, args: ["saveTargetsClick"] }], calculateRevenueRequest: [{ type: i0.Output, args: ["calculateRevenueRequest"] }], calculateRevenueReverseRequest: [{ type: i0.Output, args: ["calculateRevenueReverseRequest"] }], editRelatedMetricTarget: [{ type: i0.Output, args: ["editRelatedMetricTarget"] }], discardChangesClick: [{ type: i0.Output, args: ["discardChangesClick"] }], onWindowScroll: [{
62896
63206
  type: HostListener,
62897
63207
  args: ['window:scroll', ['$event']]
62898
63208
  }] }); })();
62899
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber: 209 }); })();
63209
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqRevenueCalculatorDashboardComponent, { className: "SymphiqRevenueCalculatorDashboardComponent", filePath: "lib/components/revenue-calculator-dashboard/symphiq-revenue-calculator-dashboard.component.ts", lineNumber: 235 }); })();
62900
63210
 
62901
63211
  function HierarchyDisplayComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
62902
63212
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 1);