@eric-emg/symphiq-components 1.3.58 → 1.3.60

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.
@@ -30168,7 +30168,7 @@ class GoalDetailModalContentComponent {
30168
30168
  }
30169
30169
  }
30170
30170
  static { this.ɵfac = function GoalDetailModalContentComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GoalDetailModalContentComponent)(); }; }
30171
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GoalDetailModalContentComponent, selectors: [["symphiq-goal-detail-modal-content"]], inputs: { goal: [1, "goal"], viewMode: [1, "viewMode"], allInsights: [1, "allInsights"], allMetrics: [1, "allMetrics"], allBusinessInsights: [1, "allBusinessInsights"], allCharts: [1, "allCharts"] }, outputs: { showObjectives: "showObjectives" }, decls: 8, vars: 7, consts: [[1, "flex", "flex-col", "lg:flex-row", "gap-6"], [1, "flex-1"], [1, "text-sm", "mb-6", "leading-relaxed", 3, "ngClass"], [1, "mb-6"], [3, "buttonClick", "viewMode"], [1, "lg:w-80", "flex-shrink-0", "flex", "flex-col", "gap-6"], [3, "expectedImpact", "viewMode"], [3, "funnelInsightsClicked", "funnelMetricsClicked", "businessInsightsClicked", "relatedContent", "viewMode"], [3, "visual", "viewMode"]], template: function GoalDetailModalContentComponent_Template(rf, ctx) { if (rf & 1) {
30171
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GoalDetailModalContentComponent, selectors: [["symphiq-goal-detail-modal-content"]], inputs: { goal: [1, "goal"], viewMode: [1, "viewMode"], allInsights: [1, "allInsights"], allMetrics: [1, "allMetrics"], allBusinessInsights: [1, "allBusinessInsights"], allCharts: [1, "allCharts"] }, outputs: { showObjectives: "showObjectives" }, decls: 8, vars: 7, consts: [[1, "flex", "flex-col", "lg:flex-row", "gap-6"], [1, "flex-1"], [1, "text-sm", "mb-6", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "mb-6"], [3, "buttonClick", "viewMode"], [1, "lg:w-80", "flex-shrink-0", "flex", "flex-col", "gap-6"], [3, "expectedImpact", "viewMode"], [3, "funnelInsightsClicked", "funnelMetricsClicked", "businessInsightsClicked", "relatedContent", "viewMode"], [3, "visual", "viewMode"]], template: function GoalDetailModalContentComponent_Template(rf, ctx) { if (rf & 1) {
30172
30172
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
30173
30173
  i0.ɵɵconditionalCreate(2, GoalDetailModalContentComponent_Conditional_2_Template, 2, 2, "p", 2);
30174
30174
  i0.ɵɵconditionalCreate(3, GoalDetailModalContentComponent_Conditional_3_Template, 2, 2, "div", 3);
@@ -30206,7 +30206,7 @@ class GoalDetailModalContentComponent {
30206
30206
  <div class="flex-1">
30207
30207
  <!-- Goal Description -->
30208
30208
  @if (goal().description) {
30209
- <p [ngClass]="descriptionClasses()" class="text-sm mb-6 leading-relaxed">
30209
+ <p [ngClass]="descriptionClasses()" class="text-sm mb-6 leading-relaxed whitespace-pre-line">
30210
30210
  {{ goal()!.description }}
30211
30211
  </p>
30212
30212
  }
@@ -101659,6 +101659,133 @@ class ExecutiveSummaryStatsGridComponent {
101659
101659
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: true }] }], keyStrengthsClick: [{ type: i0.Output, args: ["keyStrengthsClick"] }], criticalGapsClick: [{ type: i0.Output, args: ["criticalGapsClick"] }], quickWinsClick: [{ type: i0.Output, args: ["quickWinsClick"] }] }); })();
101660
101660
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ExecutiveSummaryStatsGridComponent, { className: "ExecutiveSummaryStatsGridComponent", filePath: "lib/components/shared/executive-summary-stats-grid.component.ts", lineNumber: 85 }); })();
101661
101661
 
101662
+ class SourceGoalsSummaryCardComponent {
101663
+ constructor() {
101664
+ this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
101665
+ this.shopCounts = input({ analyses: 0, goals: 0 }, ...(ngDevMode ? [{ debugName: "shopCounts" }] : []));
101666
+ this.focusAreaCounts = input({ analyses: 0, goals: 0 }, ...(ngDevMode ? [{ debugName: "focusAreaCounts" }] : []));
101667
+ this.metricCounts = input({ analyses: 0, goals: 0 }, ...(ngDevMode ? [{ debugName: "metricCounts" }] : []));
101668
+ this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
101669
+ this.totalSourceGoalsCount = computed(() => {
101670
+ return this.shopCounts().goals + this.focusAreaCounts().goals + this.metricCounts().goals;
101671
+ }, ...(ngDevMode ? [{ debugName: "totalSourceGoalsCount" }] : []));
101672
+ this.totalGoalsCardClasses = computed(() => {
101673
+ return this.isLightMode()
101674
+ ? 'bg-gradient-to-r from-indigo-50/80 via-purple-50/40 to-transparent border border-indigo-200 text-indigo-900'
101675
+ : 'bg-gradient-to-r from-indigo-900/30 via-purple-900/15 to-transparent border border-indigo-700/50 text-indigo-100';
101676
+ }, ...(ngDevMode ? [{ debugName: "totalGoalsCardClasses" }] : []));
101677
+ }
101678
+ getSourceCountCardClasses(type) {
101679
+ if (this.isLightMode()) {
101680
+ switch (type) {
101681
+ case 'SHOP': return 'bg-cyan-50 text-cyan-700 border border-cyan-200';
101682
+ case 'FOCUS_AREA': return 'bg-amber-50 text-amber-700 border border-amber-200';
101683
+ case 'METRIC': return 'bg-emerald-50 text-emerald-700 border border-emerald-200';
101684
+ }
101685
+ }
101686
+ else {
101687
+ switch (type) {
101688
+ case 'SHOP': return 'bg-cyan-900/30 text-cyan-300 border border-cyan-700';
101689
+ case 'FOCUS_AREA': return 'bg-amber-900/30 text-amber-300 border border-amber-700';
101690
+ case 'METRIC': return 'bg-emerald-900/30 text-emerald-300 border border-emerald-700';
101691
+ }
101692
+ }
101693
+ }
101694
+ static { this.ɵfac = function SourceGoalsSummaryCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SourceGoalsSummaryCardComponent)(); }; }
101695
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SourceGoalsSummaryCardComponent, selectors: [["symphiq-source-goals-summary-card"]], inputs: { viewMode: [1, "viewMode"], shopCounts: [1, "shopCounts"], focusAreaCounts: [1, "focusAreaCounts"], metricCounts: [1, "metricCounts"] }, decls: 28, vars: 17, consts: [[1, "p-6", "rounded-xl", "mb-4", "flex", "items-center", "justify-between", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", "opacity-80"], [1, "text-4xl", "font-bold"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], [1, "p-4", "rounded-xl", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2"], [1, "text-sm", "opacity-80"]], template: function SourceGoalsSummaryCardComponent_Template(rf, ctx) { if (rf & 1) {
101696
+ i0.ɵɵelementStart(0, "div", 0)(1, "div")(2, "div", 1);
101697
+ i0.ɵɵtext(3, "Total Source Goals");
101698
+ i0.ɵɵelementEnd();
101699
+ i0.ɵɵelementStart(4, "div", 2);
101700
+ i0.ɵɵtext(5);
101701
+ i0.ɵɵelementEnd()();
101702
+ i0.ɵɵelementStart(6, "div", 3)(7, "div", 4)(8, "div", 5);
101703
+ i0.ɵɵtext(9, "Shop");
101704
+ i0.ɵɵelementEnd();
101705
+ i0.ɵɵelementStart(10, "div", 6);
101706
+ i0.ɵɵtext(11);
101707
+ i0.ɵɵelementEnd();
101708
+ i0.ɵɵelementStart(12, "div", 6);
101709
+ i0.ɵɵtext(13);
101710
+ i0.ɵɵelementEnd()();
101711
+ i0.ɵɵelementStart(14, "div", 4)(15, "div", 5);
101712
+ i0.ɵɵtext(16, "Focus Area");
101713
+ i0.ɵɵelementEnd();
101714
+ i0.ɵɵelementStart(17, "div", 6);
101715
+ i0.ɵɵtext(18);
101716
+ i0.ɵɵelementEnd();
101717
+ i0.ɵɵelementStart(19, "div", 6);
101718
+ i0.ɵɵtext(20);
101719
+ i0.ɵɵelementEnd()();
101720
+ i0.ɵɵelementStart(21, "div", 4)(22, "div", 5);
101721
+ i0.ɵɵtext(23, "Metric");
101722
+ i0.ɵɵelementEnd();
101723
+ i0.ɵɵelementStart(24, "div", 6);
101724
+ i0.ɵɵtext(25);
101725
+ i0.ɵɵelementEnd();
101726
+ i0.ɵɵelementStart(26, "div", 6);
101727
+ i0.ɵɵtext(27);
101728
+ i0.ɵɵelementEnd()()()();
101729
+ } if (rf & 2) {
101730
+ i0.ɵɵproperty("ngClass", ctx.totalGoalsCardClasses());
101731
+ i0.ɵɵadvance(5);
101732
+ i0.ɵɵtextInterpolate(ctx.totalSourceGoalsCount());
101733
+ i0.ɵɵadvance(2);
101734
+ i0.ɵɵproperty("ngClass", ctx.getSourceCountCardClasses("SHOP"));
101735
+ i0.ɵɵadvance(4);
101736
+ i0.ɵɵtextInterpolate2("", ctx.shopCounts().analyses, " ", ctx.shopCounts().analyses === 1 ? "analysis" : "analyses");
101737
+ i0.ɵɵadvance(2);
101738
+ i0.ɵɵtextInterpolate2("", ctx.shopCounts().goals, " ", ctx.shopCounts().goals === 1 ? "goal" : "goals");
101739
+ i0.ɵɵadvance();
101740
+ i0.ɵɵproperty("ngClass", ctx.getSourceCountCardClasses("FOCUS_AREA"));
101741
+ i0.ɵɵadvance(4);
101742
+ i0.ɵɵtextInterpolate2("", ctx.focusAreaCounts().analyses, " ", ctx.focusAreaCounts().analyses === 1 ? "analysis" : "analyses");
101743
+ i0.ɵɵadvance(2);
101744
+ i0.ɵɵtextInterpolate2("", ctx.focusAreaCounts().goals, " ", ctx.focusAreaCounts().goals === 1 ? "goal" : "goals");
101745
+ i0.ɵɵadvance();
101746
+ i0.ɵɵproperty("ngClass", ctx.getSourceCountCardClasses("METRIC"));
101747
+ i0.ɵɵadvance(4);
101748
+ i0.ɵɵtextInterpolate2("", ctx.metricCounts().analyses, " ", ctx.metricCounts().analyses === 1 ? "analysis" : "analyses");
101749
+ i0.ɵɵadvance(2);
101750
+ i0.ɵɵtextInterpolate2("", ctx.metricCounts().goals, " ", ctx.metricCounts().goals === 1 ? "goal" : "goals");
101751
+ } }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
101752
+ }
101753
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SourceGoalsSummaryCardComponent, [{
101754
+ type: Component,
101755
+ args: [{
101756
+ selector: 'symphiq-source-goals-summary-card',
101757
+ standalone: true,
101758
+ imports: [CommonModule],
101759
+ changeDetection: ChangeDetectionStrategy.OnPush,
101760
+ template: `
101761
+ <div [ngClass]="totalGoalsCardClasses()" class="p-6 rounded-xl mb-4 flex items-center justify-between">
101762
+ <div>
101763
+ <div class="text-xs font-semibold uppercase mb-1 opacity-80">Total Source Goals</div>
101764
+ <div class="text-4xl font-bold">{{ totalSourceGoalsCount() }}</div>
101765
+ </div>
101766
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
101767
+ <div [ngClass]="getSourceCountCardClasses('SHOP')" class="p-4 rounded-xl">
101768
+ <div class="text-xs font-semibold uppercase mb-2">Shop</div>
101769
+ <div class="text-sm opacity-80">{{ shopCounts().analyses }} {{ shopCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101770
+ <div class="text-sm opacity-80">{{ shopCounts().goals }} {{ shopCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101771
+ </div>
101772
+ <div [ngClass]="getSourceCountCardClasses('FOCUS_AREA')" class="p-4 rounded-xl">
101773
+ <div class="text-xs font-semibold uppercase mb-2">Focus Area</div>
101774
+ <div class="text-sm opacity-80">{{ focusAreaCounts().analyses }} {{ focusAreaCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101775
+ <div class="text-sm opacity-80">{{ focusAreaCounts().goals }} {{ focusAreaCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101776
+ </div>
101777
+ <div [ngClass]="getSourceCountCardClasses('METRIC')" class="p-4 rounded-xl">
101778
+ <div class="text-xs font-semibold uppercase mb-2">Metric</div>
101779
+ <div class="text-sm opacity-80">{{ metricCounts().analyses }} {{ metricCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101780
+ <div class="text-sm opacity-80">{{ metricCounts().goals }} {{ metricCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101781
+ </div>
101782
+ </div>
101783
+ </div>
101784
+ `
101785
+ }]
101786
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], shopCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "shopCounts", required: false }] }], focusAreaCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaCounts", required: false }] }], metricCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricCounts", required: false }] }] }); })();
101787
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SourceGoalsSummaryCardComponent, { className: "SourceGoalsSummaryCardComponent", filePath: "lib/components/shared/source-goals-summary-card.component.ts", lineNumber: 41 }); })();
101788
+
101662
101789
  function UnifiedExecutiveSummaryComponent_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
101663
101790
  i0.ɵɵelement(0, "symphiq-grade-badge", 7);
101664
101791
  } if (rf & 2) {
@@ -101676,42 +101803,9 @@ function UnifiedExecutiveSummaryComponent_Conditional_0_Template(rf, ctx) { if (
101676
101803
  i0.ɵɵelementEnd()();
101677
101804
  i0.ɵɵconditionalCreate(9, UnifiedExecutiveSummaryComponent_Conditional_0_Conditional_9_Template, 1, 3, "symphiq-grade-badge", 7);
101678
101805
  i0.ɵɵelementEnd();
101679
- i0.ɵɵelement(10, "symphiq-analysis-narrative", 8);
101680
- i0.ɵɵelementStart(11, "div", 9)(12, "div")(13, "div", 10);
101681
- i0.ɵɵtext(14, "Total Source Goals");
101682
- i0.ɵɵelementEnd();
101683
- i0.ɵɵelementStart(15, "div", 11);
101684
- i0.ɵɵtext(16);
101685
- i0.ɵɵelementEnd()();
101686
- i0.ɵɵelementStart(17, "div", 12)(18, "div", 13)(19, "div", 14);
101687
- i0.ɵɵtext(20, "Shop");
101688
- i0.ɵɵelementEnd();
101689
- i0.ɵɵelementStart(21, "div", 15);
101690
- i0.ɵɵtext(22);
101691
- i0.ɵɵelementEnd();
101692
- i0.ɵɵelementStart(23, "div", 15);
101693
- i0.ɵɵtext(24);
101694
- i0.ɵɵelementEnd()();
101695
- i0.ɵɵelementStart(25, "div", 13)(26, "div", 14);
101696
- i0.ɵɵtext(27, "Focus Area");
101697
- i0.ɵɵelementEnd();
101698
- i0.ɵɵelementStart(28, "div", 15);
101699
- i0.ɵɵtext(29);
101700
- i0.ɵɵelementEnd();
101701
- i0.ɵɵelementStart(30, "div", 15);
101702
- i0.ɵɵtext(31);
101703
- i0.ɵɵelementEnd()();
101704
- i0.ɵɵelementStart(32, "div", 13)(33, "div", 14);
101705
- i0.ɵɵtext(34, "Metric");
101706
- i0.ɵɵelementEnd();
101707
- i0.ɵɵelementStart(35, "div", 15);
101708
- i0.ɵɵtext(36);
101709
- i0.ɵɵelementEnd();
101710
- i0.ɵɵelementStart(37, "div", 15);
101711
- i0.ɵɵtext(38);
101712
- i0.ɵɵelementEnd()()()();
101713
- i0.ɵɵelementStart(39, "symphiq-executive-summary-stats-grid", 16);
101714
- i0.ɵɵlistener("keyStrengthsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_keyStrengthsClick_39_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.keyStrengthsClick.emit()); })("criticalGapsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_criticalGapsClick_39_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.criticalGapsClick.emit()); })("quickWinsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_quickWinsClick_39_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.quickWinsClick.emit()); });
101806
+ i0.ɵɵelement(10, "symphiq-analysis-narrative", 8)(11, "symphiq-source-goals-summary-card", 9);
101807
+ i0.ɵɵelementStart(12, "symphiq-executive-summary-stats-grid", 10);
101808
+ i0.ɵɵlistener("keyStrengthsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_keyStrengthsClick_12_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.keyStrengthsClick.emit()); })("criticalGapsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_criticalGapsClick_12_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.criticalGapsClick.emit()); })("quickWinsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_quickWinsClick_12_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.quickWinsClick.emit()); });
101715
101809
  i0.ɵɵelementEnd()()()();
101716
101810
  } if (rf & 2) {
101717
101811
  const summary_r2 = ctx;
@@ -101729,27 +101823,7 @@ function UnifiedExecutiveSummaryComponent_Conditional_0_Template(rf, ctx) { if (
101729
101823
  i0.ɵɵadvance();
101730
101824
  i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("narrative", summary_r2.synthesisNarrative)("napkinVisual", summary_r2.napkinVisual);
101731
101825
  i0.ɵɵadvance();
101732
- i0.ɵɵproperty("ngClass", ctx_r2.totalGoalsCardClasses());
101733
- i0.ɵɵadvance(5);
101734
- i0.ɵɵtextInterpolate(ctx_r2.totalSourceGoalsCount());
101735
- i0.ɵɵadvance(2);
101736
- i0.ɵɵproperty("ngClass", ctx_r2.getSourceCountCardClasses("SHOP"));
101737
- i0.ɵɵadvance(4);
101738
- i0.ɵɵtextInterpolate2("", ctx_r2.shopCounts().analyses, " ", ctx_r2.shopCounts().analyses === 1 ? "analysis" : "analyses");
101739
- i0.ɵɵadvance(2);
101740
- i0.ɵɵtextInterpolate2("", ctx_r2.shopCounts().goals, " ", ctx_r2.shopCounts().goals === 1 ? "goal" : "goals");
101741
- i0.ɵɵadvance();
101742
- i0.ɵɵproperty("ngClass", ctx_r2.getSourceCountCardClasses("FOCUS_AREA"));
101743
- i0.ɵɵadvance(4);
101744
- i0.ɵɵtextInterpolate2("", ctx_r2.focusAreaCounts().analyses, " ", ctx_r2.focusAreaCounts().analyses === 1 ? "analysis" : "analyses");
101745
- i0.ɵɵadvance(2);
101746
- i0.ɵɵtextInterpolate2("", ctx_r2.focusAreaCounts().goals, " ", ctx_r2.focusAreaCounts().goals === 1 ? "goal" : "goals");
101747
- i0.ɵɵadvance();
101748
- i0.ɵɵproperty("ngClass", ctx_r2.getSourceCountCardClasses("METRIC"));
101749
- i0.ɵɵadvance(4);
101750
- i0.ɵɵtextInterpolate2("", ctx_r2.metricCounts().analyses, " ", ctx_r2.metricCounts().analyses === 1 ? "analysis" : "analyses");
101751
- i0.ɵɵadvance(2);
101752
- i0.ɵɵtextInterpolate2("", ctx_r2.metricCounts().goals, " ", ctx_r2.metricCounts().goals === 1 ? "goal" : "goals");
101826
+ i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("shopCounts", ctx_r2.shopCounts())("focusAreaCounts", ctx_r2.focusAreaCounts())("metricCounts", ctx_r2.metricCounts());
101753
101827
  i0.ɵɵadvance();
101754
101828
  i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("config", ctx_r2.statsConfig());
101755
101829
  } }
@@ -101772,45 +101846,22 @@ class UnifiedExecutiveSummaryComponent {
101772
101846
  quickWinsCount: this.quickWinsCount()
101773
101847
  };
101774
101848
  }, ...(ngDevMode ? [{ debugName: "statsConfig" }] : []));
101775
- this.totalSourceGoalsCount = computed(() => {
101776
- return this.shopCounts().goals + this.focusAreaCounts().goals + this.metricCounts().goals;
101777
- }, ...(ngDevMode ? [{ debugName: "totalSourceGoalsCount" }] : []));
101778
101849
  this.bannerClasses = computed(() => this.isLightMode()
101779
101850
  ? 'bg-white border border-slate-200'
101780
101851
  : 'bg-slate-800/50 border border-slate-700/50', ...(ngDevMode ? [{ debugName: "bannerClasses" }] : []));
101781
101852
  this.sectionTitleClasses = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "sectionTitleClasses" }] : []));
101782
101853
  this.textClasses = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-300', ...(ngDevMode ? [{ debugName: "textClasses" }] : []));
101783
- this.totalGoalsCardClasses = computed(() => {
101784
- return this.isLightMode()
101785
- ? 'bg-gradient-to-r from-indigo-50 to-purple-50 border border-indigo-200 text-indigo-900'
101786
- : 'bg-gradient-to-r from-indigo-900/40 to-purple-900/40 border border-indigo-700/50 text-indigo-100';
101787
- }, ...(ngDevMode ? [{ debugName: "totalGoalsCardClasses" }] : []));
101788
- }
101789
- getSourceCountCardClasses(type) {
101790
- if (this.isLightMode()) {
101791
- switch (type) {
101792
- case 'SHOP': return 'bg-cyan-50 text-cyan-700 border border-cyan-200';
101793
- case 'FOCUS_AREA': return 'bg-amber-50 text-amber-700 border border-amber-200';
101794
- case 'METRIC': return 'bg-emerald-50 text-emerald-700 border border-emerald-200';
101795
- }
101796
- }
101797
- else {
101798
- switch (type) {
101799
- case 'SHOP': return 'bg-cyan-900/30 text-cyan-300 border border-cyan-700';
101800
- case 'FOCUS_AREA': return 'bg-amber-900/30 text-amber-300 border border-amber-700';
101801
- case 'METRIC': return 'bg-emerald-900/30 text-emerald-300 border border-emerald-700';
101802
- }
101803
- }
101804
101854
  }
101805
101855
  static { this.ɵfac = function UnifiedExecutiveSummaryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedExecutiveSummaryComponent)(); }; }
101806
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedExecutiveSummaryComponent, selectors: [["symphiq-unified-executive-summary"]], inputs: { summary: [1, "summary"], viewMode: [1, "viewMode"], shopCounts: [1, "shopCounts"], focusAreaCounts: [1, "focusAreaCounts"], metricCounts: [1, "metricCounts"], quickWinsCount: [1, "quickWinsCount"] }, outputs: { keyStrengthsClick: "keyStrengthsClick", criticalGapsClick: "criticalGapsClick", quickWinsClick: "quickWinsClick" }, decls: 1, vars: 1, consts: [["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "flex", "flex-col", "gap-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"], ["title", "Synthesis Overview", 3, "viewMode", "narrative", "napkinVisual"], [1, "p-6", "rounded-xl", "mb-4", "flex", "items-center", "justify-between", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", "opacity-80"], [1, "text-4xl", "font-bold"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], [1, "p-4", "rounded-xl", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2"], [1, "text-sm", "opacity-80"], [3, "keyStrengthsClick", "criticalGapsClick", "quickWinsClick", "viewMode", "config"]], template: function UnifiedExecutiveSummaryComponent_Template(rf, ctx) { if (rf & 1) {
101807
- i0.ɵɵconditionalCreate(0, UnifiedExecutiveSummaryComponent_Conditional_0_Template, 40, 27, "section", 0);
101856
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedExecutiveSummaryComponent, selectors: [["symphiq-unified-executive-summary"]], inputs: { summary: [1, "summary"], viewMode: [1, "viewMode"], shopCounts: [1, "shopCounts"], focusAreaCounts: [1, "focusAreaCounts"], metricCounts: [1, "metricCounts"], quickWinsCount: [1, "quickWinsCount"] }, outputs: { keyStrengthsClick: "keyStrengthsClick", criticalGapsClick: "criticalGapsClick", quickWinsClick: "quickWinsClick" }, decls: 1, vars: 1, consts: [["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "flex", "flex-col", "gap-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"], ["title", "Synthesis Overview", 3, "viewMode", "narrative", "napkinVisual"], [3, "viewMode", "shopCounts", "focusAreaCounts", "metricCounts"], [3, "keyStrengthsClick", "criticalGapsClick", "quickWinsClick", "viewMode", "config"]], template: function UnifiedExecutiveSummaryComponent_Template(rf, ctx) { if (rf & 1) {
101857
+ i0.ɵɵconditionalCreate(0, UnifiedExecutiveSummaryComponent_Conditional_0_Template, 13, 14, "section", 0);
101808
101858
  } if (rf & 2) {
101809
101859
  let tmp_0_0;
101810
101860
  i0.ɵɵconditional((tmp_0_0 = ctx.summary()) ? 0 : -1, tmp_0_0);
101811
101861
  } }, dependencies: [CommonModule, i1$1.NgClass, GradeBadgeComponent,
101812
101862
  AnalysisNarrativeComponent,
101813
- ExecutiveSummaryStatsGridComponent], encapsulation: 2, changeDetection: 0 }); }
101863
+ ExecutiveSummaryStatsGridComponent,
101864
+ SourceGoalsSummaryCardComponent], encapsulation: 2, changeDetection: 0 }); }
101814
101865
  }
101815
101866
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnifiedExecutiveSummaryComponent, [{
101816
101867
  type: Component,
@@ -101821,7 +101872,8 @@ class UnifiedExecutiveSummaryComponent {
101821
101872
  CommonModule,
101822
101873
  GradeBadgeComponent,
101823
101874
  AnalysisNarrativeComponent,
101824
- ExecutiveSummaryStatsGridComponent
101875
+ ExecutiveSummaryStatsGridComponent,
101876
+ SourceGoalsSummaryCardComponent
101825
101877
  ],
101826
101878
  changeDetection: ChangeDetectionStrategy.OnPush,
101827
101879
  template: `
@@ -101854,29 +101906,12 @@ class UnifiedExecutiveSummaryComponent {
101854
101906
  title="Synthesis Overview"
101855
101907
  />
101856
101908
 
101857
- <div [ngClass]="totalGoalsCardClasses()" class="p-6 rounded-xl mb-4 flex items-center justify-between">
101858
- <div>
101859
- <div class="text-xs font-semibold uppercase mb-1 opacity-80">Total Source Goals</div>
101860
- <div class="text-4xl font-bold">{{ totalSourceGoalsCount() }}</div>
101861
- </div>
101862
- <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
101863
- <div [ngClass]="getSourceCountCardClasses('SHOP')" class="p-4 rounded-xl">
101864
- <div class="text-xs font-semibold uppercase mb-2">Shop</div>
101865
- <div class="text-sm opacity-80">{{ shopCounts().analyses }} {{ shopCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101866
- <div class="text-sm opacity-80">{{ shopCounts().goals }} {{ shopCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101867
- </div>
101868
- <div [ngClass]="getSourceCountCardClasses('FOCUS_AREA')" class="p-4 rounded-xl">
101869
- <div class="text-xs font-semibold uppercase mb-2">Focus Area</div>
101870
- <div class="text-sm opacity-80">{{ focusAreaCounts().analyses }} {{ focusAreaCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101871
- <div class="text-sm opacity-80">{{ focusAreaCounts().goals }} {{ focusAreaCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101872
- </div>
101873
- <div [ngClass]="getSourceCountCardClasses('METRIC')" class="p-4 rounded-xl">
101874
- <div class="text-xs font-semibold uppercase mb-2">Metric</div>
101875
- <div class="text-sm opacity-80">{{ metricCounts().analyses }} {{ metricCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101876
- <div class="text-sm opacity-80">{{ metricCounts().goals }} {{ metricCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101877
- </div>
101878
- </div>
101879
- </div>
101909
+ <symphiq-source-goals-summary-card
101910
+ [viewMode]="viewMode()"
101911
+ [shopCounts]="shopCounts()"
101912
+ [focusAreaCounts]="focusAreaCounts()"
101913
+ [metricCounts]="metricCounts()"
101914
+ />
101880
101915
 
101881
101916
 
101882
101917
  <symphiq-executive-summary-stats-grid
@@ -101893,7 +101928,7 @@ class UnifiedExecutiveSummaryComponent {
101893
101928
  `
101894
101929
  }]
101895
101930
  }], null, { summary: [{ type: i0.Input, args: [{ isSignal: true, alias: "summary", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], shopCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "shopCounts", required: false }] }], focusAreaCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaCounts", required: false }] }], metricCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricCounts", required: false }] }], quickWinsCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "quickWinsCount", required: false }] }], keyStrengthsClick: [{ type: i0.Output, args: ["keyStrengthsClick"] }], criticalGapsClick: [{ type: i0.Output, args: ["criticalGapsClick"] }], quickWinsClick: [{ type: i0.Output, args: ["quickWinsClick"] }] }); })();
101896
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedExecutiveSummaryComponent, { className: "UnifiedExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-executive-summary.component.ts", lineNumber: 92 }); })();
101931
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedExecutiveSummaryComponent, { className: "UnifiedExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-executive-summary.component.ts", lineNumber: 74 }); })();
101897
101932
 
101898
101933
  const _c0$b = a0 => ({ name: "calendar", source: a0 });
101899
101934
  const _forTrack0$b = ($index, $item) => $item.id;
@@ -102786,19 +102821,13 @@ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_11_Template(r
102786
102821
  i0.ɵɵtextInterpolate(ctx_r1.getLinkedGoal(step_r1).title);
102787
102822
  } }
102788
102823
  function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_For_5_Template(rf, ctx) { if (rf & 1) {
102789
- i0.ɵɵelementStart(0, "div", 23)(1, "span", 24);
102790
- i0.ɵɵtext(2);
102791
- i0.ɵɵelementEnd();
102792
- i0.ɵɵtext(3);
102824
+ i0.ɵɵelementStart(0, "div", 23);
102825
+ i0.ɵɵtext(1);
102793
102826
  i0.ɵɵelementEnd();
102794
102827
  } if (rf & 2) {
102795
102828
  const domain_r5 = ctx.$implicit;
102796
102829
  const ctx_r1 = i0.ɵɵnextContext(4);
102797
- i0.ɵɵproperty("ngClass", ctx_r1.domainChipClasses());
102798
- i0.ɵɵadvance();
102799
- i0.ɵɵproperty("ngClass", ctx_r1.tooltipClasses());
102800
- i0.ɵɵadvance();
102801
- i0.ɵɵtextInterpolate(ctx_r1.getDomainSubtitle(domain_r5));
102830
+ i0.ɵɵproperty("ngClass", ctx_r1.domainChipClasses())("libSymphiqTooltip", ctx_r1.getDomainSubtitle(domain_r5));
102802
102831
  i0.ɵɵadvance();
102803
102832
  i0.ɵɵtextInterpolate1(" ", ctx_r1.getDomainTitle(domain_r5), " ");
102804
102833
  } }
@@ -102807,7 +102836,7 @@ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_Template(r
102807
102836
  i0.ɵɵtext(2, " Related Domains ");
102808
102837
  i0.ɵɵelementEnd();
102809
102838
  i0.ɵɵelementStart(3, "div", 22);
102810
- i0.ɵɵrepeaterCreate(4, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_For_5_Template, 4, 4, "div", 23, i0.ɵɵrepeaterTrackByIdentity);
102839
+ i0.ɵɵrepeaterCreate(4, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_For_5_Template, 2, 3, "div", 23, i0.ɵɵrepeaterTrackByIdentity);
102811
102840
  i0.ɵɵelementEnd()();
102812
102841
  } if (rf & 2) {
102813
102842
  const step_r1 = i0.ɵɵnextContext().$implicit;
@@ -102893,9 +102922,6 @@ class UnifiedNextStepsComponent {
102893
102922
  this.domainChipClasses = computed(() => this.isLightMode()
102894
102923
  ? 'bg-slate-100 text-slate-700 border border-slate-200 hover:bg-slate-200'
102895
102924
  : 'bg-slate-700/50 text-slate-300 border border-slate-600 hover:bg-slate-700', ...(ngDevMode ? [{ debugName: "domainChipClasses" }] : []));
102896
- this.tooltipClasses = computed(() => this.isLightMode()
102897
- ? 'bg-slate-800 text-white [&::after]:border-t-slate-800 [&::after]:border-x-transparent [&::after]:border-b-transparent'
102898
- : 'bg-slate-200 text-slate-900 [&::after]:border-t-slate-200 [&::after]:border-x-transparent [&::after]:border-b-transparent', ...(ngDevMode ? [{ debugName: "tooltipClasses" }] : []));
102899
102925
  }
102900
102926
  getCategory(idx) {
102901
102927
  if (idx === 0)
@@ -102967,15 +102993,15 @@ class UnifiedNextStepsComponent {
102967
102993
  return FocusAreaDomainEnumUtil.subtitle(domain);
102968
102994
  }
102969
102995
  static { this.ɵfac = function UnifiedNextStepsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedNextStepsComponent)(); }; }
102970
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedNextStepsComponent, selectors: [["symphiq-unified-next-steps"]], inputs: { steps: [1, "steps"], viewMode: [1, "viewMode"], goals: [1, "goals"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-next-steps", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Next Steps", 3, "icon", "viewMode"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-6"], [1, "rounded-2xl", "p-6", "shadow-lg", "transition-all", "hover:shadow-xl", 3, "ngClass"], [1, "flex", "items-start", "gap-4", "mb-4"], [1, "w-10", "h-10", "rounded-full", "flex", "items-center", "justify-center", "text-lg", "font-bold", "flex-shrink-0", 3, "ngClass"], [1, "flex-1"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-base", "font-semibold", "line-clamp-2", 3, "ngClass"], [1, "text-sm", "mb-4", "line-clamp-3", 3, "ngClass"], [1, "mt-4", "pt-4", "border-t", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "mt-0.5", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "line-clamp-2"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "click", "ngClass"], [1, "text-sm", "font-medium", "line-clamp-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "flex", "flex-wrap", "gap-2"], [1, "domain-chip", "px-2", "py-1", "rounded-md", "text-xs", "font-medium", 3, "ngClass"], [1, "tooltip", 3, "ngClass"]], template: function UnifiedNextStepsComponent_Template(rf, ctx) { if (rf & 1) {
102996
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedNextStepsComponent, selectors: [["symphiq-unified-next-steps"]], inputs: { steps: [1, "steps"], viewMode: [1, "viewMode"], goals: [1, "goals"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-next-steps", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Next Steps", 3, "icon", "viewMode"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-6"], [1, "rounded-2xl", "p-6", "shadow-lg", "transition-all", "hover:shadow-xl", 3, "ngClass"], [1, "flex", "items-start", "gap-4", "mb-4"], [1, "w-10", "h-10", "rounded-full", "flex", "items-center", "justify-center", "text-lg", "font-bold", "flex-shrink-0", 3, "ngClass"], [1, "flex-1"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-base", "font-semibold", "line-clamp-2", 3, "ngClass"], [1, "text-sm", "mb-4", "line-clamp-3", 3, "ngClass"], [1, "mt-4", "pt-4", "border-t", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "mt-0.5", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "line-clamp-2"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "click", "ngClass"], [1, "text-sm", "font-medium", "line-clamp-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "flex", "flex-wrap", "gap-2"], ["tooltipPosition", "top", 1, "px-2", "py-1", "rounded-md", "text-xs", "font-medium", 3, "ngClass", "libSymphiqTooltip"]], template: function UnifiedNextStepsComponent_Template(rf, ctx) { if (rf & 1) {
102971
102997
  i0.ɵɵconditionalCreate(0, UnifiedNextStepsComponent_Conditional_0_Template, 6, 8, "section", 0);
102972
102998
  } if (rf & 2) {
102973
102999
  i0.ɵɵconditional(ctx.steps().length > 0 ? 0 : -1);
102974
- } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent], styles: [".goal-chip[_ngcontent-%COMP%]{transition:all .3s ease}.goal-chip[_ngcontent-%COMP%]:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}.domain-chip[_ngcontent-%COMP%]{position:relative}.domain-chip[_ngcontent-%COMP%] .tooltip[_ngcontent-%COMP%]{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:50;transition:opacity .2s ease,visibility .2s ease;margin-bottom:6px}.domain-chip[_ngcontent-%COMP%] .tooltip[_ngcontent-%COMP%]:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid}.domain-chip[_ngcontent-%COMP%]:hover .tooltip[_ngcontent-%COMP%]{visibility:visible;opacity:1}"], changeDetection: 0 }); }
103000
+ } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent, TooltipDirective], styles: [".goal-chip[_ngcontent-%COMP%]{transition:all .3s ease}.goal-chip[_ngcontent-%COMP%]:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}"], changeDetection: 0 }); }
102975
103001
  }
102976
103002
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnifiedNextStepsComponent, [{
102977
103003
  type: Component,
102978
- args: [{ selector: 'symphiq-unified-next-steps', standalone: true, imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
103004
+ args: [{ selector: 'symphiq-unified-next-steps', standalone: true, imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent, TooltipDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: `
102979
103005
  @if (steps().length > 0) {
102980
103006
  <section id="section-next-steps" class="space-y-6 scroll-mt-24">
102981
103007
  <symphiq-section-divider
@@ -103053,8 +103079,11 @@ class UnifiedNextStepsComponent {
103053
103079
  </div>
103054
103080
  <div class="flex flex-wrap gap-2">
103055
103081
  @for (domain of step.relatedDomains; track domain) {
103056
- <div [ngClass]="domainChipClasses()" class="domain-chip px-2 py-1 rounded-md text-xs font-medium">
103057
- <span [ngClass]="tooltipClasses()" class="tooltip">{{ getDomainSubtitle(domain) }}</span>
103082
+ <div
103083
+ [ngClass]="domainChipClasses()"
103084
+ class="px-2 py-1 rounded-md text-xs font-medium"
103085
+ [libSymphiqTooltip]="getDomainSubtitle(domain)"
103086
+ tooltipPosition="top">
103058
103087
  {{ getDomainTitle(domain) }}
103059
103088
  </div>
103060
103089
  }
@@ -103066,20 +103095,10 @@ class UnifiedNextStepsComponent {
103066
103095
  </div>
103067
103096
  </section>
103068
103097
  }
103069
- `, styles: [".goal-chip{transition:all .3s ease}.goal-chip:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}.domain-chip{position:relative}.domain-chip .tooltip{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:50;transition:opacity .2s ease,visibility .2s ease;margin-bottom:6px}.domain-chip .tooltip:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid}.domain-chip:hover .tooltip{visibility:visible;opacity:1}\n"] }]
103098
+ `, styles: [".goal-chip{transition:all .3s ease}.goal-chip:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}\n"] }]
103070
103099
  }], null, { steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], goals: [{ type: i0.Input, args: [{ isSignal: true, alias: "goals", required: false }] }], goalClick: [{ type: i0.Output, args: ["goalClick"] }] }); })();
103071
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedNextStepsComponent, { className: "UnifiedNextStepsComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-next-steps.component.ts", lineNumber: 155 }); })();
103100
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedNextStepsComponent, { className: "UnifiedNextStepsComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-next-steps.component.ts", lineNumber: 128 }); })();
103072
103101
 
103073
- function SynthesisConfidenceSectionComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
103074
- i0.ɵɵelementStart(0, "p", 8);
103075
- i0.ɵɵtext(1);
103076
- i0.ɵɵelementEnd();
103077
- } if (rf & 2) {
103078
- const ctx_r0 = i0.ɵɵnextContext(2);
103079
- i0.ɵɵproperty("ngClass", ctx_r0.textClasses());
103080
- i0.ɵɵadvance();
103081
- i0.ɵɵtextInterpolate1(" ", ctx_r0.explanation(), " ");
103082
- } }
103083
103102
  function SynthesisConfidenceSectionComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
103084
103103
  i0.ɵɵelementStart(0, "div", 0)(1, "h4", 1);
103085
103104
  i0.ɵɵnamespaceSVG();
@@ -103094,12 +103113,10 @@ function SynthesisConfidenceSectionComponent_Conditional_0_Template(rf, ctx) { i
103094
103113
  i0.ɵɵelementEnd();
103095
103114
  i0.ɵɵelementStart(8, "span", 7);
103096
103115
  i0.ɵɵtext(9);
103097
- i0.ɵɵelementEnd()();
103098
- i0.ɵɵconditionalCreate(10, SynthesisConfidenceSectionComponent_Conditional_0_Conditional_10_Template, 2, 2, "p", 8);
103099
- i0.ɵɵelementEnd();
103116
+ i0.ɵɵelementEnd()()();
103100
103117
  } if (rf & 2) {
103101
103118
  const ctx_r0 = i0.ɵɵnextContext();
103102
- i0.ɵɵproperty("ngClass", ctx_r0.sectionCardClasses());
103119
+ i0.ɵɵproperty("ngClass", ctx_r0.sectionCardClasses())("libSymphiqTooltip", ctx_r0.explanation() ?? "")("tooltipPosition", "top");
103103
103120
  i0.ɵɵadvance();
103104
103121
  i0.ɵɵproperty("ngClass", ctx_r0.sectionTitleClasses());
103105
103122
  i0.ɵɵadvance(5);
@@ -103111,8 +103128,6 @@ function SynthesisConfidenceSectionComponent_Conditional_0_Template(rf, ctx) { i
103111
103128
  i0.ɵɵproperty("ngClass", ctx_r0.textClasses());
103112
103129
  i0.ɵɵadvance();
103113
103130
  i0.ɵɵtextInterpolate1(" ", ctx_r0.scorePercentage().toFixed(0), "% ");
103114
- i0.ɵɵadvance();
103115
- i0.ɵɵconditional(ctx_r0.explanation() ? 10 : -1);
103116
103131
  } }
103117
103132
  class SynthesisConfidenceSectionComponent {
103118
103133
  constructor() {
@@ -103128,11 +103143,11 @@ class SynthesisConfidenceSectionComponent {
103128
103143
  this.progressBarFillClasses = computed(() => this.isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400', ...(ngDevMode ? [{ debugName: "progressBarFillClasses" }] : []));
103129
103144
  }
103130
103145
  static { this.ɵfac = function SynthesisConfidenceSectionComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SynthesisConfidenceSectionComponent)(); }; }
103131
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SynthesisConfidenceSectionComponent, selectors: [["symphiq-synthesis-confidence-section"]], inputs: { score: [1, "score"], explanation: [1, "explanation"], viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [[1, "p-5", "rounded-xl", 3, "ngClass"], [1, "text-sm", "font-semibold", "mb-3", "flex", "items-center", "gap-2", 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 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"], [1, "flex", "items-center", "gap-3"], [1, "flex-1", "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "rounded-full", "transition-all", "duration-500", 3, "ngClass"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "text-sm", "mt-3", 3, "ngClass"]], template: function SynthesisConfidenceSectionComponent_Template(rf, ctx) { if (rf & 1) {
103132
- i0.ɵɵconditionalCreate(0, SynthesisConfidenceSectionComponent_Conditional_0_Template, 11, 9, "div", 0);
103146
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SynthesisConfidenceSectionComponent, selectors: [["symphiq-synthesis-confidence-section"]], inputs: { score: [1, "score"], explanation: [1, "explanation"], viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [[1, "p-5", "rounded-xl", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "text-sm", "font-semibold", "mb-3", "flex", "items-center", "gap-2", 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 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"], [1, "flex", "items-center", "gap-3"], [1, "flex-1", "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "rounded-full", "transition-all", "duration-500", 3, "ngClass"], [1, "text-sm", "font-semibold", 3, "ngClass"]], template: function SynthesisConfidenceSectionComponent_Template(rf, ctx) { if (rf & 1) {
103147
+ i0.ɵɵconditionalCreate(0, SynthesisConfidenceSectionComponent_Conditional_0_Template, 10, 10, "div", 0);
103133
103148
  } if (rf & 2) {
103134
103149
  i0.ɵɵconditional(ctx.score() ? 0 : -1);
103135
- } }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
103150
+ } }, dependencies: [CommonModule, i1$1.NgClass, TooltipDirective], encapsulation: 2, changeDetection: 0 }); }
103136
103151
  }
103137
103152
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SynthesisConfidenceSectionComponent, [{
103138
103153
  type: Component,
@@ -103140,10 +103155,14 @@ class SynthesisConfidenceSectionComponent {
103140
103155
  selector: 'symphiq-synthesis-confidence-section',
103141
103156
  standalone: true,
103142
103157
  changeDetection: ChangeDetectionStrategy.OnPush,
103143
- imports: [CommonModule],
103158
+ imports: [CommonModule, TooltipDirective],
103144
103159
  template: `
103145
103160
  @if (score()) {
103146
- <div [ngClass]="sectionCardClasses()" class="p-5 rounded-xl">
103161
+ <div
103162
+ [ngClass]="sectionCardClasses()"
103163
+ class="p-5 rounded-xl"
103164
+ [libSymphiqTooltip]="explanation() ?? ''"
103165
+ [tooltipPosition]="'top'">
103147
103166
  <h4 [ngClass]="sectionTitleClasses()" class="text-sm font-semibold mb-3 flex items-center gap-2">
103148
103167
  <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
103149
103168
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/>
@@ -103162,11 +103181,6 @@ class SynthesisConfidenceSectionComponent {
103162
103181
  {{ scorePercentage().toFixed(0) }}%
103163
103182
  </span>
103164
103183
  </div>
103165
- @if (explanation()) {
103166
- <p [ngClass]="textClasses()" class="text-sm mt-3">
103167
- {{ explanation() }}
103168
- </p>
103169
- }
103170
103184
  </div>
103171
103185
  }
103172
103186
  `
@@ -103348,7 +103362,7 @@ class SourceAnalysisTraceabilityComponent {
103348
103362
  }
103349
103363
  }
103350
103364
  static { this.ɵfac = function SourceAnalysisTraceabilityComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SourceAnalysisTraceabilityComponent)(); }; }
103351
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SourceAnalysisTraceabilityComponent, selectors: [["symphiq-source-analysis-traceability"]], inputs: { sourceAnalyses: [1, "sourceAnalyses"], loadedSourceAnalysisIds: [1, "loadedSourceAnalysisIds"], loadingSourceAnalysisId: [1, "loadingSourceAnalysisId"], viewMode: [1, "viewMode"], goal: [1, "goal"] }, outputs: { sourceAnalysisClick: "sourceAnalysisClick" }, decls: 1, vars: 1, consts: [[1, "p-5", "rounded-xl", "flex", "flex-col", "gap-4", 3, "ngClass"], [1, "text-sm", "font-semibold", "flex", "items-center", "gap-2", 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", "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"], [3, "score", "explanation", "viewMode"], [1, "grid", "grid-cols-1", "sm:grid-cols-2", "gap-3"], ["type", "button", 1, "p-4", "rounded-lg", "text-left", "transition-all", "hover:scale-[1.02]", "relative", 3, "ngClass"], ["type", "button", 1, "p-4", "rounded-lg", "text-left", "transition-all", "hover:scale-[1.02]", "relative", 3, "click", "ngClass"], [1, "absolute", "inset-0", "bg-black/10", "rounded-lg", "flex", "items-center", "justify-center"], [1, "absolute", "top-2", "right-2"], [1, "flex", "items-start", "gap-3"], [1, "w-8", "h-8", "rounded-lg", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "text-xs", "font-medium", "uppercase", "mb-0.5", 3, "ngClass"], [1, "text-sm", "font-medium", "truncate", 3, "ngClass"], [1, "text-xs", "mt-1", 3, "ngClass"], [1, "w-5", "h-5", "border-2", "border-current", "border-t-transparent", "rounded-full", "animate-spin"], ["fill", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "text-green-500"], ["d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"], ["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"]], template: function SourceAnalysisTraceabilityComponent_Template(rf, ctx) { if (rf & 1) {
103365
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SourceAnalysisTraceabilityComponent, selectors: [["symphiq-source-analysis-traceability"]], inputs: { sourceAnalyses: [1, "sourceAnalyses"], loadedSourceAnalysisIds: [1, "loadedSourceAnalysisIds"], loadingSourceAnalysisId: [1, "loadingSourceAnalysisId"], viewMode: [1, "viewMode"], goal: [1, "goal"] }, outputs: { sourceAnalysisClick: "sourceAnalysisClick" }, decls: 1, vars: 1, consts: [[1, "p-5", "rounded-xl", "flex", "flex-col", "gap-4", 3, "ngClass"], [1, "text-sm", "font-semibold", "flex", "items-center", "gap-2", 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", "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"], [3, "score", "explanation", "viewMode"], [1, "grid", "grid-cols-1", "gap-3"], ["type", "button", 1, "p-4", "rounded-lg", "text-left", "transition-all", "hover:scale-[1.02]", "relative", 3, "ngClass"], ["type", "button", 1, "p-4", "rounded-lg", "text-left", "transition-all", "hover:scale-[1.02]", "relative", 3, "click", "ngClass"], [1, "absolute", "inset-0", "bg-black/10", "rounded-lg", "flex", "items-center", "justify-center"], [1, "absolute", "top-2", "right-2"], [1, "flex", "items-start", "gap-3"], [1, "w-8", "h-8", "rounded-lg", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "text-xs", "font-medium", "uppercase", "mb-0.5", 3, "ngClass"], [1, "text-sm", "font-medium", "truncate", 3, "ngClass"], [1, "text-xs", "mt-1", 3, "ngClass"], [1, "w-5", "h-5", "border-2", "border-current", "border-t-transparent", "rounded-full", "animate-spin"], ["fill", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "text-green-500"], ["d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"], ["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"]], template: function SourceAnalysisTraceabilityComponent_Template(rf, ctx) { if (rf & 1) {
103352
103366
  i0.ɵɵconditionalCreate(0, SourceAnalysisTraceabilityComponent_Conditional_0_Template, 9, 6, "div", 0);
103353
103367
  } if (rf & 2) {
103354
103368
  let tmp_0_0;
@@ -103377,7 +103391,7 @@ class SourceAnalysisTraceabilityComponent {
103377
103391
  [explanation]="goal().synthesisConfidenceScoreExplanation"
103378
103392
  [viewMode]="viewMode()"
103379
103393
  />
103380
- <div class="grid grid-cols-1 sm:grid-cols-2 gap-3">
103394
+ <div class="grid grid-cols-1 gap-3">
103381
103395
  @for (source of sourceAnalyses(); track source.analysisId) {
103382
103396
  <button
103383
103397
  type="button"
@@ -103460,34 +103474,34 @@ function UnifiedGoalDetailModalContentComponent_Conditional_4_Template(rf, ctx)
103460
103474
  i0.ɵɵadvance();
103461
103475
  i0.ɵɵtextInterpolate1(" ", ctx_r0.goal().description, " ");
103462
103476
  } }
103463
- function UnifiedGoalDetailModalContentComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
103464
- const _r2 = i0.ɵɵgetCurrentView();
103465
- i0.ɵɵelementStart(0, "symphiq-related-content-button", 12);
103466
- i0.ɵɵlistener("buttonClicked", function UnifiedGoalDetailModalContentComponent_Conditional_7_Template_symphiq_related_content_button_buttonClicked_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onContributingMetricsClick()); });
103477
+ function UnifiedGoalDetailModalContentComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
103478
+ i0.ɵɵelementStart(0, "div");
103479
+ i0.ɵɵelement(1, "symphiq-napkin-visual-placeholder", 12);
103467
103480
  i0.ɵɵelementEnd();
103468
103481
  } if (rf & 2) {
103469
103482
  const ctx_r0 = i0.ɵɵnextContext();
103470
- i0.ɵɵproperty("count", ctx_r0.contributingMetricsCount())("svgPath", ctx_r0.metricsIconPath)("viewMode", ctx_r0.viewMode());
103483
+ i0.ɵɵadvance();
103484
+ i0.ɵɵproperty("visual", ctx_r0.goal().visual)("viewMode", ctx_r0.viewMode());
103471
103485
  } }
103472
103486
  function UnifiedGoalDetailModalContentComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
103473
- i0.ɵɵelement(0, "symphiq-related-content-button", 8);
103487
+ const _r2 = i0.ɵɵgetCurrentView();
103488
+ i0.ɵɵelementStart(0, "symphiq-related-content-button", 13);
103489
+ i0.ɵɵlistener("buttonClicked", function UnifiedGoalDetailModalContentComponent_Conditional_8_Template_symphiq_related_content_button_buttonClicked_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onContributingMetricsClick()); });
103490
+ i0.ɵɵelementEnd();
103474
103491
  } if (rf & 2) {
103475
103492
  const ctx_r0 = i0.ɵɵnextContext();
103476
- i0.ɵɵproperty("count", ctx_r0.contributingFocusAreasCount())("svgPath", ctx_r0.focusAreaIconPath)("viewMode", ctx_r0.viewMode())("showChevron", false)("tooltipContent", ctx_r0.focusAreasTooltipContent());
103493
+ i0.ɵɵproperty("count", ctx_r0.contributingMetricsCount())("svgPath", ctx_r0.metricsIconPath)("viewMode", ctx_r0.viewMode());
103477
103494
  } }
103478
103495
  function UnifiedGoalDetailModalContentComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
103479
- i0.ɵɵelementStart(0, "div");
103480
- i0.ɵɵelement(1, "symphiq-napkin-visual-placeholder", 13);
103481
- i0.ɵɵelementEnd();
103496
+ i0.ɵɵelement(0, "symphiq-related-content-button", 8);
103482
103497
  } if (rf & 2) {
103483
103498
  const ctx_r0 = i0.ɵɵnextContext();
103484
- i0.ɵɵadvance();
103485
- i0.ɵɵproperty("visual", ctx_r0.goal().visual)("viewMode", ctx_r0.viewMode());
103499
+ i0.ɵɵproperty("count", ctx_r0.contributingFocusAreasCount())("svgPath", ctx_r0.focusAreaIconPath)("viewMode", ctx_r0.viewMode())("showChevron", false)("tooltipContent", ctx_r0.focusAreasTooltipContent());
103486
103500
  } }
103487
- function UnifiedGoalDetailModalContentComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
103501
+ function UnifiedGoalDetailModalContentComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
103488
103502
  const _r3 = i0.ɵɵgetCurrentView();
103489
103503
  i0.ɵɵelementStart(0, "symphiq-show-objectives-button", 14);
103490
- i0.ɵɵlistener("buttonClick", function UnifiedGoalDetailModalContentComponent_Conditional_10_Template_symphiq_show_objectives_button_buttonClick_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.showObjectives.emit()); });
103504
+ i0.ɵɵlistener("buttonClick", function UnifiedGoalDetailModalContentComponent_Conditional_11_Template_symphiq_show_objectives_button_buttonClick_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.showObjectives.emit()); });
103491
103505
  i0.ɵɵelementEnd();
103492
103506
  } if (rf & 2) {
103493
103507
  const ctx_r0 = i0.ɵɵnextContext();
@@ -103549,38 +103563,38 @@ class UnifiedGoalDetailModalContentComponent {
103549
103563
  this.contributingMetricsClick.emit();
103550
103564
  }
103551
103565
  static { this.ɵfac = function UnifiedGoalDetailModalContentComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedGoalDetailModalContentComponent)(); }; }
103552
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedGoalDetailModalContentComponent, selectors: [["symphiq-unified-goal-detail-modal-content"]], inputs: { goal: [1, "goal"], allMetrics: [1, "allMetrics"], allCharts: [1, "allCharts"], loadedSourceAnalysisIds: [1, "loadedSourceAnalysisIds"], loadingSourceAnalysisId: [1, "loadingSourceAnalysisId"], viewMode: [1, "viewMode"], currentModalState: [1, "currentModalState"] }, outputs: { sourceAnalysisClick: "sourceAnalysisClick", metricClick: "metricClick", contributingMetricsClick: "contributingMetricsClick", showObjectives: "showObjectives", close: "close" }, decls: 12, vars: 14, consts: [[1, "flex", "flex-col", "gap-6"], [1, "flex", "flex-col", "lg:flex-row", "gap-6"], [1, "flex-1"], [1, "mb-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "lg:w-80", "flex-shrink-0", "flex", "flex-col", "gap-4"], ["layout", "vertical", 3, "expectedImpact", "viewMode", "showTitleIcon"], ["label", "CONTRIBUTING METRIC", "labelPlural", "CONTRIBUTING METRICS", 3, "count", "svgPath", "viewMode"], ["label", "CONTRIBUTING FOCUS AREA", "labelPlural", "CONTRIBUTING FOCUS AREAS", 3, "count", "svgPath", "viewMode", "showChevron", "tooltipContent"], [3, "viewMode", "subLabel"], [3, "sourceAnalysisClick", "sourceAnalyses", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "goal"], [3, "category", "viewMode"], ["label", "CONTRIBUTING METRIC", "labelPlural", "CONTRIBUTING METRICS", 3, "buttonClicked", "count", "svgPath", "viewMode"], [3, "visual", "viewMode"], [3, "buttonClick", "viewMode", "subLabel"]], template: function UnifiedGoalDetailModalContentComponent_Template(rf, ctx) { if (rf & 1) {
103566
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedGoalDetailModalContentComponent, selectors: [["symphiq-unified-goal-detail-modal-content"]], inputs: { goal: [1, "goal"], allMetrics: [1, "allMetrics"], allCharts: [1, "allCharts"], loadedSourceAnalysisIds: [1, "loadedSourceAnalysisIds"], loadingSourceAnalysisId: [1, "loadingSourceAnalysisId"], viewMode: [1, "viewMode"], currentModalState: [1, "currentModalState"] }, outputs: { sourceAnalysisClick: "sourceAnalysisClick", metricClick: "metricClick", contributingMetricsClick: "contributingMetricsClick", showObjectives: "showObjectives", close: "close" }, decls: 12, vars: 14, consts: [[1, "flex", "flex-col", "gap-6"], [1, "flex", "flex-col", "lg:flex-row", "gap-6"], [1, "flex-1"], [1, "mb-3"], [1, "text-base", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "lg:w-100", "flex-shrink-0", "flex", "flex-col", "gap-4"], ["layout", "vertical", 3, "expectedImpact", "viewMode", "showTitleIcon"], ["label", "CONTRIBUTING METRIC", "labelPlural", "CONTRIBUTING METRICS", 3, "count", "svgPath", "viewMode"], ["label", "CONTRIBUTING FOCUS AREA", "labelPlural", "CONTRIBUTING FOCUS AREAS", 3, "count", "svgPath", "viewMode", "showChevron", "tooltipContent"], [3, "sourceAnalysisClick", "sourceAnalyses", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "goal"], [3, "viewMode", "subLabel"], [3, "category", "viewMode"], [3, "visual", "viewMode"], ["label", "CONTRIBUTING METRIC", "labelPlural", "CONTRIBUTING METRICS", 3, "buttonClicked", "count", "svgPath", "viewMode"], [3, "buttonClick", "viewMode", "subLabel"]], template: function UnifiedGoalDetailModalContentComponent_Template(rf, ctx) { if (rf & 1) {
103553
103567
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
103554
103568
  i0.ɵɵconditionalCreate(3, UnifiedGoalDetailModalContentComponent_Conditional_3_Template, 2, 2, "div", 3);
103555
103569
  i0.ɵɵconditionalCreate(4, UnifiedGoalDetailModalContentComponent_Conditional_4_Template, 2, 2, "p", 4);
103570
+ i0.ɵɵconditionalCreate(5, UnifiedGoalDetailModalContentComponent_Conditional_5_Template, 2, 2, "div");
103571
+ i0.ɵɵelementEnd();
103572
+ i0.ɵɵelementStart(6, "div", 5);
103573
+ i0.ɵɵelement(7, "symphiq-expected-impact-section", 6);
103574
+ i0.ɵɵconditionalCreate(8, UnifiedGoalDetailModalContentComponent_Conditional_8_Template, 1, 3, "symphiq-related-content-button", 7);
103575
+ i0.ɵɵconditionalCreate(9, UnifiedGoalDetailModalContentComponent_Conditional_9_Template, 1, 5, "symphiq-related-content-button", 8);
103576
+ i0.ɵɵelementStart(10, "symphiq-source-analysis-traceability", 9);
103577
+ i0.ɵɵlistener("sourceAnalysisClick", function UnifiedGoalDetailModalContentComponent_Template_symphiq_source_analysis_traceability_sourceAnalysisClick_10_listener($event) { return ctx.onSourceAnalysisClick($event); });
103578
+ i0.ɵɵelementEnd()()();
103579
+ i0.ɵɵconditionalCreate(11, UnifiedGoalDetailModalContentComponent_Conditional_11_Template, 1, 2, "symphiq-show-objectives-button", 10);
103556
103580
  i0.ɵɵelementEnd();
103557
- i0.ɵɵelementStart(5, "div", 5);
103558
- i0.ɵɵelement(6, "symphiq-expected-impact-section", 6);
103559
- i0.ɵɵconditionalCreate(7, UnifiedGoalDetailModalContentComponent_Conditional_7_Template, 1, 3, "symphiq-related-content-button", 7);
103560
- i0.ɵɵconditionalCreate(8, UnifiedGoalDetailModalContentComponent_Conditional_8_Template, 1, 5, "symphiq-related-content-button", 8);
103561
- i0.ɵɵelementEnd()();
103562
- i0.ɵɵconditionalCreate(9, UnifiedGoalDetailModalContentComponent_Conditional_9_Template, 2, 2, "div");
103563
- i0.ɵɵconditionalCreate(10, UnifiedGoalDetailModalContentComponent_Conditional_10_Template, 1, 2, "symphiq-show-objectives-button", 9);
103564
- i0.ɵɵelementStart(11, "symphiq-source-analysis-traceability", 10);
103565
- i0.ɵɵlistener("sourceAnalysisClick", function UnifiedGoalDetailModalContentComponent_Template_symphiq_source_analysis_traceability_sourceAnalysisClick_11_listener($event) { return ctx.onSourceAnalysisClick($event); });
103566
- i0.ɵɵelementEnd()();
103567
103581
  } if (rf & 2) {
103568
103582
  i0.ɵɵadvance(3);
103569
103583
  i0.ɵɵconditional(ctx.goal().thematicCategory ? 3 : -1);
103570
103584
  i0.ɵɵadvance();
103571
103585
  i0.ɵɵconditional(ctx.goal().description ? 4 : -1);
103586
+ i0.ɵɵadvance();
103587
+ i0.ɵɵconditional(ctx.goal().visual ? 5 : -1);
103572
103588
  i0.ɵɵadvance(2);
103573
103589
  i0.ɵɵproperty("expectedImpact", ctx.goal().expectedImpact)("viewMode", ctx.viewMode())("showTitleIcon", false);
103574
103590
  i0.ɵɵadvance();
103575
- i0.ɵɵconditional(ctx.contributingMetricsCount() > 0 ? 7 : -1);
103576
- i0.ɵɵadvance();
103577
- i0.ɵɵconditional(ctx.contributingFocusAreasCount() > 0 ? 8 : -1);
103591
+ i0.ɵɵconditional(ctx.contributingMetricsCount() > 0 ? 8 : -1);
103578
103592
  i0.ɵɵadvance();
103579
- i0.ɵɵconditional(ctx.goal().visual ? 9 : -1);
103580
- i0.ɵɵadvance();
103581
- i0.ɵɵconditional(ctx.goal().objectives && ctx.goal().objectives.length > 0 ? 10 : -1);
103593
+ i0.ɵɵconditional(ctx.contributingFocusAreasCount() > 0 ? 9 : -1);
103582
103594
  i0.ɵɵadvance();
103583
103595
  i0.ɵɵproperty("sourceAnalyses", ctx.goal().sourceAnalyses)("loadedSourceAnalysisIds", ctx.loadedSourceAnalysisIds())("loadingSourceAnalysisId", ctx.loadingSourceAnalysisId())("viewMode", ctx.viewMode())("goal", ctx.goal());
103596
+ i0.ɵɵadvance();
103597
+ i0.ɵɵconditional(ctx.goal().objectives && ctx.goal().objectives.length > 0 ? 11 : -1);
103584
103598
  } }, dependencies: [CommonModule, i1$1.NgClass, ExpectedImpactSectionComponent, NapkinVisualPlaceholderComponent, ShowObjectivesButtonComponent, SourceAnalysisTraceabilityComponent, RelatedContentButtonComponent, ThematicCategoryBadgeComponent], encapsulation: 2, changeDetection: 0 }); }
103585
103599
  }
103586
103600
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnifiedGoalDetailModalContentComponent, [{
@@ -103604,12 +103618,21 @@ class UnifiedGoalDetailModalContentComponent {
103604
103618
  </div>
103605
103619
  }
103606
103620
  @if (goal().description) {
103607
- <p [ngClass]="descriptionClasses()" class="text-base leading-relaxed">
103621
+ <p [ngClass]="descriptionClasses()" class="text-base leading-relaxed whitespace-pre-line">
103608
103622
  {{ goal().description }}
103609
103623
  </p>
103610
103624
  }
103625
+ <!-- Napkin Visual -->
103626
+ @if (goal().visual) {
103627
+ <div>
103628
+ <symphiq-napkin-visual-placeholder
103629
+ [visual]="goal().visual"
103630
+ [viewMode]="viewMode()"
103631
+ />
103632
+ </div>
103633
+ }
103611
103634
  </div>
103612
- <div class="lg:w-80 flex-shrink-0 flex flex-col gap-4">
103635
+ <div class="lg:w-100 flex-shrink-0 flex flex-col gap-4">
103613
103636
  <symphiq-expected-impact-section
103614
103637
  [expectedImpact]="goal().expectedImpact"
103615
103638
  [viewMode]="viewMode()"
@@ -103637,19 +103660,18 @@ class UnifiedGoalDetailModalContentComponent {
103637
103660
  [tooltipContent]="focusAreasTooltipContent()"
103638
103661
  />
103639
103662
  }
103640
- </div>
103641
- </div>
103642
-
103643
- <!-- Napkin Visual -->
103644
- @if (goal().visual) {
103645
- <div>
103646
- <symphiq-napkin-visual-placeholder
103647
- [visual]="goal().visual"
103663
+ <!-- Source Analysis Traceability -->
103664
+ <symphiq-source-analysis-traceability
103665
+ [sourceAnalyses]="goal().sourceAnalyses"
103666
+ [loadedSourceAnalysisIds]="loadedSourceAnalysisIds()"
103667
+ [loadingSourceAnalysisId]="loadingSourceAnalysisId()"
103648
103668
  [viewMode]="viewMode()"
103669
+ [goal]="goal()"
103670
+ (sourceAnalysisClick)="onSourceAnalysisClick($event)"
103649
103671
  />
103650
103672
  </div>
103651
- }
103652
-
103673
+ </div>
103674
+
103653
103675
  <!-- Objectives Button -->
103654
103676
  @if (goal().objectives && goal().objectives!.length > 0) {
103655
103677
  <symphiq-show-objectives-button
@@ -103658,22 +103680,12 @@ class UnifiedGoalDetailModalContentComponent {
103658
103680
  (buttonClick)="showObjectives.emit()"
103659
103681
  />
103660
103682
  }
103661
-
103662
- <!-- Source Analysis Traceability -->
103663
- <symphiq-source-analysis-traceability
103664
- [sourceAnalyses]="goal().sourceAnalyses"
103665
- [loadedSourceAnalysisIds]="loadedSourceAnalysisIds()"
103666
- [loadingSourceAnalysisId]="loadingSourceAnalysisId()"
103667
- [viewMode]="viewMode()"
103668
- [goal]="goal()"
103669
- (sourceAnalysisClick)="onSourceAnalysisClick($event)"
103670
- />
103671
-
103683
+
103672
103684
  </div>
103673
103685
  `
103674
103686
  }]
103675
103687
  }], null, { goal: [{ type: i0.Input, args: [{ isSignal: true, alias: "goal", required: true }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], loadedSourceAnalysisIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadedSourceAnalysisIds", required: false }] }], loadingSourceAnalysisId: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingSourceAnalysisId", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }], sourceAnalysisClick: [{ type: i0.Output, args: ["sourceAnalysisClick"] }], metricClick: [{ type: i0.Output, args: ["metricClick"] }], contributingMetricsClick: [{ type: i0.Output, args: ["contributingMetricsClick"] }], showObjectives: [{ type: i0.Output, args: ["showObjectives"] }], close: [{ type: i0.Output, args: ["close"] }] }); })();
103676
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedGoalDetailModalContentComponent, { className: "UnifiedGoalDetailModalContentComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-goal-detail-modal-content.component.ts", lineNumber: 100 }); })();
103688
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedGoalDetailModalContentComponent, { className: "UnifiedGoalDetailModalContentComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-goal-detail-modal-content.component.ts", lineNumber: 98 }); })();
103677
103689
 
103678
103690
  const _forTrack0$7 = ($index, $item) => $item.metric;
103679
103691
  function UnifiedGoalRelatedMetricsModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
@@ -104366,7 +104378,7 @@ class UnifiedDashboardModalComponent {
104366
104378
  let _t;
104367
104379
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalContent = _t.first);
104368
104380
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalWrapper = _t.first);
104369
- } }, inputs: { viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto", 3, "z-index", "visibility"], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", 3, "click", "ngClass"], [1, "relative", "w-full", "max-w-4xl", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex", "items-start", "gap-3", "flex-1", "min-w-0"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-1.5", "mb-2", "text-xs"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xl", "font-bold", "leading-tight", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "ml-4", "flex-shrink-0"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", "flex-shrink-0", 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-[80vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [3, "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "objectives", "goalTitle", "viewMode"], [3, "goal", "contributingMetrics", "viewMode"], [3, "objective", "viewMode"], [3, "strategy", "viewMode", "allMetrics", "allCharts", "allInsights", "goalTitle", "objectiveTitle", "currentModalState"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "click", "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", "M15 19l-7-7 7-7"], [1, "font-medium", 3, "ngClass"], ["type", "button", 1, "hover:underline", "cursor-pointer", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "sourceAnalysisClick", "metricClick", "contributingMetricsClick", "showObjectives", "close", "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "metricClick", "goal", "contributingMetrics", "viewMode"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
104381
+ } }, inputs: { viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto", 3, "z-index", "visibility"], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", 3, "click", "ngClass"], [1, "relative", "w-full", "max-w-6xl", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex", "items-start", "gap-3", "flex-1", "min-w-0"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-1.5", "mb-2", "text-xs"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xl", "font-bold", "leading-tight", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "ml-4", "flex-shrink-0"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", "flex-shrink-0", 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-[80vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [3, "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "objectives", "goalTitle", "viewMode"], [3, "goal", "contributingMetrics", "viewMode"], [3, "objective", "viewMode"], [3, "strategy", "viewMode", "allMetrics", "allCharts", "allInsights", "goalTitle", "objectiveTitle", "currentModalState"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "click", "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", "M15 19l-7-7 7-7"], [1, "font-medium", 3, "ngClass"], ["type", "button", 1, "hover:underline", "cursor-pointer", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "sourceAnalysisClick", "metricClick", "contributingMetricsClick", "showObjectives", "close", "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "metricClick", "goal", "contributingMetrics", "viewMode"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
104370
104382
  i0.ɵɵconditionalCreate(0, UnifiedDashboardModalComponent_Conditional_0_Template, 26, 28, "div", 2);
104371
104383
  } if (rf & 2) {
104372
104384
  i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
@@ -104429,7 +104441,7 @@ class UnifiedDashboardModalComponent {
104429
104441
  <div
104430
104442
  (click)="$event.stopPropagation()"
104431
104443
  [ngClass]="isLightMode() ? 'bg-white/90 border-slate-200/50' : 'bg-slate-800/90 border-slate-700/50'"
104432
- class="relative w-full max-w-4xl rounded-2xl text-left overflow-hidden shadow-xl border backdrop-blur-xl"
104444
+ class="relative w-full max-w-6xl rounded-2xl text-left overflow-hidden shadow-xl border backdrop-blur-xl"
104433
104445
  [style.z-index]="contentZIndex()"
104434
104446
  @slideUpFade>
104435
104447