@eric-emg/symphiq-components 1.2.358 → 1.2.360

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.
@@ -3888,7 +3888,7 @@ class CompetitiveScoreService {
3888
3888
  }]
3889
3889
  }], null, null); })();
3890
3890
 
3891
- const _forTrack0$V = ($index, $item) => $item.category;
3891
+ const _forTrack0$W = ($index, $item) => $item.category;
3892
3892
  function CompetitivePositioningSummaryComponent_Conditional_1_For_47_Conditional_12_Template(rf, ctx) { if (rf & 1) {
3893
3893
  i0.ɵɵelementStart(0, "div", 15);
3894
3894
  i0.ɵɵelement(1, "div", 37);
@@ -4047,7 +4047,7 @@ function CompetitivePositioningSummaryComponent_Conditional_1_Template(rf, ctx)
4047
4047
  i0.ɵɵelementEnd()();
4048
4048
  i0.ɵɵnamespaceHTML();
4049
4049
  i0.ɵɵelementStart(43, "div", 24)(44, "div", 25)(45, "div", 26);
4050
- i0.ɵɵrepeaterCreate(46, CompetitivePositioningSummaryComponent_Conditional_1_For_47_Template, 15, 12, "div", 27, _forTrack0$V);
4050
+ i0.ɵɵrepeaterCreate(46, CompetitivePositioningSummaryComponent_Conditional_1_For_47_Template, 15, 12, "div", 27, _forTrack0$W);
4051
4051
  i0.ɵɵelementEnd()()()();
4052
4052
  i0.ɵɵelementStart(48, "div", 28)(49, "button", 29);
4053
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()); });
@@ -4256,7 +4256,7 @@ function CompetitivePositioningSummaryComponent_Conditional_2_Template(rf, ctx)
4256
4256
  i0.ɵɵelementStart(32, "div", 50)(33, "h4", 51);
4257
4257
  i0.ɵɵtext(34, "By Funnel Stage");
4258
4258
  i0.ɵɵelementEnd();
4259
- i0.ɵɵrepeaterCreate(35, CompetitivePositioningSummaryComponent_Conditional_2_For_36_Template, 12, 11, "div", 52, _forTrack0$V);
4259
+ i0.ɵɵrepeaterCreate(35, CompetitivePositioningSummaryComponent_Conditional_2_For_36_Template, 12, 11, "div", 52, _forTrack0$W);
4260
4260
  i0.ɵɵelementEnd();
4261
4261
  i0.ɵɵelementStart(37, "div", 28)(38, "button", 53);
4262
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()); });
@@ -8933,7 +8933,7 @@ class MetricCardComponent {
8933
8933
  const _c0$17 = () => [1, 2, 3];
8934
8934
  const _c1$D = (a0, a1, a2) => [a0, a1, a2];
8935
8935
  const _c2$p = (a0, a1) => [a0, a1];
8936
- const _forTrack0$U = ($index, $item) => $item.metric;
8936
+ const _forTrack0$V = ($index, $item) => $item.metric;
8937
8937
  const _forTrack1$7 = ($index, $item) => $item.dimensionValue;
8938
8938
  function BreakdownSectionComponent_Conditional_0_For_7_For_4_Template(rf, ctx) { if (rf & 1) {
8939
8939
  i0.ɵɵelementStart(0, "div", 7);
@@ -9256,7 +9256,7 @@ function BreakdownSectionComponent_Conditional_1_Template(rf, ctx) { if (rf & 1)
9256
9256
  i0.ɵɵelementEnd()();
9257
9257
  i0.ɵɵconditionalCreate(6, BreakdownSectionComponent_Conditional_1_Conditional_6_Template, 3, 0, "div", 11);
9258
9258
  i0.ɵɵelementStart(7, "div", 12);
9259
- i0.ɵɵrepeaterCreate(8, BreakdownSectionComponent_Conditional_1_For_9_Template, 28, 18, "div", 13, _forTrack0$U);
9259
+ i0.ɵɵrepeaterCreate(8, BreakdownSectionComponent_Conditional_1_For_9_Template, 28, 18, "div", 13, _forTrack0$V);
9260
9260
  i0.ɵɵelementEnd()();
9261
9261
  } if (rf & 2) {
9262
9262
  const ctx_r0 = i0.ɵɵnextContext();
@@ -10654,7 +10654,7 @@ class ChartCardComponent {
10654
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"] }] }); }); })();
10655
10655
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ChartCardComponent, { className: "ChartCardComponent", filePath: "lib/components/shared/chart-card.component.ts", lineNumber: 101 }); })();
10656
10656
 
10657
- const _forTrack0$T = ($index, $item) => $item.id;
10657
+ const _forTrack0$U = ($index, $item) => $item.id;
10658
10658
  function FunnelStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
10659
10659
  i0.ɵɵelementStart(0, "div", 1);
10660
10660
  i0.ɵɵnamespaceSVG();
@@ -10768,7 +10768,7 @@ function FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template(r
10768
10768
  } }
10769
10769
  function FunnelStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
10770
10770
  i0.ɵɵelementStart(0, "div", 2);
10771
- i0.ɵɵrepeaterCreate(1, FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template, 30, 22, "button", 7, _forTrack0$T);
10771
+ i0.ɵɵrepeaterCreate(1, FunnelStrengthsListModalContentComponent_Conditional_2_For_2_Template, 30, 22, "button", 7, _forTrack0$U);
10772
10772
  i0.ɵɵelementEnd();
10773
10773
  } if (rf & 2) {
10774
10774
  const ctx_r0 = i0.ɵɵnextContext();
@@ -10978,7 +10978,7 @@ class FunnelStrengthsListModalContentComponent {
10978
10978
  }], null, { strengths: [{ type: i0.Input, args: [{ isSignal: true, alias: "strengths", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: true }] }] }); })();
10979
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 }); })();
10980
10980
 
10981
- const _forTrack0$S = ($index, $item) => $item.severity;
10981
+ const _forTrack0$T = ($index, $item) => $item.severity;
10982
10982
  const _forTrack1$6 = ($index, $item) => $item.id;
10983
10983
  function FunnelWeaknessesListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
10984
10984
  i0.ɵɵelementStart(0, "div", 1);
@@ -11157,7 +11157,7 @@ function FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template(
11157
11157
  } }
11158
11158
  function FunnelWeaknessesListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
11159
11159
  i0.ɵɵelementStart(0, "div", 2);
11160
- i0.ɵɵrepeaterCreate(1, FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template, 9, 7, "div", null, _forTrack0$S);
11160
+ i0.ɵɵrepeaterCreate(1, FunnelWeaknessesListModalContentComponent_Conditional_2_For_2_Template, 9, 7, "div", null, _forTrack0$T);
11161
11161
  i0.ɵɵelementEnd();
11162
11162
  } if (rf & 2) {
11163
11163
  const ctx_r0 = i0.ɵɵnextContext();
@@ -12932,7 +12932,7 @@ class ProfileItemLookupService {
12932
12932
  }], null, null); })();
12933
12933
 
12934
12934
  const _c0$14 = a0 => ({ name: "chevron-right", source: a0 });
12935
- const _forTrack0$R = ($index, $item) => $item.id;
12935
+ const _forTrack0$S = ($index, $item) => $item.id;
12936
12936
  function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
12937
12937
  const _r1 = i0.ɵɵgetCurrentView();
12938
12938
  i0.ɵɵelementStart(0, "button", 2);
@@ -12953,7 +12953,7 @@ function RelatedAreaChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (r
12953
12953
  } }
12954
12954
  function RelatedAreaChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
12955
12955
  i0.ɵɵelementStart(0, "div", 0);
12956
- i0.ɵɵrepeaterCreate(1, RelatedAreaChipsComponent_Conditional_0_For_2_Template, 4, 5, "button", 1, _forTrack0$R);
12956
+ i0.ɵɵrepeaterCreate(1, RelatedAreaChipsComponent_Conditional_0_For_2_Template, 4, 5, "button", 1, _forTrack0$S);
12957
12957
  i0.ɵɵelementEnd();
12958
12958
  } if (rf & 2) {
12959
12959
  const ctx_r2 = i0.ɵɵnextContext();
@@ -13178,7 +13178,7 @@ class CompetitorChipListComponent {
13178
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 }] }] }); })();
13179
13179
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorChipListComponent, { className: "CompetitorChipListComponent", filePath: "lib/components/business-analysis-dashboard/shared/competitor-chip-list.component.ts", lineNumber: 37 }); })();
13180
13180
 
13181
- const _forTrack0$Q = ($index, $item) => $item.id;
13181
+ const _forTrack0$R = ($index, $item) => $item.id;
13182
13182
  function CompetitorContextSectionComponent_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
13183
13183
  const _r1 = i0.ɵɵgetCurrentView();
13184
13184
  i0.ɵɵelementStart(0, "button", 8);
@@ -13261,7 +13261,7 @@ function CompetitorContextSectionComponent_Conditional_0_Template(rf, ctx) { if
13261
13261
  i0.ɵɵconditionalCreate(8, CompetitorContextSectionComponent_Conditional_0_Conditional_8_Template, 5, 4, "button", 4);
13262
13262
  i0.ɵɵelementEnd();
13263
13263
  i0.ɵɵelementStart(9, "div", 5)(10, "div", 6);
13264
- i0.ɵɵrepeaterCreate(11, CompetitorContextSectionComponent_Conditional_0_For_12_Template, 10, 6, "button", 7, _forTrack0$Q);
13264
+ i0.ɵɵrepeaterCreate(11, CompetitorContextSectionComponent_Conditional_0_For_12_Template, 10, 6, "button", 7, _forTrack0$R);
13265
13265
  i0.ɵɵelementEnd()()();
13266
13266
  } if (rf & 2) {
13267
13267
  const ctx_r1 = i0.ɵɵnextContext();
@@ -13452,7 +13452,7 @@ class CompetitorContextSectionComponent {
13452
13452
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitorContextSectionComponent, { className: "CompetitorContextSectionComponent", filePath: "lib/components/business-analysis-dashboard/cards/competitor-context-section.component.ts", lineNumber: 86 }); })();
13453
13453
 
13454
13454
  const _c0$12 = a0 => ({ name: "chevron-right", source: a0 });
13455
- const _forTrack0$P = ($index, $item) => $item.id;
13455
+ const _forTrack0$Q = ($index, $item) => $item.id;
13456
13456
  function RelatedRecommendationChipsComponent_Conditional_0_For_3_Template(rf, ctx) { if (rf & 1) {
13457
13457
  const _r1 = i0.ɵɵgetCurrentView();
13458
13458
  i0.ɵɵelementStart(0, "button", 4);
@@ -13495,7 +13495,7 @@ function RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Templat
13495
13495
  } }
13496
13496
  function RelatedRecommendationChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
13497
13497
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
13498
- i0.ɵɵrepeaterCreate(2, RelatedRecommendationChipsComponent_Conditional_0_For_3_Template, 5, 6, "button", 2, _forTrack0$P);
13498
+ i0.ɵɵrepeaterCreate(2, RelatedRecommendationChipsComponent_Conditional_0_For_3_Template, 5, 6, "button", 2, _forTrack0$Q);
13499
13499
  i0.ɵɵelementEnd();
13500
13500
  i0.ɵɵconditionalCreate(4, RelatedRecommendationChipsComponent_Conditional_0_Conditional_4_Template, 5, 4, "button", 3);
13501
13501
  i0.ɵɵelementEnd();
@@ -13951,7 +13951,7 @@ class RelatedFunnelInsightsSectionComponent {
13951
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"] }] }); })();
13952
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 }); })();
13953
13953
 
13954
- const _forTrack0$O = ($index, $item) => $item.order;
13954
+ const _forTrack0$P = ($index, $item) => $item.order;
13955
13955
  function RecommendationCardComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
13956
13956
  i0.ɵɵelementStart(0, "div", 9);
13957
13957
  i0.ɵɵelement(1, "symphiq-icon", 11);
@@ -14304,7 +14304,7 @@ function RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6
14304
14304
  } }
14305
14305
  function RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_Template(rf, ctx) { if (rf & 1) {
14306
14306
  i0.ɵɵelementStart(0, "div", 37);
14307
- i0.ɵɵrepeaterCreate(1, RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_For_2_Template, 13, 9, "div", 41, _forTrack0$O);
14307
+ i0.ɵɵrepeaterCreate(1, RecommendationCardComponent_Conditional_13_Conditional_12_Conditional_6_For_2_Template, 13, 9, "div", 41, _forTrack0$P);
14308
14308
  i0.ɵɵelementEnd();
14309
14309
  } if (rf & 2) {
14310
14310
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -15143,7 +15143,7 @@ const ModalComponent_Conditional_0_Conditional_19_Conditional_4_Defer_2_DepsFn =
15143
15143
  const ModalComponent_Conditional_0_Conditional_19_Conditional_5_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return barChart_component; }).then(m => m.BarChartComponent)];
15144
15144
  const ModalComponent_Conditional_0_Conditional_19_Conditional_6_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent)];
15145
15145
  const ModalComponent_Conditional_0_Conditional_19_Conditional_7_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
15146
- const _forTrack0$N = ($index, $item) => $item.id || $index;
15146
+ const _forTrack0$O = ($index, $item) => $item.id || $index;
15147
15147
  function ModalComponent_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
15148
15148
  const _r3 = i0.ɵɵgetCurrentView();
15149
15149
  i0.ɵɵelementStart(0, "button", 13);
@@ -15517,7 +15517,7 @@ function ModalComponent_Conditional_0_Conditional_22_For_3_Template(rf, ctx) { i
15517
15517
  function ModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
15518
15518
  i0.ɵɵelementStart(0, "div", 22);
15519
15519
  i0.ɵɵconditionalCreate(1, ModalComponent_Conditional_0_Conditional_22_Conditional_1_Template, 2, 2, "p", 55);
15520
- i0.ɵɵrepeaterCreate(2, ModalComponent_Conditional_0_Conditional_22_For_3_Template, 2, 5, "div", null, _forTrack0$N);
15520
+ i0.ɵɵrepeaterCreate(2, ModalComponent_Conditional_0_Conditional_22_For_3_Template, 2, 5, "div", null, _forTrack0$O);
15521
15521
  i0.ɵɵelementEnd();
15522
15522
  } if (rf & 2) {
15523
15523
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -19754,7 +19754,7 @@ class NarrativeTooltipComponent {
19754
19754
  }], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }] }); })();
19755
19755
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NarrativeTooltipComponent, { className: "NarrativeTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/narrative-tooltip.component.ts", lineNumber: 27 }); })();
19756
19756
 
19757
- const _forTrack0$M = ($index, $item) => $item.name;
19757
+ const _forTrack0$N = ($index, $item) => $item.name;
19758
19758
  function CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template(rf, ctx) { if (rf & 1) {
19759
19759
  i0.ɵɵelementStart(0, "div", 7)(1, "div", 8)(2, "div", 9);
19760
19760
  i0.ɵɵelement(3, "div", 10);
@@ -19798,7 +19798,7 @@ function CompetitiveStatusTooltipComponent_Conditional_6_Template(rf, ctx) { if
19798
19798
  i0.ɵɵtext(3);
19799
19799
  i0.ɵɵelementEnd();
19800
19800
  i0.ɵɵelementStart(4, "div", 5);
19801
- i0.ɵɵrepeaterCreate(5, CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template, 13, 12, "div", 6, _forTrack0$M);
19801
+ i0.ɵɵrepeaterCreate(5, CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template, 13, 12, "div", 6, _forTrack0$N);
19802
19802
  i0.ɵɵelementEnd()();
19803
19803
  } if (rf & 2) {
19804
19804
  const ctx_r1 = i0.ɵɵnextContext();
@@ -20045,7 +20045,7 @@ class CompetitiveStatusTooltipComponent {
20045
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 }] }] }); })();
20046
20046
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveStatusTooltipComponent, { className: "CompetitiveStatusTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/competitive-status-tooltip.component.ts", lineNumber: 60 }); })();
20047
20047
 
20048
- const _forTrack0$L = ($index, $item) => $item.name;
20048
+ const _forTrack0$M = ($index, $item) => $item.name;
20049
20049
  function FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template(rf, ctx) { if (rf & 1) {
20050
20050
  i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
20051
20051
  i0.ɵɵtext(3);
@@ -20085,7 +20085,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_8_Template(rf, ctx)
20085
20085
  i0.ɵɵtext(4);
20086
20086
  i0.ɵɵelementEnd()();
20087
20087
  i0.ɵɵelementStart(5, "div", 8);
20088
- i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template, 11, 9, "div", 9, _forTrack0$L);
20088
+ i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template, 11, 9, "div", 9, _forTrack0$M);
20089
20089
  i0.ɵɵelementEnd()();
20090
20090
  } if (rf & 2) {
20091
20091
  const ctx_r1 = i0.ɵɵnextContext();
@@ -20135,7 +20135,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_9_Template(rf, ctx)
20135
20135
  i0.ɵɵtext(4);
20136
20136
  i0.ɵɵelementEnd()();
20137
20137
  i0.ɵɵelementStart(5, "div", 8);
20138
- i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_9_For_7_Template, 11, 9, "div", 9, _forTrack0$L);
20138
+ i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_9_For_7_Template, 11, 9, "div", 9, _forTrack0$M);
20139
20139
  i0.ɵɵelementEnd()();
20140
20140
  } if (rf & 2) {
20141
20141
  const ctx_r1 = i0.ɵɵnextContext();
@@ -20185,7 +20185,7 @@ function FunnelStageCompetitiveTooltipComponent_Conditional_10_Template(rf, ctx)
20185
20185
  i0.ɵɵtext(4);
20186
20186
  i0.ɵɵelementEnd()();
20187
20187
  i0.ɵɵelementStart(5, "div", 8);
20188
- i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_10_For_7_Template, 11, 9, "div", 9, _forTrack0$L);
20188
+ i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_10_For_7_Template, 11, 9, "div", 9, _forTrack0$M);
20189
20189
  i0.ɵɵelementEnd()();
20190
20190
  } if (rf & 2) {
20191
20191
  const ctx_r1 = i0.ɵɵnextContext();
@@ -21449,7 +21449,7 @@ class MobileFABComponent {
21449
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"] }] }); })();
21450
21450
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MobileFABComponent, { className: "MobileFABComponent", filePath: "lib/components/funnel-analysis-dashboard/mobile-fab.component.ts", lineNumber: 75 }); })();
21451
21451
 
21452
- const _forTrack0$K = ($index, $item) => $item.id;
21452
+ const _forTrack0$L = ($index, $item) => $item.id;
21453
21453
  function MobileBottomNavComponent_For_3_Template(rf, ctx) { if (rf & 1) {
21454
21454
  const _r1 = i0.ɵɵgetCurrentView();
21455
21455
  i0.ɵɵelementStart(0, "button", 3);
@@ -21507,7 +21507,7 @@ class MobileBottomNavComponent {
21507
21507
  static { this.ɵfac = function MobileBottomNavComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MobileBottomNavComponent)(); }; }
21508
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) {
21509
21509
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
21510
- i0.ɵɵrepeaterCreate(2, MobileBottomNavComponent_For_3_Template, 4, 3, "button", 2, _forTrack0$K);
21510
+ i0.ɵɵrepeaterCreate(2, MobileBottomNavComponent_For_3_Template, 4, 3, "button", 2, _forTrack0$L);
21511
21511
  i0.ɵɵelementEnd()();
21512
21512
  } if (rf & 2) {
21513
21513
  i0.ɵɵproperty("ngClass", ctx.containerClass());
@@ -21712,7 +21712,7 @@ class SearchService {
21712
21712
  }], null, null); })();
21713
21713
 
21714
21714
  const _c0$10 = ["searchInput"];
21715
- const _forTrack0$J = ($index, $item) => $item.id;
21715
+ const _forTrack0$K = ($index, $item) => $item.id;
21716
21716
  function SearchBarComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
21717
21717
  const _r3 = i0.ɵɵgetCurrentView();
21718
21718
  i0.ɵɵelementStart(0, "button", 18);
@@ -21805,7 +21805,7 @@ function SearchBarComponent_Conditional_0_Conditional_14_For_2_Template(rf, ctx)
21805
21805
  } }
21806
21806
  function SearchBarComponent_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
21807
21807
  i0.ɵɵelementStart(0, "div", 15);
21808
- i0.ɵɵrepeaterCreate(1, SearchBarComponent_Conditional_0_Conditional_14_For_2_Template, 16, 12, "button", 19, _forTrack0$J);
21808
+ i0.ɵɵrepeaterCreate(1, SearchBarComponent_Conditional_0_Conditional_14_For_2_Template, 16, 12, "button", 19, _forTrack0$K);
21809
21809
  i0.ɵɵelementEnd();
21810
21810
  } if (rf & 2) {
21811
21811
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -22296,7 +22296,7 @@ class SearchHighlightDirective {
22296
22296
  }]
22297
22297
  }], () => [], { symphiqSearchHighlight: [{ type: i0.Input, args: [{ isSignal: true, alias: "libSymphiqSearchHighlight", required: false }] }], highlightId: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlightId", required: false }] }] }); })();
22298
22298
 
22299
- const _forTrack0$I = ($index, $item) => $item.value;
22299
+ const _forTrack0$J = ($index, $item) => $item.value;
22300
22300
  const _forTrack1$5 = ($index, $item) => $item.performanceItemId;
22301
22301
  function CompetitiveScorecardComponent_For_12_Template(rf, ctx) { if (rf & 1) {
22302
22302
  i0.ɵɵelementStart(0, "div", 7);
@@ -22671,7 +22671,7 @@ class CompetitiveScorecardComponent {
22671
22671
  i0.ɵɵtext(9);
22672
22672
  i0.ɵɵelementEnd()()();
22673
22673
  i0.ɵɵelementStart(10, "div", 6);
22674
- i0.ɵɵrepeaterCreate(11, CompetitiveScorecardComponent_For_12_Template, 4, 7, "div", 7, _forTrack0$I);
22674
+ i0.ɵɵrepeaterCreate(11, CompetitiveScorecardComponent_For_12_Template, 4, 7, "div", 7, _forTrack0$J);
22675
22675
  i0.ɵɵelementEnd();
22676
22676
  i0.ɵɵelementStart(13, "div", 8)(14, "table", 9)(15, "thead")(16, "tr", 10)(17, "th", 11);
22677
22677
  i0.ɵɵtext(18, "Metric");
@@ -23306,7 +23306,7 @@ class SectionDividerComponent {
23306
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 }] }] }); })();
23307
23307
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SectionDividerComponent, { className: "SectionDividerComponent", filePath: "lib/components/shared/section-divider.component.ts", lineNumber: 36 }); })();
23308
23308
 
23309
- const _forTrack0$H = ($index, $item) => $item.id;
23309
+ const _forTrack0$I = ($index, $item) => $item.id;
23310
23310
  function FloatingTocComponent_Conditional_15_Template(rf, ctx) { if (rf & 1) {
23311
23311
  i0.ɵɵnamespaceSVG();
23312
23312
  i0.ɵɵelement(0, "path", 8);
@@ -23358,7 +23358,7 @@ function FloatingTocComponent_For_19_Conditional_7_For_2_Template(rf, ctx) { if
23358
23358
  } }
23359
23359
  function FloatingTocComponent_For_19_Conditional_7_Template(rf, ctx) { if (rf & 1) {
23360
23360
  i0.ɵɵelementStart(0, "div", 17);
23361
- i0.ɵɵrepeaterCreate(1, FloatingTocComponent_For_19_Conditional_7_For_2_Template, 4, 4, "button", 19, _forTrack0$H);
23361
+ i0.ɵɵrepeaterCreate(1, FloatingTocComponent_For_19_Conditional_7_For_2_Template, 4, 4, "button", 19, _forTrack0$I);
23362
23362
  i0.ɵɵelementEnd();
23363
23363
  } if (rf & 2) {
23364
23364
  const section_r2 = i0.ɵɵnextContext().$implicit;
@@ -23748,7 +23748,7 @@ class FloatingTocComponent {
23748
23748
  i0.ɵɵelementEnd()()();
23749
23749
  i0.ɵɵnamespaceHTML();
23750
23750
  i0.ɵɵelementStart(17, "nav", 9);
23751
- i0.ɵɵrepeaterCreate(18, FloatingTocComponent_For_19_Template, 8, 6, "div", 10, _forTrack0$H);
23751
+ i0.ɵɵrepeaterCreate(18, FloatingTocComponent_For_19_Template, 8, 6, "div", 10, _forTrack0$I);
23752
23752
  i0.ɵɵelementEnd();
23753
23753
  i0.ɵɵelementStart(20, "div", 11)(21, "button", 7);
23754
23754
  i0.ɵɵlistener("click", function FloatingTocComponent_Template_button_click_21_listener() { return ctx.scrollToTop(); });
@@ -23902,7 +23902,7 @@ class FloatingTocComponent {
23902
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 }] }] }); })();
23903
23903
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FloatingTocComponent, { className: "FloatingTocComponent", filePath: "lib/components/business-analysis-dashboard/floating-toc.component.ts", lineNumber: 125 }); })();
23904
23904
 
23905
- const _forTrack0$G = ($index, $item) => $item.id;
23905
+ const _forTrack0$H = ($index, $item) => $item.id;
23906
23906
  function JourneyProgressIndicatorComponent_For_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
23907
23907
  i0.ɵɵnamespaceSVG();
23908
23908
  i0.ɵɵelementStart(0, "svg", 22);
@@ -24135,7 +24135,7 @@ function JourneyProgressIndicatorComponent_Conditional_23_Template(rf, ctx) { if
24135
24135
  i0.ɵɵtext(2, "Journey Progress");
24136
24136
  i0.ɵɵelementEnd();
24137
24137
  i0.ɵɵelementStart(3, "div", 44);
24138
- i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Template, 14, 8, "div", 45, _forTrack0$G);
24138
+ i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_Conditional_23_For_5_Template, 14, 8, "div", 45, _forTrack0$H);
24139
24139
  i0.ɵɵelementEnd()();
24140
24140
  } if (rf & 2) {
24141
24141
  const ctx_r2 = i0.ɵɵnextContext();
@@ -24584,7 +24584,7 @@ class JourneyProgressIndicatorComponent {
24584
24584
  static { this.ɵfac = function JourneyProgressIndicatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JourneyProgressIndicatorComponent)(); }; }
24585
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) {
24586
24586
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
24587
- i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_For_5_Template, 10, 10, null, null, _forTrack0$G);
24587
+ i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_For_5_Template, 10, 10, null, null, _forTrack0$H);
24588
24588
  i0.ɵɵelementEnd();
24589
24589
  i0.ɵɵconditionalCreate(6, JourneyProgressIndicatorComponent_Conditional_6_Template, 3, 11, "button", 4);
24590
24590
  i0.ɵɵelementEnd();
@@ -26735,7 +26735,7 @@ class ViewModeSwitcherModalComponent {
26735
26735
  const _c0$_ = a0 => ({ name: "check-badge", source: a0 });
26736
26736
  const _c1$B = a0 => ({ name: "check-circle", source: a0 });
26737
26737
  const _c2$o = a0 => ({ name: "chevron-right", source: a0 });
26738
- const _forTrack0$F = ($index, $item) => $item.area;
26738
+ const _forTrack0$G = ($index, $item) => $item.area;
26739
26739
  function KeyStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
26740
26740
  i0.ɵɵelementStart(0, "div", 1);
26741
26741
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -26804,7 +26804,7 @@ function KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template(rf,
26804
26804
  } }
26805
26805
  function KeyStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
26806
26806
  i0.ɵɵelementStart(0, "div", 2);
26807
- i0.ɵɵrepeaterCreate(1, KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$F);
26807
+ i0.ɵɵrepeaterCreate(1, KeyStrengthsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$G);
26808
26808
  i0.ɵɵelementEnd();
26809
26809
  } if (rf & 2) {
26810
26810
  const ctx_r0 = i0.ɵɵnextContext();
@@ -26968,7 +26968,7 @@ const _c0$Z = a0 => ({ name: "shield-check", source: a0 });
26968
26968
  const _c1$A = a0 => ({ name: "exclamation-triangle", source: a0 });
26969
26969
  const _c2$n = a0 => ({ name: "document-text", source: a0 });
26970
26970
  const _c3$i = a0 => ({ name: "chevron-right", source: a0 });
26971
- const _forTrack0$E = ($index, $item) => $item.area;
26971
+ const _forTrack0$F = ($index, $item) => $item.area;
26972
26972
  function CriticalGapsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
26973
26973
  i0.ɵɵelementStart(0, "div", 1);
26974
26974
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -27053,7 +27053,7 @@ function CriticalGapsListModalContentComponent_Conditional_2_For_2_Template(rf,
27053
27053
  } }
27054
27054
  function CriticalGapsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
27055
27055
  i0.ɵɵelementStart(0, "div", 2);
27056
- i0.ɵɵrepeaterCreate(1, CriticalGapsListModalContentComponent_Conditional_2_For_2_Template, 23, 25, "button", 6, _forTrack0$E);
27056
+ i0.ɵɵrepeaterCreate(1, CriticalGapsListModalContentComponent_Conditional_2_For_2_Template, 23, 25, "button", 6, _forTrack0$F);
27057
27057
  i0.ɵɵelementEnd();
27058
27058
  } if (rf & 2) {
27059
27059
  const ctx_r0 = i0.ɵɵnextContext();
@@ -27282,7 +27282,7 @@ class CriticalGapsListModalContentComponent {
27282
27282
 
27283
27283
  const _c0$Y = a0 => ({ name: "check-circle", source: a0 });
27284
27284
  const _c1$z = a0 => ({ name: "chat-bubble-left-right", source: a0 });
27285
- const _forTrack0$D = ($index, $item) => $item.questionId;
27285
+ const _forTrack0$E = ($index, $item) => $item.questionId;
27286
27286
  function KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
27287
27287
  i0.ɵɵelementStart(0, "div", 19)(1, "span", 20);
27288
27288
  i0.ɵɵtext(2);
@@ -27329,7 +27329,7 @@ function KeyStrengthDetailModalContentComponent_Conditional_13_Template(rf, ctx)
27329
27329
  i0.ɵɵtext(3, " Supporting Evidence ");
27330
27330
  i0.ɵɵelementEnd();
27331
27331
  i0.ɵɵelementStart(4, "div", 12);
27332
- i0.ɵɵrepeaterCreate(5, KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Template, 9, 10, "div", 13, _forTrack0$D);
27332
+ i0.ɵɵrepeaterCreate(5, KeyStrengthDetailModalContentComponent_Conditional_13_For_6_Template, 9, 10, "div", 13, _forTrack0$E);
27333
27333
  i0.ɵɵelementEnd()();
27334
27334
  } if (rf & 2) {
27335
27335
  const ctx_r1 = i0.ɵɵnextContext();
@@ -27524,7 +27524,7 @@ class KeyStrengthDetailModalContentComponent {
27524
27524
  const _c0$X = a0 => ({ name: "exclamation-triangle", source: a0 });
27525
27525
  const _c1$y = a0 => ({ name: "document-text", source: a0 });
27526
27526
  const _c2$m = a0 => ({ name: "chat-bubble-left-right", source: a0 });
27527
- const _forTrack0$C = ($index, $item) => $item.questionId;
27527
+ const _forTrack0$D = ($index, $item) => $item.questionId;
27528
27528
  function CriticalGapDetailModalContentComponent_Conditional_20_For_6_Conditional_8_Template(rf, ctx) { if (rf & 1) {
27529
27529
  i0.ɵɵelementStart(0, "div", 23)(1, "p", 25);
27530
27530
  i0.ɵɵtext(2, " Gap Identified: ");
@@ -27592,7 +27592,7 @@ function CriticalGapDetailModalContentComponent_Conditional_20_Template(rf, ctx)
27592
27592
  i0.ɵɵtext(3, " Supporting Evidence ");
27593
27593
  i0.ɵɵelementEnd();
27594
27594
  i0.ɵɵelementStart(4, "div", 17);
27595
- i0.ɵɵrepeaterCreate(5, CriticalGapDetailModalContentComponent_Conditional_20_For_6_Template, 10, 11, "div", 18, _forTrack0$C);
27595
+ i0.ɵɵrepeaterCreate(5, CriticalGapDetailModalContentComponent_Conditional_20_For_6_Template, 10, 11, "div", 18, _forTrack0$D);
27596
27596
  i0.ɵɵelementEnd()();
27597
27597
  } if (rf & 2) {
27598
27598
  const ctx_r1 = i0.ɵɵnextContext();
@@ -29388,7 +29388,7 @@ const _c0$W = a0 => ({ name: "check-badge", source: a0 });
29388
29388
  const _c1$x = a0 => ({ name: "check-circle", source: a0 });
29389
29389
  const _c2$l = a0 => ({ name: "chevron-right", source: a0 });
29390
29390
  const _c3$h = a0 => ({ name: "chart-bar", source: a0 });
29391
- const _forTrack0$B = ($index, $item) => $item.capability;
29391
+ const _forTrack0$C = ($index, $item) => $item.capability;
29392
29392
  function FocusAreaStrengthsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
29393
29393
  i0.ɵɵelementStart(0, "div", 1);
29394
29394
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -29503,7 +29503,7 @@ function FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Templat
29503
29503
  } }
29504
29504
  function FocusAreaStrengthsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
29505
29505
  i0.ɵɵelementStart(0, "div", 2);
29506
- i0.ɵɵrepeaterCreate(1, FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Template, 16, 18, "button", 6, _forTrack0$B);
29506
+ i0.ɵɵrepeaterCreate(1, FocusAreaStrengthsListModalContentComponent_Conditional_2_For_2_Template, 16, 18, "button", 6, _forTrack0$C);
29507
29507
  i0.ɵɵelementEnd();
29508
29508
  } if (rf & 2) {
29509
29509
  const ctx_r0 = i0.ɵɵnextContext();
@@ -29710,7 +29710,7 @@ class FocusAreaStrengthsListModalContentComponent {
29710
29710
  const _c0$V = a0 => ({ name: "exclamation-triangle", source: a0 });
29711
29711
  const _c1$w = a0 => ({ name: "exclamation-circle", source: a0 });
29712
29712
  const _c2$k = a0 => ({ name: "chevron-right", source: a0 });
29713
- function _forTrack0$A($index, $item) { return this.getGapTitle($item); }
29713
+ function _forTrack0$B($index, $item) { return this.getGapTitle($item); }
29714
29714
  function FocusAreaGapsListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
29715
29715
  i0.ɵɵelementStart(0, "div", 1);
29716
29716
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -29827,7 +29827,7 @@ function FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template(rf,
29827
29827
  } }
29828
29828
  function FocusAreaGapsListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
29829
29829
  i0.ɵɵelementStart(0, "div", 2);
29830
- i0.ɵɵrepeaterCreate(1, FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$A, true);
29830
+ i0.ɵɵrepeaterCreate(1, FocusAreaGapsListModalContentComponent_Conditional_2_For_2_Template, 15, 18, "button", 6, _forTrack0$B, true);
29831
29831
  i0.ɵɵelementEnd();
29832
29832
  } if (rf & 2) {
29833
29833
  const ctx_r0 = i0.ɵɵnextContext();
@@ -30104,7 +30104,7 @@ class FocusAreaGapsListModalContentComponent {
30104
30104
  const _c0$U = a0 => ({ name: "light-bulb", source: a0 });
30105
30105
  const _c1$v = a0 => ({ name: "chevron-right", source: a0 });
30106
30106
  const _c2$j = a0 => ({ name: "chart-bar", source: a0 });
30107
- const _forTrack0$z = ($index, $item) => $item.opportunity;
30107
+ const _forTrack0$A = ($index, $item) => $item.opportunity;
30108
30108
  function FocusAreaOpportunitiesListModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
30109
30109
  i0.ɵɵelementStart(0, "div", 1);
30110
30110
  i0.ɵɵelement(1, "symphiq-icon", 3);
@@ -30195,7 +30195,7 @@ function FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Tem
30195
30195
  } }
30196
30196
  function FocusAreaOpportunitiesListModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
30197
30197
  i0.ɵɵelementStart(0, "div", 2);
30198
- i0.ɵɵrepeaterCreate(1, FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Template, 11, 11, "button", 6, _forTrack0$z);
30198
+ i0.ɵɵrepeaterCreate(1, FocusAreaOpportunitiesListModalContentComponent_Conditional_2_For_2_Template, 11, 11, "button", 6, _forTrack0$A);
30199
30199
  i0.ɵɵelementEnd();
30200
30200
  } if (rf & 2) {
30201
30201
  const ctx_r0 = i0.ɵɵnextContext();
@@ -30372,7 +30372,7 @@ class FocusAreaOpportunitiesListModalContentComponent {
30372
30372
 
30373
30373
  const _c0$T = a0 => ({ name: "chevron-right", source: a0 });
30374
30374
  const _c1$u = a0 => ({ name: "chat-bubble-left-right", source: a0 });
30375
- const _forTrack0$y = ($index, $item) => $item.performanceItemId;
30375
+ const _forTrack0$z = ($index, $item) => $item.performanceItemId;
30376
30376
  function FocusAreaStrengthDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
30377
30377
  i0.ɵɵelementStart(0, "div")(1, "p", 2);
30378
30378
  i0.ɵɵtext(2);
@@ -30442,7 +30442,7 @@ function FocusAreaStrengthDetailModalContentComponent_Conditional_4_Template(rf,
30442
30442
  i0.ɵɵtext(2);
30443
30443
  i0.ɵɵelementEnd();
30444
30444
  i0.ɵɵelementStart(3, "div", 9);
30445
- i0.ɵɵrepeaterCreate(4, FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Template, 4, 5, "button", 10, _forTrack0$y);
30445
+ i0.ɵɵrepeaterCreate(4, FocusAreaStrengthDetailModalContentComponent_Conditional_4_For_5_Template, 4, 5, "button", 10, _forTrack0$z);
30446
30446
  i0.ɵɵelementEnd()();
30447
30447
  } if (rf & 2) {
30448
30448
  const ctx_r0 = i0.ɵɵnextContext();
@@ -31093,7 +31093,7 @@ class FocusAreaGapDetailModalContentComponent {
31093
31093
 
31094
31094
  const _c0$R = a0 => ({ name: "chevron-right", source: a0 });
31095
31095
  const _c1$t = () => [];
31096
- const _forTrack0$x = ($index, $item) => $item.performanceItemId;
31096
+ const _forTrack0$y = ($index, $item) => $item.performanceItemId;
31097
31097
  function FocusAreaOpportunityDetailModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
31098
31098
  i0.ɵɵelementStart(0, "div")(1, "p", 2);
31099
31099
  i0.ɵɵtext(2);
@@ -31145,7 +31145,7 @@ function FocusAreaOpportunityDetailModalContentComponent_Conditional_3_Template(
31145
31145
  i0.ɵɵtext(2);
31146
31146
  i0.ɵɵelementEnd();
31147
31147
  i0.ɵɵelementStart(3, "div", 6);
31148
- i0.ɵɵrepeaterCreate(4, FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Template, 4, 5, "button", 7, _forTrack0$x);
31148
+ i0.ɵɵrepeaterCreate(4, FocusAreaOpportunityDetailModalContentComponent_Conditional_3_For_5_Template, 4, 5, "button", 7, _forTrack0$y);
31149
31149
  i0.ɵɵelementEnd()();
31150
31150
  } if (rf & 2) {
31151
31151
  const ctx_r0 = i0.ɵɵnextContext();
@@ -36288,7 +36288,7 @@ const _c4$7 = a0 => ({ name: "academic-cap", source: a0 });
36288
36288
  const _c5$5 = a0 => ({ name: "information-circle", source: a0 });
36289
36289
  const _c6$2 = a0 => ({ name: "signal", source: a0 });
36290
36290
  const _c7$1 = a0 => ({ name: "wrench-screwdriver", source: a0 });
36291
- const _forTrack0$w = ($index, $item) => $item.name;
36291
+ const _forTrack0$x = ($index, $item) => $item.name;
36292
36292
  function ProductCategoryCardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
36293
36293
  i0.ɵɵelementStart(0, "p", 8);
36294
36294
  i0.ɵɵtext(1);
@@ -36419,7 +36419,7 @@ function ProductCategoryCardComponent_Conditional_16_Template(rf, ctx) { if (rf
36419
36419
  i0.ɵɵelementStart(6, "symphiq-visualization-container", 21);
36420
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)); });
36421
36421
  i0.ɵɵelementStart(7, "div", 22);
36422
- i0.ɵɵrepeaterCreate(8, ProductCategoryCardComponent_Conditional_16_For_9_Template, 2, 5, "div", 23, _forTrack0$w);
36422
+ i0.ɵɵrepeaterCreate(8, ProductCategoryCardComponent_Conditional_16_For_9_Template, 2, 5, "div", 23, _forTrack0$x);
36423
36423
  i0.ɵɵelementEnd()()()();
36424
36424
  } if (rf & 2) {
36425
36425
  const ctx_r0 = i0.ɵɵnextContext();
@@ -41408,7 +41408,7 @@ const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_5_D
41408
41408
  const ProfileAnalysisModalComponent_Conditional_0_Conditional_31_Conditional_6_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
41409
41409
  const _c3$9 = a0 => ({ name: "arrow-left", source: a0 });
41410
41410
  const _c4$5 = a0 => ({ name: "chevron-right", source: a0 });
41411
- const _forTrack0$v = ($index, $item) => $item.performanceItemId || $index;
41411
+ const _forTrack0$w = ($index, $item) => $item.performanceItemId || $index;
41412
41412
  const _forTrack1$4 = ($index, $item) => $item.id || $index;
41413
41413
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_10_For_5_Conditional_0_Conditional_0_Template(rf, ctx) { if (rf & 1) {
41414
41414
  const _r4 = i0.ɵɵgetCurrentView();
@@ -41619,7 +41619,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Templa
41619
41619
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_21_Template(rf, ctx) { if (rf & 1) {
41620
41620
  i0.ɵɵelementStart(0, "div", 20);
41621
41621
  i0.ɵɵconditionalCreate(1, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_Conditional_1_Template, 2, 2, "p", 52);
41622
- i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Template, 13, 10, "div", 53, _forTrack0$v);
41622
+ i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_21_For_3_Template, 13, 10, "div", 53, _forTrack0$w);
41623
41623
  i0.ɵɵelementEnd();
41624
41624
  } if (rf & 2) {
41625
41625
  const data_r11 = ctx;
@@ -41699,7 +41699,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Templa
41699
41699
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
41700
41700
  i0.ɵɵelementStart(0, "div", 20);
41701
41701
  i0.ɵɵconditionalCreate(1, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_Conditional_1_Template, 2, 2, "p", 52);
41702
- i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Template, 13, 10, "div", 53, _forTrack0$v);
41702
+ i0.ɵɵrepeaterCreate(2, ProfileAnalysisModalComponent_Conditional_0_Conditional_22_For_3_Template, 13, 10, "div", 53, _forTrack0$w);
41703
41703
  i0.ɵɵelementEnd();
41704
41704
  } if (rf & 2) {
41705
41705
  const data_r14 = ctx;
@@ -41818,7 +41818,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
41818
41818
  i0.ɵɵelementStart(0, "div", 69)(1, "h3", 70);
41819
41819
  i0.ɵɵtext(2, " Directly Affected Metric ");
41820
41820
  i0.ɵɵelementEnd();
41821
- i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_0_For_4_Template, 1, 1, null, null, _forTrack0$v);
41821
+ i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_0_For_4_Template, 1, 1, null, null, _forTrack0$w);
41822
41822
  i0.ɵɵelementEnd();
41823
41823
  } if (rf & 2) {
41824
41824
  const data_r32 = i0.ɵɵnextContext(2);
@@ -41852,7 +41852,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
41852
41852
  i0.ɵɵelementStart(0, "div", 69)(1, "h3", 70);
41853
41853
  i0.ɵɵtext(2, " Indirectly Affected Metrics ");
41854
41854
  i0.ɵɵelementEnd();
41855
- i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_1_For_4_Template, 1, 1, null, null, _forTrack0$v);
41855
+ i0.ɵɵrepeaterCreate(3, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_1_Conditional_1_For_4_Template, 1, 1, null, null, _forTrack0$w);
41856
41856
  i0.ɵɵelementEnd();
41857
41857
  } if (rf & 2) {
41858
41858
  const data_r32 = i0.ɵɵnextContext(2);
@@ -41884,7 +41884,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_
41884
41884
  i0.ɵɵproperty("metric", metric_r38)("isLightMode", ctx_r1.isLightMode())("animationKey", $index_r39);
41885
41885
  } }
41886
41886
  function ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_Template(rf, ctx) { if (rf & 1) {
41887
- i0.ɵɵrepeaterCreate(0, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_For_1_Template, 2, 3, "div", null, _forTrack0$v);
41887
+ i0.ɵɵrepeaterCreate(0, ProfileAnalysisModalComponent_Conditional_0_Conditional_27_Conditional_2_For_1_Template, 2, 3, "div", null, _forTrack0$w);
41888
41888
  } if (rf & 2) {
41889
41889
  const data_r32 = i0.ɵɵnextContext();
41890
41890
  i0.ɵɵrepeater(data_r32.metrics);
@@ -44538,7 +44538,7 @@ const _c0$B = a0 => ({ name: "list-bullet", source: a0 });
44538
44538
  const _c1$g = a0 => ({ name: "arrow-right", source: a0 });
44539
44539
  const _c2$9 = a0 => ({ name: "check-circle", source: a0 });
44540
44540
  const _c3$7 = a0 => ({ name: "exclamation-circle", source: a0 });
44541
- const _forTrack0$u = ($index, $item) => $item.order;
44541
+ const _forTrack0$v = ($index, $item) => $item.order;
44542
44542
  function RecommendationActionStepsModalComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
44543
44543
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 5);
44544
44544
  i0.ɵɵelement(2, "symphiq-icon", 6);
@@ -44692,7 +44692,7 @@ class RecommendationActionStepsModalComponent {
44692
44692
  i0.ɵɵelementStart(0, "div", 0);
44693
44693
  i0.ɵɵconditionalCreate(1, RecommendationActionStepsModalComponent_Conditional_1_Template, 8, 7, "div", 1);
44694
44694
  i0.ɵɵelementStart(2, "div", 2);
44695
- i0.ɵɵrepeaterCreate(3, RecommendationActionStepsModalComponent_For_4_Template, 13, 11, "div", 3, _forTrack0$u);
44695
+ i0.ɵɵrepeaterCreate(3, RecommendationActionStepsModalComponent_For_4_Template, 13, 11, "div", 3, _forTrack0$v);
44696
44696
  i0.ɵɵelementEnd();
44697
44697
  i0.ɵɵconditionalCreate(5, RecommendationActionStepsModalComponent_Conditional_5_Template, 4, 5, "div", 4);
44698
44698
  i0.ɵɵelementEnd();
@@ -45941,7 +45941,7 @@ const _c2$8 = () => [1, 2, 3, 4, 5, 6];
45941
45941
  const _c3$6 = () => [1, 2, 3];
45942
45942
  const _c4$3 = () => [1, 2, 3, 4];
45943
45943
  const _c5$2 = () => [1, 2];
45944
- const _forTrack0$t = ($index, $item) => $item.value;
45944
+ const _forTrack0$u = ($index, $item) => $item.value;
45945
45945
  function SymphiqFunnelAnalysisDashboardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
45946
45946
  i0.ɵɵelement(0, "div", 11);
45947
45947
  } }
@@ -45980,7 +45980,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_25_Template(rf, ctx
45980
45980
  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()); });
45981
45981
  i0.ɵɵelementStart(4, "select", 49);
45982
45982
  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)); });
45983
- i0.ɵɵrepeaterCreate(5, SymphiqFunnelAnalysisDashboardComponent_Conditional_25_For_6_Template, 2, 2, "option", 50, _forTrack0$t);
45983
+ i0.ɵɵrepeaterCreate(5, SymphiqFunnelAnalysisDashboardComponent_Conditional_25_For_6_Template, 2, 2, "option", 50, _forTrack0$u);
45984
45984
  i0.ɵɵelementEnd()()();
45985
45985
  } if (rf & 2) {
45986
45986
  const ctx_r2 = i0.ɵɵnextContext();
@@ -46060,7 +46060,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_46_Template(rf, ctx
46060
46060
  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()); });
46061
46061
  i0.ɵɵelementStart(1, "select", 55);
46062
46062
  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)); });
46063
- i0.ɵɵrepeaterCreate(2, SymphiqFunnelAnalysisDashboardComponent_Conditional_46_For_3_Template, 2, 2, "option", 50, _forTrack0$t);
46063
+ i0.ɵɵrepeaterCreate(2, SymphiqFunnelAnalysisDashboardComponent_Conditional_46_For_3_Template, 2, 2, "option", 50, _forTrack0$u);
46064
46064
  i0.ɵɵelementEnd()();
46065
46065
  } if (rf & 2) {
46066
46066
  const ctx_r2 = i0.ɵɵnextContext();
@@ -46834,7 +46834,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_Te
46834
46834
  i0.ɵɵconditionalCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_Conditional_14_Template, 2, 0, "div", 125);
46835
46835
  i0.ɵɵelementStart(15, "select", 126);
46836
46836
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_Template_select_ngModelChange_15_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeCategoryFilter($event)); });
46837
- i0.ɵɵrepeaterCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_For_17_Template, 2, 1, null, null, _forTrack0$t);
46837
+ i0.ɵɵrepeaterCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_For_17_Template, 2, 1, null, null, _forTrack0$u);
46838
46838
  i0.ɵɵelementEnd();
46839
46839
  i0.ɵɵelementStart(18, "button", 127);
46840
46840
  i0.ɵɵlistener("click", function SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.toggleSortOrder()); });
@@ -46848,7 +46848,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_Te
46848
46848
  i0.ɵɵtext(23, "Sort");
46849
46849
  i0.ɵɵelementEnd()()()();
46850
46850
  i0.ɵɵelementStart(24, "div", 130)(25, "div", 131);
46851
- i0.ɵɵrepeaterCreate(26, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_For_27_Template, 1, 1, null, null, _forTrack0$t);
46851
+ i0.ɵɵrepeaterCreate(26, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_For_27_Template, 1, 1, null, null, _forTrack0$u);
46852
46852
  i0.ɵɵelementEnd()()();
46853
46853
  i0.ɵɵconditionalCreate(28, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_Conditional_28_Template, 3, 1, "div", 132)(29, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_4_Conditional_29_Template, 4, 5, "div", 133);
46854
46854
  i0.ɵɵelementEnd()();
@@ -47025,7 +47025,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_5_Te
47025
47025
  i0.ɵɵconditionalCreate(12, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_5_Conditional_12_Template, 2, 0, "div", 125);
47026
47026
  i0.ɵɵelementStart(13, "select", 167);
47027
47027
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_5_Template_select_ngModelChange_13_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeBreakdownFilter($event)); });
47028
- i0.ɵɵrepeaterCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_5_For_15_Template, 2, 1, null, null, _forTrack0$t);
47028
+ i0.ɵɵrepeaterCreate(14, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_5_For_15_Template, 2, 1, null, null, _forTrack0$u);
47029
47029
  i0.ɵɵelementEnd()()();
47030
47030
  i0.ɵɵconditionalCreate(16, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_5_Conditional_16_Template, 3, 1, "div", 98)(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_5_Conditional_17_Template, 4, 5, "div", 168);
47031
47031
  i0.ɵɵelementEnd()();
@@ -47136,7 +47136,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_6_Te
47136
47136
  i0.ɵɵconditionalCreate(13, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_6_Conditional_13_Template, 2, 0, "div", 125);
47137
47137
  i0.ɵɵelementStart(14, "select", 126);
47138
47138
  i0.ɵɵlistener("ngModelChange", function SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_6_Template_select_ngModelChange_14_listener($event) { i0.ɵɵrestoreView(_r41); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.changeCompetitiveFilter($event)); });
47139
- i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_6_For_16_Template, 2, 1, null, null, _forTrack0$t);
47139
+ i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_6_For_16_Template, 2, 1, null, null, _forTrack0$u);
47140
47140
  i0.ɵɵelementEnd()()();
47141
47141
  i0.ɵɵconditionalCreate(17, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_6_Conditional_17_Template, 6, 5, "div", 98)(18, SymphiqFunnelAnalysisDashboardComponent_Conditional_53_Conditional_6_Conditional_18_Template, 1, 6, "symphiq-competitive-intelligence-view", 95);
47142
47142
  i0.ɵɵelementEnd()();
@@ -49744,7 +49744,7 @@ function getTrendClasses(trendPercent, viewMode) {
49744
49744
  }
49745
49745
  }
49746
49746
 
49747
- const _forTrack0$s = ($index, $item) => $item.performanceItemId;
49747
+ const _forTrack0$t = ($index, $item) => $item.performanceItemId;
49748
49748
  function SymphiqFunnelAnalysisPreviewComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
49749
49749
  i0.ɵɵelementStart(0, "div", 17)(1, "p", 18);
49750
49750
  i0.ɵɵtext(2);
@@ -50363,7 +50363,7 @@ class SymphiqFunnelAnalysisPreviewComponent {
50363
50363
  i0.ɵɵconditionalCreate(12, SymphiqFunnelAnalysisPreviewComponent_Conditional_12_Template, 3, 7, "div", 9);
50364
50364
  i0.ɵɵconditionalCreate(13, SymphiqFunnelAnalysisPreviewComponent_Conditional_13_Template, 18, 23, "div", 10);
50365
50365
  i0.ɵɵelementStart(14, "div", 11);
50366
- i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisPreviewComponent_For_16_Template, 10, 17, "div", 12, _forTrack0$s);
50366
+ i0.ɵɵrepeaterCreate(15, SymphiqFunnelAnalysisPreviewComponent_For_16_Template, 10, 17, "div", 12, _forTrack0$t);
50367
50367
  i0.ɵɵelementEnd();
50368
50368
  i0.ɵɵconditionalCreate(17, SymphiqFunnelAnalysisPreviewComponent_Conditional_17_Template, 9, 11, "div", 9);
50369
50369
  i0.ɵɵconditionalCreate(18, SymphiqFunnelAnalysisPreviewComponent_Conditional_18_Template, 14, 19, "div", 9);
@@ -50606,7 +50606,7 @@ class SymphiqFunnelAnalysisPreviewComponent {
50606
50606
  }], () => [], { 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"] }] }); })();
50607
50607
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisPreviewComponent, { className: "SymphiqFunnelAnalysisPreviewComponent", filePath: "lib/components/funnel-analysis-preview/symphiq-funnel-analysis-preview.component.ts", lineNumber: 228 }); })();
50608
50608
 
50609
- const _forTrack0$r = ($index, $item) => $item.id;
50609
+ const _forTrack0$s = ($index, $item) => $item.id;
50610
50610
  function SymphiqWelcomeDashboardComponent_For_65_Template(rf, ctx) { if (rf & 1) {
50611
50611
  i0.ɵɵelementStart(0, "div", 31)(1, "div", 36)(2, "div", 37)(3, "span", 38);
50612
50612
  i0.ɵɵtext(4);
@@ -50901,7 +50901,7 @@ class SymphiqWelcomeDashboardComponent {
50901
50901
  i0.ɵɵtext(62, " Your Onboarding Journey ");
50902
50902
  i0.ɵɵelementEnd();
50903
50903
  i0.ɵɵelementStart(63, "div", 30);
50904
- i0.ɵɵrepeaterCreate(64, SymphiqWelcomeDashboardComponent_For_65_Template, 9, 3, "div", 31, _forTrack0$r);
50904
+ i0.ɵɵrepeaterCreate(64, SymphiqWelcomeDashboardComponent_For_65_Template, 9, 3, "div", 31, _forTrack0$s);
50905
50905
  i0.ɵɵelementEnd()()();
50906
50906
  i0.ɵɵelementStart(66, "div", 32);
50907
50907
  i0.ɵɵnamespaceSVG();
@@ -51940,7 +51940,7 @@ class FocusAreaToolsModalComponent {
51940
51940
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaToolsModalComponent, { className: "FocusAreaToolsModalComponent", filePath: "lib/components/create-account-dashboard/focus-area-tools-modal.component.ts", lineNumber: 149 }); })();
51941
51941
 
51942
51942
  const _c0$y = ["shopNameInput"];
51943
- const _forTrack0$q = ($index, $item) => $item.focusAreaDomain;
51943
+ const _forTrack0$r = ($index, $item) => $item.focusAreaDomain;
51944
51944
  function SymphiqCreateAccountDashboardComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
51945
51945
  i0.ɵɵelementStart(0, "div", 13);
51946
51946
  i0.ɵɵelement(1, "symphiq-indeterminate-spinner", 17);
@@ -52285,7 +52285,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52285
52285
  i0.ɵɵtext(3);
52286
52286
  i0.ɵɵelementEnd();
52287
52287
  i0.ɵɵelementStart(4, "div", 58);
52288
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_12_For_6_Template, 7, 5, "div", 59, _forTrack0$q);
52288
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_12_For_6_Template, 7, 5, "div", 59, _forTrack0$r);
52289
52289
  i0.ɵɵelementEnd()();
52290
52290
  } if (rf & 2) {
52291
52291
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -52315,7 +52315,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52315
52315
  i0.ɵɵtext(3);
52316
52316
  i0.ɵɵelementEnd();
52317
52317
  i0.ɵɵelementStart(4, "div", 68);
52318
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_13_For_6_Template, 3, 3, "div", 69, _forTrack0$q);
52318
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_13_For_6_Template, 3, 3, "div", 69, _forTrack0$r);
52319
52319
  i0.ɵɵelementEnd()();
52320
52320
  } if (rf & 2) {
52321
52321
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -52345,7 +52345,7 @@ function SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Con
52345
52345
  i0.ɵɵtext(3);
52346
52346
  i0.ɵɵelementEnd();
52347
52347
  i0.ɵɵelementStart(4, "div", 71);
52348
- i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_14_For_6_Template, 3, 3, "div", 72, _forTrack0$q);
52348
+ i0.ɵɵrepeaterCreate(5, SymphiqCreateAccountDashboardComponent_Conditional_23_Conditional_3_Conditional_14_For_6_Template, 3, 3, "div", 72, _forTrack0$r);
52349
52349
  i0.ɵɵelementEnd()();
52350
52350
  } if (rf & 2) {
52351
52351
  const ctx_r0 = i0.ɵɵnextContext(3);
@@ -53760,7 +53760,7 @@ class SymphiqCreateAccountDashboardComponent {
53760
53760
  }] }); })();
53761
53761
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqCreateAccountDashboardComponent, { className: "SymphiqCreateAccountDashboardComponent", filePath: "lib/components/create-account-dashboard/symphiq-create-account-dashboard.component.ts", lineNumber: 642 }); })();
53762
53762
 
53763
- const _forTrack0$p = ($index, $item) => $item.id;
53763
+ const _forTrack0$q = ($index, $item) => $item.id;
53764
53764
  function SymphiqConnectGaDashboardComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
53765
53765
  i0.ɵɵelementStart(0, "div", 12)(1, "div", 14)(2, "div", 15);
53766
53766
  i0.ɵɵelement(3, "symphiq-indeterminate-spinner", 16);
@@ -53989,7 +53989,7 @@ function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_
53989
53989
  function SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_Template(rf, ctx) { if (rf & 1) {
53990
53990
  const _r5 = i0.ɵɵgetCurrentView();
53991
53991
  i0.ɵɵelementStart(0, "div", 56);
53992
- i0.ɵɵrepeaterCreate(1, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Template, 11, 8, "label", 57, _forTrack0$p);
53992
+ i0.ɵɵrepeaterCreate(1, SymphiqConnectGaDashboardComponent_Conditional_23_Conditional_14_For_2_Template, 11, 8, "label", 57, _forTrack0$q);
53993
53993
  i0.ɵɵelementEnd();
53994
53994
  i0.ɵɵelement(3, "div", 58);
53995
53995
  i0.ɵɵelementStart(4, "button", 59);
@@ -55945,7 +55945,7 @@ class TargetChangeBadgeComponent {
55945
55945
  }], () => [{ 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 }] }] }); })();
55946
55946
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TargetChangeBadgeComponent, { className: "TargetChangeBadgeComponent", filePath: "lib/components/revenue-calculator-dashboard/target-change-badge.component.ts", lineNumber: 27 }); })();
55947
55947
 
55948
- const _forTrack0$o = ($index, $item) => $item.stageMetric.metric;
55948
+ const _forTrack0$p = ($index, $item) => $item.stageMetric.metric;
55949
55949
  const _forTrack1$3 = ($index, $item) => $item.calc.metric;
55950
55950
  function FunnelMetricsVisualizationComponent_For_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
55951
55951
  i0.ɵɵelementStart(0, "button", 7);
@@ -56462,7 +56462,7 @@ class FunnelMetricsVisualizationComponent {
56462
56462
  i0.ɵɵelementStart(0, "div", 0);
56463
56463
  i0.ɵɵelement(1, "symphiq-tooltip-container");
56464
56464
  i0.ɵɵelementStart(2, "div", 1);
56465
- i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 28, 15, "div", 2, _forTrack0$o);
56465
+ i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 28, 15, "div", 2, _forTrack0$p);
56466
56466
  i0.ɵɵelementEnd()();
56467
56467
  } if (rf & 2) {
56468
56468
  i0.ɵɵadvance(3);
@@ -58274,7 +58274,7 @@ class ProgressToTargetChartComponent {
58274
58274
  }] }); })();
58275
58275
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProgressToTargetChartComponent, { className: "ProgressToTargetChartComponent", filePath: "lib/components/revenue-calculator-dashboard/progress-to-target-chart.component.ts", lineNumber: 66 }); })();
58276
58276
 
58277
- const _forTrack0$n = ($index, $item) => $item.metric;
58277
+ const _forTrack0$o = ($index, $item) => $item.metric;
58278
58278
  function MetricReportModalComponent_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
58279
58279
  i0.ɵɵelementStart(0, "button", 10);
58280
58280
  i0.ɵɵnamespaceSVG();
@@ -58410,7 +58410,7 @@ function MetricReportModalComponent_Conditional_0_Conditional_65_Template(rf, ct
58410
58410
  i0.ɵɵtext(12, "Improve by");
58411
58411
  i0.ɵɵelementEnd()()();
58412
58412
  i0.ɵɵelementStart(13, "tbody");
58413
- i0.ɵɵrepeaterCreate(14, MetricReportModalComponent_Conditional_0_Conditional_65_For_15_Template, 15, 7, "tr", 47, _forTrack0$n);
58413
+ i0.ɵɵrepeaterCreate(14, MetricReportModalComponent_Conditional_0_Conditional_65_For_15_Template, 15, 7, "tr", 47, _forTrack0$o);
58414
58414
  i0.ɵɵelementEnd()()()();
58415
58415
  } if (rf & 2) {
58416
58416
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -59725,9 +59725,203 @@ class MetricReportModalComponent {
59725
59725
  }] }); })();
59726
59726
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricReportModalComponent, { className: "MetricReportModalComponent", filePath: "lib/components/revenue-calculator-dashboard/metric-report-modal.component.ts", lineNumber: 483 }); })();
59727
59727
 
59728
+ function UserAvatarComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
59729
+ i0.ɵɵelement(0, "img", 1);
59730
+ } if (rf & 2) {
59731
+ const ctx_r0 = i0.ɵɵnextContext();
59732
+ i0.ɵɵproperty("src", ctx_r0.user().avatarImg, i0.ɵɵsanitizeUrl)("alt", ctx_r0.displayName());
59733
+ } }
59734
+ function UserAvatarComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
59735
+ i0.ɵɵelementStart(0, "span");
59736
+ i0.ɵɵtext(1);
59737
+ i0.ɵɵelementEnd();
59738
+ } if (rf & 2) {
59739
+ const ctx_r0 = i0.ɵɵnextContext();
59740
+ i0.ɵɵadvance();
59741
+ i0.ɵɵtextInterpolate(ctx_r0.initials());
59742
+ } }
59743
+ const AVATAR_COLORS = [
59744
+ { bg: 'bg-purple-600', text: 'text-white' },
59745
+ { bg: 'bg-blue-600', text: 'text-white' },
59746
+ { bg: 'bg-emerald-600', text: 'text-white' },
59747
+ { bg: 'bg-amber-500', text: 'text-white' },
59748
+ { bg: 'bg-rose-600', text: 'text-white' },
59749
+ { bg: 'bg-cyan-600', text: 'text-white' },
59750
+ { bg: 'bg-indigo-600', text: 'text-white' },
59751
+ { bg: 'bg-pink-600', text: 'text-white' },
59752
+ { bg: 'bg-teal-600', text: 'text-white' },
59753
+ { bg: 'bg-orange-500', text: 'text-white' },
59754
+ ];
59755
+ class UserAvatarComponent {
59756
+ constructor() {
59757
+ this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
59758
+ this.user = input(undefined, ...(ngDevMode ? [{ debugName: "user" }] : []));
59759
+ this.size = input('medium', ...(ngDevMode ? [{ debugName: "size" }] : []));
59760
+ this.displayName = computed(() => {
59761
+ const u = this.user();
59762
+ if (!u)
59763
+ return '';
59764
+ if (u.firstName && u.lastName)
59765
+ return `${u.firstName} ${u.lastName}`;
59766
+ if (u.firstName)
59767
+ return u.firstName;
59768
+ return u.email || '';
59769
+ }, ...(ngDevMode ? [{ debugName: "displayName" }] : []));
59770
+ this.initials = computed(() => {
59771
+ const u = this.user();
59772
+ if (!u)
59773
+ return '?';
59774
+ if (u.firstName && u.lastName) {
59775
+ return `${u.firstName.charAt(0)}${u.lastName.charAt(0)}`.toUpperCase();
59776
+ }
59777
+ if (u.firstName) {
59778
+ return u.firstName.charAt(0).toUpperCase();
59779
+ }
59780
+ if (u.email) {
59781
+ return u.email.charAt(0).toUpperCase();
59782
+ }
59783
+ return '?';
59784
+ }, ...(ngDevMode ? [{ debugName: "initials" }] : []));
59785
+ this.avatarColor = computed(() => {
59786
+ const u = this.user();
59787
+ if (!u || !u.id)
59788
+ return AVATAR_COLORS[0];
59789
+ const index = u.id % AVATAR_COLORS.length;
59790
+ return AVATAR_COLORS[index];
59791
+ }, ...(ngDevMode ? [{ debugName: "avatarColor" }] : []));
59792
+ this.containerClasses = computed(() => {
59793
+ const color = this.avatarColor();
59794
+ const hasImage = !!this.user()?.avatarImg;
59795
+ const sizeClasses = {
59796
+ 'small': 'w-8 h-8 text-xs',
59797
+ 'medium': 'w-10 h-10 text-sm',
59798
+ 'large': 'w-12 h-12 text-base'
59799
+ };
59800
+ if (hasImage) {
59801
+ return sizeClasses[this.size()];
59802
+ }
59803
+ return `${sizeClasses[this.size()]} ${color.bg} ${color.text}`;
59804
+ }, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
59805
+ }
59806
+ static { this.ɵfac = function UserAvatarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UserAvatarComponent)(); }; }
59807
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserAvatarComponent, selectors: [["symphiq-user-avatar"]], inputs: { viewMode: [1, "viewMode"], user: [1, "user"], size: [1, "size"] }, decls: 3, vars: 2, consts: [[1, "rounded-full", "flex", "items-center", "justify-center", "font-medium", "overflow-hidden", "flex-shrink-0", 3, "ngClass"], [1, "w-full", "h-full", "object-cover", 3, "src", "alt"]], template: function UserAvatarComponent_Template(rf, ctx) { if (rf & 1) {
59808
+ i0.ɵɵelementStart(0, "div", 0);
59809
+ i0.ɵɵconditionalCreate(1, UserAvatarComponent_Conditional_1_Template, 1, 2, "img", 1)(2, UserAvatarComponent_Conditional_2_Template, 2, 1, "span");
59810
+ i0.ɵɵelementEnd();
59811
+ } if (rf & 2) {
59812
+ let tmp_1_0;
59813
+ i0.ɵɵproperty("ngClass", ctx.containerClasses());
59814
+ i0.ɵɵadvance();
59815
+ i0.ɵɵconditional(((tmp_1_0 = ctx.user()) == null ? null : tmp_1_0.avatarImg) ? 1 : 2);
59816
+ } }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
59817
+ }
59818
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserAvatarComponent, [{
59819
+ type: Component,
59820
+ args: [{
59821
+ selector: 'symphiq-user-avatar',
59822
+ standalone: true,
59823
+ imports: [CommonModule],
59824
+ changeDetection: ChangeDetectionStrategy.OnPush,
59825
+ template: `
59826
+ <div [ngClass]="containerClasses()" class="rounded-full flex items-center justify-center font-medium overflow-hidden flex-shrink-0">
59827
+ @if (user()?.avatarImg) {
59828
+ <img [src]="user()!.avatarImg" [alt]="displayName()" class="w-full h-full object-cover">
59829
+ } @else {
59830
+ <span>{{ initials() }}</span>
59831
+ }
59832
+ </div>
59833
+ `
59834
+ }]
59835
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], user: [{ type: i0.Input, args: [{ isSignal: true, alias: "user", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] }); })();
59836
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserAvatarComponent, { className: "UserAvatarComponent", filePath: "lib/components/shared/user-avatar.component.ts", lineNumber: 35 }); })();
59837
+
59838
+ function UserDisplayComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
59839
+ i0.ɵɵelementStart(0, "p", 3);
59840
+ i0.ɵɵtext(1);
59841
+ i0.ɵɵelementEnd();
59842
+ } if (rf & 2) {
59843
+ const ctx_r0 = i0.ɵɵnextContext();
59844
+ i0.ɵɵproperty("ngClass", ctx_r0.emailClasses());
59845
+ i0.ɵɵadvance();
59846
+ i0.ɵɵtextInterpolate(ctx_r0.user().email);
59847
+ } }
59848
+ class UserDisplayComponent {
59849
+ constructor() {
59850
+ this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
59851
+ this.user = input(undefined, ...(ngDevMode ? [{ debugName: "user" }] : []));
59852
+ this.avatarSize = input('medium', ...(ngDevMode ? [{ debugName: "avatarSize" }] : []));
59853
+ this.showEmail = input(true, ...(ngDevMode ? [{ debugName: "showEmail" }] : []));
59854
+ this.displayName = computed(() => {
59855
+ const u = this.user();
59856
+ if (!u)
59857
+ return 'Unknown User';
59858
+ if (u.firstName && u.lastName)
59859
+ return `${u.firstName} ${u.lastName}`;
59860
+ if (u.firstName)
59861
+ return u.firstName;
59862
+ return u.email || 'Unknown User';
59863
+ }, ...(ngDevMode ? [{ debugName: "displayName" }] : []));
59864
+ this.nameClasses = computed(() => {
59865
+ return this.viewMode() === ViewModeEnum.DARK
59866
+ ? 'text-white'
59867
+ : 'text-slate-900';
59868
+ }, ...(ngDevMode ? [{ debugName: "nameClasses" }] : []));
59869
+ this.emailClasses = computed(() => {
59870
+ return this.viewMode() === ViewModeEnum.DARK
59871
+ ? 'text-slate-400'
59872
+ : 'text-slate-500';
59873
+ }, ...(ngDevMode ? [{ debugName: "emailClasses" }] : []));
59874
+ }
59875
+ static { this.ɵfac = function UserDisplayComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UserDisplayComponent)(); }; }
59876
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserDisplayComponent, selectors: [["symphiq-user-display"]], inputs: { viewMode: [1, "viewMode"], user: [1, "user"], avatarSize: [1, "avatarSize"], showEmail: [1, "showEmail"] }, decls: 6, vars: 6, consts: [[1, "flex", "items-center", "gap-3"], [3, "viewMode", "user", "size"], [1, "text-sm", "font-medium", 3, "ngClass"], [1, "text-xs", 3, "ngClass"]], template: function UserDisplayComponent_Template(rf, ctx) { if (rf & 1) {
59877
+ i0.ɵɵelementStart(0, "div", 0);
59878
+ i0.ɵɵelement(1, "symphiq-user-avatar", 1);
59879
+ i0.ɵɵelementStart(2, "div")(3, "p", 2);
59880
+ i0.ɵɵtext(4);
59881
+ i0.ɵɵelementEnd();
59882
+ i0.ɵɵconditionalCreate(5, UserDisplayComponent_Conditional_5_Template, 2, 2, "p", 3);
59883
+ i0.ɵɵelementEnd()();
59884
+ } if (rf & 2) {
59885
+ let tmp_5_0;
59886
+ i0.ɵɵadvance();
59887
+ i0.ɵɵproperty("viewMode", ctx.viewMode())("user", ctx.user())("size", ctx.avatarSize());
59888
+ i0.ɵɵadvance(2);
59889
+ i0.ɵɵproperty("ngClass", ctx.nameClasses());
59890
+ i0.ɵɵadvance();
59891
+ i0.ɵɵtextInterpolate(ctx.displayName());
59892
+ i0.ɵɵadvance();
59893
+ i0.ɵɵconditional(ctx.showEmail() && ((tmp_5_0 = ctx.user()) == null ? null : tmp_5_0.email) ? 5 : -1);
59894
+ } }, dependencies: [CommonModule, i1$1.NgClass, UserAvatarComponent], encapsulation: 2, changeDetection: 0 }); }
59895
+ }
59896
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserDisplayComponent, [{
59897
+ type: Component,
59898
+ args: [{
59899
+ selector: 'symphiq-user-display',
59900
+ standalone: true,
59901
+ imports: [CommonModule, UserAvatarComponent],
59902
+ changeDetection: ChangeDetectionStrategy.OnPush,
59903
+ template: `
59904
+ <div class="flex items-center gap-3">
59905
+ <symphiq-user-avatar
59906
+ [viewMode]="viewMode()"
59907
+ [user]="user()"
59908
+ [size]="avatarSize()"
59909
+ />
59910
+ <div>
59911
+ <p [ngClass]="nameClasses()" class="text-sm font-medium">{{ displayName() }}</p>
59912
+ @if (showEmail() && user()?.email) {
59913
+ <p [ngClass]="emailClasses()" class="text-xs">{{ user()!.email }}</p>
59914
+ }
59915
+ </div>
59916
+ </div>
59917
+ `
59918
+ }]
59919
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], user: [{ type: i0.Input, args: [{ isSignal: true, alias: "user", required: false }] }], avatarSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarSize", required: false }] }], showEmail: [{ type: i0.Input, args: [{ isSignal: true, alias: "showEmail", required: false }] }] }); })();
59920
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserDisplayComponent, { className: "UserDisplayComponent", filePath: "lib/components/shared/user-display.component.ts", lineNumber: 27 }); })();
59921
+
59728
59922
  const _c0$u = ["absoluteInputRef"];
59729
59923
  const _c1$d = ["percentageInputRef"];
59730
- const _forTrack0$m = ($index, $item) => $item.id;
59924
+ const _forTrack0$n = ($index, $item) => $item.id;
59731
59925
  function EditMetricTargetModalComponent_Conditional_0_Conditional_27_Template(rf, ctx) { if (rf & 1) {
59732
59926
  const _r3 = i0.ɵɵgetCurrentView();
59733
59927
  i0.ɵɵelementStart(0, "div", 18);
@@ -60087,82 +60281,28 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_36_Template(rf
60087
60281
  i0.ɵɵadvance();
60088
60282
  i0.ɵɵconditional(ctx_r1.currentPaceProjectionRaw() > 0 ? 31 : -1);
60089
60283
  } }
60090
- function EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
60091
- i0.ɵɵelement(0, "img", 68);
60092
- } if (rf & 2) {
60093
- const user_r9 = i0.ɵɵnextContext();
60094
- const ctx_r1 = i0.ɵɵnextContext(4);
60095
- i0.ɵɵproperty("src", user_r9.avatarImg, i0.ɵɵsanitizeUrl)("alt", ctx_r1.getUserDisplayName(user_r9));
60096
- } }
60097
- function EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
60098
- i0.ɵɵtext(0);
60099
- } if (rf & 2) {
60100
- const user_r9 = i0.ɵɵnextContext();
60101
- const ctx_r1 = i0.ɵɵnextContext(4);
60102
- i0.ɵɵtextInterpolate1(" ", ctx_r1.getUserInitial(user_r9), " ");
60103
- } }
60104
- function EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_2_Template(rf, ctx) { if (rf & 1) {
60105
- i0.ɵɵelementStart(0, "div", 67);
60106
- 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);
60107
- i0.ɵɵelementEnd();
60108
- i0.ɵɵelementStart(3, "div")(4, "p", 69);
60109
- i0.ɵɵtext(5);
60110
- i0.ɵɵelementEnd();
60111
- i0.ɵɵelementStart(6, "p", 66);
60112
- i0.ɵɵtext(7);
60113
- i0.ɵɵelementEnd()();
60114
- } if (rf & 2) {
60115
- const user_r9 = ctx;
60116
- const ctx_r1 = i0.ɵɵnextContext(4);
60117
- i0.ɵɵproperty("ngClass", ctx_r1.avatarClasses());
60118
- i0.ɵɵadvance();
60119
- i0.ɵɵconditional(user_r9.avatarImg ? 1 : 2);
60120
- i0.ɵɵadvance(3);
60121
- i0.ɵɵproperty("ngClass", ctx_r1.historyUserNameClasses());
60122
- i0.ɵɵadvance();
60123
- i0.ɵɵtextInterpolate(ctx_r1.getUserDisplayName(user_r9));
60124
- i0.ɵɵadvance();
60125
- i0.ɵɵproperty("ngClass", ctx_r1.historyUserEmailClasses());
60126
- i0.ɵɵadvance();
60127
- i0.ɵɵtextInterpolate(user_r9.email);
60128
- } }
60129
- function EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Conditional_3_Template(rf, ctx) { if (rf & 1) {
60130
- i0.ɵɵelementStart(0, "div", 70);
60131
- i0.ɵɵtext(1, " ? ");
60132
- i0.ɵɵelementEnd();
60133
- i0.ɵɵelementStart(2, "div")(3, "p", 69);
60134
- i0.ɵɵtext(4, "Unknown User");
60135
- i0.ɵɵelementEnd()();
60136
- } if (rf & 2) {
60137
- const ctx_r1 = i0.ɵɵnextContext(4);
60138
- i0.ɵɵproperty("ngClass", ctx_r1.avatarClasses());
60139
- i0.ɵɵadvance(3);
60140
- i0.ɵɵproperty("ngClass", ctx_r1.historyUserNameClasses());
60141
- } }
60142
60284
  function EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Template(rf, ctx) { if (rf & 1) {
60143
- i0.ɵɵelementStart(0, "div", 62)(1, "div", 63);
60144
- 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);
60285
+ i0.ɵɵelementStart(0, "div", 62);
60286
+ i0.ɵɵelement(1, "symphiq-user-display", 63);
60287
+ i0.ɵɵelementStart(2, "div", 64)(3, "p", 65);
60288
+ i0.ɵɵtext(4);
60145
60289
  i0.ɵɵelementEnd();
60146
- i0.ɵɵelementStart(4, "div", 64)(5, "p", 65);
60290
+ i0.ɵɵelementStart(5, "p", 66);
60147
60291
  i0.ɵɵtext(6);
60148
- i0.ɵɵelementEnd();
60149
- i0.ɵɵelementStart(7, "p", 66);
60150
- i0.ɵɵtext(8);
60151
60292
  i0.ɵɵelementEnd()()();
60152
60293
  } if (rf & 2) {
60153
- let tmp_12_0;
60154
- const history_r10 = ctx.$implicit;
60294
+ const history_r9 = ctx.$implicit;
60155
60295
  const ctx_r1 = i0.ɵɵnextContext(3);
60296
+ i0.ɵɵadvance();
60297
+ i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("user", ctx_r1.getUserById(history_r9.creatorUserId));
60156
60298
  i0.ɵɵadvance(2);
60157
- i0.ɵɵconditional((tmp_12_0 = ctx_r1.getUserById(history_r10.creatorUserId)) ? 2 : 3, tmp_12_0);
60158
- i0.ɵɵadvance(3);
60159
60299
  i0.ɵɵproperty("ngClass", ctx_r1.historyValueClasses());
60160
60300
  i0.ɵɵadvance();
60161
- i0.ɵɵtextInterpolate(ctx_r1.formatHistoryValue(history_r10.amount ?? 0));
60301
+ i0.ɵɵtextInterpolate(ctx_r1.formatHistoryValue(history_r9.amount ?? 0));
60162
60302
  i0.ɵɵadvance();
60163
60303
  i0.ɵɵproperty("ngClass", ctx_r1.historyDateClasses());
60164
60304
  i0.ɵɵadvance();
60165
- i0.ɵɵtextInterpolate(ctx_r1.formatHistoryDate(history_r10.createdDate));
60305
+ i0.ɵɵtextInterpolate(ctx_r1.formatHistoryDate(history_r9.createdDate));
60166
60306
  } }
60167
60307
  function EditMetricTargetModalComponent_Conditional_0_Conditional_37_Template(rf, ctx) { if (rf & 1) {
60168
60308
  i0.ɵɵelementStart(0, "div", 28)(1, "h4", 58);
@@ -60175,7 +60315,7 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_37_Template(rf
60175
60315
  i0.ɵɵtext(8, "Amount set");
60176
60316
  i0.ɵɵelementEnd()();
60177
60317
  i0.ɵɵelementStart(9, "div", 61);
60178
- i0.ɵɵrepeaterCreate(10, EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Template, 9, 5, "div", 62, _forTrack0$m);
60318
+ i0.ɵɵrepeaterCreate(10, EditMetricTargetModalComponent_Conditional_0_Conditional_37_For_11_Template, 7, 6, "div", 62, _forTrack0$n);
60179
60319
  i0.ɵɵelementEnd()()();
60180
60320
  } if (rf & 2) {
60181
60321
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -60190,9 +60330,9 @@ function EditMetricTargetModalComponent_Conditional_0_Conditional_37_Template(rf
60190
60330
  i0.ɵɵrepeater(ctx_r1.filteredHistories());
60191
60331
  } }
60192
60332
  function EditMetricTargetModalComponent_Conditional_0_Conditional_41_Template(rf, ctx) { if (rf & 1) {
60193
- const _r11 = i0.ɵɵgetCurrentView();
60333
+ const _r10 = i0.ɵɵgetCurrentView();
60194
60334
  i0.ɵɵelementStart(0, "button", 30);
60195
- 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()); });
60335
+ i0.ɵɵlistener("click", function EditMetricTargetModalComponent_Conditional_0_Conditional_41_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.resetToInitial()); });
60196
60336
  i0.ɵɵtext(1, " Reset ");
60197
60337
  i0.ɵɵelementEnd();
60198
60338
  } if (rf & 2) {
@@ -60603,24 +60743,6 @@ class EditMetricTargetModalComponent {
60603
60743
  return undefined;
60604
60744
  return this.users().find(u => u.id === userId);
60605
60745
  }
60606
- getUserDisplayName(user) {
60607
- if (user.firstName && user.lastName) {
60608
- return `${user.firstName} ${user.lastName}`;
60609
- }
60610
- if (user.firstName) {
60611
- return user.firstName;
60612
- }
60613
- return user.email || 'Unknown User';
60614
- }
60615
- getUserInitial(user) {
60616
- if (user.firstName) {
60617
- return user.firstName.charAt(0).toUpperCase();
60618
- }
60619
- if (user.email) {
60620
- return user.email.charAt(0).toUpperCase();
60621
- }
60622
- return '?';
60623
- }
60624
60746
  formatHistoryDate(date) {
60625
60747
  if (!date)
60626
60748
  return '';
@@ -60918,21 +61040,6 @@ class EditMetricTargetModalComponent {
60918
61040
  ? 'divide-slate-700/50'
60919
61041
  : 'divide-slate-200';
60920
61042
  }
60921
- avatarClasses() {
60922
- return this.viewMode() === ViewModeEnum.DARK
60923
- ? 'bg-slate-700 text-slate-300'
60924
- : 'bg-slate-200 text-slate-600';
60925
- }
60926
- historyUserNameClasses() {
60927
- return this.viewMode() === ViewModeEnum.DARK
60928
- ? 'text-white'
60929
- : 'text-slate-900';
60930
- }
60931
- historyUserEmailClasses() {
60932
- return this.viewMode() === ViewModeEnum.DARK
60933
- ? 'text-slate-400'
60934
- : 'text-slate-500';
60935
- }
60936
61043
  historyValueClasses() {
60937
61044
  return this.viewMode() === ViewModeEnum.DARK
60938
61045
  ? 'text-purple-400'
@@ -60953,11 +61060,11 @@ class EditMetricTargetModalComponent {
60953
61060
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
60954
61061
  } }, hostBindings: function EditMetricTargetModalComponent_HostBindings(rf, ctx) { if (rf & 1) {
60955
61062
  i0.ɵɵlistener("keydown.escape", function EditMetricTargetModalComponent_keydown_escape_HostBindingHandler() { return ctx.onEscape(); }, i0.ɵɵresolveDocument);
60956
- } }, inputs: { viewMode: [1, "viewMode"], isOpen: [1, "isOpen"], metricData: [1, "metricData"], pacingResponse: [1, "pacingResponse"], targetHistories: [1, "targetHistories"], users: [1, "users"], currencySymbol: [1, "currencySymbol"] }, outputs: { closed: "closed", targetApplied: "targetApplied" }, decls: 1, vars: 1, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [1, "fixed", "inset-0", "overflow-y-auto", "z-[100]", 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", "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) {
61063
+ } }, inputs: { viewMode: [1, "viewMode"], isOpen: [1, "isOpen"], metricData: [1, "metricData"], pacingResponse: [1, "pacingResponse"], targetHistories: [1, "targetHistories"], users: [1, "users"], currencySymbol: [1, "currencySymbol"] }, outputs: { closed: "closed", targetApplied: "targetApplied" }, decls: 1, vars: 1, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [1, "fixed", "inset-0", "overflow-y-auto", "z-[100]", 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", "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"], [3, "viewMode", "user"], [1, "text-right"], [1, "text-sm", "font-bold", 3, "ngClass"], [1, "text-xs", 3, "ngClass"]], template: function EditMetricTargetModalComponent_Template(rf, ctx) { if (rf & 1) {
60957
61064
  i0.ɵɵconditionalCreate(0, EditMetricTargetModalComponent_Conditional_0_Template, 44, 29);
60958
61065
  } if (rf & 2) {
60959
61066
  i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
60960
- } }, 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: [
61067
+ } }, 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, UserDisplayComponent], encapsulation: 2, data: { animation: [
60961
61068
  trigger('fadeIn', [
60962
61069
  transition(':enter', [
60963
61070
  style({ opacity: 0 }),
@@ -60977,7 +61084,7 @@ class EditMetricTargetModalComponent {
60977
61084
  args: [{
60978
61085
  selector: 'symphiq-edit-metric-target-modal',
60979
61086
  standalone: true,
60980
- imports: [CommonModule, FormsModule, TooltipDirective, TooltipContainerComponent],
61087
+ imports: [CommonModule, FormsModule, TooltipDirective, TooltipContainerComponent, UserDisplayComponent],
60981
61088
  changeDetection: ChangeDetectionStrategy.OnPush,
60982
61089
  animations: [
60983
61090
  trigger('fadeIn', [
@@ -61318,28 +61425,10 @@ class EditMetricTargetModalComponent {
61318
61425
  <div class="divide-y" [ngClass]="historyDividerClasses()">
61319
61426
  @for (history of filteredHistories(); track history.id) {
61320
61427
  <div class="flex justify-between items-center px-4 py-4">
61321
- <div class="flex items-center gap-3">
61322
- @if (getUserById(history.creatorUserId); as user) {
61323
- <div [ngClass]="avatarClasses()" class="w-10 h-10 rounded-full flex items-center justify-center text-sm font-medium overflow-hidden">
61324
- @if (user.avatarImg) {
61325
- <img [src]="user.avatarImg" [alt]="getUserDisplayName(user)" class="w-full h-full object-cover">
61326
- } @else {
61327
- {{ getUserInitial(user) }}
61328
- }
61329
- </div>
61330
- <div>
61331
- <p [ngClass]="historyUserNameClasses()" class="text-sm font-medium">{{ getUserDisplayName(user) }}</p>
61332
- <p [ngClass]="historyUserEmailClasses()" class="text-xs">{{ user.email }}</p>
61333
- </div>
61334
- } @else {
61335
- <div [ngClass]="avatarClasses()" class="w-10 h-10 rounded-full flex items-center justify-center text-sm font-medium">
61336
- ?
61337
- </div>
61338
- <div>
61339
- <p [ngClass]="historyUserNameClasses()" class="text-sm font-medium">Unknown User</p>
61340
- </div>
61341
- }
61342
- </div>
61428
+ <symphiq-user-display
61429
+ [viewMode]="viewMode()"
61430
+ [user]="getUserById(history.creatorUserId)"
61431
+ />
61343
61432
  <div class="text-right">
61344
61433
  <p [ngClass]="historyValueClasses()" class="text-sm font-bold">{{ formatHistoryValue(history.amount ?? 0) }}</p>
61345
61434
  <p [ngClass]="historyDateClasses()" class="text-xs">{{ formatHistoryDate(history.createdDate) }}</p>
@@ -61394,7 +61483,7 @@ class EditMetricTargetModalComponent {
61394
61483
  type: HostListener,
61395
61484
  args: ['document:keydown.escape']
61396
61485
  }] }); })();
61397
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditMetricTargetModalComponent, { className: "EditMetricTargetModalComponent", filePath: "lib/components/revenue-calculator-dashboard/edit-metric-target-modal.component.ts", lineNumber: 424 }); })();
61486
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditMetricTargetModalComponent, { className: "EditMetricTargetModalComponent", filePath: "lib/components/revenue-calculator-dashboard/edit-metric-target-modal.component.ts", lineNumber: 407 }); })();
61398
61487
 
61399
61488
  const _c0$t = ["absoluteInputRef"];
61400
61489
  const _c1$c = ["percentageInputRef"];
@@ -65259,7 +65348,7 @@ class SearchButtonComponent {
65259
65348
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchButtonComponent, { className: "SearchButtonComponent", filePath: "lib/components/shared/search-button.component.ts", lineNumber: 30 }); })();
65260
65349
 
65261
65350
  const _c0$q = ["searchInput"];
65262
- const _forTrack0$l = ($index, $item) => $item.id;
65351
+ const _forTrack0$m = ($index, $item) => $item.id;
65263
65352
  function SearchModalComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
65264
65353
  const _r3 = i0.ɵɵgetCurrentView();
65265
65354
  i0.ɵɵelementStart(0, "button", 18);
@@ -65387,7 +65476,7 @@ function SearchModalComponent_Conditional_0_Conditional_14_For_2_Template(rf, ct
65387
65476
  } }
65388
65477
  function SearchModalComponent_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
65389
65478
  i0.ɵɵelementStart(0, "div", 15);
65390
- i0.ɵɵrepeaterCreate(1, SearchModalComponent_Conditional_0_Conditional_14_For_2_Template, 17, 13, "button", 19, _forTrack0$l);
65479
+ i0.ɵɵrepeaterCreate(1, SearchModalComponent_Conditional_0_Conditional_14_For_2_Template, 17, 13, "button", 19, _forTrack0$m);
65391
65480
  i0.ɵɵelementEnd();
65392
65481
  } if (rf & 2) {
65393
65482
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -66521,7 +66610,7 @@ class SimplifiedRecommendationCardComponent {
66521
66610
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SimplifiedRecommendationCardComponent, { className: "SimplifiedRecommendationCardComponent", filePath: "lib/components/business-analysis-dashboard/simplified-recommendation-card.component.ts", lineNumber: 121 }); })();
66522
66611
 
66523
66612
  const _c0$p = () => [0, 1, 2];
66524
- const _forTrack0$k = ($index, $item) => $item.id;
66613
+ const _forTrack0$l = ($index, $item) => $item.id;
66525
66614
  function RecommendationsTiledGridComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
66526
66615
  i0.ɵɵelementStart(0, "div", 9);
66527
66616
  i0.ɵɵtext(1);
@@ -66545,7 +66634,7 @@ function RecommendationsTiledGridComponent_Conditional_14_For_2_Template(rf, ctx
66545
66634
  } }
66546
66635
  function RecommendationsTiledGridComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
66547
66636
  i0.ɵɵelementStart(0, "div", 11);
66548
- i0.ɵɵrepeaterCreate(1, RecommendationsTiledGridComponent_Conditional_14_For_2_Template, 1, 3, "symphiq-simplified-recommendation-card", 13, _forTrack0$k);
66637
+ i0.ɵɵrepeaterCreate(1, RecommendationsTiledGridComponent_Conditional_14_For_2_Template, 1, 3, "symphiq-simplified-recommendation-card", 13, _forTrack0$l);
66549
66638
  i0.ɵɵelementEnd();
66550
66639
  } if (rf & 2) {
66551
66640
  const ctx_r0 = i0.ɵɵnextContext();
@@ -66837,7 +66926,7 @@ class RecommendationsTiledGridComponent {
66837
66926
  }], null, { recommendations: [{ type: i0.Input, args: [{ isSignal: true, alias: "recommendations", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], viewMoreClick: [{ type: i0.Output, args: ["viewMoreClick"] }] }); })();
66838
66927
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RecommendationsTiledGridComponent, { className: "RecommendationsTiledGridComponent", filePath: "lib/components/business-analysis-dashboard/recommendations-tiled-grid.component.ts", lineNumber: 92 }); })();
66839
66928
 
66840
- const _forTrack0$j = ($index, $item) => $item.id;
66929
+ const _forTrack0$k = ($index, $item) => $item.id;
66841
66930
  function CollapsibleSectionGroupComponent_For_23_Conditional_3_Template(rf, ctx) { if (rf & 1) {
66842
66931
  i0.ɵɵelementStart(0, "div", 20);
66843
66932
  i0.ɵɵelement(1, "symphiq-icon", 30);
@@ -67064,7 +67153,7 @@ class CollapsibleSectionGroupComponent {
67064
67153
  i0.ɵɵtext(20, " The information below was gathered from your website and competitor research. While recommendations above are based on this initial analysis, connecting your GA4 data will provide quantitative insights that dramatically improve recommendation accuracy. ");
67065
67154
  i0.ɵɵelementEnd()()();
67066
67155
  i0.ɵɵelementStart(21, "div", 16);
67067
- i0.ɵɵrepeaterCreate(22, CollapsibleSectionGroupComponent_For_23_Template, 15, 17, "div", 17, _forTrack0$j);
67156
+ i0.ɵɵrepeaterCreate(22, CollapsibleSectionGroupComponent_For_23_Template, 15, 17, "div", 17, _forTrack0$k);
67068
67157
  i0.ɵɵelementEnd()()();
67069
67158
  } if (rf & 2) {
67070
67159
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
@@ -69998,7 +70087,7 @@ class FocusAreaHealthIndicatorComponent {
69998
70087
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FocusAreaHealthIndicatorComponent, { className: "FocusAreaHealthIndicatorComponent", filePath: "lib/components/profile-analysis-dashboard/focus-area-health-indicator.component.ts", lineNumber: 46 }); })();
69999
70088
 
70000
70089
  const _c0$n = a0 => ({ name: "chevron-right", source: a0 });
70001
- const _forTrack0$i = ($index, $item) => $item.id;
70090
+ const _forTrack0$j = ($index, $item) => $item.id;
70002
70091
  function RelatedGoalChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
70003
70092
  const _r1 = i0.ɵɵgetCurrentView();
70004
70093
  i0.ɵɵelementStart(0, "button", 2);
@@ -70019,7 +70108,7 @@ function RelatedGoalChipsComponent_Conditional_0_For_2_Template(rf, ctx) { if (r
70019
70108
  } }
70020
70109
  function RelatedGoalChipsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
70021
70110
  i0.ɵɵelementStart(0, "div", 0);
70022
- i0.ɵɵrepeaterCreate(1, RelatedGoalChipsComponent_Conditional_0_For_2_Template, 4, 5, "button", 1, _forTrack0$i);
70111
+ i0.ɵɵrepeaterCreate(1, RelatedGoalChipsComponent_Conditional_0_For_2_Template, 4, 5, "button", 1, _forTrack0$j);
70023
70112
  i0.ɵɵelementEnd();
70024
70113
  } if (rf & 2) {
70025
70114
  const ctx_r2 = i0.ɵɵnextContext();
@@ -72878,7 +72967,7 @@ class CapabilityMatrixCardComponent {
72878
72967
  }], () => [], { capability: [{ type: i0.Input, args: [{ isSignal: true, alias: "capability", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }] }); })();
72879
72968
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CapabilityMatrixCardComponent, { className: "CapabilityMatrixCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/capability-matrix-card.component.ts", lineNumber: 118 }); })();
72880
72969
 
72881
- const _forTrack0$h = ($index, $item) => $item.competitorId || $index;
72970
+ const _forTrack0$i = ($index, $item) => $item.competitorId || $index;
72882
72971
  function CompetitiveComparisonCardComponent_Conditional_8_Conditional_1_Template(rf, ctx) { if (rf & 1) {
72883
72972
  i0.ɵɵelementStart(0, "span", 15);
72884
72973
  i0.ɵɵtext(1);
@@ -72991,7 +73080,7 @@ function CompetitiveComparisonCardComponent_Conditional_13_Template(rf, ctx) { i
72991
73080
  i0.ɵɵelementStart(0, "div", 12)(1, "h6", 21);
72992
73081
  i0.ɵɵtext(2, " Competitor Positions ");
72993
73082
  i0.ɵɵelementEnd();
72994
- i0.ɵɵrepeaterCreate(3, CompetitiveComparisonCardComponent_Conditional_13_For_4_Template, 7, 6, "div", 22, _forTrack0$h);
73083
+ i0.ɵɵrepeaterCreate(3, CompetitiveComparisonCardComponent_Conditional_13_For_4_Template, 7, 6, "div", 22, _forTrack0$i);
72995
73084
  i0.ɵɵelementEnd();
72996
73085
  } if (rf & 2) {
72997
73086
  const ctx_r1 = i0.ɵɵnextContext();
@@ -73373,7 +73462,7 @@ class CompetitiveComparisonCardComponent {
73373
73462
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveComparisonCardComponent, { className: "CompetitiveComparisonCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/competitive-comparison-card.component.ts", lineNumber: 125 }); })();
73374
73463
 
73375
73464
  const _c0$i = a0 => ({ name: "chevron-right", source: a0 });
73376
- const _forTrack0$g = ($index, $item) => $item.id;
73465
+ const _forTrack0$h = ($index, $item) => $item.id;
73377
73466
  function PhaseTimelineCardComponent_Conditional_8_For_7_Template(rf, ctx) { if (rf & 1) {
73378
73467
  const _r1 = i0.ɵɵgetCurrentView();
73379
73468
  i0.ɵɵelementStart(0, "button", 15);
@@ -73402,7 +73491,7 @@ function PhaseTimelineCardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1
73402
73491
  i0.ɵɵelementEnd();
73403
73492
  i0.ɵɵnamespaceHTML();
73404
73493
  i0.ɵɵelementStart(5, "div", 13);
73405
- i0.ɵɵrepeaterCreate(6, PhaseTimelineCardComponent_Conditional_8_For_7_Template, 4, 5, "button", 14, _forTrack0$g);
73494
+ i0.ɵɵrepeaterCreate(6, PhaseTimelineCardComponent_Conditional_8_For_7_Template, 4, 5, "button", 14, _forTrack0$h);
73406
73495
  i0.ɵɵelementEnd()();
73407
73496
  } if (rf & 2) {
73408
73497
  const ctx_r2 = i0.ɵɵnextContext();
@@ -74399,7 +74488,7 @@ class OperationalCategoryCardComponent {
74399
74488
 
74400
74489
  const _c0$g = a0 => ({ name: "arrow-trending-up", source: a0 });
74401
74490
  const _c1$8 = a0 => ({ name: "chat-bubble-left-right", source: a0 });
74402
- const _forTrack0$f = ($index, $item) => $item.questionId;
74491
+ const _forTrack0$g = ($index, $item) => $item.questionId;
74403
74492
  function KeyDriverCardComponent_Conditional_12_For_6_Template(rf, ctx) { if (rf & 1) {
74404
74493
  i0.ɵɵelementStart(0, "div", 13)(1, "p", 14);
74405
74494
  i0.ɵɵtext(2);
@@ -74419,7 +74508,7 @@ function KeyDriverCardComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
74419
74508
  i0.ɵɵelementStart(3, "span", 12);
74420
74509
  i0.ɵɵtext(4, " Supporting Profile Insights ");
74421
74510
  i0.ɵɵelementEnd()();
74422
- i0.ɵɵrepeaterCreate(5, KeyDriverCardComponent_Conditional_12_For_6_Template, 3, 3, "div", 13, _forTrack0$f);
74511
+ i0.ɵɵrepeaterCreate(5, KeyDriverCardComponent_Conditional_12_For_6_Template, 3, 3, "div", 13, _forTrack0$g);
74423
74512
  i0.ɵɵelementEnd();
74424
74513
  } if (rf & 2) {
74425
74514
  const ctx_r1 = i0.ɵɵnextContext();
@@ -74609,7 +74698,7 @@ class KeyDriverCardComponent {
74609
74698
 
74610
74699
  const _c0$f = a0 => ({ name: "exclamation-triangle", source: a0 });
74611
74700
  const _c1$7 = a0 => ({ name: "chat-bubble-left-right", source: a0 });
74612
- const _forTrack0$e = ($index, $item) => $item.questionId;
74701
+ const _forTrack0$f = ($index, $item) => $item.questionId;
74613
74702
  function BottleneckCardComponent_Conditional_12_For_6_Template(rf, ctx) { if (rf & 1) {
74614
74703
  i0.ɵɵelementStart(0, "div", 13)(1, "p", 14);
74615
74704
  i0.ɵɵtext(2);
@@ -74629,7 +74718,7 @@ function BottleneckCardComponent_Conditional_12_Template(rf, ctx) { if (rf & 1)
74629
74718
  i0.ɵɵelementStart(3, "span", 12);
74630
74719
  i0.ɵɵtext(4, " Supporting Profile Insights ");
74631
74720
  i0.ɵɵelementEnd()();
74632
- i0.ɵɵrepeaterCreate(5, BottleneckCardComponent_Conditional_12_For_6_Template, 3, 3, "div", 13, _forTrack0$e);
74721
+ i0.ɵɵrepeaterCreate(5, BottleneckCardComponent_Conditional_12_For_6_Template, 3, 3, "div", 13, _forTrack0$f);
74633
74722
  i0.ɵɵelementEnd();
74634
74723
  } if (rf & 2) {
74635
74724
  const ctx_r1 = i0.ɵɵnextContext();
@@ -74838,7 +74927,7 @@ const _c0$e = a0 => ({ name: "arrow-right", source: a0 });
74838
74927
  const _c1$6 = a0 => ({ name: "arrow-left", source: a0 });
74839
74928
  const _c2$5 = a0 => ({ name: "arrows-right-left", source: a0 });
74840
74929
  const _c3$4 = a0 => ({ name: "scale", source: a0 });
74841
- const _forTrack0$d = ($index, $item) => $item.metric;
74930
+ const _forTrack0$e = ($index, $item) => $item.metric;
74842
74931
  function MetricRelationshipsCardComponent_Conditional_1_For_8_Template(rf, ctx) { if (rf & 1) {
74843
74932
  i0.ɵɵelementStart(0, "span", 7);
74844
74933
  i0.ɵɵtext(1);
@@ -74937,7 +75026,7 @@ function MetricRelationshipsCardComponent_Conditional_3_Template(rf, ctx) { if (
74937
75026
  i0.ɵɵtext(5, " Trade-offs ");
74938
75027
  i0.ɵɵelementEnd()();
74939
75028
  i0.ɵɵelementStart(6, "div", 8);
74940
- i0.ɵɵrepeaterCreate(7, MetricRelationshipsCardComponent_Conditional_3_For_8_Template, 7, 9, "div", 9, _forTrack0$d);
75029
+ i0.ɵɵrepeaterCreate(7, MetricRelationshipsCardComponent_Conditional_3_For_8_Template, 7, 9, "div", 9, _forTrack0$e);
74941
75030
  i0.ɵɵelementEnd()();
74942
75031
  } if (rf & 2) {
74943
75032
  const ctx_r1 = i0.ɵɵnextContext();
@@ -75374,7 +75463,7 @@ class RelatedMetricCardComponent {
75374
75463
  }], null, { metric: [{ type: i0.Input, args: [{ isSignal: true, alias: "metric", required: true }] }], relationship: [{ type: i0.Input, args: [{ isSignal: true, alias: "relationship", required: true }] }], relationshipDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "relationshipDescription", required: true }] }], priority: [{ type: i0.Input, args: [{ isSignal: true, alias: "priority", required: true }] }], sharedGoalIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "sharedGoalIds", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], cardClicked: [{ type: i0.Output, args: ["cardClicked"] }] }); })();
75375
75464
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RelatedMetricCardComponent, { className: "RelatedMetricCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/related-metric-card.component.ts", lineNumber: 68 }); })();
75376
75465
 
75377
- const _forTrack0$c = ($index, $item) => $item.metric;
75466
+ const _forTrack0$d = ($index, $item) => $item.metric;
75378
75467
  function RelatedMetricsListComponent_Conditional_1_For_14_Template(rf, ctx) { if (rf & 1) {
75379
75468
  const _r1 = i0.ɵɵgetCurrentView();
75380
75469
  i0.ɵɵelementStart(0, "symphiq-related-metric-card", 12);
@@ -75402,7 +75491,7 @@ function RelatedMetricsListComponent_Conditional_1_Template(rf, ctx) { if (rf &
75402
75491
  i0.ɵɵtext(11);
75403
75492
  i0.ɵɵelementEnd()();
75404
75493
  i0.ɵɵelementStart(12, "div", 10);
75405
- i0.ɵɵrepeaterCreate(13, RelatedMetricsListComponent_Conditional_1_For_14_Template, 1, 6, "symphiq-related-metric-card", 11, _forTrack0$c);
75494
+ i0.ɵɵrepeaterCreate(13, RelatedMetricsListComponent_Conditional_1_For_14_Template, 1, 6, "symphiq-related-metric-card", 11, _forTrack0$d);
75406
75495
  i0.ɵɵelementEnd()();
75407
75496
  } if (rf & 2) {
75408
75497
  const ctx_r1 = i0.ɵɵnextContext();
@@ -75448,7 +75537,7 @@ function RelatedMetricsListComponent_Conditional_2_Template(rf, ctx) { if (rf &
75448
75537
  i0.ɵɵtext(11);
75449
75538
  i0.ɵɵelementEnd()();
75450
75539
  i0.ɵɵelementStart(12, "div", 10);
75451
- i0.ɵɵrepeaterCreate(13, RelatedMetricsListComponent_Conditional_2_For_14_Template, 1, 6, "symphiq-related-metric-card", 11, _forTrack0$c);
75540
+ i0.ɵɵrepeaterCreate(13, RelatedMetricsListComponent_Conditional_2_For_14_Template, 1, 6, "symphiq-related-metric-card", 11, _forTrack0$d);
75452
75541
  i0.ɵɵelementEnd()();
75453
75542
  } if (rf & 2) {
75454
75543
  const ctx_r1 = i0.ɵɵnextContext();
@@ -75494,7 +75583,7 @@ function RelatedMetricsListComponent_Conditional_3_Template(rf, ctx) { if (rf &
75494
75583
  i0.ɵɵtext(11);
75495
75584
  i0.ɵɵelementEnd()();
75496
75585
  i0.ɵɵelementStart(12, "div", 10);
75497
- i0.ɵɵrepeaterCreate(13, RelatedMetricsListComponent_Conditional_3_For_14_Template, 1, 6, "symphiq-related-metric-card", 11, _forTrack0$c);
75586
+ i0.ɵɵrepeaterCreate(13, RelatedMetricsListComponent_Conditional_3_For_14_Template, 1, 6, "symphiq-related-metric-card", 11, _forTrack0$d);
75498
75587
  i0.ɵɵelementEnd()();
75499
75588
  } if (rf & 2) {
75500
75589
  const ctx_r1 = i0.ɵɵnextContext();
@@ -75540,7 +75629,7 @@ function RelatedMetricsListComponent_Conditional_4_Template(rf, ctx) { if (rf &
75540
75629
  i0.ɵɵtext(11);
75541
75630
  i0.ɵɵelementEnd()();
75542
75631
  i0.ɵɵelementStart(12, "div", 10);
75543
- i0.ɵɵrepeaterCreate(13, RelatedMetricsListComponent_Conditional_4_For_14_Template, 1, 6, "symphiq-related-metric-card", 11, _forTrack0$c);
75632
+ i0.ɵɵrepeaterCreate(13, RelatedMetricsListComponent_Conditional_4_For_14_Template, 1, 6, "symphiq-related-metric-card", 11, _forTrack0$d);
75544
75633
  i0.ɵɵelementEnd()();
75545
75634
  } if (rf & 2) {
75546
75635
  const ctx_r1 = i0.ɵɵnextContext();
@@ -76951,7 +77040,7 @@ const _c3$1 = a0 => [a0];
76951
77040
  const _c4 = () => [];
76952
77041
  const _c5 = a0 => ({ name: "chart-bar", source: a0 });
76953
77042
  const _c6 = a0 => ({ name: "user", source: a0 });
76954
- const _forTrack0$b = ($index, $item) => $item.id || $index;
77043
+ const _forTrack0$c = ($index, $item) => $item.id || $index;
76955
77044
  const _forTrack1$2 = ($index, $item) => $item.dimension || $index;
76956
77045
  const _forTrack2$1 = ($index, $item) => $item.phase || $index;
76957
77046
  const _forTrack3$1 = ($index, $item) => $item.driver;
@@ -77277,7 +77366,7 @@ function ProfileSectionContentComponent_Conditional_4_For_2_Template(rf, ctx) {
77277
77366
  } }
77278
77367
  function ProfileSectionContentComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
77279
77368
  i0.ɵɵelementStart(0, "div", 3);
77280
- i0.ɵɵrepeaterCreate(1, ProfileSectionContentComponent_Conditional_4_For_2_Template, 2, 3, "div", null, _forTrack0$b);
77369
+ i0.ɵɵrepeaterCreate(1, ProfileSectionContentComponent_Conditional_4_For_2_Template, 2, 3, "div", null, _forTrack0$c);
77281
77370
  i0.ɵɵelementEnd();
77282
77371
  } if (rf & 2) {
77283
77372
  const ctx_r1 = i0.ɵɵnextContext();
@@ -77294,7 +77383,7 @@ function ProfileSectionContentComponent_Conditional_5_For_2_Template(rf, ctx) {
77294
77383
  } }
77295
77384
  function ProfileSectionContentComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
77296
77385
  i0.ɵɵelementStart(0, "div", 4);
77297
- i0.ɵɵrepeaterCreate(1, ProfileSectionContentComponent_Conditional_5_For_2_Template, 1, 8, "symphiq-goal-card", 48, _forTrack0$b);
77386
+ i0.ɵɵrepeaterCreate(1, ProfileSectionContentComponent_Conditional_5_For_2_Template, 1, 8, "symphiq-goal-card", 48, _forTrack0$c);
77298
77387
  i0.ɵɵelementEnd();
77299
77388
  } if (rf & 2) {
77300
77389
  const ctx_r1 = i0.ɵɵnextContext();
@@ -77310,7 +77399,7 @@ function ProfileSectionContentComponent_Conditional_6_For_2_Template(rf, ctx) {
77310
77399
  } }
77311
77400
  function ProfileSectionContentComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
77312
77401
  i0.ɵɵelementStart(0, "div", 5);
77313
- i0.ɵɵrepeaterCreate(1, ProfileSectionContentComponent_Conditional_6_For_2_Template, 1, 3, "symphiq-capability-matrix-card", 49, _forTrack0$b);
77402
+ i0.ɵɵrepeaterCreate(1, ProfileSectionContentComponent_Conditional_6_For_2_Template, 1, 3, "symphiq-capability-matrix-card", 49, _forTrack0$c);
77314
77403
  i0.ɵɵelementEnd();
77315
77404
  } if (rf & 2) {
77316
77405
  const ctx_r1 = i0.ɵɵnextContext();
@@ -77365,7 +77454,7 @@ function ProfileSectionContentComponent_Conditional_9_For_2_Template(rf, ctx) {
77365
77454
  } }
77366
77455
  function ProfileSectionContentComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
77367
77456
  i0.ɵɵelementStart(0, "div", 8);
77368
- i0.ɵɵrepeaterCreate(1, ProfileSectionContentComponent_Conditional_9_For_2_Template, 1, 2, "symphiq-operational-category-card", 53, _forTrack0$b);
77457
+ i0.ɵɵrepeaterCreate(1, ProfileSectionContentComponent_Conditional_9_For_2_Template, 1, 2, "symphiq-operational-category-card", 53, _forTrack0$c);
77369
77458
  i0.ɵɵelementEnd();
77370
77459
  } if (rf & 2) {
77371
77460
  const ctx_r1 = i0.ɵɵnextContext();
@@ -77661,7 +77750,7 @@ function ProfileSectionContentComponent_Conditional_11_Conditional_2_Template(rf
77661
77750
  i0.ɵɵtext(2, "Tactical Recommendations");
77662
77751
  i0.ɵɵelementEnd();
77663
77752
  i0.ɵɵelementStart(3, "div", 74);
77664
- i0.ɵɵrepeaterCreate(4, ProfileSectionContentComponent_Conditional_11_Conditional_2_For_5_Template, 14, 12, "div", 16, _forTrack0$b);
77753
+ i0.ɵɵrepeaterCreate(4, ProfileSectionContentComponent_Conditional_11_Conditional_2_For_5_Template, 14, 12, "div", 16, _forTrack0$c);
77665
77754
  i0.ɵɵelementEnd()();
77666
77755
  } if (rf & 2) {
77667
77756
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -79698,7 +79787,7 @@ class ProfileSectionContentComponent {
79698
79787
  }], null, { section: [{ type: i0.Input, args: [{ isSignal: true, alias: "section", required: false }] }], executiveSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "executiveSummary", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], sectionIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "sectionIndex", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], allInsights: [{ type: i0.Input, args: [{ isSignal: true, alias: "allInsights", required: false }] }], businessProfile: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessProfile", required: false }] }] }); })();
79699
79788
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileSectionContentComponent, { className: "ProfileSectionContentComponent", filePath: "lib/components/profile-analysis-dashboard/profile-section-content.component.ts", lineNumber: 760 }); })();
79700
79789
 
79701
- const _forTrack0$a = ($index, $item) => $item.id || $index;
79790
+ const _forTrack0$b = ($index, $item) => $item.id || $index;
79702
79791
  function GoalObjectivesModalContentComponent_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
79703
79792
  i0.ɵɵelementStart(0, "p", 9);
79704
79793
  i0.ɵɵtext(1);
@@ -79956,7 +80045,7 @@ class GoalObjectivesModalContentComponent {
79956
80045
  static { this.ɵfac = function GoalObjectivesModalContentComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GoalObjectivesModalContentComponent)(); }; }
79957
80046
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GoalObjectivesModalContentComponent, selectors: [["symphiq-goal-objectives-modal-content"]], inputs: { goal: [1, "goal"], viewMode: [1, "viewMode"] }, decls: 3, vars: 0, consts: [[1, "space-y-6"], [1, "rounded-lg", "p-5", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "gap-3"], [3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"], [1, "flex-1", "min-w-0"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "font-semibold", "text-base", "mb-2", 3, "ngClass"], [1, "text-sm", "mb-3", 3, "ngClass"], [1, "p-3", "rounded-lg", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-3", "mb-3"], [1, "w-full", "px-5", "py-4", "rounded-lg", "border-2", "transition-all", "duration-200", "hover:scale-[1.01]", "active:scale-[0.99]", "cursor-pointer", "group", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0", "mt-0.5", 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, "flex-1"], [1, "text-xs", "font-medium", "mb-1", 3, "ngClass"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "p-3", "rounded-lg", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "w-full", "px-5", "py-4", "rounded-lg", "border-2", "transition-all", "duration-200", "hover:scale-[1.01]", "active:scale-[0.99]", "cursor-pointer", "group", 3, "click", "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "w-10", "h-10", "rounded-lg", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "text-left"], [1, "text-xs", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "transition-transform", "group-hover:translate-x-1", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"]], template: function GoalObjectivesModalContentComponent_Template(rf, ctx) { if (rf & 1) {
79958
80047
  i0.ɵɵelementStart(0, "div", 0);
79959
- i0.ɵɵrepeaterCreate(1, GoalObjectivesModalContentComponent_For_2_Template, 14, 9, "div", 1, _forTrack0$a);
80048
+ i0.ɵɵrepeaterCreate(1, GoalObjectivesModalContentComponent_For_2_Template, 14, 9, "div", 1, _forTrack0$b);
79960
80049
  i0.ɵɵelementEnd();
79961
80050
  } if (rf & 2) {
79962
80051
  let tmp_0_0;
@@ -80056,7 +80145,7 @@ class GoalObjectivesModalContentComponent {
80056
80145
  }], null, { goal: [{ type: i0.Input, args: [{ isSignal: true, alias: "goal", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
80057
80146
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(GoalObjectivesModalContentComponent, { className: "GoalObjectivesModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/goal-objectives-modal-content.component.ts", lineNumber: 94 }); })();
80058
80147
 
80059
- const _forTrack0$9 = ($index, $item) => $item.id || $index;
80148
+ const _forTrack0$a = ($index, $item) => $item.id || $index;
80060
80149
  const _forTrack1$1 = ($index, $item) => ($item == null ? null : $item.questionId) || $index;
80061
80150
  function ObjectiveStrategiesModalContentComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
80062
80151
  i0.ɵɵelementStart(0, "div", 2)(1, "p", 6);
@@ -80497,7 +80586,7 @@ class ObjectiveStrategiesModalContentComponent {
80497
80586
  i0.ɵɵconditionalCreate(3, ObjectiveStrategiesModalContentComponent_Conditional_3_Template, 10, 5, "div", 3);
80498
80587
  i0.ɵɵconditionalCreate(4, ObjectiveStrategiesModalContentComponent_Conditional_4_Template, 6, 2, "div", 4);
80499
80588
  i0.ɵɵelementEnd();
80500
- i0.ɵɵrepeaterCreate(5, ObjectiveStrategiesModalContentComponent_For_6_Template, 17, 10, "div", 5, _forTrack0$9);
80589
+ i0.ɵɵrepeaterCreate(5, ObjectiveStrategiesModalContentComponent_For_6_Template, 17, 10, "div", 5, _forTrack0$a);
80501
80590
  i0.ɵɵelementEnd();
80502
80591
  } if (rf & 2) {
80503
80592
  let tmp_1_0;
@@ -80798,7 +80887,7 @@ class TooltipContentBuilder {
80798
80887
  }
80799
80888
  }
80800
80889
 
80801
- const _forTrack0$8 = ($index, $item) => $item.id || $index;
80890
+ const _forTrack0$9 = ($index, $item) => $item.id || $index;
80802
80891
  const _forTrack1 = ($index, $item) => $item.type + $item.label;
80803
80892
  const _forTrack2 = ($index, $item) => $item.order || $index;
80804
80893
  const _forTrack3 = ($index, $item) => ($item == null ? null : $item.questionId) || $index;
@@ -82521,7 +82610,7 @@ class StrategyRecommendationsModalContentComponent {
82521
82610
  i0.ɵɵconditionalCreate(5, StrategyRecommendationsModalContentComponent_Conditional_5_Template, 2, 2, "span", 4);
82522
82611
  i0.ɵɵconditionalCreate(6, StrategyRecommendationsModalContentComponent_Conditional_6_Template, 2, 2, "span", 4);
82523
82612
  i0.ɵɵelementEnd()();
82524
- i0.ɵɵrepeaterCreate(7, StrategyRecommendationsModalContentComponent_For_8_Template, 35, 31, "div", 5, _forTrack0$8);
82613
+ i0.ɵɵrepeaterCreate(7, StrategyRecommendationsModalContentComponent_For_8_Template, 35, 31, "div", 5, _forTrack0$9);
82525
82614
  i0.ɵɵelementEnd();
82526
82615
  } if (rf & 2) {
82527
82616
  let tmp_1_0;
@@ -84551,7 +84640,7 @@ class GapDetailModalContentComponent {
84551
84640
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(GapDetailModalContentComponent, { className: "GapDetailModalContentComponent", filePath: "lib/components/profile-analysis-dashboard/modals/gap-detail-modal-content.component.ts", lineNumber: 129 }); })();
84552
84641
 
84553
84642
  const _c0$6 = a0 => ({ name: "chevron-right", source: a0 });
84554
- const _forTrack0$7 = ($index, $item) => $item.id || $index;
84643
+ const _forTrack0$8 = ($index, $item) => $item.id || $index;
84555
84644
  function OpportunityDetailModalContentComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
84556
84645
  i0.ɵɵelementStart(0, "div", 9)(1, "h4", 10);
84557
84646
  i0.ɵɵnamespaceSVG();
@@ -84662,7 +84751,7 @@ function OpportunityDetailModalContentComponent_Conditional_14_Conditional_0_Tem
84662
84751
  i0.ɵɵtext(2, " Related Goals ");
84663
84752
  i0.ɵɵelementEnd();
84664
84753
  i0.ɵɵelementStart(3, "div", 25);
84665
- i0.ɵɵrepeaterCreate(4, OpportunityDetailModalContentComponent_Conditional_14_Conditional_0_For_5_Template, 4, 6, "div", 26, _forTrack0$7);
84754
+ i0.ɵɵrepeaterCreate(4, OpportunityDetailModalContentComponent_Conditional_14_Conditional_0_For_5_Template, 4, 6, "div", 26, _forTrack0$8);
84666
84755
  i0.ɵɵelementEnd()();
84667
84756
  } if (rf & 2) {
84668
84757
  const goals_r6 = i0.ɵɵnextContext();
@@ -85455,7 +85544,7 @@ class SimplifiedGoalCardComponent {
85455
85544
  }], null, { goal: [{ type: i0.Input, args: [{ isSignal: true, alias: "goal", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], animationIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationIndex", required: false }] }], viewMoreClick: [{ type: i0.Output, args: ["viewMoreClick"] }] }); })();
85456
85545
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SimplifiedGoalCardComponent, { className: "SimplifiedGoalCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/simplified-goal-card.component.ts", lineNumber: 127 }); })();
85457
85546
 
85458
- const _forTrack0$6 = ($index, $item) => $item.id;
85547
+ const _forTrack0$7 = ($index, $item) => $item.id;
85459
85548
  function StrategicGoalsTiledGridComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
85460
85549
  i0.ɵɵelementStart(0, "div", 9);
85461
85550
  i0.ɵɵtext(1);
@@ -85479,7 +85568,7 @@ function StrategicGoalsTiledGridComponent_Conditional_14_For_2_Template(rf, ctx)
85479
85568
  } }
85480
85569
  function StrategicGoalsTiledGridComponent_Conditional_14_Template(rf, ctx) { if (rf & 1) {
85481
85570
  i0.ɵɵelementStart(0, "div", 11);
85482
- i0.ɵɵrepeaterCreate(1, StrategicGoalsTiledGridComponent_Conditional_14_For_2_Template, 1, 3, "symphiq-simplified-goal-card", 13, _forTrack0$6);
85571
+ i0.ɵɵrepeaterCreate(1, StrategicGoalsTiledGridComponent_Conditional_14_For_2_Template, 1, 3, "symphiq-simplified-goal-card", 13, _forTrack0$7);
85483
85572
  i0.ɵɵelementEnd();
85484
85573
  } if (rf & 2) {
85485
85574
  const ctx_r0 = i0.ɵɵnextContext();
@@ -85693,7 +85782,7 @@ class StrategicGoalsTiledGridComponent {
85693
85782
  }], null, { goals: [{ type: i0.Input, args: [{ isSignal: true, alias: "goals", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], viewMoreClick: [{ type: i0.Output, args: ["viewMoreClick"] }] }); })();
85694
85783
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(StrategicGoalsTiledGridComponent, { className: "StrategicGoalsTiledGridComponent", filePath: "lib/components/profile-analysis-dashboard/cards/strategic-goals-tiled-grid.component.ts", lineNumber: 69 }); })();
85695
85784
 
85696
- const _forTrack0$5 = ($index, $item) => $item.id;
85785
+ const _forTrack0$6 = ($index, $item) => $item.id;
85697
85786
  function CollapsibleAnalysisSectionGroupComponent_For_23_Conditional_3_Template(rf, ctx) { if (rf & 1) {
85698
85787
  i0.ɵɵelementStart(0, "div", 20);
85699
85788
  i0.ɵɵelement(1, "symphiq-icon", 31);
@@ -86063,7 +86152,7 @@ class CollapsibleAnalysisSectionGroupComponent {
86063
86152
  i0.ɵɵtext(20);
86064
86153
  i0.ɵɵelementEnd()()();
86065
86154
  i0.ɵɵelementStart(21, "div", 16);
86066
- i0.ɵɵrepeaterCreate(22, CollapsibleAnalysisSectionGroupComponent_For_23_Template, 16, 14, "div", 17, _forTrack0$5);
86155
+ i0.ɵɵrepeaterCreate(22, CollapsibleAnalysisSectionGroupComponent_For_23_Template, 16, 14, "div", 17, _forTrack0$6);
86067
86156
  i0.ɵɵelementEnd()()();
86068
86157
  } if (rf & 2) {
86069
86158
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
@@ -86257,7 +86346,7 @@ class CollapsibleAnalysisSectionGroupComponent {
86257
86346
  }], null, { sections: [{ type: i0.Input, args: [{ isSignal: true, alias: "sections", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], executiveSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "executiveSummary", required: false }] }], focusAreaExecutiveSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaExecutiveSummary", required: false }] }], metricExecutiveSummary: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricExecutiveSummary", required: false }] }], metricName: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricName", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], allInsights: [{ type: i0.Input, args: [{ isSignal: true, alias: "allInsights", required: false }] }], businessProfile: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessProfile", required: false }] }] }); })();
86258
86347
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CollapsibleAnalysisSectionGroupComponent, { className: "CollapsibleAnalysisSectionGroupComponent", filePath: "lib/components/profile-analysis-dashboard/cards/collapsible-analysis-section-group.component.ts", lineNumber: 172 }); })();
86259
86348
 
86260
- const _forTrack0$4 = ($index, $item) => $item.code;
86349
+ const _forTrack0$5 = ($index, $item) => $item.code;
86261
86350
  function BillingCurrencySelectorCardComponent_For_15_Template(rf, ctx) { if (rf & 1) {
86262
86351
  const _r1 = i0.ɵɵgetCurrentView();
86263
86352
  i0.ɵɵelementStart(0, "label", 11)(1, "input", 12);
@@ -86406,7 +86495,7 @@ class BillingCurrencySelectorCardComponent {
86406
86495
  i0.ɵɵtext(10, " Choose the currency for your subscription ");
86407
86496
  i0.ɵɵelementEnd()()()();
86408
86497
  i0.ɵɵelementStart(11, "div", 8)(12, "div", 9)(13, "div", 10);
86409
- i0.ɵɵrepeaterCreate(14, BillingCurrencySelectorCardComponent_For_15_Template, 10, 12, "label", 11, _forTrack0$4);
86498
+ i0.ɵɵrepeaterCreate(14, BillingCurrencySelectorCardComponent_For_15_Template, 10, 12, "label", 11, _forTrack0$5);
86410
86499
  i0.ɵɵelementEnd()()()();
86411
86500
  } if (rf & 2) {
86412
86501
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
@@ -87438,7 +87527,7 @@ At the end of each month, your total AI usage is calculated and automatically bi
87438
87527
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], planInfo: [{ type: i0.Input, args: [{ isSignal: true, alias: "planInfo", required: true }] }], isSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "isSelected", required: false }] }], selectedPeriodUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedPeriodUnit", required: false }] }], monthlyComparisonPrice: [{ type: i0.Input, args: [{ isSignal: true, alias: "monthlyComparisonPrice", required: false }] }], planSelected: [{ type: i0.Output, args: ["planSelected"] }] }); })();
87439
87528
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PlanCardComponent, { className: "PlanCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/plan-card.component.ts", lineNumber: 274 }); })();
87440
87529
 
87441
- const _forTrack0$3 = ($index, $item) => $item.planItemPrice.id;
87530
+ const _forTrack0$4 = ($index, $item) => $item.planItemPrice.id;
87442
87531
  function PlanSelectionContainerComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
87443
87532
  i0.ɵɵelementStart(0, "div", 14);
87444
87533
  i0.ɵɵelement(1, "symphiq-indeterminate-spinner", 18);
@@ -87464,7 +87553,7 @@ function PlanSelectionContainerComponent_Conditional_20_For_2_Template(rf, ctx)
87464
87553
  } }
87465
87554
  function PlanSelectionContainerComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
87466
87555
  i0.ɵɵelementStart(0, "div", 15);
87467
- i0.ɵɵrepeaterCreate(1, PlanSelectionContainerComponent_Conditional_20_For_2_Template, 1, 5, "symphiq-plan-card", 20, _forTrack0$3);
87556
+ i0.ɵɵrepeaterCreate(1, PlanSelectionContainerComponent_Conditional_20_For_2_Template, 1, 5, "symphiq-plan-card", 20, _forTrack0$4);
87468
87557
  i0.ɵɵelementEnd();
87469
87558
  } if (rf & 2) {
87470
87559
  const ctx_r0 = i0.ɵɵnextContext();
@@ -87778,7 +87867,7 @@ class PlanSelectionContainerComponent {
87778
87867
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], selectedCurrency: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedCurrency", required: false }] }], planCardInfos: [{ type: i0.Input, args: [{ isSignal: true, alias: "planCardInfos", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], selectedPeriodUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedPeriodUnit", required: false }] }], periodUnitChanged: [{ type: i0.Output, args: ["periodUnitChanged"] }], planSelected: [{ type: i0.Output, args: ["planSelected"] }], editCurrency: [{ type: i0.Output, args: ["editCurrency"] }], checkout: [{ type: i0.Output, args: ["checkout"] }] }); })();
87779
87868
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PlanSelectionContainerComponent, { className: "PlanSelectionContainerComponent", filePath: "lib/components/profile-analysis-dashboard/cards/plan-selection-container.component.ts", lineNumber: 107 }); })();
87780
87869
 
87781
- const _forTrack0$2 = ($index, $item) => $item.id;
87870
+ const _forTrack0$3 = ($index, $item) => $item.id;
87782
87871
  function ShopProfileCategoryListComponent_For_2_Template(rf, ctx) { if (rf & 1) {
87783
87872
  const _r1 = i0.ɵɵgetCurrentView();
87784
87873
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 0)(2, "div", 2)(3, "div", 3)(4, "div", 4);
@@ -87889,7 +87978,7 @@ class ShopProfileCategoryListComponent {
87889
87978
  static { this.ɵfac = function ShopProfileCategoryListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ShopProfileCategoryListComponent)(); }; }
87890
87979
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShopProfileCategoryListComponent, selectors: [["symphiq-shop-profile-category-list"]], inputs: { viewMode: [1, "viewMode"], items: [1, "items"] }, outputs: { itemClick: "itemClick" }, decls: 3, vars: 0, consts: [[1, "space-y-4"], [1, "rounded-xl", "p-6", "transition-all", "duration-300", "hover:scale-[1.01]", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1", "min-w-0"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-2", 3, "ngClass"], [1, "text-lg", "font-semibold", "leading-tight", 3, "ngClass"], ["type", "button", 1, "flex-shrink-0", "px-5", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-300", "flex", "items-center", "gap-2", "hover:scale-105", "active:scale-95", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "space-y-2"], [1, "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "transition-all", "duration-500", "ease-out", "rounded-full", 3, "ngClass"], [1, "flex", "justify-between", "items-center"], [1, "text-sm", "font-medium", 3, "ngClass"]], template: function ShopProfileCategoryListComponent_Template(rf, ctx) { if (rf & 1) {
87891
87980
  i0.ɵɵelementStart(0, "div", 0);
87892
- i0.ɵɵrepeaterCreate(1, ShopProfileCategoryListComponent_For_2_Template, 19, 14, "div", 1, _forTrack0$2);
87981
+ i0.ɵɵrepeaterCreate(1, ShopProfileCategoryListComponent_For_2_Template, 19, 14, "div", 1, _forTrack0$3);
87893
87982
  i0.ɵɵelementEnd();
87894
87983
  } if (rf & 2) {
87895
87984
  i0.ɵɵadvance();
@@ -88035,8 +88124,19 @@ class ShopProfileViewToggleComponent {
88035
88124
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], currentView: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentView", required: false }] }], viewChanged: [{ type: i0.Output, args: ["viewChanged"] }] }); })();
88036
88125
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileViewToggleComponent, { className: "ShopProfileViewToggleComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-view-toggle.component.ts", lineNumber: 33 }); })();
88037
88126
 
88038
- function ShopProfileQuestionCardComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
88039
- i0.ɵɵelementStart(0, "p", 2);
88127
+ const _forTrack0$2 = ($index, $item) => $item.answer.id;
88128
+ function ShopProfileQuestionCardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
88129
+ i0.ɵɵelementStart(0, "div", 4);
88130
+ i0.ɵɵnamespaceSVG();
88131
+ i0.ɵɵelementStart(1, "svg", 11);
88132
+ i0.ɵɵelement(2, "path", 13);
88133
+ i0.ɵɵelementEnd()();
88134
+ } if (rf & 2) {
88135
+ const ctx_r0 = i0.ɵɵnextContext();
88136
+ i0.ɵɵproperty("ngClass", ctx_r0.checkboxClasses());
88137
+ } }
88138
+ function ShopProfileQuestionCardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
88139
+ i0.ɵɵelementStart(0, "p", 5);
88040
88140
  i0.ɵɵtext(1);
88041
88141
  i0.ɵɵelementEnd();
88042
88142
  } if (rf & 2) {
@@ -88045,31 +88145,23 @@ function ShopProfileQuestionCardComponent_Conditional_3_Template(rf, ctx) { if (
88045
88145
  i0.ɵɵadvance();
88046
88146
  i0.ɵɵtextInterpolate1(" ", ctx_r0.question().context, " ");
88047
88147
  } }
88048
- function ShopProfileQuestionCardComponent_Conditional_4_For_9_Template(rf, ctx) { if (rf & 1) {
88049
- i0.ɵɵelementStart(0, "span", 16);
88148
+ function ShopProfileQuestionCardComponent_Conditional_7_For_6_Template(rf, ctx) { if (rf & 1) {
88149
+ i0.ɵɵelementStart(0, "span", 17);
88050
88150
  i0.ɵɵtext(1);
88051
88151
  i0.ɵɵelementEnd();
88052
88152
  } if (rf & 2) {
88053
- const focusArea_r3 = ctx.$implicit;
88153
+ const focusArea_r2 = ctx.$implicit;
88054
88154
  const ctx_r0 = i0.ɵɵnextContext(2);
88055
88155
  i0.ɵɵproperty("ngClass", ctx_r0.focusAreaChipClasses());
88056
88156
  i0.ɵɵadvance();
88057
- i0.ɵɵtextInterpolate1(" ", ctx_r0.getFocusAreaTitle(focusArea_r3), " ");
88157
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.getFocusAreaTitle(focusArea_r2), " ");
88058
88158
  } }
88059
- function ShopProfileQuestionCardComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
88060
- const _r2 = i0.ɵɵgetCurrentView();
88061
- i0.ɵɵelementStart(0, "div", 3)(1, "div", 10)(2, "span", 11);
88159
+ function ShopProfileQuestionCardComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
88160
+ i0.ɵɵelementStart(0, "div", 6)(1, "div", 14)(2, "span", 15);
88062
88161
  i0.ɵɵtext(3);
88063
- i0.ɵɵelementEnd();
88064
- i0.ɵɵelementStart(4, "button", 12);
88065
- i0.ɵɵlistener("mouseenter", function ShopProfileQuestionCardComponent_Conditional_4_Template_button_mouseenter_4_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.showFocusAreaTooltip($event)); })("mouseleave", function ShopProfileQuestionCardComponent_Conditional_4_Template_button_mouseleave_4_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.hideTooltip()); });
88066
- i0.ɵɵnamespaceSVG();
88067
- i0.ɵɵelementStart(5, "svg", 13);
88068
- i0.ɵɵelement(6, "path", 14);
88069
- i0.ɵɵelementEnd()()();
88070
- i0.ɵɵnamespaceHTML();
88071
- i0.ɵɵelementStart(7, "div", 15);
88072
- i0.ɵɵrepeaterCreate(8, ShopProfileQuestionCardComponent_Conditional_4_For_9_Template, 2, 2, "span", 16, i0.ɵɵrepeaterTrackByIdentity);
88162
+ i0.ɵɵelementEnd()();
88163
+ i0.ɵɵelementStart(4, "div", 16);
88164
+ i0.ɵɵrepeaterCreate(5, ShopProfileQuestionCardComponent_Conditional_7_For_6_Template, 2, 2, "span", 17, i0.ɵɵrepeaterTrackByIdentity);
88073
88165
  i0.ɵɵelementEnd()();
88074
88166
  } if (rf & 2) {
88075
88167
  const ctx_r0 = i0.ɵɵnextContext();
@@ -88077,49 +88169,55 @@ function ShopProfileQuestionCardComponent_Conditional_4_Template(rf, ctx) { if (
88077
88169
  i0.ɵɵproperty("ngClass", ctx_r0.relatedLabelClasses());
88078
88170
  i0.ɵɵadvance();
88079
88171
  i0.ɵɵtextInterpolate1(" Related to ", ctx_r0.relatedFocusAreas().length, " focus area(s) ");
88080
- i0.ɵɵadvance();
88081
- i0.ɵɵproperty("ngClass", ctx_r0.infoIconClasses());
88082
- i0.ɵɵadvance(4);
88172
+ i0.ɵɵadvance(2);
88083
88173
  i0.ɵɵrepeater(ctx_r0.relatedFocusAreas());
88084
88174
  } }
88085
- function ShopProfileQuestionCardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
88086
- i0.ɵɵelementStart(0, "div", 4)(1, "div", 17)(2, "div", 18);
88087
- i0.ɵɵnamespaceSVG();
88088
- i0.ɵɵelementStart(3, "svg", 8);
88089
- i0.ɵɵelement(4, "path", 19);
88090
- i0.ɵɵelementEnd()();
88091
- i0.ɵɵnamespaceHTML();
88092
- i0.ɵɵelementStart(5, "div", 20)(6, "div", 21);
88093
- i0.ɵɵtext(7, " Your Answer ");
88175
+ function ShopProfileQuestionCardComponent_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
88176
+ i0.ɵɵelementStart(0, "div", 18)(1, "span", 19);
88177
+ i0.ɵɵtext(2);
88178
+ i0.ɵɵelementEnd();
88179
+ i0.ɵɵelement(3, "symphiq-user-avatar", 20);
88180
+ i0.ɵɵelementEnd();
88181
+ i0.ɵɵelementStart(4, "div", 21);
88182
+ i0.ɵɵtext(5);
88094
88183
  i0.ɵɵelementEnd();
88095
- i0.ɵɵelementStart(8, "div", 22);
88096
- i0.ɵɵtext(9);
88097
- i0.ɵɵelementEnd()()()();
88098
88184
  } if (rf & 2) {
88099
- const ctx_r0 = i0.ɵɵnextContext();
88100
- i0.ɵɵproperty("ngClass", ctx_r0.answeredContainerClasses());
88101
- i0.ɵɵadvance(2);
88102
- i0.ɵɵproperty("ngClass", ctx_r0.checkmarkClasses());
88103
- i0.ɵɵadvance(4);
88104
- i0.ɵɵproperty("ngClass", ctx_r0.answerLabelClasses());
88105
- i0.ɵɵadvance(2);
88185
+ const answerData_r3 = ctx.$implicit;
88186
+ const ctx_r0 = i0.ɵɵnextContext(2);
88187
+ i0.ɵɵproperty("ngClass", ctx_r0.answerChipClasses());
88188
+ i0.ɵɵadvance();
88106
88189
  i0.ɵɵproperty("ngClass", ctx_r0.answerTextClasses());
88107
88190
  i0.ɵɵadvance();
88108
- i0.ɵɵtextInterpolate1(" ", ctx_r0.getAnswerDisplay(), " ");
88191
+ i0.ɵɵtextInterpolate1(" ", answerData_r3.answer.answer, " ");
88192
+ i0.ɵɵadvance();
88193
+ i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("user", answerData_r3.user);
88194
+ i0.ɵɵadvance();
88195
+ i0.ɵɵproperty("ngClass", ctx_r0.answerDateClasses());
88196
+ i0.ɵɵadvance();
88197
+ i0.ɵɵtextInterpolate1(" Answered ", ctx_r0.formatAnswerDate(answerData_r3.answer.createdDate), " ");
88109
88198
  } }
88110
- function ShopProfileQuestionCardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
88111
- i0.ɵɵelementStart(0, "div", 5)(1, "div", 23)(2, "div", 24);
88199
+ function ShopProfileQuestionCardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
88200
+ i0.ɵɵelementStart(0, "div", 7);
88201
+ i0.ɵɵrepeaterCreate(1, ShopProfileQuestionCardComponent_Conditional_8_For_2_Template, 6, 7, null, null, _forTrack0$2);
88202
+ i0.ɵɵelementEnd();
88203
+ } if (rf & 2) {
88204
+ const ctx_r0 = i0.ɵɵnextContext();
88205
+ i0.ɵɵadvance();
88206
+ i0.ɵɵrepeater(ctx_r0.questionAnswers());
88207
+ } }
88208
+ function ShopProfileQuestionCardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
88209
+ i0.ɵɵelementStart(0, "div", 8)(1, "div", 22)(2, "div", 23);
88112
88210
  i0.ɵɵnamespaceSVG();
88113
- i0.ɵɵelementStart(3, "svg", 25);
88114
- i0.ɵɵelement(4, "path", 26);
88211
+ i0.ɵɵelementStart(3, "svg", 24);
88212
+ i0.ɵɵelement(4, "path", 25);
88115
88213
  i0.ɵɵelementEnd();
88116
88214
  i0.ɵɵnamespaceHTML();
88117
- i0.ɵɵelement(5, "div", 27);
88215
+ i0.ɵɵelement(5, "div", 26);
88118
88216
  i0.ɵɵelementEnd();
88119
- i0.ɵɵelementStart(6, "div")(7, "div", 28);
88217
+ i0.ɵɵelementStart(6, "div")(7, "div", 27);
88120
88218
  i0.ɵɵtext(8, " Not answered yet ");
88121
88219
  i0.ɵɵelementEnd();
88122
- i0.ɵɵelementStart(9, "div", 29);
88220
+ i0.ɵɵelementStart(9, "div", 28);
88123
88221
  i0.ɵɵtext(10, " Click the button below to provide your answer ");
88124
88222
  i0.ɵɵelementEnd()()()();
88125
88223
  } if (rf & 2) {
@@ -88141,10 +88239,24 @@ class ShopProfileQuestionCardComponent {
88141
88239
  this.question = input.required(...(ngDevMode ? [{ debugName: "question" }] : []));
88142
88240
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
88143
88241
  this.viewType = input('category', ...(ngDevMode ? [{ debugName: "viewType" }] : []));
88242
+ this.profileShopAnswers = input([], ...(ngDevMode ? [{ debugName: "profileShopAnswers" }] : []));
88243
+ this.users = input([], ...(ngDevMode ? [{ debugName: "users" }] : []));
88144
88244
  this.answerClick = output();
88145
- this.tooltipService = inject(TooltipService);
88245
+ this.questionAnswers = computed(() => {
88246
+ const questionId = this.question().id;
88247
+ const answers = this.profileShopAnswers();
88248
+ const allUsers = this.users();
88249
+ if (!questionId || !answers)
88250
+ return [];
88251
+ return answers
88252
+ .filter(a => a.profileQuestionId === questionId)
88253
+ .map(answer => ({
88254
+ answer,
88255
+ user: allUsers.find(u => u.id === answer.creatorUserId)
88256
+ }));
88257
+ }, ...(ngDevMode ? [{ debugName: "questionAnswers" }] : []));
88146
88258
  this.isAnswered = computed(() => {
88147
- return this.question().answered === true;
88259
+ return this.questionAnswers().length > 0;
88148
88260
  }, ...(ngDevMode ? [{ debugName: "isAnswered" }] : []));
88149
88261
  this.showFocusAreaChips = computed(() => {
88150
88262
  return this.viewType() === 'category';
@@ -88157,30 +88269,11 @@ class ShopProfileQuestionCardComponent {
88157
88269
  getFocusAreaTitle(focusArea) {
88158
88270
  return FocusAreaDomainEnumUtil.title(focusArea);
88159
88271
  }
88160
- getAnswerDisplay() {
88161
- const q = this.question();
88162
- if (q.answer) {
88163
- return q.answer;
88164
- }
88165
- if (q.answerText) {
88166
- return q.answerText;
88167
- }
88168
- if (q.answerDetails) {
88169
- return JSON.stringify(q.answerDetails);
88170
- }
88171
- return 'Answer provided';
88172
- }
88173
- showFocusAreaTooltip(event) {
88174
- const target = event.target;
88175
- const rect = target.getBoundingClientRect();
88176
- const focusAreas = this.relatedFocusAreas();
88177
- const tooltipContent = focusAreas
88178
- .map(fa => `• ${this.getFocusAreaTitle(fa)}`)
88179
- .join('\n');
88180
- this.tooltipService.show('text', tooltipContent, rect, 'top');
88181
- }
88182
- hideTooltip() {
88183
- this.tooltipService.hide();
88272
+ formatAnswerDate(date) {
88273
+ if (!date)
88274
+ return '';
88275
+ const d = new Date(date);
88276
+ return d.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
88184
88277
  }
88185
88278
  onAnswerClick() {
88186
88279
  this.answerClick.emit(this.question());
@@ -88208,35 +88301,30 @@ class ShopProfileQuestionCardComponent {
88208
88301
  ? 'text-slate-600'
88209
88302
  : 'text-slate-400';
88210
88303
  }
88211
- infoIconClasses() {
88212
- return this.isLightMode()
88213
- ? 'text-slate-500 hover:text-slate-700 hover:bg-slate-100'
88214
- : 'text-slate-400 hover:text-slate-200 hover:bg-slate-700';
88215
- }
88216
88304
  focusAreaChipClasses() {
88217
88305
  return this.isLightMode()
88218
88306
  ? 'bg-blue-100 text-blue-700 border border-blue-200'
88219
88307
  : 'bg-blue-900/30 text-blue-300 border border-blue-700/50';
88220
88308
  }
88221
- answeredContainerClasses() {
88222
- return this.isLightMode()
88223
- ? 'bg-emerald-50 border-emerald-200'
88224
- : 'bg-emerald-900/20 border-emerald-700/50';
88225
- }
88226
- checkmarkClasses() {
88309
+ checkboxClasses() {
88227
88310
  return this.isLightMode()
88228
- ? 'bg-emerald-500 text-white'
88229
- : 'bg-emerald-400 text-slate-900';
88311
+ ? 'bg-blue-600 text-white'
88312
+ : 'bg-blue-500 text-white';
88230
88313
  }
88231
- answerLabelClasses() {
88314
+ answerChipClasses() {
88232
88315
  return this.isLightMode()
88233
- ? 'text-emerald-700'
88234
- : 'text-emerald-400';
88316
+ ? 'bg-slate-100 border border-slate-200'
88317
+ : 'bg-slate-700/50 border border-slate-600/50';
88235
88318
  }
88236
88319
  answerTextClasses() {
88237
88320
  return this.isLightMode()
88238
88321
  ? 'text-slate-700'
88239
- : 'text-slate-300';
88322
+ : 'text-slate-200';
88323
+ }
88324
+ answerDateClasses() {
88325
+ return this.isLightMode()
88326
+ ? 'text-slate-500'
88327
+ : 'text-slate-400';
88240
88328
  }
88241
88329
  unansweredContainerClasses() {
88242
88330
  return this.isLightMode()
@@ -88280,149 +88368,155 @@ class ShopProfileQuestionCardComponent {
88280
88368
  : 'bg-gradient-to-r from-blue-500 to-cyan-500 hover:from-blue-600 hover:to-cyan-600 text-white shadow-lg shadow-blue-500/20';
88281
88369
  }
88282
88370
  static { this.ɵfac = function ShopProfileQuestionCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ShopProfileQuestionCardComponent)(); }; }
88283
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShopProfileQuestionCardComponent, selectors: [["symphiq-shop-profile-question-card"]], inputs: { question: [1, "question"], viewMode: [1, "viewMode"], viewType: [1, "viewType"] }, outputs: { answerClick: "answerClick" }, decls: 13, vars: 8, consts: [[1, "rounded-xl", "border-2", "p-6", "transition-all", "duration-200", 3, "ngClass"], [1, "text-lg", "font-bold", "mb-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "mb-4", 3, "ngClass"], [1, "mb-4"], [1, "rounded-lg", "p-4", "border", 3, "ngClass"], [1, "rounded-lg", "p-6", "border-2", "border-dashed", "text-center", 3, "ngClass"], [1, "mt-4", "flex", "justify-end"], ["type", "button", 1, "px-5", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-300", "flex", "items-center", "gap-2", "hover:scale-105", "active:scale-95", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xs", "font-semibold", 3, "ngClass"], ["type", "button", 1, "w-4", "h-4", "rounded-full", "flex", "items-center", "justify-center", "transition-colors", 3, "mouseenter", "mouseleave", "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, "flex", "flex-wrap", "gap-2"], [1, "px-3", "py-1.5", "rounded-full", "text-xs", "font-medium", 3, "ngClass"], [1, "flex", "items-start", "gap-3"], [1, "flex-shrink-0", "w-6", "h-6", "rounded-full", "flex", "items-center", "justify-center", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M5 13l4 4L19 7"], [1, "flex-1", "min-w-0"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "gap-3"], [1, "relative", "w-16", "h-16", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-full", "h-full", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "1.5", "d", "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "absolute", "top-1", "right-1", "w-3", "h-3", "rounded-full", "border-2", 3, "ngClass"], [1, "text-sm", "font-semibold", "mb-1", 3, "ngClass"], [1, "text-xs", 3, "ngClass"]], template: function ShopProfileQuestionCardComponent_Template(rf, ctx) { if (rf & 1) {
88284
- i0.ɵɵelementStart(0, "div", 0)(1, "h3", 1);
88285
- i0.ɵɵtext(2);
88371
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShopProfileQuestionCardComponent, selectors: [["symphiq-shop-profile-question-card"]], inputs: { question: [1, "question"], viewMode: [1, "viewMode"], viewType: [1, "viewType"], profileShopAnswers: [1, "profileShopAnswers"], users: [1, "users"] }, outputs: { answerClick: "answerClick" }, decls: 16, vars: 9, consts: [[1, "rounded-xl", "border-2", "p-6", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "gap-3"], [1, "flex-1", "min-w-0"], [1, "text-lg", "font-bold", "mb-2", 3, "ngClass"], [1, "flex-shrink-0", "w-6", "h-6", "rounded", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "mb-4", 3, "ngClass"], [1, "mb-4"], [1, "flex", "flex-wrap", "gap-3"], [1, "rounded-lg", "p-6", "border-2", "border-dashed", "text-center", 3, "ngClass"], [1, "mt-4", "flex", "justify-end"], ["type", "button", 1, "px-5", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-300", "flex", "items-center", "gap-2", "hover:scale-105", "active:scale-95", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M5 13l4 4L19 7"], [1, "mb-2"], [1, "text-xs", "font-semibold", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-2"], [1, "px-3", "py-1.5", "rounded-full", "text-xs", "font-medium", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "px-4", "py-2.5", "rounded-full", 3, "ngClass"], [1, "text-sm", "font-medium", 3, "ngClass"], ["size", "small", 3, "viewMode", "user"], [1, "self-center", "text-xs", "-ml-1", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "gap-3"], [1, "relative", "w-16", "h-16", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-full", "h-full", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "1.5", "d", "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "absolute", "top-1", "right-1", "w-3", "h-3", "rounded-full", "border-2", 3, "ngClass"], [1, "text-sm", "font-semibold", "mb-1", 3, "ngClass"], [1, "text-xs", 3, "ngClass"]], template: function ShopProfileQuestionCardComponent_Template(rf, ctx) { if (rf & 1) {
88372
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h3", 3);
88373
+ i0.ɵɵtext(4);
88374
+ i0.ɵɵelementEnd()();
88375
+ i0.ɵɵconditionalCreate(5, ShopProfileQuestionCardComponent_Conditional_5_Template, 3, 1, "div", 4);
88286
88376
  i0.ɵɵelementEnd();
88287
- i0.ɵɵconditionalCreate(3, ShopProfileQuestionCardComponent_Conditional_3_Template, 2, 2, "p", 2);
88288
- i0.ɵɵconditionalCreate(4, ShopProfileQuestionCardComponent_Conditional_4_Template, 10, 3, "div", 3);
88289
- i0.ɵɵconditionalCreate(5, ShopProfileQuestionCardComponent_Conditional_5_Template, 10, 5, "div", 4)(6, ShopProfileQuestionCardComponent_Conditional_6_Template, 11, 6, "div", 5);
88290
- i0.ɵɵelementStart(7, "div", 6)(8, "button", 7);
88291
- i0.ɵɵlistener("click", function ShopProfileQuestionCardComponent_Template_button_click_8_listener() { return ctx.onAnswerClick(); });
88292
- i0.ɵɵelementStart(9, "span");
88293
- i0.ɵɵtext(10);
88377
+ i0.ɵɵconditionalCreate(6, ShopProfileQuestionCardComponent_Conditional_6_Template, 2, 2, "p", 5);
88378
+ i0.ɵɵconditionalCreate(7, ShopProfileQuestionCardComponent_Conditional_7_Template, 7, 2, "div", 6);
88379
+ i0.ɵɵconditionalCreate(8, ShopProfileQuestionCardComponent_Conditional_8_Template, 3, 0, "div", 7)(9, ShopProfileQuestionCardComponent_Conditional_9_Template, 11, 6, "div", 8);
88380
+ i0.ɵɵelementStart(10, "div", 9)(11, "button", 10);
88381
+ i0.ɵɵlistener("click", function ShopProfileQuestionCardComponent_Template_button_click_11_listener() { return ctx.onAnswerClick(); });
88382
+ i0.ɵɵelementStart(12, "span");
88383
+ i0.ɵɵtext(13);
88294
88384
  i0.ɵɵelementEnd();
88295
88385
  i0.ɵɵnamespaceSVG();
88296
- i0.ɵɵelementStart(11, "svg", 8);
88297
- i0.ɵɵelement(12, "path", 9);
88386
+ i0.ɵɵelementStart(14, "svg", 11);
88387
+ i0.ɵɵelement(15, "path", 12);
88298
88388
  i0.ɵɵelementEnd()()()();
88299
88389
  } if (rf & 2) {
88300
88390
  i0.ɵɵproperty("ngClass", ctx.containerClasses());
88301
- i0.ɵɵadvance();
88391
+ i0.ɵɵadvance(3);
88302
88392
  i0.ɵɵproperty("ngClass", ctx.questionTextClasses());
88303
88393
  i0.ɵɵadvance();
88304
88394
  i0.ɵɵtextInterpolate1(" ", ctx.question().question, " ");
88305
88395
  i0.ɵɵadvance();
88306
- i0.ɵɵconditional(ctx.question().context ? 3 : -1);
88396
+ i0.ɵɵconditional(ctx.isAnswered() ? 5 : -1);
88307
88397
  i0.ɵɵadvance();
88308
- i0.ɵɵconditional(ctx.showFocusAreaChips() && ctx.relatedFocusAreas().length > 0 ? 4 : -1);
88398
+ i0.ɵɵconditional(ctx.question().context ? 6 : -1);
88309
88399
  i0.ɵɵadvance();
88310
- i0.ɵɵconditional(ctx.isAnswered() ? 5 : 6);
88400
+ i0.ɵɵconditional(ctx.showFocusAreaChips() && ctx.relatedFocusAreas().length > 0 ? 7 : -1);
88401
+ i0.ɵɵadvance();
88402
+ i0.ɵɵconditional(ctx.questionAnswers().length > 0 ? 8 : 9);
88311
88403
  i0.ɵɵadvance(3);
88312
88404
  i0.ɵɵproperty("ngClass", ctx.buttonClasses());
88313
88405
  i0.ɵɵadvance(2);
88314
88406
  i0.ɵɵtextInterpolate(ctx.isAnswered() ? "Edit Answer" : "Answer");
88315
- } }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
88407
+ } }, dependencies: [CommonModule, i1$1.NgClass, UserAvatarComponent], encapsulation: 2, changeDetection: 0 }); }
88316
88408
  }
88317
88409
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShopProfileQuestionCardComponent, [{
88318
88410
  type: Component,
88319
88411
  args: [{
88320
88412
  selector: 'symphiq-shop-profile-question-card',
88321
88413
  standalone: true,
88322
- imports: [CommonModule],
88414
+ imports: [CommonModule, UserAvatarComponent],
88323
88415
  changeDetection: ChangeDetectionStrategy.OnPush,
88324
- template: `
88325
- <div [ngClass]="containerClasses()" class="rounded-xl border-2 p-6 transition-all duration-200">
88326
- <!-- Question Text -->
88327
- <h3 [ngClass]="questionTextClasses()" class="text-lg font-bold mb-2">
88328
- {{ question().question }}
88329
- </h3>
88330
-
88331
- <!-- Context -->
88332
- @if (question().context) {
88333
- <p [ngClass]="contextTextClasses()" class="text-sm leading-relaxed mb-4">
88334
- {{ question().context }}
88335
- </p>
88336
- }
88337
-
88338
- <!-- Related Focus Areas (only show when viewing by category) -->
88339
- @if (showFocusAreaChips() && relatedFocusAreas().length > 0) {
88340
- <div class="mb-4">
88341
- <div class="flex items-center gap-2 mb-2">
88342
- <span [ngClass]="relatedLabelClasses()" class="text-xs font-semibold">
88343
- Related to {{ relatedFocusAreas().length }} focus area(s)
88344
- </span>
88345
- <button
88346
- type="button"
88347
- (mouseenter)="showFocusAreaTooltip($event)"
88348
- (mouseleave)="hideTooltip()"
88349
- [ngClass]="infoIconClasses()"
88350
- class="w-4 h-4 rounded-full flex items-center justify-center transition-colors">
88351
- <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88352
- <path 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"></path>
88353
- </svg>
88354
- </button>
88355
- </div>
88356
- <div class="flex flex-wrap gap-2">
88357
- @for (focusArea of relatedFocusAreas(); track focusArea) {
88358
- <span [ngClass]="focusAreaChipClasses()" class="px-3 py-1.5 rounded-full text-xs font-medium">
88359
- {{ getFocusAreaTitle(focusArea) }}
88360
- </span>
88361
- }
88362
- </div>
88363
- </div>
88364
- }
88365
-
88366
- <!-- Answer Section -->
88367
- @if (isAnswered()) {
88368
- <div [ngClass]="answeredContainerClasses()" class="rounded-lg p-4 border">
88369
- <div class="flex items-start gap-3">
88370
- <div [ngClass]="checkmarkClasses()" class="flex-shrink-0 w-6 h-6 rounded-full flex items-center justify-center">
88371
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88372
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
88373
- </svg>
88374
- </div>
88375
- <div class="flex-1 min-w-0">
88376
- <div [ngClass]="answerLabelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-1">
88377
- Your Answer
88378
- </div>
88379
- <div [ngClass]="answerTextClasses()" class="text-sm">
88380
- {{ getAnswerDisplay() }}
88381
- </div>
88382
- </div>
88383
- </div>
88384
- </div>
88385
- } @else {
88386
- <!-- Unanswered State -->
88387
- <div [ngClass]="unansweredContainerClasses()" class="rounded-lg p-6 border-2 border-dashed text-center">
88388
- <div class="flex flex-col items-center gap-3">
88389
- <!-- Empty State Icon -->
88390
- <div [ngClass]="emptyStateIconContainerClasses()" class="relative w-16 h-16">
88391
- <svg [ngClass]="emptyStateIconClasses()" class="w-full h-full" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88392
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
88393
- </svg>
88394
- <div [ngClass]="emptyStateDotClasses()" class="absolute top-1 right-1 w-3 h-3 rounded-full border-2"></div>
88395
- </div>
88396
- <div>
88397
- <div [ngClass]="unansweredLabelClasses()" class="text-sm font-semibold mb-1">
88398
- Not answered yet
88399
- </div>
88400
- <div [ngClass]="unansweredTextClasses()" class="text-xs">
88401
- Click the button below to provide your answer
88402
- </div>
88403
- </div>
88404
- </div>
88405
- </div>
88406
- }
88407
-
88408
- <!-- Action Button -->
88409
- <div class="mt-4 flex justify-end">
88410
- <button
88411
- type="button"
88412
- (click)="onAnswerClick()"
88413
- [ngClass]="buttonClasses()"
88414
- class="px-5 py-2.5 rounded-lg font-medium text-sm transition-all duration-300 flex items-center gap-2 hover:scale-105 active:scale-95">
88415
- <span>{{ isAnswered() ? 'Edit Answer' : 'Answer' }}</span>
88416
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88417
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
88418
- </svg>
88419
- </button>
88420
- </div>
88421
- </div>
88416
+ template: `
88417
+ <div [ngClass]="containerClasses()" class="rounded-xl border-2 p-6 transition-all duration-200">
88418
+ <!-- Question Header with Checkbox -->
88419
+ <div class="flex items-start gap-3">
88420
+ <div class="flex-1 min-w-0">
88421
+ <h3 [ngClass]="questionTextClasses()" class="text-lg font-bold mb-2">
88422
+ {{ question().question }}
88423
+ </h3>
88424
+ </div>
88425
+ @if (isAnswered()) {
88426
+ <div [ngClass]="checkboxClasses()" class="flex-shrink-0 w-6 h-6 rounded flex items-center justify-center">
88427
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88428
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
88429
+ </svg>
88430
+ </div>
88431
+ }
88432
+ </div>
88433
+
88434
+ <!-- Context -->
88435
+ @if (question().context) {
88436
+ <p [ngClass]="contextTextClasses()" class="text-sm leading-relaxed mb-4">
88437
+ {{ question().context }}
88438
+ </p>
88439
+ }
88440
+
88441
+ <!-- Related Focus Areas (only show when viewing by category) -->
88442
+ @if (showFocusAreaChips() && relatedFocusAreas().length > 0) {
88443
+ <div class="mb-4">
88444
+ <div class="mb-2">
88445
+ <span [ngClass]="relatedLabelClasses()" class="text-xs font-semibold">
88446
+ Related to {{ relatedFocusAreas().length }} focus area(s)
88447
+ </span>
88448
+ </div>
88449
+ <div class="flex flex-wrap gap-2">
88450
+ @for (focusArea of relatedFocusAreas(); track focusArea) {
88451
+ <span [ngClass]="focusAreaChipClasses()" class="px-3 py-1.5 rounded-full text-xs font-medium">
88452
+ {{ getFocusAreaTitle(focusArea) }}
88453
+ </span>
88454
+ }
88455
+ </div>
88456
+ </div>
88457
+ }
88458
+
88459
+ <!-- Answer Section -->
88460
+ @if (questionAnswers().length > 0) {
88461
+ <!-- Answered State - Show answer chips -->
88462
+ <div class="flex flex-wrap gap-3">
88463
+ @for (answerData of questionAnswers(); track answerData.answer.id) {
88464
+ <div [ngClass]="answerChipClasses()" class="flex items-center gap-2 px-4 py-2.5 rounded-full">
88465
+ <span [ngClass]="answerTextClasses()" class="text-sm font-medium">
88466
+ {{ answerData.answer.answer }}
88467
+ </span>
88468
+ <symphiq-user-avatar
88469
+ [viewMode]="viewMode()"
88470
+ [user]="answerData.user"
88471
+ size="small"
88472
+ />
88473
+ </div>
88474
+ <div [ngClass]="answerDateClasses()" class="self-center text-xs -ml-1">
88475
+ Answered {{ formatAnswerDate(answerData.answer.createdDate) }}
88476
+ </div>
88477
+ }
88478
+ </div>
88479
+ } @else {
88480
+ <!-- Unanswered State -->
88481
+ <div [ngClass]="unansweredContainerClasses()" class="rounded-lg p-6 border-2 border-dashed text-center">
88482
+ <div class="flex flex-col items-center gap-3">
88483
+ <!-- Empty State Icon -->
88484
+ <div [ngClass]="emptyStateIconContainerClasses()" class="relative w-16 h-16">
88485
+ <svg [ngClass]="emptyStateIconClasses()" class="w-full h-full" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88486
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
88487
+ </svg>
88488
+ <div [ngClass]="emptyStateDotClasses()" class="absolute top-1 right-1 w-3 h-3 rounded-full border-2"></div>
88489
+ </div>
88490
+ <div>
88491
+ <div [ngClass]="unansweredLabelClasses()" class="text-sm font-semibold mb-1">
88492
+ Not answered yet
88493
+ </div>
88494
+ <div [ngClass]="unansweredTextClasses()" class="text-xs">
88495
+ Click the button below to provide your answer
88496
+ </div>
88497
+ </div>
88498
+ </div>
88499
+ </div>
88500
+ }
88501
+
88502
+ <!-- Action Button -->
88503
+ <div class="mt-4 flex justify-end">
88504
+ <button
88505
+ type="button"
88506
+ (click)="onAnswerClick()"
88507
+ [ngClass]="buttonClasses()"
88508
+ class="px-5 py-2.5 rounded-lg font-medium text-sm transition-all duration-300 flex items-center gap-2 hover:scale-105 active:scale-95">
88509
+ <span>{{ isAnswered() ? 'Edit Answer' : 'Answer' }}</span>
88510
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88511
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
88512
+ </svg>
88513
+ </button>
88514
+ </div>
88515
+ </div>
88422
88516
  `
88423
88517
  }]
88424
- }], null, { question: [{ type: i0.Input, args: [{ isSignal: true, alias: "question", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], viewType: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewType", required: false }] }], answerClick: [{ type: i0.Output, args: ["answerClick"] }] }); })();
88425
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileQuestionCardComponent, { className: "ShopProfileQuestionCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-question-card.component.ts", lineNumber: 118 }); })();
88518
+ }], null, { question: [{ type: i0.Input, args: [{ isSignal: true, alias: "question", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], viewType: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewType", required: false }] }], profileShopAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileShopAnswers", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], answerClick: [{ type: i0.Output, args: ["answerClick"] }] }); })();
88519
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileQuestionCardComponent, { className: "ShopProfileQuestionCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-question-card.component.ts", lineNumber: 119 }); })();
88426
88520
 
88427
88521
  const _c0$4 = ["modalContent"];
88428
88522
  const _c1$1 = ["modalWrapper"];
@@ -88459,11 +88553,11 @@ function ShopProfileQuestionsModalComponent_Conditional_0_Conditional_25_For_2_T
88459
88553
  } if (rf & 2) {
88460
88554
  const question_r4 = ctx.$implicit;
88461
88555
  const ctx_r1 = i0.ɵɵnextContext(3);
88462
- i0.ɵɵproperty("question", question_r4)("viewMode", ctx_r1.viewMode())("viewType", ctx_r1.viewType());
88556
+ i0.ɵɵproperty("question", question_r4)("viewMode", ctx_r1.viewMode())("viewType", ctx_r1.viewType())("profileShopAnswers", ctx_r1.profileShopAnswers())("users", ctx_r1.users());
88463
88557
  } }
88464
88558
  function ShopProfileQuestionsModalComponent_Conditional_0_Conditional_25_Template(rf, ctx) { if (rf & 1) {
88465
88559
  i0.ɵɵelementStart(0, "div", 22);
88466
- i0.ɵɵrepeaterCreate(1, ShopProfileQuestionsModalComponent_Conditional_0_Conditional_25_For_2_Template, 1, 3, "symphiq-shop-profile-question-card", 28, _forTrack0$1);
88560
+ i0.ɵɵrepeaterCreate(1, ShopProfileQuestionsModalComponent_Conditional_0_Conditional_25_For_2_Template, 1, 5, "symphiq-shop-profile-question-card", 28, _forTrack0$1);
88467
88561
  i0.ɵɵelementEnd();
88468
88562
  } if (rf & 2) {
88469
88563
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -88539,6 +88633,8 @@ class ShopProfileQuestionsModalComponent {
88539
88633
  constructor() {
88540
88634
  this.isOpen = input(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
88541
88635
  this.questions = input([], ...(ngDevMode ? [{ debugName: "questions" }] : []));
88636
+ this.profileShopAnswers = input([], ...(ngDevMode ? [{ debugName: "profileShopAnswers" }] : []));
88637
+ this.users = input([], ...(ngDevMode ? [{ debugName: "users" }] : []));
88542
88638
  this.selectedCategoryId = input(null, ...(ngDevMode ? [{ debugName: "selectedCategoryId" }] : []));
88543
88639
  this.selectedFocusAreaId = input(null, ...(ngDevMode ? [{ debugName: "selectedFocusAreaId" }] : []));
88544
88640
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
@@ -88735,7 +88831,7 @@ class ShopProfileQuestionsModalComponent {
88735
88831
  let _t;
88736
88832
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalContent = _t.first);
88737
88833
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalWrapper = _t.first);
88738
- } }, inputs: { isOpen: [1, "isOpen"], questions: [1, "questions"], selectedCategoryId: [1, "selectedCategoryId"], selectedFocusAreaId: [1, "selectedFocusAreaId"], viewMode: [1, "viewMode"] }, outputs: { close: "close", questionAnswerClick: "questionAnswerClick" }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "overflow-y-auto", "z-[9000]"], [1, "fixed", "inset-0", "overflow-y-auto", "z-[9000]", 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-sm", 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-xs", "font-semibold", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-xl", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-2"], [1, "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "transition-all", "duration-500", "ease-out", "rounded-full", 3, "ngClass"], [1, "text-sm", "font-medium", 3, "ngClass"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", 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-8", "max-h-[70vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [1, "text-center", "py-12"], [1, "space-y-4"], [1, "w-16", "h-16", "mx-auto", "mb-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-full", "h-full"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "1.5", "d", "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "text-lg", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [3, "question", "viewMode", "viewType"], [3, "answerClick", "question", "viewMode", "viewType"]], template: function ShopProfileQuestionsModalComponent_Template(rf, ctx) { if (rf & 1) {
88834
+ } }, inputs: { isOpen: [1, "isOpen"], questions: [1, "questions"], profileShopAnswers: [1, "profileShopAnswers"], users: [1, "users"], selectedCategoryId: [1, "selectedCategoryId"], selectedFocusAreaId: [1, "selectedFocusAreaId"], viewMode: [1, "viewMode"] }, outputs: { close: "close", questionAnswerClick: "questionAnswerClick" }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "overflow-y-auto", "z-[9000]"], [1, "fixed", "inset-0", "overflow-y-auto", "z-[9000]", 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-sm", 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-xs", "font-semibold", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-xl", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-2"], [1, "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "transition-all", "duration-500", "ease-out", "rounded-full", 3, "ngClass"], [1, "text-sm", "font-medium", 3, "ngClass"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", 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-8", "max-h-[70vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [1, "text-center", "py-12"], [1, "space-y-6"], [1, "w-16", "h-16", "mx-auto", "mb-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-full", "h-full"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "1.5", "d", "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "text-lg", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [3, "question", "viewMode", "viewType", "profileShopAnswers", "users"], [3, "answerClick", "question", "viewMode", "viewType", "profileShopAnswers", "users"]], template: function ShopProfileQuestionsModalComponent_Template(rf, ctx) { if (rf & 1) {
88739
88835
  i0.ɵɵconditionalCreate(0, ShopProfileQuestionsModalComponent_Conditional_0_Template, 26, 19, "div", 2);
88740
88836
  } if (rf & 2) {
88741
88837
  i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
@@ -88775,111 +88871,113 @@ class ShopProfileQuestionsModalComponent {
88775
88871
  ])
88776
88872
  ])
88777
88873
  ],
88778
- template: `
88779
- @if (isOpen()) {
88780
- <div
88781
- #modalWrapper
88782
- class="fixed inset-0 overflow-y-auto z-[9000]"
88783
- (click)="onBackdropClick()">
88784
- <div class="flex items-center justify-center min-h-screen px-4 pt-4 pb-20 text-center sm:block sm:p-0">
88785
- <div
88786
- [ngClass]="backdropClasses()"
88787
- class="fixed inset-0 backdrop-blur-sm"
88788
- aria-hidden="true"
88789
- @fadeIn></div>
88790
-
88791
- <span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true">&#8203;</span>
88792
-
88793
- <div
88794
- #modalContent
88795
- (click)="$event.stopPropagation()"
88796
- [ngClass]="containerClasses()"
88797
- class="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"
88798
- @slideUpFade>
88799
-
88800
- <!-- Header -->
88801
- <div [ngClass]="headerClasses()" class="px-6 py-5 border-b backdrop-blur-sm sticky top-0 z-10">
88802
- <div class="flex items-start justify-between">
88803
- <div class="flex-1">
88804
- <!-- Label -->
88805
- <div [ngClass]="labelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-1">
88806
- {{ viewType() === 'category' ? 'Category' : 'Focus Area' }}
88807
- </div>
88808
-
88809
- <!-- Title -->
88810
- <h3 [ngClass]="titleClasses()" class="text-xl font-bold mb-3">
88811
- {{ displayTitle() }}
88812
- </h3>
88813
-
88814
- <!-- Progress Bar -->
88815
- <div class="space-y-2">
88816
- <div [ngClass]="progressBarContainerClasses()" class="h-2 rounded-full overflow-hidden">
88817
- <div
88818
- [ngClass]="progressBarFillClasses()"
88819
- class="h-full transition-all duration-500 ease-out rounded-full"
88820
- [style.width.%]="progressPercentage()"></div>
88821
- </div>
88822
- <div [ngClass]="progressTextClasses()" class="text-sm font-medium">
88823
- {{ answeredCount() }} / {{ totalCount() }} questions answered
88824
- </div>
88825
- </div>
88826
- </div>
88827
-
88828
- <!-- Close Button -->
88829
- <button
88830
- type="button"
88831
- (click)="onClose()"
88832
- [ngClass]="closeButtonClasses()"
88833
- class="transition-all rounded-lg p-1 hover:scale-110 active:scale-90 cursor-pointer relative ml-4">
88834
- <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88835
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
88836
- </svg>
88837
- </button>
88838
- </div>
88839
- </div>
88840
-
88841
- <!-- Content -->
88842
- <div [ngClass]="contentClasses()" class="px-6 py-8 max-h-[70vh] overflow-y-auto backdrop-blur-sm">
88843
- @if (filteredQuestions().length === 0) {
88844
- <div class="text-center py-12">
88845
- <div [ngClass]="emptyStateIconClasses()" class="w-16 h-16 mx-auto mb-4">
88846
- <svg class="w-full h-full" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88847
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
88848
- </svg>
88849
- </div>
88850
- <h3 [ngClass]="emptyStateTitleClasses()" class="text-lg font-semibold mb-2">
88851
- No questions found
88852
- </h3>
88853
- <p [ngClass]="emptyStateTextClasses()" class="text-sm">
88854
- There are no questions for this {{ viewType() === 'category' ? 'category' : 'focus area' }}.
88855
- </p>
88856
- </div>
88857
- } @else {
88858
- <div class="space-y-4">
88859
- @for (question of filteredQuestions(); track question.id) {
88860
- <symphiq-shop-profile-question-card
88861
- [question]="question"
88862
- [viewMode]="viewMode()"
88863
- [viewType]="viewType()"
88864
- (answerClick)="onQuestionAnswerClick($event)" />
88865
- }
88866
- </div>
88867
- }
88868
- </div>
88869
- </div>
88870
- </div>
88871
- </div>
88872
- }
88874
+ template: `
88875
+ @if (isOpen()) {
88876
+ <div
88877
+ #modalWrapper
88878
+ class="fixed inset-0 overflow-y-auto z-[9000]"
88879
+ (click)="onBackdropClick()">
88880
+ <div class="flex items-center justify-center min-h-screen px-4 pt-4 pb-20 text-center sm:block sm:p-0">
88881
+ <div
88882
+ [ngClass]="backdropClasses()"
88883
+ class="fixed inset-0 backdrop-blur-sm"
88884
+ aria-hidden="true"
88885
+ @fadeIn></div>
88886
+
88887
+ <span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true">&#8203;</span>
88888
+
88889
+ <div
88890
+ #modalContent
88891
+ (click)="$event.stopPropagation()"
88892
+ [ngClass]="containerClasses()"
88893
+ class="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"
88894
+ @slideUpFade>
88895
+
88896
+ <!-- Header -->
88897
+ <div [ngClass]="headerClasses()" class="px-6 py-5 border-b backdrop-blur-sm sticky top-0 z-10">
88898
+ <div class="flex items-start justify-between">
88899
+ <div class="flex-1">
88900
+ <!-- Label -->
88901
+ <div [ngClass]="labelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-1">
88902
+ {{ viewType() === 'category' ? 'Category' : 'Focus Area' }}
88903
+ </div>
88904
+
88905
+ <!-- Title -->
88906
+ <h3 [ngClass]="titleClasses()" class="text-xl font-bold mb-3">
88907
+ {{ displayTitle() }}
88908
+ </h3>
88909
+
88910
+ <!-- Progress Bar -->
88911
+ <div class="space-y-2">
88912
+ <div [ngClass]="progressBarContainerClasses()" class="h-2 rounded-full overflow-hidden">
88913
+ <div
88914
+ [ngClass]="progressBarFillClasses()"
88915
+ class="h-full transition-all duration-500 ease-out rounded-full"
88916
+ [style.width.%]="progressPercentage()"></div>
88917
+ </div>
88918
+ <div [ngClass]="progressTextClasses()" class="text-sm font-medium">
88919
+ {{ answeredCount() }} / {{ totalCount() }} questions answered
88920
+ </div>
88921
+ </div>
88922
+ </div>
88923
+
88924
+ <!-- Close Button -->
88925
+ <button
88926
+ type="button"
88927
+ (click)="onClose()"
88928
+ [ngClass]="closeButtonClasses()"
88929
+ class="transition-all rounded-lg p-1 hover:scale-110 active:scale-90 cursor-pointer relative ml-4">
88930
+ <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88931
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
88932
+ </svg>
88933
+ </button>
88934
+ </div>
88935
+ </div>
88936
+
88937
+ <!-- Content -->
88938
+ <div [ngClass]="contentClasses()" class="px-6 py-8 max-h-[70vh] overflow-y-auto backdrop-blur-sm">
88939
+ @if (filteredQuestions().length === 0) {
88940
+ <div class="text-center py-12">
88941
+ <div [ngClass]="emptyStateIconClasses()" class="w-16 h-16 mx-auto mb-4">
88942
+ <svg class="w-full h-full" fill="none" stroke="currentColor" viewBox="0 0 24 24">
88943
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
88944
+ </svg>
88945
+ </div>
88946
+ <h3 [ngClass]="emptyStateTitleClasses()" class="text-lg font-semibold mb-2">
88947
+ No questions found
88948
+ </h3>
88949
+ <p [ngClass]="emptyStateTextClasses()" class="text-sm">
88950
+ There are no questions for this {{ viewType() === 'category' ? 'category' : 'focus area' }}.
88951
+ </p>
88952
+ </div>
88953
+ } @else {
88954
+ <div class="space-y-6">
88955
+ @for (question of filteredQuestions(); track question.id) {
88956
+ <symphiq-shop-profile-question-card
88957
+ [question]="question"
88958
+ [viewMode]="viewMode()"
88959
+ [viewType]="viewType()"
88960
+ [profileShopAnswers]="profileShopAnswers()"
88961
+ [users]="users()"
88962
+ (answerClick)="onQuestionAnswerClick($event)" />
88963
+ }
88964
+ </div>
88965
+ }
88966
+ </div>
88967
+ </div>
88968
+ </div>
88969
+ </div>
88970
+ }
88873
88971
  `
88874
88972
  }]
88875
- }], () => [], { isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], questions: [{ type: i0.Input, args: [{ isSignal: true, alias: "questions", required: false }] }], selectedCategoryId: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedCategoryId", required: false }] }], selectedFocusAreaId: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedFocusAreaId", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], questionAnswerClick: [{ type: i0.Output, args: ["questionAnswerClick"] }], modalContent: [{
88973
+ }], () => [], { isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], questions: [{ type: i0.Input, args: [{ isSignal: true, alias: "questions", required: false }] }], profileShopAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileShopAnswers", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], selectedCategoryId: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedCategoryId", required: false }] }], selectedFocusAreaId: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedFocusAreaId", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], questionAnswerClick: [{ type: i0.Output, args: ["questionAnswerClick"] }], modalContent: [{
88876
88974
  type: ViewChild,
88877
88975
  args: ['modalContent']
88878
88976
  }], modalWrapper: [{
88879
88977
  type: ViewChild,
88880
88978
  args: ['modalWrapper']
88881
88979
  }] }); })();
88882
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileQuestionsModalComponent, { className: "ShopProfileQuestionsModalComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-questions-modal.component.ts", lineNumber: 135 }); })();
88980
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileQuestionsModalComponent, { className: "ShopProfileQuestionsModalComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-questions-modal.component.ts", lineNumber: 137 }); })();
88883
88981
 
88884
88982
  const _c0$3 = ["chartdiv"];
88885
88983
  function ShopProfileStatusCardComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
@@ -88930,6 +89028,8 @@ class ShopProfileStatusCardComponent {
88930
89028
  this.totalQuestions = input(0, ...(ngDevMode ? [{ debugName: "totalQuestions" }] : []));
88931
89029
  this.answeredQuestions = input(0, ...(ngDevMode ? [{ debugName: "answeredQuestions" }] : []));
88932
89030
  this.questions = input([], ...(ngDevMode ? [{ debugName: "questions" }] : []));
89031
+ this.profileShopAnswers = input([], ...(ngDevMode ? [{ debugName: "profileShopAnswers" }] : []));
89032
+ this.users = input([], ...(ngDevMode ? [{ debugName: "users" }] : []));
88933
89033
  this.startCategoryQuestions = output();
88934
89034
  this.questionAnswerRequested = output();
88935
89035
  this.currentView = signal('category', ...(ngDevMode ? [{ debugName: "currentView" }] : []));
@@ -89222,7 +89322,7 @@ class ShopProfileStatusCardComponent {
89222
89322
  } if (rf & 2) {
89223
89323
  let _t;
89224
89324
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chartDiv = _t.first);
89225
- } }, inputs: { viewMode: [1, "viewMode"], totalQuestions: [1, "totalQuestions"], answeredQuestions: [1, "answeredQuestions"], questions: [1, "questions"] }, outputs: { startCategoryQuestions: "startCategoryQuestions", questionAnswerRequested: "questionAnswerRequested" }, decls: 26, vars: 17, consts: [["chartdiv", ""], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "flex", "items-center", "justify-center", "mb-8"], [1, "w-full", 2, "height", "300px"], [1, "rounded-xl", "p-6", "mb-8", 3, "ngClass"], [1, "flex", "items-start", "gap-4"], [1, "flex-shrink-0", "p-2", "rounded-lg", 3, "ngClass"], ["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-1"], [1, "leading-relaxed", 3, "ngClass"], [3, "close", "questionAnswerClick", "isOpen", "questions", "selectedCategoryId", "selectedFocusAreaId", "viewMode"], [1, "font-semibold", "text-lg", "mb-3", 3, "ngClass"], [1, "flex", "justify-center", "mb-6"], [3, "viewChanged", "viewMode", "currentView"], [3, "itemClick", "viewMode", "items"]], template: function ShopProfileStatusCardComponent_Template(rf, ctx) { if (rf & 1) {
89325
+ } }, inputs: { viewMode: [1, "viewMode"], totalQuestions: [1, "totalQuestions"], answeredQuestions: [1, "answeredQuestions"], questions: [1, "questions"], profileShopAnswers: [1, "profileShopAnswers"], users: [1, "users"] }, outputs: { startCategoryQuestions: "startCategoryQuestions", questionAnswerRequested: "questionAnswerRequested" }, decls: 26, vars: 19, consts: [["chartdiv", ""], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "flex", "items-center", "justify-center", "mb-8"], [1, "w-full", 2, "height", "300px"], [1, "rounded-xl", "p-6", "mb-8", 3, "ngClass"], [1, "flex", "items-start", "gap-4"], [1, "flex-shrink-0", "p-2", "rounded-lg", 3, "ngClass"], ["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-1"], [1, "leading-relaxed", 3, "ngClass"], [3, "close", "questionAnswerClick", "isOpen", "questions", "profileShopAnswers", "users", "selectedCategoryId", "selectedFocusAreaId", "viewMode"], [1, "font-semibold", "text-lg", "mb-3", 3, "ngClass"], [1, "flex", "justify-center", "mb-6"], [3, "viewChanged", "viewMode", "currentView"], [3, "itemClick", "viewMode", "items"]], template: function ShopProfileStatusCardComponent_Template(rf, ctx) { if (rf & 1) {
89226
89326
  const _r1 = i0.ɵɵgetCurrentView();
89227
89327
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3)(3, "div", 4)(4, "div", 5);
89228
89328
  i0.ɵɵnamespaceSVG();
@@ -89276,7 +89376,7 @@ class ShopProfileStatusCardComponent {
89276
89376
  i0.ɵɵadvance(2);
89277
89377
  i0.ɵɵconditional(ctx.hasQuestions() ? 24 : -1);
89278
89378
  i0.ɵɵadvance();
89279
- i0.ɵɵproperty("isOpen", ctx.questionsModalOpen())("questions", ctx.questions())("selectedCategoryId", ctx.selectedCategoryId())("selectedFocusAreaId", ctx.selectedFocusAreaId())("viewMode", ctx.viewMode());
89379
+ i0.ɵɵproperty("isOpen", ctx.questionsModalOpen())("questions", ctx.questions())("profileShopAnswers", ctx.profileShopAnswers())("users", ctx.users())("selectedCategoryId", ctx.selectedCategoryId())("selectedFocusAreaId", ctx.selectedFocusAreaId())("viewMode", ctx.viewMode());
89280
89380
  } }, dependencies: [CommonModule, i1$1.NgClass, ShopProfileCategoryListComponent, ShopProfileViewToggleComponent, ShopProfileQuestionsModalComponent], encapsulation: 2, changeDetection: 0 }); }
89281
89381
  }
89282
89382
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShopProfileStatusCardComponent, [{
@@ -89286,95 +89386,97 @@ class ShopProfileStatusCardComponent {
89286
89386
  standalone: true,
89287
89387
  imports: [CommonModule, ShopProfileCategoryListComponent, ShopProfileViewToggleComponent, ShopProfileQuestionsModalComponent],
89288
89388
  changeDetection: ChangeDetectionStrategy.OnPush,
89289
- template: `
89290
- <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
89291
- <div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
89292
- <div class="flex items-center justify-between">
89293
- <div class="flex items-center gap-3">
89294
- <div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
89295
- <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
89296
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"></path>
89297
- </svg>
89298
- </div>
89299
- <div>
89300
- <h2 [ngClass]="titleClasses()" class="text-xl font-bold">
89301
- Shop Profile
89302
- </h2>
89303
- <p [ngClass]="subtitleClasses()" class="text-sm mt-0.5">
89304
- {{ answeredQuestions() }} of {{ totalQuestions() }} questions answered
89305
- </p>
89306
- </div>
89307
- </div>
89308
- </div>
89309
- </div>
89310
-
89311
- <div [ngClass]="contentClasses()" class="p-6">
89312
- <!-- Donut Chart -->
89313
- <div class="flex items-center justify-center mb-8">
89314
- <div #chartdiv class="w-full" style="height: 300px;"></div>
89315
- </div>
89316
-
89317
- <!-- Explanatory Text -->
89318
- <div [ngClass]="getIntroductionContainerClasses()" class="rounded-xl p-6 mb-8">
89319
- <div class="flex items-start gap-4">
89320
- <div [ngClass]="getIntroIconClasses()" class="flex-shrink-0 p-2 rounded-lg">
89321
- <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
89322
- <path 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"></path>
89323
- </svg>
89324
- </div>
89325
- <div class="flex-1">
89326
- @if (shouldShowFullIntro()) {
89327
- <h3 [ngClass]="getIntroTitleClasses()" class="font-semibold text-lg mb-3">
89328
- Why Shop Profile Questions Matter
89329
- </h3>
89330
- <p [ngClass]="getIntroTextClasses()" class="leading-relaxed">
89331
- Shop Profile questions are a <strong>critical part of your onboarding journey</strong>. These questions provide crucial qualitative data to the Symphiq engine, enabling personalized analysis and strategic recommendations tailored to your business. Your insights help us understand your unique operations, challenges, and goals.
89332
- </p>
89333
- } @else {
89334
- <p [ngClass]="getIntroTextClasses()" class="leading-relaxed">
89335
- <strong>Great progress!</strong> Continue answering questions to unlock deeper insights and more accurate recommendations. Each answer helps Symphiq better understand your business context.
89336
- </p>
89337
- }
89338
- </div>
89339
- </div>
89340
- </div>
89341
-
89342
- <!-- View Toggle -->
89343
- @if (hasQuestions()) {
89344
- <div class="flex justify-center mb-6">
89345
- <symphiq-shop-profile-view-toggle
89346
- [viewMode]="viewMode()"
89347
- [currentView]="currentView()"
89348
- (viewChanged)="handleViewChange($event)"
89349
- />
89350
- </div>
89351
-
89352
- <!-- Category/Focus Area List -->
89353
- <symphiq-shop-profile-category-list
89354
- [viewMode]="viewMode()"
89355
- [items]="currentGroupedQuestions()"
89356
- (itemClick)="handleItemClick($event)"
89357
- />
89358
- }
89359
- </div>
89360
- </div>
89361
-
89362
- <!-- Questions Modal -->
89363
- <symphiq-shop-profile-questions-modal
89364
- [isOpen]="questionsModalOpen()"
89365
- [questions]="questions()"
89366
- [selectedCategoryId]="selectedCategoryId()"
89367
- [selectedFocusAreaId]="selectedFocusAreaId()"
89368
- [viewMode]="viewMode()"
89369
- (close)="onQuestionsModalClose()"
89370
- (questionAnswerClick)="onQuestionAnswerClick($event)" />
89389
+ template: `
89390
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
89391
+ <div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
89392
+ <div class="flex items-center justify-between">
89393
+ <div class="flex items-center gap-3">
89394
+ <div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
89395
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
89396
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"></path>
89397
+ </svg>
89398
+ </div>
89399
+ <div>
89400
+ <h2 [ngClass]="titleClasses()" class="text-xl font-bold">
89401
+ Shop Profile
89402
+ </h2>
89403
+ <p [ngClass]="subtitleClasses()" class="text-sm mt-0.5">
89404
+ {{ answeredQuestions() }} of {{ totalQuestions() }} questions answered
89405
+ </p>
89406
+ </div>
89407
+ </div>
89408
+ </div>
89409
+ </div>
89410
+
89411
+ <div [ngClass]="contentClasses()" class="p-6">
89412
+ <!-- Donut Chart -->
89413
+ <div class="flex items-center justify-center mb-8">
89414
+ <div #chartdiv class="w-full" style="height: 300px;"></div>
89415
+ </div>
89416
+
89417
+ <!-- Explanatory Text -->
89418
+ <div [ngClass]="getIntroductionContainerClasses()" class="rounded-xl p-6 mb-8">
89419
+ <div class="flex items-start gap-4">
89420
+ <div [ngClass]="getIntroIconClasses()" class="flex-shrink-0 p-2 rounded-lg">
89421
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
89422
+ <path 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"></path>
89423
+ </svg>
89424
+ </div>
89425
+ <div class="flex-1">
89426
+ @if (shouldShowFullIntro()) {
89427
+ <h3 [ngClass]="getIntroTitleClasses()" class="font-semibold text-lg mb-3">
89428
+ Why Shop Profile Questions Matter
89429
+ </h3>
89430
+ <p [ngClass]="getIntroTextClasses()" class="leading-relaxed">
89431
+ Shop Profile questions are a <strong>critical part of your onboarding journey</strong>. These questions provide crucial qualitative data to the Symphiq engine, enabling personalized analysis and strategic recommendations tailored to your business. Your insights help us understand your unique operations, challenges, and goals.
89432
+ </p>
89433
+ } @else {
89434
+ <p [ngClass]="getIntroTextClasses()" class="leading-relaxed">
89435
+ <strong>Great progress!</strong> Continue answering questions to unlock deeper insights and more accurate recommendations. Each answer helps Symphiq better understand your business context.
89436
+ </p>
89437
+ }
89438
+ </div>
89439
+ </div>
89440
+ </div>
89441
+
89442
+ <!-- View Toggle -->
89443
+ @if (hasQuestions()) {
89444
+ <div class="flex justify-center mb-6">
89445
+ <symphiq-shop-profile-view-toggle
89446
+ [viewMode]="viewMode()"
89447
+ [currentView]="currentView()"
89448
+ (viewChanged)="handleViewChange($event)"
89449
+ />
89450
+ </div>
89451
+
89452
+ <!-- Category/Focus Area List -->
89453
+ <symphiq-shop-profile-category-list
89454
+ [viewMode]="viewMode()"
89455
+ [items]="currentGroupedQuestions()"
89456
+ (itemClick)="handleItemClick($event)"
89457
+ />
89458
+ }
89459
+ </div>
89460
+ </div>
89461
+
89462
+ <!-- Questions Modal -->
89463
+ <symphiq-shop-profile-questions-modal
89464
+ [isOpen]="questionsModalOpen()"
89465
+ [questions]="questions()"
89466
+ [profileShopAnswers]="profileShopAnswers()"
89467
+ [users]="users()"
89468
+ [selectedCategoryId]="selectedCategoryId()"
89469
+ [selectedFocusAreaId]="selectedFocusAreaId()"
89470
+ [viewMode]="viewMode()"
89471
+ (close)="onQuestionsModalClose()"
89472
+ (questionAnswerClick)="onQuestionAnswerClick($event)" />
89371
89473
  `
89372
89474
  }]
89373
- }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], totalQuestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalQuestions", required: false }] }], answeredQuestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "answeredQuestions", required: false }] }], questions: [{ type: i0.Input, args: [{ isSignal: true, alias: "questions", required: false }] }], startCategoryQuestions: [{ type: i0.Output, args: ["startCategoryQuestions"] }], questionAnswerRequested: [{ type: i0.Output, args: ["questionAnswerRequested"] }], chartDiv: [{
89475
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], totalQuestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalQuestions", required: false }] }], answeredQuestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "answeredQuestions", required: false }] }], questions: [{ type: i0.Input, args: [{ isSignal: true, alias: "questions", required: false }] }], profileShopAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileShopAnswers", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], startCategoryQuestions: [{ type: i0.Output, args: ["startCategoryQuestions"] }], questionAnswerRequested: [{ type: i0.Output, args: ["questionAnswerRequested"] }], chartDiv: [{
89374
89476
  type: ViewChild,
89375
89477
  args: ['chartdiv', { static: false }]
89376
89478
  }] }); })();
89377
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileStatusCardComponent, { className: "ShopProfileStatusCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-status-card.component.ts", lineNumber: 117 }); })();
89479
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileStatusCardComponent, { className: "ShopProfileStatusCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-status-card.component.ts", lineNumber: 119 }); })();
89378
89480
 
89379
89481
  function ShopProfileStickyFooterComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
89380
89482
  i0.ɵɵelementStart(0, "div", 5);
@@ -90225,7 +90327,7 @@ function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_0_Te
90225
90327
  } if (rf & 2) {
90226
90328
  const ctx_r1 = i0.ɵɵnextContext(2);
90227
90329
  i0.ɵɵadvance();
90228
- i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("totalQuestions", ctx_r1.totalShopQuestions())("answeredQuestions", ctx_r1.answeredShopQuestions())("questions", ctx_r1.profileShopQuestions() || i0.ɵɵpureFunction0(4, _c0$2));
90330
+ i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("totalQuestions", ctx_r1.totalShopQuestions())("answeredQuestions", ctx_r1.answeredShopQuestions())("questions", ctx_r1.profileShopQuestions() || i0.ɵɵpureFunction0(6, _c0$2))("profileShopAnswers", ctx_r1.profileShopAnswers() || i0.ɵɵpureFunction0(7, _c0$2))("users", ctx_r1.users() || i0.ɵɵpureFunction0(8, _c0$2));
90229
90331
  } }
90230
90332
  function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_1_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
90231
90333
  i0.ɵɵelementStart(0, "div", 31);
@@ -90320,7 +90422,7 @@ function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_2_Te
90320
90422
  i0.ɵɵproperty("sections", ctx_r1.nonStrategicSections())("viewMode", ctx_r1.viewMode())("executiveSummary", ctx_r1.executiveSummary())("focusAreaExecutiveSummary", ctx_r1.focusAreaExecutiveSummary())("metricExecutiveSummary", ctx_r1.metricExecutiveSummary())("metricName", ctx_r1.metricName())("allGoals", ctx_r1.allGoals())("allMetrics", ctx_r1.allMetrics())("allCharts", ctx_r1.allCharts())("allInsights", ctx_r1.allInsights())("businessProfile", ctx_r1.profile());
90321
90423
  } }
90322
90424
  function SymphiqProfileAnalysisDashboardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
90323
- i0.ɵɵconditionalCreate(0, SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_0_Template, 2, 5, "div", 29);
90425
+ i0.ɵɵconditionalCreate(0, SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_0_Template, 2, 9, "div", 29);
90324
90426
  i0.ɵɵconditionalCreate(1, SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_1_Template, 3, 1, "div", 29);
90325
90427
  i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisDashboardComponent_Conditional_9_Conditional_2_Template, 2, 11, "div");
90326
90428
  } if (rf & 2) {
@@ -90836,12 +90938,15 @@ class SymphiqProfileAnalysisDashboardComponent {
90836
90938
  this.account = input(...(ngDevMode ? [undefined, { debugName: "account" }] : []));
90837
90939
  this.profileShop = input(...(ngDevMode ? [undefined, { debugName: "profileShop" }] : []));
90838
90940
  this.profileShopQuestions = input(...(ngDevMode ? [undefined, { debugName: "profileShopQuestions" }] : []));
90941
+ this.profileShopAnswers = input(...(ngDevMode ? [undefined, { debugName: "profileShopAnswers" }] : []));
90942
+ this.profileShopAnswerHistories = input(...(ngDevMode ? [undefined, { debugName: "profileShopAnswerHistories" }] : []));
90839
90943
  this.itemStatusProfileShop = input(...(ngDevMode ? [undefined, { debugName: "itemStatusProfileShop" }] : []));
90840
90944
  this.itemStatusProfileAnalysis = input(...(ngDevMode ? [undefined, { debugName: "itemStatusProfileAnalysis" }] : []));
90841
90945
  this.planCardInfos = input(...(ngDevMode ? [undefined, { debugName: "planCardInfos" }] : []));
90842
90946
  this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
90843
90947
  this.scrollEvent = input(...(ngDevMode ? [undefined, { debugName: "scrollEvent" }] : []));
90844
90948
  this.scrollElement = input(...(ngDevMode ? [undefined, { debugName: "scrollElement" }] : []));
90949
+ this.users = input([], ...(ngDevMode ? [{ debugName: "users" }] : []));
90845
90950
  this.isLoading = input(...(ngDevMode ? [undefined, { debugName: "isLoading" }] : []));
90846
90951
  this.forDemo = input(false, ...(ngDevMode ? [{ debugName: "forDemo" }] : []));
90847
90952
  this.maxAccessibleStepId = input(undefined, ...(ngDevMode ? [{ debugName: "maxAccessibleStepId" }] : []));
@@ -91737,7 +91842,7 @@ class SymphiqProfileAnalysisDashboardComponent {
91737
91842
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.funnelModalComponent = _t.first);
91738
91843
  } }, hostBindings: function SymphiqProfileAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
91739
91844
  i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
91740
- } }, inputs: { viewMode: [1, "viewMode"], requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalysis: [1, "profileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], analysisType: [1, "analysisType"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], profileShop: [1, "profileShop"], profileShopQuestions: [1, "profileShopQuestions"], itemStatusProfileShop: [1, "itemStatusProfileShop"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], planCardInfos: [1, "planCardInfos"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", currencySelectionClick: "currencySelectionClick", editCurrencyClick: "editCurrencyClick", periodUnitChanged: "periodUnitChanged", planSelected: "planSelected", checkoutPlanClick: "checkoutPlanClick", answerShopProfileQuestions: "answerShopProfileQuestions", continueShopProfileQuestions: "continueShopProfileQuestions" }, features: [i0.ɵɵNgOnChangesFeature], decls: 30, vars: 51, consts: [[1, "min-h-screen", "relative", 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, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [1, "mb-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts"], [3, "isLightMode"], [3, "viewMode", "isEnabled", "isLoading"], [3, "viewMode", "totalQuestions", "answeredQuestions"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-lg", 3, "ngClass"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMode", "focusAreaDomain", "focusAreaName", "focusAreaDetails"], [3, "viewMode", "metricName", "isOnboarded"], [1, "mb-8"], [3, "startCategoryQuestions", "viewMode", "totalQuestions", "answeredQuestions", "questions"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [3, "goals", "viewMode"], ["title", "Generating Your Shop Profile", "subtitle", "We're analyzing your data to create shop specific questions and answers. They will appear when ready.", 3, "itemStatus", "viewMode"], [3, "viewMoreClick", "goals", "viewMode"], [1, "mb-32"], [3, "viewMode", "selectedCurrency"], [3, "currencySelected", "viewMode", "isLoading", "initialCurrency"], [3, "viewMode"], [3, "periodUnitChanged", "planSelected", "editCurrency", "checkout", "viewMode", "selectedCurrency", "planCardInfos", "isLoading", "selectedPeriodUnit"], [3, "editCurrency", "viewMode", "selectedCurrency"], [3, "sections", "viewMode", "executiveSummary", "focusAreaExecutiveSummary", "metricExecutiveSummary", "metricName", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "summary", "allGoals"], [3, "viewMode", "summary", "metricName", "allGoals"], [1, "space-y-8"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [1, "rounded-xl", "p-6", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], ["type", "button", 1, "p-4", "rounded-xl", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "group", "cursor-pointer", 3, "click", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", "mb-2", 3, "ngClass"], [1, "flex", "items-center", "gap-1.5", "text-xs", "font-medium"], [3, "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-x-1", 3, "icon", "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-y-1", "animate-bounce", 3, "icon", "ngClass"], ["id", "quick-wins-section", 1, "space-y-4", "scroll-mt-24"], [1, "text-lg", "font-semibold", "mb-3", 3, "ngClass"], [1, "relative"], [1, "mb-6", "lg:float-left", "lg:mr-6", "lg:mb-4", "lg:max-w-[66%]"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "clear-both"], [3, "visual", "viewMode"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-2", "gap-6"], [1, "rounded-xl", "p-6", "transition-all", "duration-300", 3, "ngClass"], [1, "space-y-4"], [1, "flex", "items-start", "gap-3"], [1, "flex-shrink-0", "w-8", "h-8", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-bold", 3, "ngClass"], [1, "font-semibold", "leading-tight", "flex-1", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-2"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "text-sm", 3, "ngClass"], [1, "space-y-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "relatedGoalIds", "allGoals", "viewMode"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "allGoals"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "executiveSummary", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [1, "w-full"], [3, "continueClick", "viewMode", "isEnabled", "isLoading"], [3, "continueClick", "viewMode", "totalQuestions", "answeredQuestions"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-4"], [1, "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "cursor-pointer", 3, "click", "ngClass"], [1, "flex-1", "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "flex", "items-center", "justify-center", "gap-3", "shadow-2xl", 3, "click", "disabled", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-200"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqProfileAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
91845
+ } }, inputs: { viewMode: [1, "viewMode"], requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalysis: [1, "profileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], analysisType: [1, "analysisType"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], profileShop: [1, "profileShop"], profileShopQuestions: [1, "profileShopQuestions"], profileShopAnswers: [1, "profileShopAnswers"], profileShopAnswerHistories: [1, "profileShopAnswerHistories"], itemStatusProfileShop: [1, "itemStatusProfileShop"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], planCardInfos: [1, "planCardInfos"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", currencySelectionClick: "currencySelectionClick", editCurrencyClick: "editCurrencyClick", periodUnitChanged: "periodUnitChanged", planSelected: "planSelected", checkoutPlanClick: "checkoutPlanClick", answerShopProfileQuestions: "answerShopProfileQuestions", continueShopProfileQuestions: "continueShopProfileQuestions" }, features: [i0.ɵɵNgOnChangesFeature], decls: 30, vars: 51, consts: [[1, "min-h-screen", "relative", 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, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [1, "mb-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts"], [3, "isLightMode"], [3, "viewMode", "isEnabled", "isLoading"], [3, "viewMode", "totalQuestions", "answeredQuestions"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-lg", 3, "ngClass"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMode", "focusAreaDomain", "focusAreaName", "focusAreaDetails"], [3, "viewMode", "metricName", "isOnboarded"], [1, "mb-8"], [3, "startCategoryQuestions", "viewMode", "totalQuestions", "answeredQuestions", "questions", "profileShopAnswers", "users"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [3, "goals", "viewMode"], ["title", "Generating Your Shop Profile", "subtitle", "We're analyzing your data to create shop specific questions and answers. They will appear when ready.", 3, "itemStatus", "viewMode"], [3, "viewMoreClick", "goals", "viewMode"], [1, "mb-32"], [3, "viewMode", "selectedCurrency"], [3, "currencySelected", "viewMode", "isLoading", "initialCurrency"], [3, "viewMode"], [3, "periodUnitChanged", "planSelected", "editCurrency", "checkout", "viewMode", "selectedCurrency", "planCardInfos", "isLoading", "selectedPeriodUnit"], [3, "editCurrency", "viewMode", "selectedCurrency"], [3, "sections", "viewMode", "executiveSummary", "focusAreaExecutiveSummary", "metricExecutiveSummary", "metricName", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "summary", "allGoals"], [3, "viewMode", "summary", "metricName", "allGoals"], [1, "space-y-8"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [1, "rounded-xl", "p-6", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], ["type", "button", 1, "p-4", "rounded-xl", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "group", "cursor-pointer", 3, "click", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", "mb-2", 3, "ngClass"], [1, "flex", "items-center", "gap-1.5", "text-xs", "font-medium"], [3, "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-x-1", 3, "icon", "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-y-1", "animate-bounce", 3, "icon", "ngClass"], ["id", "quick-wins-section", 1, "space-y-4", "scroll-mt-24"], [1, "text-lg", "font-semibold", "mb-3", 3, "ngClass"], [1, "relative"], [1, "mb-6", "lg:float-left", "lg:mr-6", "lg:mb-4", "lg:max-w-[66%]"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "clear-both"], [3, "visual", "viewMode"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-2", "gap-6"], [1, "rounded-xl", "p-6", "transition-all", "duration-300", 3, "ngClass"], [1, "space-y-4"], [1, "flex", "items-start", "gap-3"], [1, "flex-shrink-0", "w-8", "h-8", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-bold", 3, "ngClass"], [1, "font-semibold", "leading-tight", "flex-1", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-2"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "text-sm", 3, "ngClass"], [1, "space-y-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "relatedGoalIds", "allGoals", "viewMode"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "allGoals"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "executiveSummary", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [1, "w-full"], [3, "continueClick", "viewMode", "isEnabled", "isLoading"], [3, "continueClick", "viewMode", "totalQuestions", "answeredQuestions"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-4"], [1, "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "cursor-pointer", 3, "click", "ngClass"], [1, "flex-1", "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "flex", "items-center", "justify-center", "gap-3", "shadow-2xl", 3, "click", "disabled", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-200"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqProfileAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
91741
91846
  i0.ɵɵelementStart(0, "div", 0);
91742
91847
  i0.ɵɵelement(1, "div", 1);
91743
91848
  i0.ɵɵelementStart(2, "div");
@@ -91851,658 +91956,660 @@ class SymphiqProfileAnalysisDashboardComponent {
91851
91956
  standalone: true,
91852
91957
  imports: [CommonModule, DashboardHeaderComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, FloatingTocComponent, SectionNavigationComponent, GradeBadgeComponent, ShopWelcomeBannerComponent, FocusAreaWelcomeBannerComponent, MetricWelcomeBannerComponent, FocusAreaExecutiveSummaryComponent, MetricExecutiveSummaryComponent, NapkinVisualPlaceholderComponent, TooltipContainerComponent, ProfileSectionContentComponent, ProfileAnalysisModalComponent, ModalComponent, GoalCardComponent, GoalObjectivesModalContentComponent, ObjectiveStrategiesModalContentComponent, StrategyRecommendationsModalContentComponent, CategoryDetailModalContentComponent, StrengthDetailModalContentComponent, GapDetailModalContentComponent, OpportunityDetailModalContentComponent, BusinessAnalysisModalComponent, SectionDividerComponent, SymphiqIconComponent, RelatedGoalChipsComponent, StrategicGoalsTiledGridComponent, CollapsibleAnalysisSectionGroupComponent, BillingCurrencySelectorCardComponent, PlanSelectionPlaceholderCardComponent, PlanSelectionContainerComponent, SubscriptionValuePropositionCardComponent, StickySubscriptionContinueButtonComponent, ContentGenerationProgressComponent, ShopProfileStatusCardComponent, ShopProfileStickyFooterComponent],
91853
91958
  changeDetection: ChangeDetectionStrategy.OnPush,
91854
- template: `
91855
- <div [ngClass]="getContainerClasses()" class="min-h-screen relative">
91856
- <div class="animated-bubbles" [class.light-mode]="isLightMode()" style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
91857
-
91858
- <!-- Scroll Progress Bar -->
91859
- <div
91860
- [class]="embedded() ? 'sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30' : 'fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30'">
91861
- <div
91862
- [style.width.%]="scrollProgress()"
91863
- [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
91864
- class="h-full transition-all duration-200 ease-out">
91865
- </div>
91866
- </div>
91867
-
91868
- <div class="relative z-[51]">
91869
- <!-- Dashboard Header -->
91870
- <symphiq-dashboard-header
91871
- [title]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'Profile Analysis'"
91872
- [subtitle]="getAnalysisSubtitle()"
91873
- [currentSection]="getAnalysisSubtitle()"
91874
- [viewMode]="viewMode()"
91875
- [viewModeLabel]="displayModeLabel()"
91876
- [isLoading]="isLoading()"
91877
- [requestedByUser]="requestedByUser()"
91878
- [createdDate]="profileAnalysis()?.selfContentCompletedDate"
91879
- (searchClick)="openSearch()"
91880
- (viewModeClick)="openViewModeSwitcher()"
91881
- />
91882
-
91883
- <!-- Journey Progress Banner -->
91884
- @if (isSimplifiedView() && !isOnboarded()) {
91885
- <symphiq-journey-progress-indicator
91886
- [viewMode]="viewMode()"
91887
- [currentStepId]="currentStepId()"
91888
- [showNextStepAction]="shouldShowContinueButton()"
91889
- [forDemo]="forDemo()"
91890
- [maxAccessibleStepId]="maxAccessibleStepId()"
91891
- (nextStepClick)="nextStepClick.emit()"
91892
- (stepClick)="stepClick.emit($event)"
91893
- />
91894
- }
91895
-
91896
- <!-- Main Content -->
91897
- <main class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 space-y-12" [class.pb-32]="shouldShowStickyButton() || shouldShowShopProfileStickyFooter()">
91898
-
91899
- <!-- Welcome Banner (Simplified View Only) -->
91900
- @if (isSimplifiedView()) {
91901
- <div class="mb-12">
91902
- @if (!isFocusAreaAnalysis() && !isMetricAnalysis()) {
91903
- <symphiq-shop-welcome-banner
91904
- [viewMode]="viewMode()"
91905
- [businessName]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'your shop'"
91906
- [isOnboarded]="isOnboarded()"
91907
- />
91908
- }
91909
- @if (isFocusAreaAnalysis()) {
91910
- <symphiq-focus-area-welcome-banner
91911
- [viewMode]="viewMode()"
91912
- [focusAreaDomain]="focusAreaDomain()"
91913
- [focusAreaName]="focusAreaName()"
91914
- [focusAreaDetails]="focusAreaDetails()"
91915
- />
91916
- }
91917
- @if (isMetricAnalysis()) {
91918
- <symphiq-metric-welcome-banner
91919
- [viewMode]="viewMode()"
91920
- [metricName]="profileAnalysis()?.profileAnalysisStructured?.metricExecutiveSummary?.metric"
91921
- [isOnboarded]="isOnboarded()"
91922
- />
91923
- }
91924
- </div>
91925
- }
91926
-
91927
- <!-- Simplified View Content -->
91928
- @if (isSimplifiedView()) {
91929
- <!-- Shop Profile Status Card -->
91930
- @if (shouldShowShopProfileStatus() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
91931
- <div class="mb-8">
91932
- <symphiq-shop-profile-status-card
91933
- [viewMode]="viewMode()"
91934
- [totalQuestions]="totalShopQuestions()"
91935
- [answeredQuestions]="answeredShopQuestions()"
91936
- [questions]="profileShopQuestions() || []"
91937
- (startCategoryQuestions)="handleStartCategoryQuestions($event)"
91938
- />
91939
- </div>
91940
- }
91941
-
91942
- <!-- Strategic Insights & Goals (or Subscription Flow) -->
91943
- @if (profileAnalysis()) {
91944
- <div class="mb-8">
91945
- @if (isSubscriptionActive() || isFocusAreaAnalysis() || isMetricAnalysis()) {
91946
- @if (isProfileShopGenerating() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
91947
- <div [ngClass]="getProgressCardClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
91948
- <symphiq-content-generation-progress
91949
- [itemStatus]="itemStatusProfileShop()"
91950
- [viewMode]="viewMode()"
91951
- title="Generating Your Shop Profile"
91952
- subtitle="We're analyzing your data to create shop specific questions and answers. They will appear when ready."
91953
- />
91954
- </div>
91955
- } @else {
91956
- <symphiq-strategic-goals-tiled-grid
91957
- [goals]="strategicRoadmapGoals()"
91958
- [viewMode]="viewMode()"
91959
- (viewMoreClick)="openGoalModal($event)"
91960
- />
91961
- }
91962
- } @else {
91963
- <!-- Subscription Value Proposition -->
91964
- @if (!hasBillingCurrency() || isEditingCurrency()) {
91965
- @if (!hasBillingCurrency()) {
91966
- <div class="mb-8">
91967
- <symphiq-subscription-value-proposition-card
91968
- [viewMode]="viewMode()"
91969
- />
91970
- </div>
91971
- }
91972
-
91973
- <!-- Currency Selection -->
91974
- <symphiq-billing-currency-selector-card
91975
- [viewMode]="viewMode()"
91976
- [isLoading]="isCurrencySelectionLoading()"
91977
- [initialCurrency]="isEditingCurrency() ? (account()?.billingCurrencyCode || null) : null"
91978
- (currencySelected)="handleCurrencyChange($event)"
91979
- />
91980
- } @else if (showPlanSelection()) {
91981
- <!-- Plan Selection -->
91982
-
91983
- <div class="mb-32">
91984
- <symphiq-plan-selection-container
91985
- [viewMode]="viewMode()"
91986
- [selectedCurrency]="account()?.billingCurrencyCode || CurrencyCodeEnum.USD"
91987
- [planCardInfos]="planCardInfos()"
91988
- [isLoading]="isPlanLoading()"
91989
- [selectedPeriodUnit]="selectedPeriodUnit()"
91990
- (periodUnitChanged)="handlePeriodUnitChange($event)"
91991
- (planSelected)="handlePlanSelection($event)"
91992
- (editCurrency)="handleEditCurrencyClick()"
91993
- (checkout)="checkoutPlanClick.emit($event)"
91994
- />
91995
- </div>
91996
- } @else {
91997
- <symphiq-plan-selection-placeholder-card
91998
- [viewMode]="viewMode()"
91999
- [selectedCurrency]="account()?.billingCurrencyCode || CurrencyCodeEnum.USD"
92000
- (editCurrency)="handleEditCurrencyClick()"
92001
- />
92002
- }
92003
- }
92004
- </div>
92005
- }
92006
-
92007
- <!-- Supporting Business Context -->
92008
- @if (nonStrategicSections().length > 0) {
92009
- <div>
92010
- <symphiq-collapsible-analysis-section-group
92011
- [sections]="nonStrategicSections()"
92012
- [viewMode]="viewMode()"
92013
- [executiveSummary]="executiveSummary()"
92014
- [focusAreaExecutiveSummary]="focusAreaExecutiveSummary()"
92015
- [metricExecutiveSummary]="metricExecutiveSummary()"
92016
- [metricName]="metricName()"
92017
- [allGoals]="allGoals()"
92018
- [allMetrics]="allMetrics()"
92019
- [allCharts]="allCharts()"
92020
- [allInsights]="allInsights()"
92021
- [businessProfile]="profile()"
92022
- />
92023
- </div>
92024
- }
92025
- }
92026
-
92027
- <!-- Compact & Expanded View Content -->
92028
- @if (!isSimplifiedView()) {
92029
- <!-- SHOP Executive Summary -->
92030
- @if (!isFocusAreaAnalysis() && executiveSummary(); as summary) {
92031
- <section id="section-executive-summary" class="space-y-6 scroll-mt-24">
92032
- <!-- Summary Banner -->
92033
- <div [ngClass]="getBannerClasses()" class="rounded-2xl p-8 shadow-xl">
92034
- <div class="space-y-6">
92035
- <div class="flex items-start justify-between gap-4">
92036
- <div class="flex-1">
92037
- <h2 [ngClass]="getSectionTitleClasses()" class="text-2xl font-bold mb-3">
92038
- Executive Summary
92039
- </h2>
92040
- <p [ngClass]="getTextClasses()" class="text-lg leading-relaxed">
92041
- {{ summary.gradeRationale }}
92042
- </p>
92043
- </div>
92044
- @if (summary.overallGrade) {
92045
- <symphiq-grade-badge
92046
- [grade]="summary.overallGrade"
92047
- [gradeRationale]="summary.gradeRationale || ''"
92048
- [viewMode]="viewMode()"
92049
- />
92050
- }
92051
- </div>
92052
-
92053
- @if (summary.narrative) {
92054
- <div [ngClass]="getNarrativeClasses()" class="rounded-xl p-6">
92055
- <h3 [ngClass]="getSubheadingClasses()" class="text-lg font-semibold mb-3">
92056
- Analysis Narrative
92057
- </h3>
92058
- <div class="relative">
92059
- @if (summary.napkinVisual && summary.napkinVisual.enabled) {
92060
- <div class="mb-6 lg:float-left lg:mr-6 lg:mb-4 lg:max-w-[66%]">
92061
- <symphiq-napkin-visual-placeholder
92062
- [visual]="summary.napkinVisual"
92063
- [viewMode]="viewMode()"
92064
- />
92065
- </div>
92066
- }
92067
- <p [ngClass]="getTextClasses()" class="text-sm leading-relaxed whitespace-pre-line">
92068
- {{ summary.narrative }}
92069
- </p>
92070
- <div class="clear-both"></div>
92071
- </div>
92072
- </div>
92073
- }
92074
-
92075
- <!-- Stats -->
92076
- <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
92077
- <button
92078
- type="button"
92079
- (click)="onKeyStrengthsClick(summary)"
92080
- [ngClass]="getKeyStrengthsStatCardClasses()"
92081
- class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
92082
- <div [ngClass]="getKeyStrengthsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
92083
- Key Strengths
92084
- </div>
92085
- <div [ngClass]="getKeyStrengthsStatValueClasses()" class="text-3xl font-bold mb-2">
92086
- {{ summary.keyStrengths?.length || 0 }}
92087
- </div>
92088
- <div class="flex items-center gap-1.5 text-xs font-medium">
92089
- <span [ngClass]="getKeyStrengthsButtonTextClasses()">View Details</span>
92090
- <symphiq-icon
92091
- [icon]="{ name: 'chevron-right', source: IconSourceEnum.HEROICONS }"
92092
- size="w-4 h-4"
92093
- [ngClass]="getKeyStrengthsButtonTextClasses()"
92094
- class="transition-transform group-hover:translate-x-1"
92095
- />
92096
- </div>
92097
- </button>
92098
- <button
92099
- type="button"
92100
- (click)="onCriticalGapsClick(summary)"
92101
- [ngClass]="getCriticalGapsStatCardClasses()"
92102
- class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
92103
- <div [ngClass]="getCriticalGapsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
92104
- Critical Gaps
92105
- </div>
92106
- <div [ngClass]="getCriticalGapsStatValueClasses()" class="text-3xl font-bold mb-2">
92107
- {{ summary.criticalGaps?.length || 0 }}
92108
- </div>
92109
- <div class="flex items-center gap-1.5 text-xs font-medium">
92110
- <span [ngClass]="getCriticalGapsButtonTextClasses()">View Details</span>
92111
- <symphiq-icon
92112
- [icon]="{ name: 'chevron-right', source: IconSourceEnum.HEROICONS }"
92113
- size="w-4 h-4"
92114
- [ngClass]="getCriticalGapsButtonTextClasses()"
92115
- class="transition-transform group-hover:translate-x-1"
92116
- />
92117
- </div>
92118
- </button>
92119
- <button
92120
- type="button"
92121
- (click)="scrollToQuickWins()"
92122
- [ngClass]="getQuickWinsStatCardClasses()"
92123
- class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
92124
- <div [ngClass]="getQuickWinsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
92125
- Quick Wins
92126
- </div>
92127
- <div [ngClass]="getQuickWinsStatValueClasses()" class="text-3xl font-bold mb-2">
92128
- {{ summary.quickWins?.length || 0 }}
92129
- </div>
92130
- <div class="flex items-center gap-1.5 text-xs font-medium">
92131
- <span [ngClass]="getQuickWinsButtonTextClasses()">Details Below</span>
92132
- <symphiq-icon
92133
- [icon]="{ name: 'chevron-down', source: IconSourceEnum.HEROICONS }"
92134
- size="w-4 h-4"
92135
- [ngClass]="getQuickWinsButtonTextClasses()"
92136
- class="transition-transform group-hover:translate-y-1 animate-bounce"
92137
- />
92138
- </div>
92139
- </button>
92140
- </div>
92141
- </div>
92142
- </div>
92143
-
92144
- <!-- Quick Wins -->
92145
- @if (summary.quickWins && summary.quickWins.length > 0) {
92146
- <div id="quick-wins-section" class="space-y-4 scroll-mt-24">
92147
- <h3 [ngClass]="getSectionTitleClasses()" class="text-xl font-bold">
92148
- Quick Wins
92149
- </h3>
92150
- <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
92151
- @for (win of summary.quickWins; track $index) {
92152
- <div [ngClass]="getQuickWinCardClasses()"
92153
- class="rounded-xl p-6 transition-all duration-300">
92154
- <div class="space-y-4">
92155
- <div class="flex items-start gap-3">
92156
- <span [ngClass]="getNumberBadgeClasses()"
92157
- class="flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold">
92158
- {{ $index + 1 }}
92159
- </span>
92160
- <p [ngClass]="getQuickWinTextClasses()" class="font-semibold leading-tight flex-1">
92161
- {{ win.action }}
92162
- </p>
92163
- </div>
92164
-
92165
- <div class="flex flex-wrap gap-2">
92166
- <span [ngClass]="getEffortBadgeClasses(win.effort)"
92167
- class="px-3 py-1 rounded-full text-xs font-semibold">
92168
- {{ formatLabel(win.effort) }} Effort
92169
- </span>
92170
- <span [ngClass]="getImpactBadgeClasses(win.impact)"
92171
- class="px-3 py-1 rounded-full text-xs font-semibold">
92172
- {{ formatLabel(win.impact) }} Impact
92173
- </span>
92174
- </div>
92175
-
92176
- @if (win.estimatedTimeframe) {
92177
- <div class="flex items-center gap-2 text-sm" [ngClass]="getMetaTextClasses()">
92178
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
92179
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
92180
- d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
92181
- </svg>
92182
- <span>{{ win.estimatedTimeframe }}</span>
92183
- </div>
92184
- }
92185
-
92186
- @if (win.relatedGoalId) {
92187
- <div class="space-y-2">
92188
- <h4 [ngClass]="getMetaTextClasses()"
92189
- class="text-xs font-semibold uppercase tracking-wider">
92190
- Related Goal
92191
- </h4>
92192
- <symphiq-related-goal-chips
92193
- [relatedGoalIds]="[win.relatedGoalId]"
92194
- [allGoals]="allGoals()"
92195
- [viewMode]="viewMode()"
92196
- />
92197
- </div>
92198
- }
92199
- </div>
92200
- </div>
92201
- }
92202
- </div>
92203
- </div>
92204
- }
92205
- </section>
92206
- }
92207
-
92208
- <!-- FOCUS_AREA Executive Summary -->
92209
- @if (isFocusAreaAnalysis() && focusAreaExecutiveSummary(); as summary) {
92210
- <symphiq-focus-area-executive-summary
92211
- [viewMode]="viewMode()"
92212
- [summary]="summary"
92213
- [allGoals]="allGoals()"
92214
- (topPrioritiesClick)="handleTopPrioritiesClick()"
92215
- (priorityDetailClick)="handlePriorityDetailClick($event)"
92216
- />
92217
- }
92218
-
92219
- <!-- METRIC Executive Summary -->
92220
- @if (isMetricAnalysis() && metricExecutiveSummary(); as summary) {
92221
- <symphiq-metric-executive-summary
92222
- [viewMode]="viewMode()"
92223
- [summary]="summary"
92224
- [metricName]="metricName()"
92225
- [allGoals]="allGoals()"
92226
- (topPrioritiesClick)="handleMetricTopPrioritiesClick()"
92227
- (priorityDetailClick)="handleMetricPriorityDetailClick($event)"
92228
- />
92229
- }
92230
-
92231
- <!-- Divider Before First Section -->
92232
- @if (sections(); as sectionList) {
92233
- @if (sectionList.length > 0 && sectionList[0].icon) {
92234
- <symphiq-section-divider
92235
- [viewMode]="viewMode()"
92236
- [sectionIcon]="sectionList[0].icon"
92237
- />
92238
- }
92239
- }
92240
-
92241
- <!-- Profile Analysis Sections -->
92242
- @if (sections(); as sectionList) {
92243
- <section class="space-y-8">
92244
- @for (section of sectionList; track section.id; let idx = $index; let last = $last) {
92245
- <div [id]="'section-' + section.id" [ngClass]="getSectionCardClasses()"
92246
- class="rounded-xl p-8 scroll-mt-24">
92247
- <!-- Icon and Title -->
92248
- <div class="flex items-start gap-3 mb-6">
92249
- @if (section.icon) {
92250
- <div [ngClass]="getSectionIconClasses()"
92251
- class="flex-shrink-0 w-12 h-12 rounded-xl flex items-center justify-center">
92252
- <symphiq-icon [icon]="section.icon" size="w-6 h-6"></symphiq-icon>
92253
- </div>
92254
- }
92255
- <div class="flex-1">
92256
- <h3 [ngClass]="getSectionTitleClasses()" class="text-2xl font-bold">
92257
- {{ section.title }}
92258
- </h3>
92259
- </div>
92260
- </div>
92261
-
92262
- <!-- Description and Visual Side-by-Side -->
92263
- @if (section.description || (section.visual && section.visual.enabled)) {
92264
- <div class="mb-6 flex flex-col lg:flex-row gap-6 items-start"
92265
- [class.lg:flex-row-reverse]="idx % 2 === 0">
92266
- @if (section.visual && section.visual.enabled) {
92267
- <div class="w-full lg:w-2/3">
92268
- <symphiq-napkin-visual-placeholder
92269
- [visual]="section.visual"
92270
- [viewMode]="viewMode()"
92271
- />
92272
- </div>
92273
- }
92274
- @if (section.description) {
92275
- <div class="w-full"
92276
- [class.lg:w-1/3]="section.visual && section.visual.enabled" [class.lg:w-full]="!section.visual || !section.visual.enabled">
92277
- <p [ngClass]="getSectionDescriptionClasses()"
92278
- class="text-sm leading-relaxed whitespace-pre-line">
92279
- {{ section.description }}
92280
- </p>
92281
- </div>
92282
- }
92283
- </div>
92284
- }
92285
-
92286
- <!-- Section Content -->
92287
- <symphiq-profile-section-content
92288
- [section]="section"
92289
- [executiveSummary]="section.id === 'executive-summary' ? executiveSummary() : undefined"
92290
- [viewMode]="viewMode()"
92291
- [sectionIndex]="idx"
92292
- [allGoals]="allGoals()"
92293
- [allMetrics]="allMetrics()"
92294
- [allCharts]="allCharts()"
92295
- [allInsights]="allInsights()"
92296
- [businessProfile]="profile()"
92297
- />
92298
- </div>
92299
-
92300
- <!-- Section Divider (between sections) -->
92301
- @if (!last) {
92302
- <symphiq-section-divider
92303
- [viewMode]="viewMode()"
92304
- [sectionIcon]="sectionList[idx + 1].icon"
92305
- />
92306
- }
92307
- }
92308
- </section>
92309
- }
92310
- }
92311
-
92312
- </main>
92313
-
92314
- <!-- Table of Contents (Compact & Expanded Views) -->
92315
- @if (!isSimplifiedView() && sections()) {
92316
- <symphiq-floating-toc
92317
- [sections]="tocSections()"
92318
- [viewMode]="viewMode()"
92319
- [embedded]="embedded()"
92320
- [scrollElement]="scrollElement() ?? undefined"
92321
- />
92322
- }
92323
-
92324
- <!-- Section Navigation Dots (Compact & Expanded Views) -->
92325
- @if (!isSimplifiedView() && sections()) {
92326
- <symphiq-section-navigation
92327
- [sections]="tocSections()"
92328
- [viewMode]="viewMode()"
92329
- [embedded]="embedded()"
92330
- [scrollElement]="scrollElement() ?? undefined"
92331
- />
92332
- }
92333
-
92334
- <!-- Search Modal -->
92335
- <symphiq-search-modal
92336
- [isOpen]="isSearchOpen()"
92337
- [isLightMode]="isLightMode()"
92338
- (close)="closeSearch()"
92339
- />
92340
-
92341
- <!-- View Mode Switcher Modal -->
92342
- <symphiq-view-mode-switcher-modal
92343
- [isOpen]="isViewModeSwitcherOpen()"
92344
- [currentMode]="currentDisplayMode()"
92345
- [viewMode]="viewMode()"
92346
- (close)="closeViewModeSwitcher()"
92347
- (modeSelected)="handleDisplayModeChange($event)"
92348
- />
92349
-
92350
- <!-- Profile Analysis Modal -->
92351
- <symphiq-profile-analysis-modal
92352
- [isLightMode]="isLightMode()"
92353
- [allMetrics]="allMetrics()"
92354
- [allInsights]="allInsights()"
92355
- [allBusinessInsights]="allBusinessInsights()"
92356
- [allCharts]="allCharts()"
92357
- >
92358
- @if (modalType() === 'goal-detail' && getGoalDetailData(); as data) {
92359
- <symphiq-goal-card
92360
- [goal]="data.goal"
92361
- [viewMode]="data.viewMode"
92362
- [isInModal]="true"
92363
- [allMetrics]="allMetrics()"
92364
- [allCharts]="allCharts()"
92365
- [allInsights]="allInsights()"
92366
- [currentModalState]="getCurrentModalState()"
92367
- [businessProfile]="profile()"
92368
- />
92369
- }
92370
- @if (modalType() === 'goal-objectives' && getGoalDetailData(); as data) {
92371
- <symphiq-goal-objectives-modal-content
92372
- [goal]="data.goal"
92373
- [viewMode]="data.viewMode"
92374
- />
92375
- }
92376
- @if (modalType() === 'objective-strategies' && getObjectiveStrategiesData(); as data) {
92377
- <symphiq-objective-strategies-modal-content
92378
- [objective]="data.objective"
92379
- [goalTitle]="data.goalTitle"
92380
- [viewMode]="data.viewMode"
92381
- />
92382
- }
92383
- @if (modalType() === 'strategy-recommendations' && getStrategyRecommendationsData(); as data) {
92384
- <symphiq-strategy-recommendations-modal-content
92385
- [strategy]="data.strategy"
92386
- [objectiveTitle]="data.objectiveTitle"
92387
- [goalTitle]="data.goalTitle"
92388
- [viewMode]="data.viewMode"
92389
- [allMetrics]="allMetrics()"
92390
- [allCharts]="allCharts()"
92391
- [allInsights]="allInsights()"
92392
- [allBusinessInsights]="allBusinessInsights()"
92393
- [currentModalState]="getCurrentModalState()"
92394
- />
92395
- }
92396
- @if (modalType() === 'category-detail' && getCategoryDetailData(); as data) {
92397
- <symphiq-category-detail-modal-content
92398
- [category]="data.category"
92399
- [viewMode]="data.viewMode"
92400
- [scrollToSection]="data.scrollToSection"
92401
- />
92402
- }
92403
- @if (modalType() === 'strength-detail' && getStrengthDetailData(); as data) {
92404
- <symphiq-strength-detail-modal-content
92405
- [strength]="data.strength"
92406
- [viewMode]="data.viewMode"
92407
- [allFunnelStrengths]="funnelStrengths()"
92408
- [currentModalState]="getCurrentModalState()"
92409
- />
92410
- }
92411
- @if (modalType() === 'gap-detail' && getGapDetailData(); as data) {
92412
- <symphiq-gap-detail-modal-content
92413
- [gap]="data.gap"
92414
- [viewMode]="data.viewMode"
92415
- [allGoals]="allGoals()"
92416
- [allWeaknesses]="funnelWeaknesses()"
92417
- [currentModalState]="getCurrentModalState()"
92418
- />
92419
- }
92420
- @if (modalType() === 'opportunity-detail' && getOpportunityDetailData(); as data) {
92421
- <symphiq-opportunity-detail-modal-content
92422
- [opportunity]="data.opportunity"
92423
- [viewMode]="data.viewMode"
92424
- [allStrengths]="funnelStrengths()"
92425
- [currentModalState]="getCurrentModalState()"
92426
- />
92427
- }
92428
- </symphiq-profile-analysis-modal>
92429
-
92430
- <!-- Funnel Analysis Modal (for insights and metrics from profile goals) -->
92431
- <symphiq-funnel-analysis-modal
92432
- [isLightMode]="isLightMode()"
92433
- [viewMode]="viewMode()"
92434
- [allMetrics]="allMetrics()"
92435
- [allInsights]="allInsights()"
92436
- [allCharts]="allCharts()"
92437
- />
92438
-
92439
- <!-- Business Analysis Modal (for napkin visuals and other content) -->
92440
- <symphiq-business-analysis-modal [isLightMode]="isLightMode()"/>
92441
-
92442
- <!-- Tooltip Container -->
92443
- <symphiq-tooltip-container/>
92444
-
92445
- <!-- Sticky Continue Button (Only shown when not subscribed and no currency selected) -->
92446
- @if (!isSubscriptionActive() && !hasBillingCurrency() && isSimplifiedView() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
92447
- <symphiq-sticky-subscription-continue-button
92448
- [viewMode]="viewMode()"
92449
- [isEnabled]="hasCurrencySelected()"
92450
- [isLoading]="isCurrencySelectionLoading()"
92451
- (continueClick)="handleStickyButtonClick()"
92452
- />
92453
- }
92454
-
92455
- <!-- Shop Profile Sticky Footer -->
92456
- @if (shouldShowShopProfileStickyFooter()) {
92457
- <symphiq-shop-profile-sticky-footer
92458
- [viewMode]="viewMode()"
92459
- [totalQuestions]="totalShopQuestions()"
92460
- [answeredQuestions]="answeredShopQuestions()"
92461
- (continueClick)="handleShopProfileContinueClick()"
92462
- />
92463
- }
92464
-
92465
- <!-- Sticky Footer for Edit Currency Mode -->
92466
- @if (isEditingCurrency()) {
92467
- <div
92468
- [ngClass]="getEditCurrencyFooterClasses()"
92469
- class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-lg"
92470
- >
92471
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
92472
- <div class="flex items-center gap-4">
92473
- <button
92474
- (click)="handleCancelCurrencyEdit()"
92475
- [ngClass]="getEditCurrencyCancelButtonClasses()"
92476
- class="px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 cursor-pointer"
92477
- >
92478
- Cancel
92479
- </button>
92480
- <button
92481
- (click)="handleContinueToPlans()"
92482
- [disabled]="!editingCurrencySelection()"
92483
- [ngClass]="getEditCurrencyContinueButtonClasses()"
92484
- class="flex-1 px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 flex items-center justify-center gap-3 shadow-2xl"
92485
- >
92486
- <span>Continue to Plans</span>
92487
- <svg class="w-6 h-6 transition-transform duration-200" [class.translate-x-1]="editingCurrencySelection()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
92488
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
92489
- </svg>
92490
- </button>
92491
- </div>
92492
- </div>
92493
- </div>
92494
- }
92495
- </div>
91959
+ template: `
91960
+ <div [ngClass]="getContainerClasses()" class="min-h-screen relative">
91961
+ <div class="animated-bubbles" [class.light-mode]="isLightMode()" style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
91962
+
91963
+ <!-- Scroll Progress Bar -->
91964
+ <div
91965
+ [class]="embedded() ? 'sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30' : 'fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30'">
91966
+ <div
91967
+ [style.width.%]="scrollProgress()"
91968
+ [ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
91969
+ class="h-full transition-all duration-200 ease-out">
91970
+ </div>
91971
+ </div>
91972
+
91973
+ <div class="relative z-[51]">
91974
+ <!-- Dashboard Header -->
91975
+ <symphiq-dashboard-header
91976
+ [title]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'Profile Analysis'"
91977
+ [subtitle]="getAnalysisSubtitle()"
91978
+ [currentSection]="getAnalysisSubtitle()"
91979
+ [viewMode]="viewMode()"
91980
+ [viewModeLabel]="displayModeLabel()"
91981
+ [isLoading]="isLoading()"
91982
+ [requestedByUser]="requestedByUser()"
91983
+ [createdDate]="profileAnalysis()?.selfContentCompletedDate"
91984
+ (searchClick)="openSearch()"
91985
+ (viewModeClick)="openViewModeSwitcher()"
91986
+ />
91987
+
91988
+ <!-- Journey Progress Banner -->
91989
+ @if (isSimplifiedView() && !isOnboarded()) {
91990
+ <symphiq-journey-progress-indicator
91991
+ [viewMode]="viewMode()"
91992
+ [currentStepId]="currentStepId()"
91993
+ [showNextStepAction]="shouldShowContinueButton()"
91994
+ [forDemo]="forDemo()"
91995
+ [maxAccessibleStepId]="maxAccessibleStepId()"
91996
+ (nextStepClick)="nextStepClick.emit()"
91997
+ (stepClick)="stepClick.emit($event)"
91998
+ />
91999
+ }
92000
+
92001
+ <!-- Main Content -->
92002
+ <main class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 space-y-12" [class.pb-32]="shouldShowStickyButton() || shouldShowShopProfileStickyFooter()">
92003
+
92004
+ <!-- Welcome Banner (Simplified View Only) -->
92005
+ @if (isSimplifiedView()) {
92006
+ <div class="mb-12">
92007
+ @if (!isFocusAreaAnalysis() && !isMetricAnalysis()) {
92008
+ <symphiq-shop-welcome-banner
92009
+ [viewMode]="viewMode()"
92010
+ [businessName]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'your shop'"
92011
+ [isOnboarded]="isOnboarded()"
92012
+ />
92013
+ }
92014
+ @if (isFocusAreaAnalysis()) {
92015
+ <symphiq-focus-area-welcome-banner
92016
+ [viewMode]="viewMode()"
92017
+ [focusAreaDomain]="focusAreaDomain()"
92018
+ [focusAreaName]="focusAreaName()"
92019
+ [focusAreaDetails]="focusAreaDetails()"
92020
+ />
92021
+ }
92022
+ @if (isMetricAnalysis()) {
92023
+ <symphiq-metric-welcome-banner
92024
+ [viewMode]="viewMode()"
92025
+ [metricName]="profileAnalysis()?.profileAnalysisStructured?.metricExecutiveSummary?.metric"
92026
+ [isOnboarded]="isOnboarded()"
92027
+ />
92028
+ }
92029
+ </div>
92030
+ }
92031
+
92032
+ <!-- Simplified View Content -->
92033
+ @if (isSimplifiedView()) {
92034
+ <!-- Shop Profile Status Card -->
92035
+ @if (shouldShowShopProfileStatus() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
92036
+ <div class="mb-8">
92037
+ <symphiq-shop-profile-status-card
92038
+ [viewMode]="viewMode()"
92039
+ [totalQuestions]="totalShopQuestions()"
92040
+ [answeredQuestions]="answeredShopQuestions()"
92041
+ [questions]="profileShopQuestions() || []"
92042
+ [profileShopAnswers]="profileShopAnswers() || []"
92043
+ [users]="users() || []"
92044
+ (startCategoryQuestions)="handleStartCategoryQuestions($event)"
92045
+ />
92046
+ </div>
92047
+ }
92048
+
92049
+ <!-- Strategic Insights & Goals (or Subscription Flow) -->
92050
+ @if (profileAnalysis()) {
92051
+ <div class="mb-8">
92052
+ @if (isSubscriptionActive() || isFocusAreaAnalysis() || isMetricAnalysis()) {
92053
+ @if (isProfileShopGenerating() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
92054
+ <div [ngClass]="getProgressCardClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
92055
+ <symphiq-content-generation-progress
92056
+ [itemStatus]="itemStatusProfileShop()"
92057
+ [viewMode]="viewMode()"
92058
+ title="Generating Your Shop Profile"
92059
+ subtitle="We're analyzing your data to create shop specific questions and answers. They will appear when ready."
92060
+ />
92061
+ </div>
92062
+ } @else {
92063
+ <symphiq-strategic-goals-tiled-grid
92064
+ [goals]="strategicRoadmapGoals()"
92065
+ [viewMode]="viewMode()"
92066
+ (viewMoreClick)="openGoalModal($event)"
92067
+ />
92068
+ }
92069
+ } @else {
92070
+ <!-- Subscription Value Proposition -->
92071
+ @if (!hasBillingCurrency() || isEditingCurrency()) {
92072
+ @if (!hasBillingCurrency()) {
92073
+ <div class="mb-8">
92074
+ <symphiq-subscription-value-proposition-card
92075
+ [viewMode]="viewMode()"
92076
+ />
92077
+ </div>
92078
+ }
92079
+
92080
+ <!-- Currency Selection -->
92081
+ <symphiq-billing-currency-selector-card
92082
+ [viewMode]="viewMode()"
92083
+ [isLoading]="isCurrencySelectionLoading()"
92084
+ [initialCurrency]="isEditingCurrency() ? (account()?.billingCurrencyCode || null) : null"
92085
+ (currencySelected)="handleCurrencyChange($event)"
92086
+ />
92087
+ } @else if (showPlanSelection()) {
92088
+ <!-- Plan Selection -->
92089
+
92090
+ <div class="mb-32">
92091
+ <symphiq-plan-selection-container
92092
+ [viewMode]="viewMode()"
92093
+ [selectedCurrency]="account()?.billingCurrencyCode || CurrencyCodeEnum.USD"
92094
+ [planCardInfos]="planCardInfos()"
92095
+ [isLoading]="isPlanLoading()"
92096
+ [selectedPeriodUnit]="selectedPeriodUnit()"
92097
+ (periodUnitChanged)="handlePeriodUnitChange($event)"
92098
+ (planSelected)="handlePlanSelection($event)"
92099
+ (editCurrency)="handleEditCurrencyClick()"
92100
+ (checkout)="checkoutPlanClick.emit($event)"
92101
+ />
92102
+ </div>
92103
+ } @else {
92104
+ <symphiq-plan-selection-placeholder-card
92105
+ [viewMode]="viewMode()"
92106
+ [selectedCurrency]="account()?.billingCurrencyCode || CurrencyCodeEnum.USD"
92107
+ (editCurrency)="handleEditCurrencyClick()"
92108
+ />
92109
+ }
92110
+ }
92111
+ </div>
92112
+ }
92113
+
92114
+ <!-- Supporting Business Context -->
92115
+ @if (nonStrategicSections().length > 0) {
92116
+ <div>
92117
+ <symphiq-collapsible-analysis-section-group
92118
+ [sections]="nonStrategicSections()"
92119
+ [viewMode]="viewMode()"
92120
+ [executiveSummary]="executiveSummary()"
92121
+ [focusAreaExecutiveSummary]="focusAreaExecutiveSummary()"
92122
+ [metricExecutiveSummary]="metricExecutiveSummary()"
92123
+ [metricName]="metricName()"
92124
+ [allGoals]="allGoals()"
92125
+ [allMetrics]="allMetrics()"
92126
+ [allCharts]="allCharts()"
92127
+ [allInsights]="allInsights()"
92128
+ [businessProfile]="profile()"
92129
+ />
92130
+ </div>
92131
+ }
92132
+ }
92133
+
92134
+ <!-- Compact & Expanded View Content -->
92135
+ @if (!isSimplifiedView()) {
92136
+ <!-- SHOP Executive Summary -->
92137
+ @if (!isFocusAreaAnalysis() && executiveSummary(); as summary) {
92138
+ <section id="section-executive-summary" class="space-y-6 scroll-mt-24">
92139
+ <!-- Summary Banner -->
92140
+ <div [ngClass]="getBannerClasses()" class="rounded-2xl p-8 shadow-xl">
92141
+ <div class="space-y-6">
92142
+ <div class="flex items-start justify-between gap-4">
92143
+ <div class="flex-1">
92144
+ <h2 [ngClass]="getSectionTitleClasses()" class="text-2xl font-bold mb-3">
92145
+ Executive Summary
92146
+ </h2>
92147
+ <p [ngClass]="getTextClasses()" class="text-lg leading-relaxed">
92148
+ {{ summary.gradeRationale }}
92149
+ </p>
92150
+ </div>
92151
+ @if (summary.overallGrade) {
92152
+ <symphiq-grade-badge
92153
+ [grade]="summary.overallGrade"
92154
+ [gradeRationale]="summary.gradeRationale || ''"
92155
+ [viewMode]="viewMode()"
92156
+ />
92157
+ }
92158
+ </div>
92159
+
92160
+ @if (summary.narrative) {
92161
+ <div [ngClass]="getNarrativeClasses()" class="rounded-xl p-6">
92162
+ <h3 [ngClass]="getSubheadingClasses()" class="text-lg font-semibold mb-3">
92163
+ Analysis Narrative
92164
+ </h3>
92165
+ <div class="relative">
92166
+ @if (summary.napkinVisual && summary.napkinVisual.enabled) {
92167
+ <div class="mb-6 lg:float-left lg:mr-6 lg:mb-4 lg:max-w-[66%]">
92168
+ <symphiq-napkin-visual-placeholder
92169
+ [visual]="summary.napkinVisual"
92170
+ [viewMode]="viewMode()"
92171
+ />
92172
+ </div>
92173
+ }
92174
+ <p [ngClass]="getTextClasses()" class="text-sm leading-relaxed whitespace-pre-line">
92175
+ {{ summary.narrative }}
92176
+ </p>
92177
+ <div class="clear-both"></div>
92178
+ </div>
92179
+ </div>
92180
+ }
92181
+
92182
+ <!-- Stats -->
92183
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
92184
+ <button
92185
+ type="button"
92186
+ (click)="onKeyStrengthsClick(summary)"
92187
+ [ngClass]="getKeyStrengthsStatCardClasses()"
92188
+ class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
92189
+ <div [ngClass]="getKeyStrengthsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
92190
+ Key Strengths
92191
+ </div>
92192
+ <div [ngClass]="getKeyStrengthsStatValueClasses()" class="text-3xl font-bold mb-2">
92193
+ {{ summary.keyStrengths?.length || 0 }}
92194
+ </div>
92195
+ <div class="flex items-center gap-1.5 text-xs font-medium">
92196
+ <span [ngClass]="getKeyStrengthsButtonTextClasses()">View Details</span>
92197
+ <symphiq-icon
92198
+ [icon]="{ name: 'chevron-right', source: IconSourceEnum.HEROICONS }"
92199
+ size="w-4 h-4"
92200
+ [ngClass]="getKeyStrengthsButtonTextClasses()"
92201
+ class="transition-transform group-hover:translate-x-1"
92202
+ />
92203
+ </div>
92204
+ </button>
92205
+ <button
92206
+ type="button"
92207
+ (click)="onCriticalGapsClick(summary)"
92208
+ [ngClass]="getCriticalGapsStatCardClasses()"
92209
+ class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
92210
+ <div [ngClass]="getCriticalGapsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
92211
+ Critical Gaps
92212
+ </div>
92213
+ <div [ngClass]="getCriticalGapsStatValueClasses()" class="text-3xl font-bold mb-2">
92214
+ {{ summary.criticalGaps?.length || 0 }}
92215
+ </div>
92216
+ <div class="flex items-center gap-1.5 text-xs font-medium">
92217
+ <span [ngClass]="getCriticalGapsButtonTextClasses()">View Details</span>
92218
+ <symphiq-icon
92219
+ [icon]="{ name: 'chevron-right', source: IconSourceEnum.HEROICONS }"
92220
+ size="w-4 h-4"
92221
+ [ngClass]="getCriticalGapsButtonTextClasses()"
92222
+ class="transition-transform group-hover:translate-x-1"
92223
+ />
92224
+ </div>
92225
+ </button>
92226
+ <button
92227
+ type="button"
92228
+ (click)="scrollToQuickWins()"
92229
+ [ngClass]="getQuickWinsStatCardClasses()"
92230
+ class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
92231
+ <div [ngClass]="getQuickWinsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
92232
+ Quick Wins
92233
+ </div>
92234
+ <div [ngClass]="getQuickWinsStatValueClasses()" class="text-3xl font-bold mb-2">
92235
+ {{ summary.quickWins?.length || 0 }}
92236
+ </div>
92237
+ <div class="flex items-center gap-1.5 text-xs font-medium">
92238
+ <span [ngClass]="getQuickWinsButtonTextClasses()">Details Below</span>
92239
+ <symphiq-icon
92240
+ [icon]="{ name: 'chevron-down', source: IconSourceEnum.HEROICONS }"
92241
+ size="w-4 h-4"
92242
+ [ngClass]="getQuickWinsButtonTextClasses()"
92243
+ class="transition-transform group-hover:translate-y-1 animate-bounce"
92244
+ />
92245
+ </div>
92246
+ </button>
92247
+ </div>
92248
+ </div>
92249
+ </div>
92250
+
92251
+ <!-- Quick Wins -->
92252
+ @if (summary.quickWins && summary.quickWins.length > 0) {
92253
+ <div id="quick-wins-section" class="space-y-4 scroll-mt-24">
92254
+ <h3 [ngClass]="getSectionTitleClasses()" class="text-xl font-bold">
92255
+ Quick Wins
92256
+ </h3>
92257
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
92258
+ @for (win of summary.quickWins; track $index) {
92259
+ <div [ngClass]="getQuickWinCardClasses()"
92260
+ class="rounded-xl p-6 transition-all duration-300">
92261
+ <div class="space-y-4">
92262
+ <div class="flex items-start gap-3">
92263
+ <span [ngClass]="getNumberBadgeClasses()"
92264
+ class="flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold">
92265
+ {{ $index + 1 }}
92266
+ </span>
92267
+ <p [ngClass]="getQuickWinTextClasses()" class="font-semibold leading-tight flex-1">
92268
+ {{ win.action }}
92269
+ </p>
92270
+ </div>
92271
+
92272
+ <div class="flex flex-wrap gap-2">
92273
+ <span [ngClass]="getEffortBadgeClasses(win.effort)"
92274
+ class="px-3 py-1 rounded-full text-xs font-semibold">
92275
+ {{ formatLabel(win.effort) }} Effort
92276
+ </span>
92277
+ <span [ngClass]="getImpactBadgeClasses(win.impact)"
92278
+ class="px-3 py-1 rounded-full text-xs font-semibold">
92279
+ {{ formatLabel(win.impact) }} Impact
92280
+ </span>
92281
+ </div>
92282
+
92283
+ @if (win.estimatedTimeframe) {
92284
+ <div class="flex items-center gap-2 text-sm" [ngClass]="getMetaTextClasses()">
92285
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
92286
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
92287
+ d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
92288
+ </svg>
92289
+ <span>{{ win.estimatedTimeframe }}</span>
92290
+ </div>
92291
+ }
92292
+
92293
+ @if (win.relatedGoalId) {
92294
+ <div class="space-y-2">
92295
+ <h4 [ngClass]="getMetaTextClasses()"
92296
+ class="text-xs font-semibold uppercase tracking-wider">
92297
+ Related Goal
92298
+ </h4>
92299
+ <symphiq-related-goal-chips
92300
+ [relatedGoalIds]="[win.relatedGoalId]"
92301
+ [allGoals]="allGoals()"
92302
+ [viewMode]="viewMode()"
92303
+ />
92304
+ </div>
92305
+ }
92306
+ </div>
92307
+ </div>
92308
+ }
92309
+ </div>
92310
+ </div>
92311
+ }
92312
+ </section>
92313
+ }
92314
+
92315
+ <!-- FOCUS_AREA Executive Summary -->
92316
+ @if (isFocusAreaAnalysis() && focusAreaExecutiveSummary(); as summary) {
92317
+ <symphiq-focus-area-executive-summary
92318
+ [viewMode]="viewMode()"
92319
+ [summary]="summary"
92320
+ [allGoals]="allGoals()"
92321
+ (topPrioritiesClick)="handleTopPrioritiesClick()"
92322
+ (priorityDetailClick)="handlePriorityDetailClick($event)"
92323
+ />
92324
+ }
92325
+
92326
+ <!-- METRIC Executive Summary -->
92327
+ @if (isMetricAnalysis() && metricExecutiveSummary(); as summary) {
92328
+ <symphiq-metric-executive-summary
92329
+ [viewMode]="viewMode()"
92330
+ [summary]="summary"
92331
+ [metricName]="metricName()"
92332
+ [allGoals]="allGoals()"
92333
+ (topPrioritiesClick)="handleMetricTopPrioritiesClick()"
92334
+ (priorityDetailClick)="handleMetricPriorityDetailClick($event)"
92335
+ />
92336
+ }
92337
+
92338
+ <!-- Divider Before First Section -->
92339
+ @if (sections(); as sectionList) {
92340
+ @if (sectionList.length > 0 && sectionList[0].icon) {
92341
+ <symphiq-section-divider
92342
+ [viewMode]="viewMode()"
92343
+ [sectionIcon]="sectionList[0].icon"
92344
+ />
92345
+ }
92346
+ }
92347
+
92348
+ <!-- Profile Analysis Sections -->
92349
+ @if (sections(); as sectionList) {
92350
+ <section class="space-y-8">
92351
+ @for (section of sectionList; track section.id; let idx = $index; let last = $last) {
92352
+ <div [id]="'section-' + section.id" [ngClass]="getSectionCardClasses()"
92353
+ class="rounded-xl p-8 scroll-mt-24">
92354
+ <!-- Icon and Title -->
92355
+ <div class="flex items-start gap-3 mb-6">
92356
+ @if (section.icon) {
92357
+ <div [ngClass]="getSectionIconClasses()"
92358
+ class="flex-shrink-0 w-12 h-12 rounded-xl flex items-center justify-center">
92359
+ <symphiq-icon [icon]="section.icon" size="w-6 h-6"></symphiq-icon>
92360
+ </div>
92361
+ }
92362
+ <div class="flex-1">
92363
+ <h3 [ngClass]="getSectionTitleClasses()" class="text-2xl font-bold">
92364
+ {{ section.title }}
92365
+ </h3>
92366
+ </div>
92367
+ </div>
92368
+
92369
+ <!-- Description and Visual Side-by-Side -->
92370
+ @if (section.description || (section.visual && section.visual.enabled)) {
92371
+ <div class="mb-6 flex flex-col lg:flex-row gap-6 items-start"
92372
+ [class.lg:flex-row-reverse]="idx % 2 === 0">
92373
+ @if (section.visual && section.visual.enabled) {
92374
+ <div class="w-full lg:w-2/3">
92375
+ <symphiq-napkin-visual-placeholder
92376
+ [visual]="section.visual"
92377
+ [viewMode]="viewMode()"
92378
+ />
92379
+ </div>
92380
+ }
92381
+ @if (section.description) {
92382
+ <div class="w-full"
92383
+ [class.lg:w-1/3]="section.visual && section.visual.enabled" [class.lg:w-full]="!section.visual || !section.visual.enabled">
92384
+ <p [ngClass]="getSectionDescriptionClasses()"
92385
+ class="text-sm leading-relaxed whitespace-pre-line">
92386
+ {{ section.description }}
92387
+ </p>
92388
+ </div>
92389
+ }
92390
+ </div>
92391
+ }
92392
+
92393
+ <!-- Section Content -->
92394
+ <symphiq-profile-section-content
92395
+ [section]="section"
92396
+ [executiveSummary]="section.id === 'executive-summary' ? executiveSummary() : undefined"
92397
+ [viewMode]="viewMode()"
92398
+ [sectionIndex]="idx"
92399
+ [allGoals]="allGoals()"
92400
+ [allMetrics]="allMetrics()"
92401
+ [allCharts]="allCharts()"
92402
+ [allInsights]="allInsights()"
92403
+ [businessProfile]="profile()"
92404
+ />
92405
+ </div>
92406
+
92407
+ <!-- Section Divider (between sections) -->
92408
+ @if (!last) {
92409
+ <symphiq-section-divider
92410
+ [viewMode]="viewMode()"
92411
+ [sectionIcon]="sectionList[idx + 1].icon"
92412
+ />
92413
+ }
92414
+ }
92415
+ </section>
92416
+ }
92417
+ }
92418
+
92419
+ </main>
92420
+
92421
+ <!-- Table of Contents (Compact & Expanded Views) -->
92422
+ @if (!isSimplifiedView() && sections()) {
92423
+ <symphiq-floating-toc
92424
+ [sections]="tocSections()"
92425
+ [viewMode]="viewMode()"
92426
+ [embedded]="embedded()"
92427
+ [scrollElement]="scrollElement() ?? undefined"
92428
+ />
92429
+ }
92430
+
92431
+ <!-- Section Navigation Dots (Compact & Expanded Views) -->
92432
+ @if (!isSimplifiedView() && sections()) {
92433
+ <symphiq-section-navigation
92434
+ [sections]="tocSections()"
92435
+ [viewMode]="viewMode()"
92436
+ [embedded]="embedded()"
92437
+ [scrollElement]="scrollElement() ?? undefined"
92438
+ />
92439
+ }
92440
+
92441
+ <!-- Search Modal -->
92442
+ <symphiq-search-modal
92443
+ [isOpen]="isSearchOpen()"
92444
+ [isLightMode]="isLightMode()"
92445
+ (close)="closeSearch()"
92446
+ />
92447
+
92448
+ <!-- View Mode Switcher Modal -->
92449
+ <symphiq-view-mode-switcher-modal
92450
+ [isOpen]="isViewModeSwitcherOpen()"
92451
+ [currentMode]="currentDisplayMode()"
92452
+ [viewMode]="viewMode()"
92453
+ (close)="closeViewModeSwitcher()"
92454
+ (modeSelected)="handleDisplayModeChange($event)"
92455
+ />
92456
+
92457
+ <!-- Profile Analysis Modal -->
92458
+ <symphiq-profile-analysis-modal
92459
+ [isLightMode]="isLightMode()"
92460
+ [allMetrics]="allMetrics()"
92461
+ [allInsights]="allInsights()"
92462
+ [allBusinessInsights]="allBusinessInsights()"
92463
+ [allCharts]="allCharts()"
92464
+ >
92465
+ @if (modalType() === 'goal-detail' && getGoalDetailData(); as data) {
92466
+ <symphiq-goal-card
92467
+ [goal]="data.goal"
92468
+ [viewMode]="data.viewMode"
92469
+ [isInModal]="true"
92470
+ [allMetrics]="allMetrics()"
92471
+ [allCharts]="allCharts()"
92472
+ [allInsights]="allInsights()"
92473
+ [currentModalState]="getCurrentModalState()"
92474
+ [businessProfile]="profile()"
92475
+ />
92476
+ }
92477
+ @if (modalType() === 'goal-objectives' && getGoalDetailData(); as data) {
92478
+ <symphiq-goal-objectives-modal-content
92479
+ [goal]="data.goal"
92480
+ [viewMode]="data.viewMode"
92481
+ />
92482
+ }
92483
+ @if (modalType() === 'objective-strategies' && getObjectiveStrategiesData(); as data) {
92484
+ <symphiq-objective-strategies-modal-content
92485
+ [objective]="data.objective"
92486
+ [goalTitle]="data.goalTitle"
92487
+ [viewMode]="data.viewMode"
92488
+ />
92489
+ }
92490
+ @if (modalType() === 'strategy-recommendations' && getStrategyRecommendationsData(); as data) {
92491
+ <symphiq-strategy-recommendations-modal-content
92492
+ [strategy]="data.strategy"
92493
+ [objectiveTitle]="data.objectiveTitle"
92494
+ [goalTitle]="data.goalTitle"
92495
+ [viewMode]="data.viewMode"
92496
+ [allMetrics]="allMetrics()"
92497
+ [allCharts]="allCharts()"
92498
+ [allInsights]="allInsights()"
92499
+ [allBusinessInsights]="allBusinessInsights()"
92500
+ [currentModalState]="getCurrentModalState()"
92501
+ />
92502
+ }
92503
+ @if (modalType() === 'category-detail' && getCategoryDetailData(); as data) {
92504
+ <symphiq-category-detail-modal-content
92505
+ [category]="data.category"
92506
+ [viewMode]="data.viewMode"
92507
+ [scrollToSection]="data.scrollToSection"
92508
+ />
92509
+ }
92510
+ @if (modalType() === 'strength-detail' && getStrengthDetailData(); as data) {
92511
+ <symphiq-strength-detail-modal-content
92512
+ [strength]="data.strength"
92513
+ [viewMode]="data.viewMode"
92514
+ [allFunnelStrengths]="funnelStrengths()"
92515
+ [currentModalState]="getCurrentModalState()"
92516
+ />
92517
+ }
92518
+ @if (modalType() === 'gap-detail' && getGapDetailData(); as data) {
92519
+ <symphiq-gap-detail-modal-content
92520
+ [gap]="data.gap"
92521
+ [viewMode]="data.viewMode"
92522
+ [allGoals]="allGoals()"
92523
+ [allWeaknesses]="funnelWeaknesses()"
92524
+ [currentModalState]="getCurrentModalState()"
92525
+ />
92526
+ }
92527
+ @if (modalType() === 'opportunity-detail' && getOpportunityDetailData(); as data) {
92528
+ <symphiq-opportunity-detail-modal-content
92529
+ [opportunity]="data.opportunity"
92530
+ [viewMode]="data.viewMode"
92531
+ [allStrengths]="funnelStrengths()"
92532
+ [currentModalState]="getCurrentModalState()"
92533
+ />
92534
+ }
92535
+ </symphiq-profile-analysis-modal>
92536
+
92537
+ <!-- Funnel Analysis Modal (for insights and metrics from profile goals) -->
92538
+ <symphiq-funnel-analysis-modal
92539
+ [isLightMode]="isLightMode()"
92540
+ [viewMode]="viewMode()"
92541
+ [allMetrics]="allMetrics()"
92542
+ [allInsights]="allInsights()"
92543
+ [allCharts]="allCharts()"
92544
+ />
92545
+
92546
+ <!-- Business Analysis Modal (for napkin visuals and other content) -->
92547
+ <symphiq-business-analysis-modal [isLightMode]="isLightMode()"/>
92548
+
92549
+ <!-- Tooltip Container -->
92550
+ <symphiq-tooltip-container/>
92551
+
92552
+ <!-- Sticky Continue Button (Only shown when not subscribed and no currency selected) -->
92553
+ @if (!isSubscriptionActive() && !hasBillingCurrency() && isSimplifiedView() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
92554
+ <symphiq-sticky-subscription-continue-button
92555
+ [viewMode]="viewMode()"
92556
+ [isEnabled]="hasCurrencySelected()"
92557
+ [isLoading]="isCurrencySelectionLoading()"
92558
+ (continueClick)="handleStickyButtonClick()"
92559
+ />
92560
+ }
92561
+
92562
+ <!-- Shop Profile Sticky Footer -->
92563
+ @if (shouldShowShopProfileStickyFooter()) {
92564
+ <symphiq-shop-profile-sticky-footer
92565
+ [viewMode]="viewMode()"
92566
+ [totalQuestions]="totalShopQuestions()"
92567
+ [answeredQuestions]="answeredShopQuestions()"
92568
+ (continueClick)="handleShopProfileContinueClick()"
92569
+ />
92570
+ }
92571
+
92572
+ <!-- Sticky Footer for Edit Currency Mode -->
92573
+ @if (isEditingCurrency()) {
92574
+ <div
92575
+ [ngClass]="getEditCurrencyFooterClasses()"
92576
+ class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-lg"
92577
+ >
92578
+ <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
92579
+ <div class="flex items-center gap-4">
92580
+ <button
92581
+ (click)="handleCancelCurrencyEdit()"
92582
+ [ngClass]="getEditCurrencyCancelButtonClasses()"
92583
+ class="px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 cursor-pointer"
92584
+ >
92585
+ Cancel
92586
+ </button>
92587
+ <button
92588
+ (click)="handleContinueToPlans()"
92589
+ [disabled]="!editingCurrencySelection()"
92590
+ [ngClass]="getEditCurrencyContinueButtonClasses()"
92591
+ class="flex-1 px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 flex items-center justify-center gap-3 shadow-2xl"
92592
+ >
92593
+ <span>Continue to Plans</span>
92594
+ <svg class="w-6 h-6 transition-transform duration-200" [class.translate-x-1]="editingCurrencySelection()" fill="none" stroke="currentColor" viewBox="0 0 24 24">
92595
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
92596
+ </svg>
92597
+ </button>
92598
+ </div>
92599
+ </div>
92600
+ </div>
92601
+ }
92602
+ </div>
92496
92603
  `
92497
92604
  }]
92498
92605
  }], () => [], { funnelModalComponent: [{
92499
92606
  type: ViewChild,
92500
92607
  args: [ModalComponent]
92501
- }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], createdDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "createdDate", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], profileAnalysis: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnalysis", required: false }] }], profile: [{ type: i0.Input, args: [{ isSignal: true, alias: "profile", required: false }] }], funnelAnalysis: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelAnalysis", required: false }] }], analysisType: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisType", required: false }] }], focusAreaDetails: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaDetails", required: false }] }], account: [{ type: i0.Input, args: [{ isSignal: true, alias: "account", required: false }] }], profileShop: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileShop", required: false }] }], profileShopQuestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileShopQuestions", required: false }] }], itemStatusProfileShop: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatusProfileShop", required: false }] }], itemStatusProfileAnalysis: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatusProfileAnalysis", required: false }] }], planCardInfos: [{ type: i0.Input, args: [{ isSignal: true, alias: "planCardInfos", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], currencySelectionClick: [{ type: i0.Output, args: ["currencySelectionClick"] }], editCurrencyClick: [{ type: i0.Output, args: ["editCurrencyClick"] }], periodUnitChanged: [{ type: i0.Output, args: ["periodUnitChanged"] }], planSelected: [{ type: i0.Output, args: ["planSelected"] }], checkoutPlanClick: [{ type: i0.Output, args: ["checkoutPlanClick"] }], answerShopProfileQuestions: [{ type: i0.Output, args: ["answerShopProfileQuestions"] }], continueShopProfileQuestions: [{ type: i0.Output, args: ["continueShopProfileQuestions"] }], onWindowScroll: [{
92608
+ }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], createdDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "createdDate", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }], profileAnalysis: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnalysis", required: false }] }], profile: [{ type: i0.Input, args: [{ isSignal: true, alias: "profile", required: false }] }], funnelAnalysis: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelAnalysis", required: false }] }], analysisType: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisType", required: false }] }], focusAreaDetails: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaDetails", required: false }] }], account: [{ type: i0.Input, args: [{ isSignal: true, alias: "account", required: false }] }], profileShop: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileShop", required: false }] }], profileShopQuestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileShopQuestions", required: false }] }], profileShopAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileShopAnswers", required: false }] }], profileShopAnswerHistories: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileShopAnswerHistories", required: false }] }], itemStatusProfileShop: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatusProfileShop", required: false }] }], itemStatusProfileAnalysis: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemStatusProfileAnalysis", required: false }] }], planCardInfos: [{ type: i0.Input, args: [{ isSignal: true, alias: "planCardInfos", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], scrollEvent: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollEvent", required: false }] }], scrollElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollElement", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], currencySelectionClick: [{ type: i0.Output, args: ["currencySelectionClick"] }], editCurrencyClick: [{ type: i0.Output, args: ["editCurrencyClick"] }], periodUnitChanged: [{ type: i0.Output, args: ["periodUnitChanged"] }], planSelected: [{ type: i0.Output, args: ["planSelected"] }], checkoutPlanClick: [{ type: i0.Output, args: ["checkoutPlanClick"] }], answerShopProfileQuestions: [{ type: i0.Output, args: ["answerShopProfileQuestions"] }], continueShopProfileQuestions: [{ type: i0.Output, args: ["continueShopProfileQuestions"] }], onWindowScroll: [{
92502
92609
  type: HostListener,
92503
92610
  args: ['window:scroll', ['$event']]
92504
92611
  }] }); })();
92505
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisDashboardComponent, { className: "SymphiqProfileAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-dashboard/symphiq-profile-analysis-dashboard.component.ts", lineNumber: 765 }); })();
92612
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisDashboardComponent, { className: "SymphiqProfileAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-dashboard/symphiq-profile-analysis-dashboard.component.ts", lineNumber: 768 }); })();
92506
92613
 
92507
92614
  class ScrollProgressBarComponent {
92508
92615
  constructor() {
@@ -93483,5 +93590,5 @@ var pieChart_component = /*#__PURE__*/Object.freeze({
93483
93590
  * Generated bundle index. Do not edit.
93484
93591
  */
93485
93592
 
93486
- export { AreaChartComponent, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfettiService, ConfidenceLevelCardComponent, ContentGenerationProgressComponent, ContentGenerationProgressWithConfettiComponent, CrossDashboardRelationshipsService, DataLoaderService, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FocusAreaExecutiveSummaryComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, FunnelOrderService, GradeBadgeComponent, HeaderScrollService, HierarchyDisplayComponent, HorizontalBarComponent, IconService, IndeterminateSpinnerComponent, InsightCardComponent, JourneyProgressIndicatorComponent, JourneyStepIdEnum, LineChartComponent, MetricCardComponent, MetricExecutiveSummaryComponent, MetricFormatterService, MetricListItemComponent, MetricReportModalComponent, MetricWelcomeBannerComponent, MobileBottomNavComponent, MobileFABComponent, ModalComponent, ModalService, NapkinVisualPlaceholderComponent, NavigationStateService, OpportunityHighlightBannerComponent, OverallAssessmentComponent, PacingStatusBadgeComponent, PieChartComponent, ProfileItemCardComponent, ProfileSectionComponent, ProfileSubsectionComponent, RelatedContentSidebarComponent, RevenueCalculatorService, RevenueCalculatorWelcomeBannerComponent, ScrollDepthService, ScrollProgressBarComponent, SearchButtonComponent, SearchModalComponent, SectionDividerComponent, SectionNavigationComponent, ShadowElevationDirective, ShopPlatformEnum, ShopProfileCategoryListComponent, ShopProfileQuestionCardComponent, ShopProfileQuestionsModalComponent, ShopProfileStatusCardComponent, ShopProfileStickyFooterComponent, ShopProfileViewToggleComponent, ShopWelcomeBannerComponent, SkeletonBarComponent, SkeletonCardBaseComponent, SkeletonCircleComponent, SkeletonCompetitorCardComponent, SkeletonCustomerSegmentCardComponent, SkeletonFocusAreaCardComponent, SkeletonGenericCardComponent, SkeletonLoaderComponent, SkeletonPriceTierCardComponent, SkeletonProductCategoryCardComponent, SkeletonRegionCardComponent, SkeletonSeasonCardComponent, StickySubscriptionContinueButtonComponent, SubscriptionValuePropositionCardComponent, SymphiqBusinessAnalysisDashboardComponent, SymphiqConnectGaDashboardComponent, SymphiqCreateAccountDashboardComponent, SymphiqFunnelAnalysisDashboardComponent, SymphiqFunnelAnalysisPreviewComponent, SymphiqIconComponent, SymphiqProfileAnalysisDashboardComponent, SymphiqRevenueCalculatorDashboardComponent, SymphiqWelcomeDashboardComponent, TargetChangeBadgeComponent, TooltipContainerComponent, TooltipDataService, TooltipDirective, TooltipService, ViewModeService, ViewportAnimationDirective, VisualizationContainerComponent, calculateFunnelRatios, calculateMetricTargetsFromRevenue, calculateMetricTargetsFromRevenueReverse, calculateRelatedMetricRatios, generateTargetsFromCalculations, getBadgeLabelClasses, getButtonClasses, getCategoryBadgeClasses, getCategoryColor, getCompetitiveBadgeClasses, getContainerClasses, getFooterClasses, getFunnelStageMetrics, getGradeBadgeClasses, getHeaderClasses, getInsightsBadgeClasses, getInsightsCardClasses, getMetricLabelClasses, getMetricMiniCardClasses, getMetricValueClasses, getNarrativeTextClasses, getRevenueCardClasses, getRevenueIconClasses, getStatusBadgeClasses, getStatusDotClasses, getStatusIconClasses, getStatusSummaryClasses, getSubtitleClasses, getTitleClasses, getTrendClasses, getTrendIconClasses, getTrendValueClasses, groupMetricsByFunnelStage, isLightMode, validateRevenueTarget };
93593
+ export { AreaChartComponent, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfettiService, ConfidenceLevelCardComponent, ContentGenerationProgressComponent, ContentGenerationProgressWithConfettiComponent, CrossDashboardRelationshipsService, DataLoaderService, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FocusAreaExecutiveSummaryComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, FunnelOrderService, GradeBadgeComponent, HeaderScrollService, HierarchyDisplayComponent, HorizontalBarComponent, IconService, IndeterminateSpinnerComponent, InsightCardComponent, JourneyProgressIndicatorComponent, JourneyStepIdEnum, LineChartComponent, MetricCardComponent, MetricExecutiveSummaryComponent, MetricFormatterService, MetricListItemComponent, MetricReportModalComponent, MetricWelcomeBannerComponent, MobileBottomNavComponent, MobileFABComponent, ModalComponent, ModalService, NapkinVisualPlaceholderComponent, NavigationStateService, OpportunityHighlightBannerComponent, OverallAssessmentComponent, PacingStatusBadgeComponent, PieChartComponent, ProfileItemCardComponent, ProfileSectionComponent, ProfileSubsectionComponent, RelatedContentSidebarComponent, RevenueCalculatorService, RevenueCalculatorWelcomeBannerComponent, ScrollDepthService, ScrollProgressBarComponent, SearchButtonComponent, SearchModalComponent, SectionDividerComponent, SectionNavigationComponent, ShadowElevationDirective, ShopPlatformEnum, ShopProfileCategoryListComponent, ShopProfileQuestionCardComponent, ShopProfileQuestionsModalComponent, ShopProfileStatusCardComponent, ShopProfileStickyFooterComponent, ShopProfileViewToggleComponent, ShopWelcomeBannerComponent, SkeletonBarComponent, SkeletonCardBaseComponent, SkeletonCircleComponent, SkeletonCompetitorCardComponent, SkeletonCustomerSegmentCardComponent, SkeletonFocusAreaCardComponent, SkeletonGenericCardComponent, SkeletonLoaderComponent, SkeletonPriceTierCardComponent, SkeletonProductCategoryCardComponent, SkeletonRegionCardComponent, SkeletonSeasonCardComponent, StickySubscriptionContinueButtonComponent, SubscriptionValuePropositionCardComponent, SymphiqBusinessAnalysisDashboardComponent, SymphiqConnectGaDashboardComponent, SymphiqCreateAccountDashboardComponent, SymphiqFunnelAnalysisDashboardComponent, SymphiqFunnelAnalysisPreviewComponent, SymphiqIconComponent, SymphiqProfileAnalysisDashboardComponent, SymphiqRevenueCalculatorDashboardComponent, SymphiqWelcomeDashboardComponent, TargetChangeBadgeComponent, TooltipContainerComponent, TooltipDataService, TooltipDirective, TooltipService, UserAvatarComponent, UserDisplayComponent, ViewModeService, ViewportAnimationDirective, VisualizationContainerComponent, calculateFunnelRatios, calculateMetricTargetsFromRevenue, calculateMetricTargetsFromRevenueReverse, calculateRelatedMetricRatios, generateTargetsFromCalculations, getBadgeLabelClasses, getButtonClasses, getCategoryBadgeClasses, getCategoryColor, getCompetitiveBadgeClasses, getContainerClasses, getFooterClasses, getFunnelStageMetrics, getGradeBadgeClasses, getHeaderClasses, getInsightsBadgeClasses, getInsightsCardClasses, getMetricLabelClasses, getMetricMiniCardClasses, getMetricValueClasses, getNarrativeTextClasses, getRevenueCardClasses, getRevenueIconClasses, getStatusBadgeClasses, getStatusDotClasses, getStatusIconClasses, getStatusSummaryClasses, getSubtitleClasses, getTitleClasses, getTrendClasses, getTrendIconClasses, getTrendValueClasses, groupMetricsByFunnelStage, isLightMode, validateRevenueTarget };
93487
93594
  //# sourceMappingURL=symphiq-components.mjs.map