@eric-emg/symphiq-components 1.3.62 → 1.3.63

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.
@@ -137,6 +137,9 @@ class ModalService {
137
137
  }
138
138
  });
139
139
  }
140
+ getCurrentState() {
141
+ return this.modalState.value;
142
+ }
140
143
  /**
141
144
  * Checks if the current modal context is from Profile Analysis Dashboard
142
145
  * by looking at the current modal state and navigation stack
@@ -1013,7 +1016,7 @@ class ModalService {
1013
1016
  navigationStack: newStack
1014
1017
  });
1015
1018
  }
1016
- openUnifiedGoalModal(goal, allMetrics, allCharts, loadedSourceAnalysisIds, viewMode, loadingSourceAnalysisId) {
1019
+ openUnifiedGoalModal(goal, allMetrics, allCharts, loadedSourceAnalysisIds, viewMode, loadingSourceAnalysisId, previousState) {
1017
1020
  const data = {
1018
1021
  goal,
1019
1022
  allMetrics,
@@ -1026,9 +1029,9 @@ class ModalService {
1026
1029
  type: 'unified-goal-detail',
1027
1030
  data,
1028
1031
  charts: allCharts,
1029
- previousState: null,
1030
- navigationStack: [],
1031
- openedFromMainBody: true
1032
+ previousState: previousState ?? null,
1033
+ navigationStack: previousState ? [previousState] : [],
1034
+ openedFromMainBody: !previousState
1032
1035
  });
1033
1036
  }
1034
1037
  navigateToUnifiedGoalObjectives(goal, allMetrics, allCharts, viewMode) {
@@ -103101,32 +103104,32 @@ class SynthesisConfidenceSectionComponent {
103101
103104
  const _forTrack0$8 = ($index, $item) => $item.analysisId;
103102
103105
  function SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Conditional_1_Template(rf, ctx) { if (rf & 1) {
103103
103106
  i0.ɵɵelementStart(0, "div", 8);
103104
- i0.ɵɵelement(1, "div", 16);
103107
+ i0.ɵɵelement(1, "div", 19);
103105
103108
  i0.ɵɵelementEnd();
103106
103109
  } }
103107
103110
  function SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Conditional_2_Template(rf, ctx) { if (rf & 1) {
103108
103111
  i0.ɵɵelementStart(0, "div", 9);
103109
103112
  i0.ɵɵnamespaceSVG();
103110
- i0.ɵɵelementStart(1, "svg", 17);
103111
- i0.ɵɵelement(2, "path", 18);
103113
+ i0.ɵɵelementStart(1, "svg", 20);
103114
+ i0.ɵɵelement(2, "path", 21);
103112
103115
  i0.ɵɵelementEnd()();
103113
103116
  } }
103114
103117
  function SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Case_5_Template(rf, ctx) { if (rf & 1) {
103115
103118
  i0.ɵɵnamespaceSVG();
103116
103119
  i0.ɵɵelementStart(0, "svg", 2);
103117
- i0.ɵɵelement(1, "path", 19);
103120
+ i0.ɵɵelement(1, "path", 22);
103118
103121
  i0.ɵɵelementEnd();
103119
103122
  } }
103120
103123
  function SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Case_6_Template(rf, ctx) { if (rf & 1) {
103121
103124
  i0.ɵɵnamespaceSVG();
103122
103125
  i0.ɵɵelementStart(0, "svg", 2);
103123
- i0.ɵɵelement(1, "path", 20);
103126
+ i0.ɵɵelement(1, "path", 23);
103124
103127
  i0.ɵɵelementEnd();
103125
103128
  } }
103126
103129
  function SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Case_7_Template(rf, ctx) { if (rf & 1) {
103127
103130
  i0.ɵɵnamespaceSVG();
103128
103131
  i0.ɵɵelementStart(0, "svg", 2);
103129
- i0.ɵɵelement(1, "path", 21);
103132
+ i0.ɵɵelement(1, "path", 24);
103130
103133
  i0.ɵɵelementEnd();
103131
103134
  } }
103132
103135
  function SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
@@ -103153,6 +103156,11 @@ function SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Template(rf, ct
103153
103156
  i0.ɵɵelementEnd();
103154
103157
  i0.ɵɵelementStart(14, "div", 15);
103155
103158
  i0.ɵɵtext(15);
103159
+ i0.ɵɵelementEnd()();
103160
+ i0.ɵɵelementStart(16, "div", 16);
103161
+ i0.ɵɵnamespaceSVG();
103162
+ i0.ɵɵelementStart(17, "svg", 17);
103163
+ i0.ɵɵelement(18, "path", 18);
103156
103164
  i0.ɵɵelementEnd()()()();
103157
103165
  } if (rf & 2) {
103158
103166
  let tmp_15_0;
@@ -103181,6 +103189,8 @@ function SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Template(rf, ct
103181
103189
  i0.ɵɵproperty("ngClass", ctx_r2.sourceWeightClasses());
103182
103190
  i0.ɵɵadvance();
103183
103191
  i0.ɵɵtextInterpolate1(" ", ((source_r2.contributionWeight ?? 0) * 100).toFixed(0), "% contribution ");
103192
+ i0.ɵɵadvance();
103193
+ i0.ɵɵproperty("ngClass", ctx_r2.chevronClasses());
103184
103194
  } }
103185
103195
  function SourceAnalysisTraceabilityComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
103186
103196
  i0.ɵɵelementStart(0, "div", 0)(1, "h4", 1);
@@ -103193,7 +103203,7 @@ function SourceAnalysisTraceabilityComponent_Conditional_0_Template(rf, ctx) { i
103193
103203
  i0.ɵɵnamespaceHTML();
103194
103204
  i0.ɵɵelement(5, "symphiq-synthesis-confidence-section", 4);
103195
103205
  i0.ɵɵelementStart(6, "div", 5);
103196
- i0.ɵɵrepeaterCreate(7, SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Template, 16, 12, "button", 6, _forTrack0$8);
103206
+ i0.ɵɵrepeaterCreate(7, SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Template, 19, 13, "button", 6, _forTrack0$8);
103197
103207
  i0.ɵɵelementEnd()();
103198
103208
  } if (rf & 2) {
103199
103209
  let tmp_3_0;
@@ -103259,6 +103269,7 @@ class SourceAnalysisTraceabilityComponent {
103259
103269
  this.sourceTypeClasses = computed(() => this.isLightMode() ? 'text-slate-500' : 'text-slate-400', ...(ngDevMode ? [{ debugName: "sourceTypeClasses" }] : []));
103260
103270
  this.sourceTitleClasses = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "sourceTitleClasses" }] : []));
103261
103271
  this.sourceWeightClasses = computed(() => this.isLightMode() ? 'text-slate-500' : 'text-slate-400', ...(ngDevMode ? [{ debugName: "sourceWeightClasses" }] : []));
103272
+ this.chevronClasses = computed(() => this.isLightMode() ? 'text-slate-400' : 'text-slate-500', ...(ngDevMode ? [{ debugName: "chevronClasses" }] : []));
103262
103273
  }
103263
103274
  onSourceAnalysisClick(source) {
103264
103275
  this.sourceAnalysisClick.emit(source);
@@ -103272,7 +103283,7 @@ class SourceAnalysisTraceabilityComponent {
103272
103283
  }
103273
103284
  }
103274
103285
  static { this.ɵfac = function SourceAnalysisTraceabilityComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SourceAnalysisTraceabilityComponent)(); }; }
103275
- 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) {
103286
+ 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-center", "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, "flex-shrink-0", 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 5l7 7-7 7"], [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) {
103276
103287
  i0.ɵɵconditionalCreate(0, SourceAnalysisTraceabilityComponent_Conditional_0_Template, 9, 6, "div", 0);
103277
103288
  } if (rf & 2) {
103278
103289
  let tmp_0_0;
@@ -103320,7 +103331,7 @@ class SourceAnalysisTraceabilityComponent {
103320
103331
  </svg>
103321
103332
  </div>
103322
103333
  }
103323
- <div class="flex items-start gap-3">
103334
+ <div class="flex items-center gap-3">
103324
103335
  <div [ngClass]="sourceIconClasses()(source)" class="w-8 h-8 rounded-lg flex items-center justify-center flex-shrink-0">
103325
103336
  @switch (source.analysisType) {
103326
103337
  @case (ProfileAnalysisTypeEnum.SHOP) {
@@ -103354,6 +103365,11 @@ class SourceAnalysisTraceabilityComponent {
103354
103365
  {{ ((source.contributionWeight ?? 0) * 100).toFixed(0) }}% contribution
103355
103366
  </div>
103356
103367
  </div>
103368
+ <div [ngClass]="chevronClasses()" class="flex-shrink-0">
103369
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
103370
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"/>
103371
+ </svg>
103372
+ </div>
103357
103373
  </div>
103358
103374
  </button>
103359
103375
  }
@@ -103363,11 +103379,11 @@ class SourceAnalysisTraceabilityComponent {
103363
103379
  `
103364
103380
  }]
103365
103381
  }], null, { sourceAnalyses: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceAnalyses", 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 }] }], goal: [{ type: i0.Input, args: [{ isSignal: true, alias: "goal", required: true }] }], sourceAnalysisClick: [{ type: i0.Output, args: ["sourceAnalysisClick"] }] }); })();
103366
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SourceAnalysisTraceabilityComponent, { className: "SourceAnalysisTraceabilityComponent", filePath: "lib/components/shared/source-analysis-traceability.component.ts", lineNumber: 100 }); })();
103382
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SourceAnalysisTraceabilityComponent, { className: "SourceAnalysisTraceabilityComponent", filePath: "lib/components/shared/source-analysis-traceability.component.ts", lineNumber: 105 }); })();
103367
103383
 
103368
103384
  function UnifiedGoalDetailModalContentComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
103369
103385
  i0.ɵɵelementStart(0, "div", 3);
103370
- i0.ɵɵelement(1, "symphiq-thematic-category-badge", 12);
103386
+ i0.ɵɵelement(1, "symphiq-thematic-category-badge", 11);
103371
103387
  i0.ɵɵelementEnd();
103372
103388
  } if (rf & 2) {
103373
103389
  const ctx_r0 = i0.ɵɵnextContext();
@@ -103386,7 +103402,7 @@ function UnifiedGoalDetailModalContentComponent_Conditional_4_Template(rf, ctx)
103386
103402
  } }
103387
103403
  function UnifiedGoalDetailModalContentComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
103388
103404
  i0.ɵɵelementStart(0, "div", 5);
103389
- i0.ɵɵelement(1, "symphiq-napkin-visual-placeholder", 13);
103405
+ i0.ɵɵelement(1, "symphiq-napkin-visual-placeholder", 12);
103390
103406
  i0.ɵɵelementEnd();
103391
103407
  } if (rf & 2) {
103392
103408
  const ctx_r0 = i0.ɵɵnextContext();
@@ -103395,16 +103411,17 @@ function UnifiedGoalDetailModalContentComponent_Conditional_5_Template(rf, ctx)
103395
103411
  } }
103396
103412
  function UnifiedGoalDetailModalContentComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
103397
103413
  const _r2 = i0.ɵɵgetCurrentView();
103398
- i0.ɵɵelementStart(0, "symphiq-show-objectives-button", 14);
103399
- i0.ɵɵlistener("buttonClick", function UnifiedGoalDetailModalContentComponent_Conditional_6_Template_symphiq_show_objectives_button_buttonClick_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.showObjectives.emit()); });
103400
- i0.ɵɵelementEnd();
103414
+ i0.ɵɵelementStart(0, "div", 5)(1, "symphiq-show-objectives-button", 13);
103415
+ i0.ɵɵlistener("buttonClick", function UnifiedGoalDetailModalContentComponent_Conditional_6_Template_symphiq_show_objectives_button_buttonClick_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.showObjectives.emit()); });
103416
+ i0.ɵɵelementEnd()();
103401
103417
  } if (rf & 2) {
103402
103418
  const ctx_r0 = i0.ɵɵnextContext();
103419
+ i0.ɵɵadvance();
103403
103420
  i0.ɵɵproperty("viewMode", ctx_r0.viewMode())("subLabel", "View " + ctx_r0.goal().objectives.length + " objectives");
103404
103421
  } }
103405
103422
  function UnifiedGoalDetailModalContentComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
103406
103423
  const _r3 = i0.ɵɵgetCurrentView();
103407
- i0.ɵɵelementStart(0, "symphiq-related-content-button", 15);
103424
+ i0.ɵɵelementStart(0, "symphiq-related-content-button", 14);
103408
103425
  i0.ɵɵlistener("buttonClicked", function UnifiedGoalDetailModalContentComponent_Conditional_9_Template_symphiq_related_content_button_buttonClicked_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onContributingMetricsClick()); });
103409
103426
  i0.ɵɵelementEnd();
103410
103427
  } if (rf & 2) {
@@ -103412,7 +103429,7 @@ function UnifiedGoalDetailModalContentComponent_Conditional_9_Template(rf, ctx)
103412
103429
  i0.ɵɵproperty("count", ctx_r0.contributingMetricsCount())("svgPath", ctx_r0.metricsIconPath)("viewMode", ctx_r0.viewMode());
103413
103430
  } }
103414
103431
  function UnifiedGoalDetailModalContentComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
103415
- i0.ɵɵelement(0, "symphiq-related-content-button", 10);
103432
+ i0.ɵɵelement(0, "symphiq-related-content-button", 9);
103416
103433
  } if (rf & 2) {
103417
103434
  const ctx_r0 = i0.ɵɵnextContext();
103418
103435
  i0.ɵɵproperty("count", ctx_r0.contributingFocusAreasCount())("svgPath", ctx_r0.focusAreaIconPath)("viewMode", ctx_r0.viewMode())("showChevron", false)("tooltipContent", ctx_r0.focusAreasTooltipContent());
@@ -103473,18 +103490,18 @@ class UnifiedGoalDetailModalContentComponent {
103473
103490
  this.contributingMetricsClick.emit();
103474
103491
  }
103475
103492
  static { this.ɵfac = function UnifiedGoalDetailModalContentComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedGoalDetailModalContentComponent)(); }; }
103476
- 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, "mt-6"], [1, "mt-6", 3, "viewMode", "subLabel"], [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, "category", "viewMode"], [3, "visual", "viewMode"], [1, "mt-6", 3, "buttonClick", "viewMode", "subLabel"], ["label", "CONTRIBUTING METRIC", "labelPlural", "CONTRIBUTING METRICS", 3, "buttonClicked", "count", "svgPath", "viewMode"]], template: function UnifiedGoalDetailModalContentComponent_Template(rf, ctx) { if (rf & 1) {
103493
+ 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, "mt-6"], [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, "category", "viewMode"], [3, "visual", "viewMode"], [3, "buttonClick", "viewMode", "subLabel"], ["label", "CONTRIBUTING METRIC", "labelPlural", "CONTRIBUTING METRICS", 3, "buttonClicked", "count", "svgPath", "viewMode"]], template: function UnifiedGoalDetailModalContentComponent_Template(rf, ctx) { if (rf & 1) {
103477
103494
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
103478
103495
  i0.ɵɵconditionalCreate(3, UnifiedGoalDetailModalContentComponent_Conditional_3_Template, 2, 2, "div", 3);
103479
103496
  i0.ɵɵconditionalCreate(4, UnifiedGoalDetailModalContentComponent_Conditional_4_Template, 2, 2, "p", 4);
103480
103497
  i0.ɵɵconditionalCreate(5, UnifiedGoalDetailModalContentComponent_Conditional_5_Template, 2, 2, "div", 5);
103481
- i0.ɵɵconditionalCreate(6, UnifiedGoalDetailModalContentComponent_Conditional_6_Template, 1, 2, "symphiq-show-objectives-button", 6);
103498
+ i0.ɵɵconditionalCreate(6, UnifiedGoalDetailModalContentComponent_Conditional_6_Template, 2, 2, "div", 5);
103482
103499
  i0.ɵɵelementEnd();
103483
- i0.ɵɵelementStart(7, "div", 7);
103484
- i0.ɵɵelement(8, "symphiq-expected-impact-section", 8);
103485
- i0.ɵɵconditionalCreate(9, UnifiedGoalDetailModalContentComponent_Conditional_9_Template, 1, 3, "symphiq-related-content-button", 9);
103486
- i0.ɵɵconditionalCreate(10, UnifiedGoalDetailModalContentComponent_Conditional_10_Template, 1, 5, "symphiq-related-content-button", 10);
103487
- i0.ɵɵelementStart(11, "symphiq-source-analysis-traceability", 11);
103500
+ i0.ɵɵelementStart(7, "div", 6);
103501
+ i0.ɵɵelement(8, "symphiq-expected-impact-section", 7);
103502
+ i0.ɵɵconditionalCreate(9, UnifiedGoalDetailModalContentComponent_Conditional_9_Template, 1, 3, "symphiq-related-content-button", 8);
103503
+ i0.ɵɵconditionalCreate(10, UnifiedGoalDetailModalContentComponent_Conditional_10_Template, 1, 5, "symphiq-related-content-button", 9);
103504
+ i0.ɵɵelementStart(11, "symphiq-source-analysis-traceability", 10);
103488
103505
  i0.ɵɵlistener("sourceAnalysisClick", function UnifiedGoalDetailModalContentComponent_Template_symphiq_source_analysis_traceability_sourceAnalysisClick_11_listener($event) { return ctx.onSourceAnalysisClick($event); });
103489
103506
  i0.ɵɵelementEnd()()()();
103490
103507
  } if (rf & 2) {
@@ -103540,15 +103557,16 @@ class UnifiedGoalDetailModalContentComponent {
103540
103557
  />
103541
103558
  </div>
103542
103559
  }
103543
-
103560
+
103544
103561
  <!-- Objectives Button -->
103545
103562
  @if (goal().objectives && goal().objectives!.length > 0) {
103546
- <symphiq-show-objectives-button
103547
- class="mt-6"
103548
- [viewMode]="viewMode()"
103549
- [subLabel]="'View ' + goal().objectives!.length + ' objectives'"
103550
- (buttonClick)="showObjectives.emit()"
103551
- />
103563
+ <div class="mt-6">
103564
+ <symphiq-show-objectives-button
103565
+ [viewMode]="viewMode()"
103566
+ [subLabel]="'View ' + goal().objectives!.length + ' objectives'"
103567
+ (buttonClick)="showObjectives.emit()"
103568
+ />
103569
+ </div>
103552
103570
  }
103553
103571
  </div>
103554
103572
  <div class="lg:w-100 flex-shrink-0 flex flex-col gap-4">
@@ -103590,12 +103608,12 @@ class UnifiedGoalDetailModalContentComponent {
103590
103608
  />
103591
103609
  </div>
103592
103610
  </div>
103593
-
103611
+
103594
103612
  </div>
103595
103613
  `
103596
103614
  }]
103597
103615
  }], 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"] }] }); })();
103598
- (() => { (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: 99 }); })();
103616
+ (() => { (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 }); })();
103599
103617
 
103600
103618
  const _forTrack0$7 = ($index, $item) => $item.metric;
103601
103619
  function UnifiedGoalRelatedMetricsModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
@@ -103827,22 +103845,22 @@ class PriorityActionsModalContentComponent {
103827
103845
  const priorityStr = String(priority).toUpperCase();
103828
103846
  if (priorityStr === 'CRITICAL') {
103829
103847
  return isLight
103830
- ? 'bg-white border-l-4 border-l-red-500 border border-slate-200 hover:border-slate-300 hover:shadow-md'
103831
- : 'bg-slate-800/50 border-l-4 border-l-red-500 border border-slate-700/50 hover:border-slate-600/50';
103848
+ ? 'bg-white border-l-4 border-l-red-500 border border-slate-200 hover:shadow-[0_0_15px_rgba(239,68,68,0.4)]'
103849
+ : 'bg-slate-800/50 border-l-4 border-l-red-500 border border-slate-700/50 hover:shadow-[0_0_15px_rgba(239,68,68,0.5)]';
103832
103850
  }
103833
103851
  if (priorityStr === 'HIGH' || priorityStr === 'URGENT') {
103834
103852
  return isLight
103835
- ? 'bg-white border-l-4 border-l-orange-500 border border-slate-200 hover:border-slate-300 hover:shadow-md'
103836
- : 'bg-slate-800/50 border-l-4 border-l-orange-500 border border-slate-700/50 hover:border-slate-600/50';
103853
+ ? 'bg-white border-l-4 border-l-orange-500 border border-slate-200 hover:shadow-[0_0_15px_rgba(249,115,22,0.4)]'
103854
+ : 'bg-slate-800/50 border-l-4 border-l-orange-500 border border-slate-700/50 hover:shadow-[0_0_15px_rgba(249,115,22,0.5)]';
103837
103855
  }
103838
103856
  if (priorityStr === 'MEDIUM') {
103839
103857
  return isLight
103840
- ? 'bg-white border-l-4 border-l-amber-500 border border-slate-200 hover:border-slate-300 hover:shadow-md'
103841
- : 'bg-slate-800/50 border-l-4 border-l-amber-500 border border-slate-700/50 hover:border-slate-600/50';
103858
+ ? 'bg-white border-l-4 border-l-amber-500 border border-slate-200 hover:shadow-[0_0_15px_rgba(245,158,11,0.4)]'
103859
+ : 'bg-slate-800/50 border-l-4 border-l-amber-500 border border-slate-700/50 hover:shadow-[0_0_15px_rgba(245,158,11,0.5)]';
103842
103860
  }
103843
103861
  return isLight
103844
- ? 'bg-white border-l-4 border-l-blue-500 border border-slate-200 hover:border-slate-300 hover:shadow-md'
103845
- : 'bg-slate-800/50 border-l-4 border-l-blue-500 border border-slate-700/50 hover:border-slate-600/50';
103862
+ ? 'bg-white border-l-4 border-l-blue-500 border border-slate-200 hover:shadow-[0_0_15px_rgba(59,130,246,0.4)]'
103863
+ : 'bg-slate-800/50 border-l-4 border-l-blue-500 border border-slate-700/50 hover:shadow-[0_0_15px_rgba(59,130,246,0.5)]';
103846
103864
  }
103847
103865
  impactBadgeClasses(impact) {
103848
103866
  const isLight = this.isLight();
@@ -104253,6 +104271,7 @@ class UnifiedDashboardModalComponent {
104253
104271
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
104254
104272
  this.priorityActionGoalClick = output();
104255
104273
  this.priorityActionRecommendationClick = output();
104274
+ this.sourceAnalysisClickRequest = output();
104256
104275
  this.modalService = inject(ModalService);
104257
104276
  this.renderer = inject(Renderer2);
104258
104277
  this.document = inject(DOCUMENT);
@@ -104527,7 +104546,7 @@ class UnifiedDashboardModalComponent {
104527
104546
  });
104528
104547
  }
104529
104548
  onSourceAnalysisClick(source) {
104530
- console.log('Source analysis clicked:', source);
104549
+ this.sourceAnalysisClickRequest.emit(source);
104531
104550
  }
104532
104551
  onMetricClick(metric) {
104533
104552
  const data = this.unifiedGoalData();
@@ -104662,7 +104681,7 @@ class UnifiedDashboardModalComponent {
104662
104681
  let _t;
104663
104682
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalContent = _t.first);
104664
104683
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalWrapper = _t.first);
104665
- } }, inputs: { viewMode: [1, "viewMode"] }, outputs: { priorityActionGoalClick: "priorityActionGoalClick", priorityActionRecommendationClick: "priorityActionRecommendationClick" }, 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", "transition-opacity", "duration-200", 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"], [3, "items", "viewMode", "selectedIndex"], ["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"], [3, "goalClick", "recommendationClick", "items", "viewMode", "selectedIndex"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
104684
+ } }, inputs: { viewMode: [1, "viewMode"] }, outputs: { priorityActionGoalClick: "priorityActionGoalClick", priorityActionRecommendationClick: "priorityActionRecommendationClick", sourceAnalysisClickRequest: "sourceAnalysisClickRequest" }, 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", "transition-opacity", "duration-200", 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"], [3, "items", "viewMode", "selectedIndex"], ["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"], [3, "goalClick", "recommendationClick", "items", "viewMode", "selectedIndex"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
104666
104685
  i0.ɵɵconditionalCreate(0, UnifiedDashboardModalComponent_Conditional_0_Template, 27, 32, "div", 2);
104667
104686
  } if (rf & 2) {
104668
104687
  i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
@@ -104885,21 +104904,182 @@ class UnifiedDashboardModalComponent {
104885
104904
  }
104886
104905
  `
104887
104906
  }]
104888
- }], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], priorityActionGoalClick: [{ type: i0.Output, args: ["priorityActionGoalClick"] }], priorityActionRecommendationClick: [{ type: i0.Output, args: ["priorityActionRecommendationClick"] }], modalContent: [{
104907
+ }], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], priorityActionGoalClick: [{ type: i0.Output, args: ["priorityActionGoalClick"] }], priorityActionRecommendationClick: [{ type: i0.Output, args: ["priorityActionRecommendationClick"] }], sourceAnalysisClickRequest: [{ type: i0.Output, args: ["sourceAnalysisClickRequest"] }], modalContent: [{
104889
104908
  type: ViewChild,
104890
104909
  args: ['modalContent']
104891
104910
  }], modalWrapper: [{
104892
104911
  type: ViewChild,
104893
104912
  args: ['modalWrapper']
104894
104913
  }] }); })();
104895
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedDashboardModalComponent, { className: "UnifiedDashboardModalComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-dashboard-modal.component.ts", lineNumber: 235 }); })();
104914
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedDashboardModalComponent, { className: "UnifiedDashboardModalComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-dashboard-modal.component.ts", lineNumber: 236 }); })();
104915
+
104916
+ function UnifiedWelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
104917
+ i0.ɵɵtext(0, " Your Unified Goals ");
104918
+ } }
104919
+ function UnifiedWelcomeBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
104920
+ i0.ɵɵtext(0, " Welcome to Your Unified Analysis ");
104921
+ } }
104922
+ class UnifiedWelcomeBannerComponent {
104923
+ constructor() {
104924
+ this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
104925
+ this.businessName = input('your business', ...(ngDevMode ? [{ debugName: "businessName" }] : []));
104926
+ this.isOnboarded = input(false, ...(ngDevMode ? [{ debugName: "isOnboarded" }] : []));
104927
+ this.analysisDate = input(...(ngDevMode ? [undefined, { debugName: "analysisDate" }] : []));
104928
+ this.isUnifiedAnalysisComplete = input(false, ...(ngDevMode ? [{ debugName: "isUnifiedAnalysisComplete" }] : []));
104929
+ this.sourceAnalysesCount = input(0, ...(ngDevMode ? [{ debugName: "sourceAnalysesCount" }] : []));
104930
+ this.unifiedGoalsCount = input(0, ...(ngDevMode ? [{ debugName: "unifiedGoalsCount" }] : []));
104931
+ this.whatYoullSeeBelowItems = [
104932
+ { title: 'Unified Goals', description: 'Strategic goals synthesized from all your source analyses with clear priorities and expected impact' },
104933
+ { title: 'Implementation Timeline', description: 'A phased roadmap showing when to tackle each goal for optimal results' },
104934
+ { title: 'Priority Matrix', description: 'Visual prioritization of goals based on effort required and potential impact' },
104935
+ { title: 'Next Steps', description: 'Actionable steps to begin implementing your highest-priority unified goals' }
104936
+ ];
104937
+ this.formattedAnalysisDate = computed(() => {
104938
+ const date = this.analysisDate();
104939
+ if (!date) {
104940
+ return null;
104941
+ }
104942
+ return date.toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });
104943
+ }, ...(ngDevMode ? [{ debugName: "formattedAnalysisDate" }] : []));
104944
+ this.isDark = computed(() => this.viewMode() === ViewModeEnum.DARK, ...(ngDevMode ? [{ debugName: "isDark" }] : []));
104945
+ this.containerClasses = computed(() => this.isDark()
104946
+ ? 'bg-slate-800/40 border-slate-700/50'
104947
+ : 'bg-white border-slate-200', ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
104948
+ this.contentClasses = computed(() => this.isDark()
104949
+ ? 'bg-gradient-to-br from-slate-800/60 via-slate-800/40 to-slate-800/60'
104950
+ : 'bg-gradient-to-br from-emerald-50/30 via-white to-cyan-50/30', ...(ngDevMode ? [{ debugName: "contentClasses" }] : []));
104951
+ this.iconContainerClasses = computed(() => this.isDark()
104952
+ ? 'bg-gradient-to-br from-emerald-500/20 to-cyan-500/20 text-emerald-400'
104953
+ : 'bg-gradient-to-br from-emerald-100 to-cyan-100 text-emerald-600', ...(ngDevMode ? [{ debugName: "iconContainerClasses" }] : []));
104954
+ this.titleClasses = computed(() => this.isDark()
104955
+ ? 'text-white'
104956
+ : 'bg-gradient-to-r from-emerald-600 to-cyan-600 bg-clip-text text-transparent', ...(ngDevMode ? [{ debugName: "titleClasses" }] : []));
104957
+ this.textClasses = computed(() => this.isDark() ? 'text-slate-300' : 'text-slate-700', ...(ngDevMode ? [{ debugName: "textClasses" }] : []));
104958
+ }
104959
+ static { this.ɵfac = function UnifiedWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedWelcomeBannerComponent)(); }; }
104960
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedWelcomeBannerComponent, selectors: [["symphiq-unified-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], businessName: [1, "businessName"], isOnboarded: [1, "isOnboarded"], analysisDate: [1, "analysisDate"], isUnifiedAnalysisComplete: [1, "isUnifiedAnalysisComplete"], sourceAnalysesCount: [1, "sourceAnalysesCount"], unifiedGoalsCount: [1, "unifiedGoalsCount"] }, decls: 22, vars: 15, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "lg:col-span-1"], ["currentStepId", "unified-analysis", 3, "viewMode", "isCurrentStepComplete"], [1, "mt-6", "block", 3, "viewMode", "items", "analysisDate"], ["title", "Maximize Your Unified Insights", "onboardedTitle", "Keep Your Unified Goals Current", "description", "To get the most comprehensive unified goals, ensure you've completed your Shop Analysis, Focus Area Analyses, and Metric Analyses. The more context Symphiq has about your business, the more precise and actionable your unified recommendations become.", "onboardedDescription", "As you complete more analyses or update existing ones, your Unified Goals will be refined to reflect your current business context. Regenerate your unified analysis periodically to ensure recommendations stay aligned with your evolving strategy and priorities.", 1, "mt-6", "block", 3, "viewMode", "isOnboarded"]], template: function UnifiedWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
104961
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
104962
+ i0.ɵɵnamespaceSVG();
104963
+ i0.ɵɵelementStart(4, "svg", 4);
104964
+ i0.ɵɵelement(5, "path", 5);
104965
+ i0.ɵɵelementEnd()();
104966
+ i0.ɵɵnamespaceHTML();
104967
+ i0.ɵɵelementStart(6, "div", 6)(7, "h2", 7);
104968
+ i0.ɵɵconditionalCreate(8, UnifiedWelcomeBannerComponent_Conditional_8_Template, 1, 0)(9, UnifiedWelcomeBannerComponent_Conditional_9_Template, 1, 0);
104969
+ i0.ɵɵelementEnd();
104970
+ i0.ɵɵelementStart(10, "div", 8)(11, "div", 9)(12, "p", 10);
104971
+ i0.ɵɵtext(13);
104972
+ i0.ɵɵelementEnd();
104973
+ i0.ɵɵelementStart(14, "p", 10)(15, "strong", 11);
104974
+ i0.ɵɵtext(16, "Why this matters:");
104975
+ i0.ɵɵelementEnd();
104976
+ i0.ɵɵtext(17, " Instead of managing separate recommendations from each analysis, the Unified Analysis consolidates them into actionable goals with clear priorities, timelines, and expected impact. This ensures you focus on what will drive the most value for your business. ");
104977
+ i0.ɵɵelementEnd()();
104978
+ i0.ɵɵelementStart(18, "div", 12);
104979
+ i0.ɵɵelement(19, "symphiq-confidence-level-card", 13);
104980
+ i0.ɵɵelementEnd()();
104981
+ i0.ɵɵelement(20, "symphiq-what-youll-see-below", 14)(21, "symphiq-continue-your-journey", 15);
104982
+ i0.ɵɵelementEnd()()()();
104983
+ } if (rf & 2) {
104984
+ i0.ɵɵproperty("ngClass", ctx.containerClasses());
104985
+ i0.ɵɵadvance();
104986
+ i0.ɵɵproperty("ngClass", ctx.contentClasses());
104987
+ i0.ɵɵadvance(2);
104988
+ i0.ɵɵproperty("ngClass", ctx.iconContainerClasses());
104989
+ i0.ɵɵadvance(4);
104990
+ i0.ɵɵproperty("ngClass", ctx.titleClasses());
104991
+ i0.ɵɵadvance();
104992
+ i0.ɵɵconditional(ctx.isOnboarded() ? 8 : 9);
104993
+ i0.ɵɵadvance(4);
104994
+ i0.ɵɵproperty("ngClass", ctx.textClasses());
104995
+ i0.ɵɵadvance();
104996
+ i0.ɵɵtextInterpolate1(" The Unified Analysis synthesizes insights from all your source analyses\u2014Shop Analysis, Focus Area Analyses, and Metric Analyses\u2014into cohesive strategic goals for ", ctx.businessName(), ". These unified goals represent the highest-priority opportunities identified across your entire business context. ");
104997
+ i0.ɵɵadvance();
104998
+ i0.ɵɵproperty("ngClass", ctx.textClasses());
104999
+ i0.ɵɵadvance(5);
105000
+ i0.ɵɵproperty("viewMode", ctx.viewMode())("isCurrentStepComplete", ctx.isUnifiedAnalysisComplete());
105001
+ i0.ɵɵadvance();
105002
+ i0.ɵɵproperty("viewMode", ctx.viewMode())("items", ctx.whatYoullSeeBelowItems)("analysisDate", ctx.formattedAnalysisDate());
105003
+ i0.ɵɵadvance();
105004
+ i0.ɵɵproperty("viewMode", ctx.viewMode())("isOnboarded", ctx.isOnboarded());
105005
+ } }, dependencies: [CommonModule, i1$1.NgClass, ConfidenceLevelCardComponent, ContinueYourJourneyComponent, WhatYoullSeeBelowComponent], encapsulation: 2, changeDetection: 0 }); }
105006
+ }
105007
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnifiedWelcomeBannerComponent, [{
105008
+ type: Component,
105009
+ args: [{
105010
+ selector: 'symphiq-unified-welcome-banner',
105011
+ standalone: true,
105012
+ imports: [CommonModule, ConfidenceLevelCardComponent, ContinueYourJourneyComponent, WhatYoullSeeBelowComponent],
105013
+ changeDetection: ChangeDetectionStrategy.OnPush,
105014
+ template: `
105015
+ <div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
105016
+ <div [ngClass]="contentClasses()" class="px-8 py-8">
105017
+ <div class="flex items-start gap-6">
105018
+ <div [ngClass]="iconContainerClasses()" class="flex-shrink-0 w-16 h-16 rounded-2xl flex items-center justify-center">
105019
+ <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
105020
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
105021
+ </svg>
105022
+ </div>
105023
+
105024
+ <div class="flex-1">
105025
+ <h2 [ngClass]="titleClasses()" class="text-2xl sm:text-3xl font-bold mb-3">
105026
+ @if (isOnboarded()) {
105027
+ Your Unified Goals
105028
+ } @else {
105029
+ Welcome to Your Unified Analysis
105030
+ }
105031
+ </h2>
105032
+
105033
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
105034
+ <div class="lg:col-span-2 space-y-3">
105035
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed">
105036
+ The Unified Analysis synthesizes insights from all your source analyses—Shop Analysis, Focus Area Analyses, and Metric Analyses—into cohesive strategic goals for {{ businessName() }}. These unified goals represent the highest-priority opportunities identified across your entire business context.
105037
+ </p>
105038
+ <p [ngClass]="textClasses()" class="text-base leading-relaxed">
105039
+ <strong class="font-semibold">Why this matters:</strong> Instead of managing separate recommendations from each analysis, the Unified Analysis consolidates them into actionable goals with clear priorities, timelines, and expected impact. This ensures you focus on what will drive the most value for your business.
105040
+ </p>
105041
+ </div>
105042
+
105043
+ <div class="lg:col-span-1">
105044
+ <symphiq-confidence-level-card
105045
+ [viewMode]="viewMode()"
105046
+ currentStepId="unified-analysis"
105047
+ [isCurrentStepComplete]="isUnifiedAnalysisComplete()"
105048
+ />
105049
+ </div>
105050
+ </div>
105051
+
105052
+ <symphiq-what-youll-see-below
105053
+ class="mt-6 block"
105054
+ [viewMode]="viewMode()"
105055
+ [items]="whatYoullSeeBelowItems"
105056
+ [analysisDate]="formattedAnalysisDate()"
105057
+ />
105058
+
105059
+ <symphiq-continue-your-journey
105060
+ class="mt-6 block"
105061
+ [viewMode]="viewMode()"
105062
+ [isOnboarded]="isOnboarded()"
105063
+ title="Maximize Your Unified Insights"
105064
+ onboardedTitle="Keep Your Unified Goals Current"
105065
+ description="To get the most comprehensive unified goals, ensure you've completed your Shop Analysis, Focus Area Analyses, and Metric Analyses. The more context Symphiq has about your business, the more precise and actionable your unified recommendations become."
105066
+ onboardedDescription="As you complete more analyses or update existing ones, your Unified Goals will be refined to reflect your current business context. Regenerate your unified analysis periodically to ensure recommendations stay aligned with your evolving strategy and priorities."
105067
+ />
105068
+ </div>
105069
+ </div>
105070
+ </div>
105071
+ </div>
105072
+ `
105073
+ }]
105074
+ }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], businessName: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], analysisDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisDate", required: false }] }], isUnifiedAnalysisComplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "isUnifiedAnalysisComplete", required: false }] }], sourceAnalysesCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceAnalysesCount", required: false }] }], unifiedGoalsCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "unifiedGoalsCount", required: false }] }] }); })();
105075
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedWelcomeBannerComponent, { className: "UnifiedWelcomeBannerComponent", filePath: "lib/components/profile-analysis-unified-dashboard/unified-welcome-banner.component.ts", lineNumber: 73 }); })();
104896
105076
 
104897
105077
  const _c0$7 = () => [];
104898
105078
  const _c1$3 = a0 => ({ name: "flag", source: a0 });
104899
105079
  const _forTrack0$6 = ($index, $item) => $item.id;
104900
105080
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
104901
105081
  const _r1 = i0.ɵɵgetCurrentView();
104902
- i0.ɵɵelementStart(0, "symphiq-journey-progress-indicator", 17);
105082
+ i0.ɵɵelementStart(0, "symphiq-journey-progress-indicator", 15);
104903
105083
  i0.ɵɵlistener("nextStepClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_5_Template_symphiq_journey_progress_indicator_nextStepClick_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.nextStepClick.emit()); })("stepClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_5_Template_symphiq_journey_progress_indicator_stepClick_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.stepClick.emit($event)); });
104904
105084
  i0.ɵɵelementEnd();
104905
105085
  } if (rf & 2) {
@@ -104907,26 +105087,26 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_5_Template(
104907
105087
  i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("currentStepId", ctx_r1.JourneyStepIdEnum.UNIFIED_ANALYSIS)("showNextStepAction", false)("forDemo", ctx_r1.forDemo())("maxAccessibleStepId", ctx_r1.maxAccessibleStepId());
104908
105088
  } }
104909
105089
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_1_Template(rf, ctx) { if (rf & 1) {
104910
- i0.ɵɵelement(0, "symphiq-loading-card", 19);
105090
+ i0.ɵɵelement(0, "symphiq-loading-card", 17);
104911
105091
  } if (rf & 2) {
104912
105092
  const ctx_r1 = i0.ɵɵnextContext(2);
104913
105093
  i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("backdropBlur", true);
104914
105094
  } }
104915
- function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_14_For_5_Template(rf, ctx) { if (rf & 1) {
105095
+ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_2_For_5_Template(rf, ctx) { if (rf & 1) {
104916
105096
  const _r4 = i0.ɵɵgetCurrentView();
104917
- i0.ɵɵelementStart(0, "symphiq-unified-goal-card", 39);
104918
- i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_14_For_5_Template_symphiq_unified_goal_card_goalClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); })("sourceBadgeClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_14_For_5_Template_symphiq_unified_goal_card_sourceBadgeClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onSourceBadgeClickFromCard($event)); })("relatedMetricsClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_14_For_5_Template_symphiq_unified_goal_card_relatedMetricsClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onRelatedMetricsClickFromCard($event)); })("learnMoreClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_14_For_5_Template_symphiq_unified_goal_card_learnMoreClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
105097
+ i0.ɵɵelementStart(0, "symphiq-unified-goal-card", 28);
105098
+ i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_2_For_5_Template_symphiq_unified_goal_card_goalClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); })("sourceBadgeClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_2_For_5_Template_symphiq_unified_goal_card_sourceBadgeClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onSourceBadgeClickFromCard($event)); })("relatedMetricsClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_2_For_5_Template_symphiq_unified_goal_card_relatedMetricsClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onRelatedMetricsClickFromCard($event)); })("learnMoreClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_2_For_5_Template_symphiq_unified_goal_card_learnMoreClick_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
104919
105099
  i0.ɵɵelementEnd();
104920
105100
  } if (rf & 2) {
104921
105101
  const goal_r5 = ctx.$implicit;
104922
105102
  const ctx_r1 = i0.ɵɵnextContext(4);
104923
105103
  i0.ɵɵproperty("goal", goal_r5)("viewMode", ctx_r1.viewMode());
104924
105104
  } }
104925
- function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
104926
- i0.ɵɵelementStart(0, "section", 31);
104927
- i0.ɵɵelement(1, "symphiq-section-divider", 35)(2, "symphiq-section-header", 36);
104928
- i0.ɵɵelementStart(3, "div", 37);
104929
- i0.ɵɵrepeaterCreate(4, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_14_For_5_Template, 1, 2, "symphiq-unified-goal-card", 38, _forTrack0$6);
105105
+ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
105106
+ i0.ɵɵelementStart(0, "section", 20);
105107
+ i0.ɵɵelement(1, "symphiq-section-divider", 24)(2, "symphiq-section-header", 25);
105108
+ i0.ɵɵelementStart(3, "div", 26);
105109
+ i0.ɵɵrepeaterCreate(4, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_2_For_5_Template, 1, 2, "symphiq-unified-goal-card", 27, _forTrack0$6);
104930
105110
  i0.ɵɵelementEnd()();
104931
105111
  } if (rf & 2) {
104932
105112
  const ctx_r1 = i0.ɵɵnextContext(3);
@@ -104939,54 +105119,27 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104939
105119
  } }
104940
105120
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template(rf, ctx) { if (rf & 1) {
104941
105121
  const _r3 = i0.ɵɵgetCurrentView();
104942
- i0.ɵɵelementStart(0, "div", 20)(1, "div", 21)(2, "div", 22)(3, "div", 23);
104943
- i0.ɵɵnamespaceSVG();
104944
- i0.ɵɵelementStart(4, "svg", 24);
104945
- i0.ɵɵelement(5, "path", 25);
104946
- i0.ɵɵelementEnd()();
104947
- i0.ɵɵnamespaceHTML();
104948
- i0.ɵɵelementStart(6, "div", 26)(7, "h1", 27);
104949
- i0.ɵɵtext(8);
104950
- i0.ɵɵelementEnd();
104951
- i0.ɵɵelementStart(9, "p", 28);
104952
- i0.ɵɵtext(10);
105122
+ i0.ɵɵelement(0, "symphiq-unified-welcome-banner", 18);
105123
+ i0.ɵɵelementStart(1, "symphiq-unified-executive-summary", 19);
105124
+ i0.ɵɵlistener("viewAllPriorityActionsClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_executive_summary_viewAllPriorityActionsClick_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onViewAllPriorityActionsClick()); });
104953
105125
  i0.ɵɵelementEnd();
104954
- i0.ɵɵelementStart(11, "p", 29);
104955
- i0.ɵɵtext(12, " These goals combine insights from your shop analysis, focus areas, and metric analyses into actionable strategic priorities. ");
104956
- i0.ɵɵelementEnd()()()()();
104957
- i0.ɵɵelementStart(13, "symphiq-unified-executive-summary", 30);
104958
- i0.ɵɵlistener("viewAllPriorityActionsClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_executive_summary_viewAllPriorityActionsClick_13_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onViewAllPriorityActionsClick()); });
104959
- i0.ɵɵelementEnd();
104960
- i0.ɵɵconditionalCreate(14, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_14_Template, 6, 8, "section", 31);
104961
- i0.ɵɵelementStart(15, "symphiq-unified-timeline", 32);
104962
- i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_timeline_goalClick_15_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
105126
+ i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_2_Template, 6, 8, "section", 20);
105127
+ i0.ɵɵelementStart(3, "symphiq-unified-timeline", 21);
105128
+ i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_timeline_goalClick_3_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
104963
105129
  i0.ɵɵelementEnd();
104964
- i0.ɵɵelementStart(16, "symphiq-unified-priority-matrix", 33);
104965
- i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_priority_matrix_goalClick_16_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
105130
+ i0.ɵɵelementStart(4, "symphiq-unified-priority-matrix", 22);
105131
+ i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_priority_matrix_goalClick_4_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
104966
105132
  i0.ɵɵelementEnd();
104967
- i0.ɵɵelementStart(17, "symphiq-unified-next-steps", 34);
104968
- i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_next_steps_goalClick_17_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
105133
+ i0.ɵɵelementStart(5, "symphiq-unified-next-steps", 23);
105134
+ i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_next_steps_goalClick_5_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
104969
105135
  i0.ɵɵelementEnd();
104970
105136
  } if (rf & 2) {
104971
105137
  const ctx_r1 = i0.ɵɵnextContext(2);
105138
+ i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("businessName", ctx_r1.businessName())("isOnboarded", ctx_r1.isOnboarded())("analysisDate", ctx_r1.unifiedAnalysisDate())("isUnifiedAnalysisComplete", !ctx_r1.isLoading() && !ctx_r1.isGenerating())("sourceAnalysesCount", ctx_r1.sourceAnalysesCount())("unifiedGoalsCount", ctx_r1.unifiedGoals().length);
104972
105139
  i0.ɵɵadvance();
104973
- i0.ɵɵproperty("ngClass", ctx_r1.welcomeBannerClasses());
104974
- i0.ɵɵadvance(2);
104975
- i0.ɵɵproperty("ngClass", ctx_r1.welcomeIconClasses());
104976
- i0.ɵɵadvance(4);
104977
- i0.ɵɵproperty("ngClass", ctx_r1.welcomeTitleClasses());
104978
- i0.ɵɵadvance();
104979
- i0.ɵɵtextInterpolate1(" Unified Goals for ", ctx_r1.businessName(), " ");
104980
- i0.ɵɵadvance();
104981
- i0.ɵɵproperty("ngClass", ctx_r1.welcomeSubtitleClasses());
104982
- i0.ɵɵadvance();
104983
- i0.ɵɵtextInterpolate2(" We've synthesized ", ctx_r1.unifiedGoals().length, " unified goals from ", ctx_r1.sourceAnalysesCount(), " source analyses. ");
104984
- i0.ɵɵadvance();
104985
- i0.ɵɵproperty("ngClass", ctx_r1.welcomeDescriptionClasses());
104986
- i0.ɵɵadvance(2);
104987
105140
  i0.ɵɵproperty("summary", ctx_r1.executiveSummary())("viewMode", ctx_r1.viewMode())("shopCounts", ctx_r1.shopCounts())("focusAreaCounts", ctx_r1.focusAreaCounts())("metricCounts", ctx_r1.metricCounts());
104988
105141
  i0.ɵɵadvance();
104989
- i0.ɵɵconditional(ctx_r1.unifiedGoals().length > 0 ? 14 : -1);
105142
+ i0.ɵɵconditional(ctx_r1.unifiedGoals().length > 0 ? 2 : -1);
104990
105143
  i0.ɵɵadvance();
104991
105144
  i0.ɵɵproperty("timeline", ctx_r1.unifiedTimeline())("viewMode", ctx_r1.viewMode())("goals", ctx_r1.unifiedGoals());
104992
105145
  i0.ɵɵadvance();
@@ -104995,20 +105148,20 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104995
105148
  i0.ɵɵproperty("steps", ctx_r1.nextSteps())("viewMode", ctx_r1.viewMode())("goals", ctx_r1.unifiedGoals());
104996
105149
  } }
104997
105150
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
104998
- i0.ɵɵelement(0, "symphiq-grade-badge", 46);
105151
+ i0.ɵɵelement(0, "symphiq-grade-badge", 36);
104999
105152
  } if (rf & 2) {
105000
105153
  const summary_r6 = i0.ɵɵnextContext();
105001
105154
  const ctx_r1 = i0.ɵɵnextContext(3);
105002
105155
  i0.ɵɵproperty("grade", summary_r6.overallGrade)("gradeRationale", summary_r6.gradeRationale || "")("viewMode", ctx_r1.viewMode());
105003
105156
  } }
105004
105157
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
105005
- i0.ɵɵelementStart(0, "section", 40)(1, "div", 41)(2, "div", 42)(3, "div", 43)(4, "div", 26)(5, "h2", 44);
105158
+ i0.ɵɵelementStart(0, "section", 29)(1, "div", 30)(2, "div", 31)(3, "div", 32)(4, "div", 33)(5, "h2", 34);
105006
105159
  i0.ɵɵtext(6, " Executive Summary ");
105007
105160
  i0.ɵɵelementEnd();
105008
- i0.ɵɵelementStart(7, "p", 45);
105161
+ i0.ɵɵelementStart(7, "p", 35);
105009
105162
  i0.ɵɵtext(8);
105010
105163
  i0.ɵɵelementEnd()();
105011
- i0.ɵɵconditionalCreate(9, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Conditional_0_Conditional_9_Template, 1, 3, "symphiq-grade-badge", 46);
105164
+ i0.ɵɵconditionalCreate(9, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Conditional_0_Conditional_9_Template, 1, 3, "symphiq-grade-badge", 36);
105012
105165
  i0.ɵɵelementEnd()()()();
105013
105166
  } if (rf & 2) {
105014
105167
  const summary_r6 = ctx;
@@ -105025,16 +105178,16 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
105025
105178
  i0.ɵɵconditional(summary_r6.overallGrade ? 9 : -1);
105026
105179
  } }
105027
105180
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Template(rf, ctx) { if (rf & 1) {
105028
- i0.ɵɵconditionalCreate(0, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Conditional_0_Template, 10, 5, "section", 40);
105181
+ i0.ɵɵconditionalCreate(0, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Conditional_0_Template, 10, 5, "section", 29);
105029
105182
  } if (rf & 2) {
105030
105183
  let tmp_2_0;
105031
105184
  const ctx_r1 = i0.ɵɵnextContext(2);
105032
105185
  i0.ɵɵconditional((tmp_2_0 = ctx_r1.executiveSummary()) ? 0 : -1, tmp_2_0);
105033
105186
  } }
105034
105187
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
105035
- i0.ɵɵelementStart(0, "main", 18);
105036
- i0.ɵɵconditionalCreate(1, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_1_Template, 1, 2, "symphiq-loading-card", 19);
105037
- i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 18, 22);
105188
+ i0.ɵɵelementStart(0, "main", 16);
105189
+ i0.ɵɵconditionalCreate(1, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_1_Template, 1, 2, "symphiq-loading-card", 17);
105190
+ i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 6, 21);
105038
105191
  i0.ɵɵconditionalCreate(3, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Template, 1, 1);
105039
105192
  i0.ɵɵelementEnd();
105040
105193
  } if (rf & 2) {
@@ -105055,7 +105208,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_7_Template(
105055
105208
  } }
105056
105209
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
105057
105210
  const _r7 = i0.ɵɵgetCurrentView();
105058
- i0.ɵɵelementStart(0, "symphiq-search-modal", 47);
105211
+ i0.ɵɵelementStart(0, "symphiq-search-modal", 37);
105059
105212
  i0.ɵɵlistener("close", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_8_Template_symphiq_search_modal_close_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeSearch()); });
105060
105213
  i0.ɵɵelementEnd();
105061
105214
  } if (rf & 2) {
@@ -105064,7 +105217,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_8_Template(
105064
105217
  } }
105065
105218
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
105066
105219
  const _r8 = i0.ɵɵgetCurrentView();
105067
- i0.ɵɵelementStart(0, "symphiq-view-mode-switcher-modal", 48);
105220
+ i0.ɵɵelementStart(0, "symphiq-view-mode-switcher-modal", 38);
105068
105221
  i0.ɵɵlistener("close", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_9_Template_symphiq_view_mode_switcher_modal_close_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeViewModeSwitcher()); })("modeSelected", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_9_Template_symphiq_view_mode_switcher_modal_modeSelected_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleDisplayModeChange($event)); });
105069
105222
  i0.ɵɵelementEnd();
105070
105223
  } if (rf & 2) {
@@ -105073,7 +105226,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_9_Template(
105073
105226
  } }
105074
105227
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
105075
105228
  const _r9 = i0.ɵɵgetCurrentView();
105076
- i0.ɵɵelementStart(0, "symphiq-mark-as-reviewed-footer", 49);
105229
+ i0.ɵɵelementStart(0, "symphiq-mark-as-reviewed-footer", 39);
105077
105230
  i0.ɵɵlistener("markAsReviewed", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_10_Template_symphiq_mark_as_reviewed_footer_markAsReviewed_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.handleMarkAsReviewedClick()); });
105078
105231
  i0.ɵɵelementEnd();
105079
105232
  } if (rf & 2) {
@@ -105122,6 +105275,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105122
105275
  this.isViewModeSwitcherOpen = signal(false, ...(ngDevMode ? [{ debugName: "isViewModeSwitcherOpen" }] : []));
105123
105276
  this.funnelAnalysisSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "funnelAnalysisSignal" }] : []));
105124
105277
  this.loadingSourceAnalysisId = signal(undefined, ...(ngDevMode ? [{ debugName: "loadingSourceAnalysisId" }] : []));
105278
+ this.pendingSourceRequest = signal(undefined, ...(ngDevMode ? [{ debugName: "pendingSourceRequest" }] : []));
105125
105279
  this.fabExpanded = signal(false, ...(ngDevMode ? [{ debugName: "fabExpanded" }] : []));
105126
105280
  this.activeNavSection = signal('executive-summary', ...(ngDevMode ? [{ debugName: "activeNavSection" }] : []));
105127
105281
  this.mobileNavSections = [
@@ -105231,6 +105385,13 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105231
105385
  }
105232
105386
  return uniqueIds.size || this.sourceProfileAnalyses()?.length || 0;
105233
105387
  }, ...(ngDevMode ? [{ debugName: "sourceAnalysesCount" }] : []));
105388
+ this.unifiedAnalysisDate = computed(() => {
105389
+ const analysis = this.unifiedProfileAnalysis();
105390
+ if (analysis?.selfContentCompletedDate) {
105391
+ return new Date(analysis.selfContentCompletedDate);
105392
+ }
105393
+ return undefined;
105394
+ }, ...(ngDevMode ? [{ debugName: "unifiedAnalysisDate" }] : []));
105234
105395
  this.shopCounts = computed(() => {
105235
105396
  return this.countByType(ProfileAnalysisTypeEnum.SHOP);
105236
105397
  }, ...(ngDevMode ? [{ debugName: "shopCounts" }] : []));
@@ -105349,7 +105510,8 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105349
105510
  const analysis = this.unifiedProfileAnalysis();
105350
105511
  if (!analysis)
105351
105512
  return false;
105352
- return false;
105513
+ return analysis.selfContentStatus === AiDynamicContentStatusEnum.GENERATED &&
105514
+ analysis.reviewStatus === ProfileAnalysisReviewStatusEnum.NOT_REVIEWED;
105353
105515
  }, ...(ngDevMode ? [{ debugName: "shouldShowReviewFooter" }] : []));
105354
105516
  this.welcomeBannerClasses = computed(() => this.isLightMode()
105355
105517
  ? 'bg-gradient-to-r from-blue-600 via-cyan-600 to-teal-600 text-white'
@@ -105441,6 +105603,17 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105441
105603
  }
105442
105604
  }
105443
105605
  }, ...(ngDevMode ? [{ debugName: "embeddedScrollEffect" }] : []));
105606
+ this.pendingSourceRequestEffect = effect(() => {
105607
+ const pending = this.pendingSourceRequest();
105608
+ if (!pending?.analysisId)
105609
+ return;
105610
+ const analysis = this.sourceAnalysesMap().get(pending.analysisId);
105611
+ if (analysis) {
105612
+ untracked(() => {
105613
+ this.openSourceGoalModal(analysis, pending.sourceGoalId);
105614
+ });
105615
+ }
105616
+ }, ...(ngDevMode ? [{ debugName: "pendingSourceRequestEffect" }] : []));
105444
105617
  }
105445
105618
  ngOnChanges(changes) {
105446
105619
  if (changes['funnelAnalysis']) {
@@ -105527,11 +105700,51 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105527
105700
  onPriorityActionGoalClick(goalId) {
105528
105701
  const goal = this.unifiedGoals().find(g => g.id === goalId);
105529
105702
  if (goal) {
105530
- this.onGoalClick(goal);
105703
+ const currentState = this.modalService.getCurrentState();
105704
+ this.modalService.openUnifiedGoalModal(goal, this.allMetrics(), this.allCharts(), this.loadedSourceAnalysisIds().map(String), this.viewMode(), this.loadingSourceAnalysisId() !== undefined ? String(this.loadingSourceAnalysisId()) : undefined, currentState);
105531
105705
  }
105532
105706
  }
105533
105707
  onPriorityActionRecommendationClick(recommendationId) {
105534
- console.log('Recommendation click not yet implemented. ID:', recommendationId);
105708
+ const result = this.findRecommendationInSourceAnalyses(recommendationId);
105709
+ if (result) {
105710
+ this.modalService.navigateToSourceRecommendation(result.recommendation, result.strategy, result.objective, result.goal, result.sourceAnalysisRef, result.unifiedGoal, this.viewMode());
105711
+ }
105712
+ else {
105713
+ console.warn('[Priority Actions] Recommendation not found in loaded source analyses. ID:', recommendationId);
105714
+ }
105715
+ }
105716
+ findRecommendationInSourceAnalyses(recommendationId) {
105717
+ const sourceAnalysesMap = this.sourceAnalysesMap();
105718
+ const unifiedGoals = this.unifiedGoals();
105719
+ for (const [analysisId, analysis] of sourceAnalysesMap.entries()) {
105720
+ const structured = analysis.profileAnalysisStructured;
105721
+ const goals = structured?.strategicRoadmap?.goals || [];
105722
+ for (const goal of goals) {
105723
+ for (const objective of goal.objectives || []) {
105724
+ for (const strategy of objective.strategies || []) {
105725
+ for (const recommendation of strategy.recommendations || []) {
105726
+ if (recommendation.id === recommendationId) {
105727
+ const unifiedGoal = unifiedGoals.find(ug => ug.sourceAnalyses?.some(sa => sa.analysisId === analysisId && sa.sourceGoalId === goal.id));
105728
+ if (unifiedGoal) {
105729
+ const sourceAnalysisRef = unifiedGoal.sourceAnalyses?.find(sa => sa.analysisId === analysisId && sa.sourceGoalId === goal.id);
105730
+ if (sourceAnalysisRef) {
105731
+ return {
105732
+ recommendation,
105733
+ strategy,
105734
+ objective,
105735
+ goal,
105736
+ sourceAnalysisRef,
105737
+ unifiedGoal
105738
+ };
105739
+ }
105740
+ }
105741
+ }
105742
+ }
105743
+ }
105744
+ }
105745
+ }
105746
+ }
105747
+ return null;
105535
105748
  }
105536
105749
  onSourceBadgeClick(event, source, goal) {
105537
105750
  event.stopPropagation();
@@ -105584,6 +105797,34 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105584
105797
  this.modalService.openMetricsListModal(metrics, this.allCharts(), { title: goal.title || '', description: goal.description || '', businessContext: '', priority: 0 });
105585
105798
  }
105586
105799
  }
105800
+ handleSourceAnalysisClickFromModal(source) {
105801
+ const analysisId = source.analysisId;
105802
+ if (analysisId === undefined)
105803
+ return;
105804
+ const existingAnalysis = this.sourceAnalysesMap().get(analysisId);
105805
+ if (existingAnalysis) {
105806
+ this.openSourceGoalModal(existingAnalysis, source.sourceGoalId);
105807
+ }
105808
+ else {
105809
+ this.loadingSourceAnalysisId.set(analysisId);
105810
+ this.pendingSourceRequest.set(source);
105811
+ this.sourceAnalysisRequest.emit({
105812
+ analysisType: source.analysisType,
105813
+ analysisId: analysisId,
105814
+ sourceGoalId: source.sourceGoalId
105815
+ });
105816
+ }
105817
+ }
105818
+ openSourceGoalModal(analysis, sourceGoalId) {
105819
+ const structured = analysis.profileAnalysisStructured;
105820
+ const goals = structured?.strategicRoadmap?.goals || [];
105821
+ const goal = goals.find(g => g.id === sourceGoalId);
105822
+ if (goal) {
105823
+ this.modalService.openGoalDetailModal(goal, this.viewMode());
105824
+ }
105825
+ this.loadingSourceAnalysisId.set(undefined);
105826
+ this.pendingSourceRequest.set(undefined);
105827
+ }
105587
105828
  onShopGoalsClick() {
105588
105829
  const element = document.getElementById('section-unified-goals');
105589
105830
  if (element) {
@@ -105855,7 +106096,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105855
106096
  static { this.ɵfac = function SymphiqProfileAnalysisUnifiedDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileAnalysisUnifiedDashboardComponent)(); }; }
105856
106097
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileAnalysisUnifiedDashboardComponent, selectors: [["symphiq-profile-analysis-unified-dashboard"]], hostBindings: function SymphiqProfileAnalysisUnifiedDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
105857
106098
  i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisUnifiedDashboardComponent_scroll_HostBindingHandler() { return ctx.onScroll(); }, i0.ɵɵresolveWindow);
105858
- } }, inputs: { viewMode: [1, "viewMode"], embedded: [1, "embedded"], isLoading: [1, "isLoading"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], unifiedProfileAnalysis: [1, "unifiedProfileAnalysis"], sourceProfileAnalyses: [1, "sourceProfileAnalyses"], isLoadingSourceAnalysis: [1, "isLoadingSourceAnalysis"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"], requestedByUser: [1, "requestedByUser"] }, outputs: { markAsReviewedClick: "markAsReviewedClick", generateGoalsClick: "generateGoalsClick", stepClick: "stepClick", nextStepClick: "nextStepClick", sourceAnalysisRequest: "sourceAnalysisRequest" }, features: [i0.ɵɵNgOnChangesFeature], decls: 18, vars: 37, consts: [[1, "relative"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [3, "viewMode", "progress", "embedded"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "showControls", "embedded", "scrollEvent"], [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", 3, "pb-32"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "isLightMode", "isOpen"], [3, "viewMode", "currentMode", "isOpen"], [3, "viewMode", "selfContentStatus", "isLoading"], [3, "viewMode", "itemStatus", "currentStatus", "confettiIntensity", "title"], [3, "expandedChange", "scrollToTop", "toggleView", "isLightMode", "isCompactMode", "isExpanded"], [3, "navigate", "isLightMode", "sections", "activeSection"], [3, "priorityActionGoalClick", "priorityActionRecommendationClick", "viewMode"], [3, "isLightMode"], [3, "isLightMode", "allInsights", "allMetrics", "allCharts"], [3, "nextStepClick", "stepClick", "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"], ["title", "Loading Your Unified Analysis", "subtitle", "Please wait while we prepare your synthesized insights...", "size", "large", 3, "viewMode", "backdropBlur"], [1, "mb-12"], [1, "rounded-2xl", "p-8", "shadow-xl", "animate-fade-in-up", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "p-4", "rounded-xl", "flex-shrink-0", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [1, "text-lg", "mb-4", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [3, "viewAllPriorityActionsClick", "summary", "viewMode", "shopCounts", "focusAreaCounts", "metricCounts"], ["id", "section-unified-goals", 1, "space-y-6", "scroll-mt-24"], [3, "goalClick", "timeline", "viewMode", "goals"], [3, "goalClick", "matrix", "viewMode"], [3, "goalClick", "steps", "viewMode", "goals"], [3, "viewMode", "sectionIcon"], ["title", "Unified Goals", 3, "icon", "viewMode"], [1, "grid", "gap-6", 2, "grid-template-columns", "repeat(auto-fit, minmax(340px, 1fr))"], [3, "goal", "viewMode"], [3, "goalClick", "sourceBadgeClick", "relatedMetricsClick", "learnMoreClick", "goal", "viewMode"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [3, "close", "isLightMode", "isOpen"], [3, "close", "modeSelected", "viewMode", "currentMode", "isOpen"], [3, "markAsReviewed", "viewMode", "selfContentStatus", "isLoading"]], template: function SymphiqProfileAnalysisUnifiedDashboardComponent_Template(rf, ctx) { if (rf & 1) {
106099
+ } }, inputs: { viewMode: [1, "viewMode"], embedded: [1, "embedded"], isLoading: [1, "isLoading"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], unifiedProfileAnalysis: [1, "unifiedProfileAnalysis"], sourceProfileAnalyses: [1, "sourceProfileAnalyses"], isLoadingSourceAnalysis: [1, "isLoadingSourceAnalysis"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"], requestedByUser: [1, "requestedByUser"] }, outputs: { markAsReviewedClick: "markAsReviewedClick", generateGoalsClick: "generateGoalsClick", stepClick: "stepClick", nextStepClick: "nextStepClick", sourceAnalysisRequest: "sourceAnalysisRequest" }, features: [i0.ɵɵNgOnChangesFeature], decls: 16, vars: 31, consts: [[1, "relative"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [3, "viewMode", "progress", "embedded"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "showControls", "embedded", "scrollEvent"], [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", 3, "pb-32"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "isLightMode", "isOpen"], [3, "viewMode", "currentMode", "isOpen"], [3, "viewMode", "selfContentStatus", "isLoading"], [3, "viewMode", "itemStatus", "currentStatus", "confettiIntensity", "title"], [3, "priorityActionGoalClick", "priorityActionRecommendationClick", "sourceAnalysisClickRequest", "viewMode"], [3, "isLightMode"], [3, "isLightMode", "allInsights", "allMetrics", "allCharts"], [3, "nextStepClick", "stepClick", "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"], ["title", "Loading Your Unified Analysis", "subtitle", "Please wait while we prepare your synthesized insights...", "size", "large", 3, "viewMode", "backdropBlur"], [1, "mb-12", "block", 3, "viewMode", "businessName", "isOnboarded", "analysisDate", "isUnifiedAnalysisComplete", "sourceAnalysesCount", "unifiedGoalsCount"], [3, "viewAllPriorityActionsClick", "summary", "viewMode", "shopCounts", "focusAreaCounts", "metricCounts"], ["id", "section-unified-goals", 1, "space-y-6", "scroll-mt-24"], [3, "goalClick", "timeline", "viewMode", "goals"], [3, "goalClick", "matrix", "viewMode"], [3, "goalClick", "steps", "viewMode", "goals"], [3, "viewMode", "sectionIcon"], ["title", "Unified Goals", 3, "icon", "viewMode"], [1, "grid", "gap-6", 2, "grid-template-columns", "repeat(auto-fit, minmax(340px, 1fr))"], [3, "goal", "viewMode"], [3, "goalClick", "sourceBadgeClick", "relatedMetricsClick", "learnMoreClick", "goal", "viewMode"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [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"], [3, "close", "isLightMode", "isOpen"], [3, "close", "modeSelected", "viewMode", "currentMode", "isOpen"], [3, "markAsReviewed", "viewMode", "selfContentStatus", "isLoading"]], template: function SymphiqProfileAnalysisUnifiedDashboardComponent_Template(rf, ctx) { if (rf & 1) {
105859
106100
  i0.ɵɵelementStart(0, "div", 0);
105860
106101
  i0.ɵɵelement(1, "div", 1)(2, "symphiq-scroll-progress-bar", 2);
105861
106102
  i0.ɵɵelementStart(3, "div", 3)(4, "symphiq-dashboard-header", 4);
@@ -105869,17 +106110,11 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105869
106110
  i0.ɵɵconditionalCreate(9, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_9_Template, 1, 3, "symphiq-view-mode-switcher-modal", 9);
105870
106111
  i0.ɵɵconditionalCreate(10, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_10_Template, 1, 3, "symphiq-mark-as-reviewed-footer", 10);
105871
106112
  i0.ɵɵconditionalCreate(11, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_11_Template, 1, 5, "symphiq-content-generation-progress-with-confetti", 11);
105872
- i0.ɵɵelementStart(12, "symphiq-mobile-fab", 12);
105873
- i0.ɵɵlistener("expandedChange", function SymphiqProfileAnalysisUnifiedDashboardComponent_Template_symphiq_mobile_fab_expandedChange_12_listener($event) { return ctx.fabExpanded.set($event); })("scrollToTop", function SymphiqProfileAnalysisUnifiedDashboardComponent_Template_symphiq_mobile_fab_scrollToTop_12_listener() { return ctx.scrollToTop(); })("toggleView", function SymphiqProfileAnalysisUnifiedDashboardComponent_Template_symphiq_mobile_fab_toggleView_12_listener() { return ctx.openViewModeSwitcher(); });
105874
- i0.ɵɵelementEnd();
105875
- i0.ɵɵelementStart(13, "symphiq-mobile-bottom-nav", 13);
105876
- i0.ɵɵlistener("navigate", function SymphiqProfileAnalysisUnifiedDashboardComponent_Template_symphiq_mobile_bottom_nav_navigate_13_listener($event) { return ctx.handleMobileNavigation($event); });
105877
- i0.ɵɵelementEnd();
105878
- i0.ɵɵelement(14, "symphiq-tooltip-container");
105879
- i0.ɵɵelementStart(15, "symphiq-unified-dashboard-modal", 14);
105880
- i0.ɵɵlistener("priorityActionGoalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Template_symphiq_unified_dashboard_modal_priorityActionGoalClick_15_listener($event) { return ctx.onPriorityActionGoalClick($event); })("priorityActionRecommendationClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Template_symphiq_unified_dashboard_modal_priorityActionRecommendationClick_15_listener($event) { return ctx.onPriorityActionRecommendationClick($event); });
106113
+ i0.ɵɵelement(12, "symphiq-tooltip-container");
106114
+ i0.ɵɵelementStart(13, "symphiq-unified-dashboard-modal", 12);
106115
+ i0.ɵɵlistener("priorityActionGoalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Template_symphiq_unified_dashboard_modal_priorityActionGoalClick_13_listener($event) { return ctx.onPriorityActionGoalClick($event); })("priorityActionRecommendationClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Template_symphiq_unified_dashboard_modal_priorityActionRecommendationClick_13_listener($event) { return ctx.onPriorityActionRecommendationClick($event); })("sourceAnalysisClickRequest", function SymphiqProfileAnalysisUnifiedDashboardComponent_Template_symphiq_unified_dashboard_modal_sourceAnalysisClickRequest_13_listener($event) { return ctx.handleSourceAnalysisClickFromModal($event); });
105881
106116
  i0.ɵɵelementEnd();
105882
- i0.ɵɵelement(16, "symphiq-business-analysis-modal", 15)(17, "symphiq-profile-analysis-modal", 16);
106117
+ i0.ɵɵelement(14, "symphiq-business-analysis-modal", 13)(15, "symphiq-profile-analysis-modal", 14);
105883
106118
  i0.ɵɵelementEnd();
105884
106119
  } if (rf & 2) {
105885
106120
  i0.ɵɵclassProp("min-h-screen", !ctx.embedded());
@@ -105903,16 +106138,12 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105903
106138
  i0.ɵɵconditional(ctx.shouldShowReviewFooter() ? 10 : -1);
105904
106139
  i0.ɵɵadvance();
105905
106140
  i0.ɵɵconditional(!ctx.isLoading() && ctx.isGenerating() ? 11 : -1);
105906
- i0.ɵɵadvance();
105907
- i0.ɵɵproperty("isLightMode", ctx.isLightMode())("isCompactMode", ctx.isCompactView())("isExpanded", ctx.fabExpanded());
105908
- i0.ɵɵadvance();
105909
- i0.ɵɵproperty("isLightMode", ctx.isLightMode())("sections", ctx.mobileNavSections)("activeSection", ctx.activeNavSection());
105910
106141
  i0.ɵɵadvance(2);
105911
106142
  i0.ɵɵproperty("viewMode", ctx.viewMode());
105912
106143
  i0.ɵɵadvance();
105913
106144
  i0.ɵɵproperty("isLightMode", ctx.isLightMode());
105914
106145
  i0.ɵɵadvance();
105915
- i0.ɵɵproperty("isLightMode", ctx.isLightMode())("allInsights", i0.ɵɵpureFunction0(36, _c0$7))("allMetrics", ctx.allMetrics())("allCharts", ctx.allCharts());
106146
+ i0.ɵɵproperty("isLightMode", ctx.isLightMode())("allInsights", i0.ɵɵpureFunction0(30, _c0$7))("allMetrics", ctx.allMetrics())("allCharts", ctx.allCharts());
105916
106147
  } }, dependencies: [CommonModule, i1$1.NgClass, DashboardHeaderComponent,
105917
106148
  ScrollProgressBarComponent,
105918
106149
  SearchModalComponent,
@@ -105926,8 +106157,6 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105926
106157
  LoadingCardComponent,
105927
106158
  MarkAsReviewedFooterComponent,
105928
106159
  ProfileAnalysisModalComponent,
105929
- MobileFABComponent,
105930
- MobileBottomNavComponent,
105931
106160
  UnifiedGoalCardComponent,
105932
106161
  UnifiedExecutiveSummaryComponent,
105933
106162
  UnifiedTimelineComponent,
@@ -105935,7 +106164,8 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105935
106164
  UnifiedNextStepsComponent,
105936
106165
  TooltipContainerComponent,
105937
106166
  UnifiedDashboardModalComponent,
105938
- BusinessAnalysisModalComponent], encapsulation: 2, changeDetection: 0 }); }
106167
+ BusinessAnalysisModalComponent,
106168
+ UnifiedWelcomeBannerComponent], encapsulation: 2, changeDetection: 0 }); }
105939
106169
  }
105940
106170
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SymphiqProfileAnalysisUnifiedDashboardComponent, [{
105941
106171
  type: Component,
@@ -105953,13 +106183,10 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105953
106183
  GradeBadgeComponent,
105954
106184
  SectionDividerComponent,
105955
106185
  SectionHeaderComponent,
105956
- SymphiqIconComponent,
105957
106186
  ContentGenerationProgressWithConfettiComponent,
105958
106187
  LoadingCardComponent,
105959
106188
  MarkAsReviewedFooterComponent,
105960
106189
  ProfileAnalysisModalComponent,
105961
- MobileFABComponent,
105962
- MobileBottomNavComponent,
105963
106190
  UnifiedGoalCardComponent,
105964
106191
  UnifiedExecutiveSummaryComponent,
105965
106192
  UnifiedTimelineComponent,
@@ -105967,7 +106194,8 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105967
106194
  UnifiedNextStepsComponent,
105968
106195
  TooltipContainerComponent,
105969
106196
  UnifiedDashboardModalComponent,
105970
- BusinessAnalysisModalComponent
106197
+ BusinessAnalysisModalComponent,
106198
+ UnifiedWelcomeBannerComponent
105971
106199
  ],
105972
106200
  changeDetection: ChangeDetectionStrategy.OnPush,
105973
106201
  template: `
@@ -106025,28 +106253,16 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
106025
106253
 
106026
106254
  @if (isSimplifiedView() && !isLoading() && !isGenerating()) {
106027
106255
  <!-- Welcome Banner -->
106028
- <div class="mb-12">
106029
- <div [ngClass]="welcomeBannerClasses()" class="rounded-2xl p-8 shadow-xl animate-fade-in-up">
106030
- <div class="flex items-start gap-6">
106031
- <div [ngClass]="welcomeIconClasses()" class="p-4 rounded-xl flex-shrink-0">
106032
- <svg class="w-8 h-8" fill="none" stroke="currentColor" viewBox="0 0 24 24">
106033
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
106034
- </svg>
106035
- </div>
106036
- <div class="flex-1">
106037
- <h1 [ngClass]="welcomeTitleClasses()" class="text-2xl font-bold mb-2">
106038
- Unified Goals for {{ businessName() }}
106039
- </h1>
106040
- <p [ngClass]="welcomeSubtitleClasses()" class="text-lg mb-4">
106041
- We've synthesized {{ unifiedGoals().length }} unified goals from {{ sourceAnalysesCount() }} source analyses.
106042
- </p>
106043
- <p [ngClass]="welcomeDescriptionClasses()" class="text-sm">
106044
- These goals combine insights from your shop analysis, focus areas, and metric analyses into actionable strategic priorities.
106045
- </p>
106046
- </div>
106047
- </div>
106048
- </div>
106049
- </div>
106256
+ <symphiq-unified-welcome-banner
106257
+ class="mb-12 block"
106258
+ [viewMode]="viewMode()"
106259
+ [businessName]="businessName()"
106260
+ [isOnboarded]="isOnboarded()"
106261
+ [analysisDate]="unifiedAnalysisDate()"
106262
+ [isUnifiedAnalysisComplete]="!isLoading() && !isGenerating()"
106263
+ [sourceAnalysesCount]="sourceAnalysesCount()"
106264
+ [unifiedGoalsCount]="unifiedGoals().length"
106265
+ />
106050
106266
 
106051
106267
  <!-- Executive Summary -->
106052
106268
  <symphiq-unified-executive-summary
@@ -106190,30 +106406,13 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
106190
106406
  />
106191
106407
  }
106192
106408
 
106193
- <!-- Mobile FAB -->
106194
- <symphiq-mobile-fab
106195
- [isLightMode]="isLightMode()"
106196
- [isCompactMode]="isCompactView()"
106197
- [isExpanded]="fabExpanded()"
106198
- (expandedChange)="fabExpanded.set($event)"
106199
- (scrollToTop)="scrollToTop()"
106200
- (toggleView)="openViewModeSwitcher()"
106201
- />
106202
-
106203
- <!-- Mobile Bottom Navigation -->
106204
- <symphiq-mobile-bottom-nav
106205
- [isLightMode]="isLightMode()"
106206
- [sections]="mobileNavSections"
106207
- [activeSection]="activeNavSection()"
106208
- (navigate)="handleMobileNavigation($event)"
106209
- />
106210
-
106211
- <symphiq-tooltip-container></symphiq-tooltip-container>
106409
+ <symphiq-tooltip-container/>
106212
106410
 
106213
106411
  <symphiq-unified-dashboard-modal
106214
106412
  [viewMode]="viewMode()"
106215
106413
  (priorityActionGoalClick)="onPriorityActionGoalClick($event)"
106216
106414
  (priorityActionRecommendationClick)="onPriorityActionRecommendationClick($event)"
106415
+ (sourceAnalysisClickRequest)="handleSourceAnalysisClickFromModal($event)"
106217
106416
  />
106218
106417
  <symphiq-business-analysis-modal [isLightMode]="isLightMode()" />
106219
106418
  <symphiq-profile-analysis-modal
@@ -106229,7 +106428,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
106229
106428
  type: HostListener,
106230
106429
  args: ['window:scroll']
106231
106430
  }] }); })();
106232
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisUnifiedDashboardComponent, { className: "SymphiqProfileAnalysisUnifiedDashboardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/symphiq-profile-analysis-unified-dashboard.component.ts", lineNumber: 377 }); })();
106431
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisUnifiedDashboardComponent, { className: "SymphiqProfileAnalysisUnifiedDashboardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/symphiq-profile-analysis-unified-dashboard.component.ts", lineNumber: 342 }); })();
106233
106432
 
106234
106433
  function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
106235
106434
  const _r1 = i0.ɵɵgetCurrentView();