@eric-emg/symphiq-components 1.3.55 → 1.3.57

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.
@@ -295,6 +295,19 @@ class ModalService {
295
295
  openRecommendationMetricsListModal(metrics, charts, recommendationContext, directlyAffectedMetricId, indirectlyAffectedMetricIds, previousState, hierarchyContext) {
296
296
  const navigationStack = previousState ? [...(previousState.navigationStack || []), previousState] : [];
297
297
  const openedFromMainBody = !previousState;
298
+ let depthFromPrevState = 0;
299
+ let walkState = previousState;
300
+ while (walkState) {
301
+ depthFromPrevState++;
302
+ walkState = walkState.previousState ?? undefined;
303
+ }
304
+ console.log('[ModalService] openRecommendationMetricsListModal:', {
305
+ previousStateExists: !!previousState,
306
+ previousStateType: previousState?.type,
307
+ depthFromPrevState,
308
+ navigationStackLength: navigationStack.length,
309
+ openedFromMainBody
310
+ });
298
311
  this.modalState.next({
299
312
  type: 'metrics-list',
300
313
  data: {
@@ -44164,6 +44177,13 @@ class ProfileAnalysisModalComponent {
44164
44177
  if (open) {
44165
44178
  this.modalReady.set(false);
44166
44179
  this.logContainingBlockInfo();
44180
+ console.log('[ProfileAnalysisModal] Modal opening - z-index info:', {
44181
+ modalType: this.modalType(),
44182
+ modalDepth: this.modalDepth(),
44183
+ baseZIndex: this.baseZIndex(),
44184
+ contentZIndex: this.contentZIndex(),
44185
+ previousStateType: this.previousState()?.type
44186
+ });
44167
44187
  setTimeout(() => {
44168
44188
  this.moveModalToBody();
44169
44189
  this.modalReady.set(true);
@@ -44485,6 +44505,19 @@ class ProfileAnalysisModalComponent {
44485
44505
  }
44486
44506
  else if (state.type === 'metrics-list' && state.data) {
44487
44507
  const data = state.data;
44508
+ let depthFromPrevState = 0;
44509
+ let walkState = state.previousState;
44510
+ while (walkState) {
44511
+ depthFromPrevState++;
44512
+ walkState = walkState.previousState;
44513
+ }
44514
+ console.log('[ProfileAnalysisModal] metrics-list state received:', {
44515
+ previousStateExists: !!state.previousState,
44516
+ previousStateType: state.previousState?.type,
44517
+ depthFromPrevState,
44518
+ navigationStackLength: state.navigationStack?.length,
44519
+ navigationStackTypes: state.navigationStack?.map(s => s.type)
44520
+ });
44488
44521
  this.modalData.set(data);
44489
44522
  let title = 'Related Metrics';
44490
44523
  if (data.recommendationContext?.title) {
@@ -83009,6 +83042,19 @@ class StrategyRecommendationsModalContentComponent {
83009
83042
  objectiveTitle: this.objectiveTitle(),
83010
83043
  strategyTitle: this.strategy()?.title
83011
83044
  };
83045
+ const currentState = this.currentModalState();
83046
+ let depthCount = 0;
83047
+ let stateWalk = currentState;
83048
+ while (stateWalk) {
83049
+ depthCount++;
83050
+ stateWalk = stateWalk.previousState ?? null;
83051
+ }
83052
+ console.log('[StrategyRecommendations] openRelatedMetricsModal:', {
83053
+ currentModalStateType: currentState?.type,
83054
+ currentModalStateExists: !!currentState,
83055
+ previousStateDepth: depthCount,
83056
+ navigationStackLength: currentState?.navigationStack?.length
83057
+ });
83012
83058
  this.modalService.openRecommendationMetricsListModal(metrics, relevantCharts, recommendationContext, directlyAffectedMetricId, indirectlyAffectedMetricIds, this.currentModalState() ?? undefined, hierarchyContext);
83013
83059
  }
83014
83060
  hasRelatedFunnelInsights(recommendation) {
@@ -101791,9 +101837,9 @@ const _c0$b = a0 => ({ name: "calendar", source: a0 });
101791
101837
  const _forTrack0$b = ($index, $item) => $item.id;
101792
101838
  const _forTrack1$2 = ($index, $item) => $item.title;
101793
101839
  function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Template(rf, ctx) { if (rf & 1) {
101794
- i0.ɵɵelementStart(0, "div", 19);
101795
- i0.ɵɵelement(1, "span", 20);
101796
- i0.ɵɵelementStart(2, "span", 21);
101840
+ i0.ɵɵelementStart(0, "div", 20);
101841
+ i0.ɵɵelement(1, "span", 21);
101842
+ i0.ɵɵelementStart(2, "span", 22);
101797
101843
  i0.ɵɵtext(3);
101798
101844
  i0.ɵɵelementEnd()();
101799
101845
  } if (rf & 2) {
@@ -101806,11 +101852,11 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Templ
101806
101852
  i0.ɵɵtextInterpolate(milestone_r1.title);
101807
101853
  } }
101808
101854
  function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
101809
- i0.ɵɵelementStart(0, "div", 15)(1, "div", 17);
101855
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 18);
101810
101856
  i0.ɵɵtext(2);
101811
101857
  i0.ɵɵelementEnd();
101812
- i0.ɵɵelementStart(3, "div", 18);
101813
- i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Template, 4, 3, "div", 19, _forTrack1$2);
101858
+ i0.ɵɵelementStart(3, "div", 19);
101859
+ i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Template, 4, 3, "div", 20, _forTrack1$2);
101814
101860
  i0.ɵɵelementEnd()();
101815
101861
  } if (rf & 2) {
101816
101862
  const phase_r3 = i0.ɵɵnextContext().$implicit;
@@ -101824,14 +101870,14 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Template(rf
101824
101870
  } }
101825
101871
  function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Template(rf, ctx) { if (rf & 1) {
101826
101872
  const _r4 = i0.ɵɵgetCurrentView();
101827
- i0.ɵɵelementStart(0, "div", 24);
101873
+ i0.ɵɵelementStart(0, "div", 25);
101828
101874
  i0.ɵɵlistener("click", function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Template_div_click_0_listener() { const goal_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onGoalChipClick(goal_r5)); });
101829
- i0.ɵɵelementStart(1, "span", 25);
101875
+ i0.ɵɵelementStart(1, "span", 26);
101830
101876
  i0.ɵɵtext(2);
101831
101877
  i0.ɵɵelementEnd();
101832
101878
  i0.ɵɵnamespaceSVG();
101833
- i0.ɵɵelementStart(3, "svg", 26);
101834
- i0.ɵɵelement(4, "path", 27);
101879
+ i0.ɵɵelementStart(3, "svg", 27);
101880
+ i0.ɵɵelement(4, "path", 28);
101835
101881
  i0.ɵɵelementEnd()();
101836
101882
  } if (rf & 2) {
101837
101883
  const goal_r5 = ctx.$implicit;
@@ -101841,11 +101887,11 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Templ
101841
101887
  i0.ɵɵtextInterpolate(goal_r5.title);
101842
101888
  } }
101843
101889
  function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_Template(rf, ctx) { if (rf & 1) {
101844
- i0.ɵɵelementStart(0, "div", 15)(1, "div", 17);
101890
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 18);
101845
101891
  i0.ɵɵtext(2);
101846
101892
  i0.ɵɵelementEnd();
101847
- i0.ɵɵelementStart(3, "div", 22);
101848
- i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Template, 5, 2, "div", 23, _forTrack0$b);
101893
+ i0.ɵɵelementStart(3, "div", 23);
101894
+ i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Template, 5, 2, "div", 24, _forTrack0$b);
101849
101895
  i0.ɵɵelementEnd()();
101850
101896
  } if (rf & 2) {
101851
101897
  const phase_r3 = i0.ɵɵnextContext().$implicit;
@@ -101874,6 +101920,9 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Template(rf, ctx) { if (rf
101874
101920
  i0.ɵɵconditionalCreate(12, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_Template, 6, 2, "div", 15);
101875
101921
  i0.ɵɵelementStart(13, "div", 16);
101876
101922
  i0.ɵɵtext(14);
101923
+ i0.ɵɵelementEnd();
101924
+ i0.ɵɵelementStart(15, "div", 17);
101925
+ i0.ɵɵtext(16);
101877
101926
  i0.ɵɵelementEnd()()();
101878
101927
  } if (rf & 2) {
101879
101928
  const phase_r3 = ctx.$implicit;
@@ -101907,6 +101956,10 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Template(rf, ctx) { if (rf
101907
101956
  i0.ɵɵproperty("ngClass", ctx_r1.phaseIndicatorClasses());
101908
101957
  i0.ɵɵadvance();
101909
101958
  i0.ɵɵtextInterpolate1(" Phase ", ɵ$index_16_r6 + 1, " ");
101959
+ i0.ɵɵadvance();
101960
+ i0.ɵɵproperty("ngClass", ctx_r1.phaseIndicatorMobileClasses());
101961
+ i0.ɵɵadvance();
101962
+ i0.ɵɵtextInterpolate1(" Phase ", ɵ$index_16_r6 + 1, " ");
101910
101963
  } }
101911
101964
  function UnifiedTimelineComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
101912
101965
  i0.ɵɵelementStart(0, "section", 0);
@@ -101914,7 +101967,7 @@ function UnifiedTimelineComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
101914
101967
  i0.ɵɵelementStart(3, "div", 3)(4, "div", 4);
101915
101968
  i0.ɵɵelement(5, "div", 5);
101916
101969
  i0.ɵɵelementStart(6, "div", 6);
101917
- i0.ɵɵrepeaterCreate(7, UnifiedTimelineComponent_Conditional_0_For_8_Template, 15, 29, "div", 7, _forTrack0$b);
101970
+ i0.ɵɵrepeaterCreate(7, UnifiedTimelineComponent_Conditional_0_For_8_Template, 17, 31, "div", 7, _forTrack0$b);
101918
101971
  i0.ɵɵelementEnd()()()();
101919
101972
  } if (rf & 2) {
101920
101973
  const ctx_r1 = i0.ɵɵnextContext();
@@ -101962,6 +102015,9 @@ class UnifiedTimelineComponent {
101962
102015
  this.objectiveItemClasses = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-300', ...(ngDevMode ? [{ debugName: "objectiveItemClasses" }] : []));
101963
102016
  this.moreObjectivesClasses = computed(() => this.isLightMode() ? 'text-slate-400' : 'text-slate-500', ...(ngDevMode ? [{ debugName: "moreObjectivesClasses" }] : []));
101964
102017
  this.phaseIndicatorClasses = computed(() => this.isLightMode() ? 'text-blue-600' : 'text-blue-400', ...(ngDevMode ? [{ debugName: "phaseIndicatorClasses" }] : []));
102018
+ this.phaseIndicatorMobileClasses = computed(() => this.isLightMode()
102019
+ ? 'bg-blue-100 text-blue-700 border border-blue-200'
102020
+ : 'bg-blue-900/50 text-blue-300 border border-blue-700/50', ...(ngDevMode ? [{ debugName: "phaseIndicatorMobileClasses" }] : []));
101965
102021
  this.nodeClasses = {
101966
102022
  light: ['bg-white border-blue-500', 'bg-white border-cyan-500', 'bg-white border-teal-500', 'bg-white border-emerald-500'],
101967
102023
  dark: ['bg-slate-800 border-blue-500', 'bg-slate-800 border-cyan-500', 'bg-slate-800 border-teal-500', 'bg-slate-800 border-emerald-500']
@@ -102018,7 +102074,7 @@ class UnifiedTimelineComponent {
102018
102074
  this.goalClick.emit(goal);
102019
102075
  }
102020
102076
  static { this.ɵfac = function UnifiedTimelineComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedTimelineComponent)(); }; }
102021
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedTimelineComponent, selectors: [["symphiq-unified-timeline"]], inputs: { timeline: [1, "timeline"], viewMode: [1, "viewMode"], goals: [1, "goals"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-timeline", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Implementation Timeline", 3, "icon", "viewMode"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "relative"], [1, "absolute", "left-6", "top-0", "bottom-0", "w-0.5", 3, "ngClass"], [1, "space-y-8"], [1, "relative", "pl-16", "group"], [1, "absolute", "left-4", "w-5", "h-5", "rounded-full", "border-4", "flex", "items-center", "justify-center", "transition-all", "duration-300", "group-hover:scale-125", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", 3, "ngClass"], [1, "rounded-xl", "p-5", "transition-all", "duration-300", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "gap-4", "mb-3"], [1, "text-base", "font-semibold", 3, "ngClass"], [1, "px-2", "py-1", "text-xs", "font-semibold", "rounded-full", "flex-shrink-0", 3, "ngClass"], [1, "text-sm", "mb-4", 3, "ngClass"], [1, "mt-4"], [1, "absolute", "-left-[52px]", "top-0", "text-xs", "font-bold", "transition-all", "duration-300", "origin-right", "group-hover:scale-125", "group-hover:font-extrabold", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "mt-1.5", "flex-shrink-0", 3, "ngClass"], [1, "line-clamp-1"], [1, "space-y-3"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "ngClass"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "click", "ngClass"], [1, "text-sm", "font-medium", "line-clamp-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"]], template: function UnifiedTimelineComponent_Template(rf, ctx) { if (rf & 1) {
102077
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedTimelineComponent, selectors: [["symphiq-unified-timeline"]], inputs: { timeline: [1, "timeline"], viewMode: [1, "viewMode"], goals: [1, "goals"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-timeline", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Implementation Timeline", 3, "icon", "viewMode"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "relative"], [1, "absolute", "left-6", "top-0", "bottom-0", "w-0.5", 3, "ngClass"], [1, "space-y-12", "md:space-y-8", "mt-8", "md:mt-0"], [1, "relative", "pl-16", "group"], [1, "absolute", "left-4", "w-5", "h-5", "rounded-full", "border-4", "flex", "items-center", "justify-center", "transition-all", "duration-300", "group-hover:scale-125", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", 3, "ngClass"], [1, "rounded-xl", "p-5", "transition-all", "duration-300", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "gap-4", "mb-3"], [1, "text-base", "font-semibold", 3, "ngClass"], [1, "px-2", "py-1", "text-xs", "font-semibold", "rounded-full", "flex-shrink-0", 3, "ngClass"], [1, "text-sm", "mb-4", 3, "ngClass"], [1, "mt-4"], [1, "absolute", "text-xs", "font-bold", "transition-all", "duration-300", "group-hover:scale-110", "group-hover:font-extrabold", "-left-[52px]", "top-0", "origin-right", "hidden", "md:block", 3, "ngClass"], [1, "absolute", "-top-8", "left-0", "text-xs", "font-bold", "px-2", "py-1", "rounded-full", "md:hidden", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "mt-1.5", "flex-shrink-0", 3, "ngClass"], [1, "line-clamp-1"], [1, "space-y-3"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "ngClass"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "click", "ngClass"], [1, "text-sm", "font-medium", "line-clamp-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"]], template: function UnifiedTimelineComponent_Template(rf, ctx) { if (rf & 1) {
102022
102078
  i0.ɵɵconditionalCreate(0, UnifiedTimelineComponent_Conditional_0_Template, 9, 10, "section", 0);
102023
102079
  } if (rf & 2) {
102024
102080
  i0.ɵɵconditional(ctx.phases().length > 0 ? 0 : -1);
@@ -102043,7 +102099,7 @@ class UnifiedTimelineComponent {
102043
102099
  <div class="relative">
102044
102100
  <div [ngClass]="lineClasses()" class="absolute left-6 top-0 bottom-0 w-0.5"></div>
102045
102101
 
102046
- <div class="space-y-8">
102102
+ <div class="space-y-12 md:space-y-8 mt-8 md:mt-0">
102047
102103
  @for (phase of phases(); track phase.id; let idx = $index) {
102048
102104
  <div class="relative pl-16 group">
102049
102105
  <div
@@ -102111,7 +102167,10 @@ class UnifiedTimelineComponent {
102111
102167
  </div>
102112
102168
  }
102113
102169
 
102114
- <div [ngClass]="phaseIndicatorClasses()" class="absolute -left-[52px] top-0 text-xs font-bold transition-all duration-300 origin-right group-hover:scale-125 group-hover:font-extrabold">
102170
+ <div [ngClass]="phaseIndicatorClasses()" class="absolute text-xs font-bold transition-all duration-300 group-hover:scale-110 group-hover:font-extrabold -left-[52px] top-0 origin-right hidden md:block">
102171
+ Phase {{ idx + 1 }}
102172
+ </div>
102173
+ <div [ngClass]="phaseIndicatorMobileClasses()" class="absolute -top-8 left-0 text-xs font-bold px-2 py-1 rounded-full md:hidden">
102115
102174
  Phase {{ idx + 1 }}
102116
102175
  </div>
102117
102176
  </div>
@@ -102124,192 +102183,108 @@ class UnifiedTimelineComponent {
102124
102183
  }
102125
102184
  `, styles: ["@keyframes pulse-glow-blue{0%,to{box-shadow:0 0 5px #3b82f680,0 0 10px #3b82f64d}50%{box-shadow:0 0 15px #3b82f6cc,0 0 25px #3b82f680,0 0 35px #3b82f64d}}@keyframes pulse-glow-cyan{0%,to{box-shadow:0 0 5px #06b6d480,0 0 10px #06b6d44d}50%{box-shadow:0 0 15px #06b6d4cc,0 0 25px #06b6d480,0 0 35px #06b6d44d}}@keyframes pulse-glow-teal{0%,to{box-shadow:0 0 5px #14b8a680,0 0 10px #14b8a64d}50%{box-shadow:0 0 15px #14b8a6cc,0 0 25px #14b8a680,0 0 35px #14b8a64d}}@keyframes pulse-glow-emerald{0%,to{box-shadow:0 0 5px #10b98180,0 0 10px #10b9814d}50%{box-shadow:0 0 15px #10b981cc,0 0 25px #10b98180,0 0 35px #10b9814d}}.group:hover .animate-pulse-glow-blue{animation:pulse-glow-blue 1.5s ease-in-out infinite}.group:hover .animate-pulse-glow-cyan{animation:pulse-glow-cyan 1.5s ease-in-out infinite}.group:hover .animate-pulse-glow-teal{animation:pulse-glow-teal 1.5s ease-in-out infinite}.group:hover .animate-pulse-glow-emerald{animation:pulse-glow-emerald 1.5s ease-in-out infinite}.card-glow-blue:hover{box-shadow:0 0 20px #3b82f666,0 0 40px #3b82f633,0 10px 30px #0000004d;border-color:#3b82f6cc!important}.card-glow-cyan:hover{box-shadow:0 0 20px #06b6d466,0 0 40px #06b6d433,0 10px 30px #0000004d;border-color:#06b6d4cc!important}.card-glow-teal:hover{box-shadow:0 0 20px #14b8a666,0 0 40px #14b8a633,0 10px 30px #0000004d;border-color:#14b8a6cc!important}.card-glow-emerald:hover{box-shadow:0 0 20px #10b98166,0 0 40px #10b98133,0 10px 30px #0000004d;border-color:#10b981cc!important}.goal-chip{transition:all .3s ease}.goal-chip:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}\n"] }]
102126
102185
  }], null, { timeline: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeline", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], goals: [{ type: i0.Input, args: [{ isSignal: true, alias: "goals", required: false }] }], goalClick: [{ type: i0.Output, args: ["goalClick"] }] }); })();
102127
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedTimelineComponent, { className: "UnifiedTimelineComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-timeline.component.ts", lineNumber: 181 }); })();
102186
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedTimelineComponent, { className: "UnifiedTimelineComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-timeline.component.ts", lineNumber: 184 }); })();
102128
102187
 
102129
102188
  const _c0$a = a0 => ({ name: "squares-2x2", source: a0 });
102130
102189
  const _forTrack0$a = ($index, $item) => $item.id;
102131
- function UnifiedPriorityMatrixComponent_Conditional_0_For_18_Conditional_4_Template(rf, ctx) { if (rf & 1) {
102132
- i0.ɵɵelementStart(0, "span", 22);
102133
- i0.ɵɵtext(1);
102134
- i0.ɵɵelementEnd();
102135
- } if (rf & 2) {
102136
- const goal_r2 = i0.ɵɵnextContext().$implicit;
102137
- const ctx_r2 = i0.ɵɵnextContext(2);
102138
- i0.ɵɵproperty("ngClass", ctx_r2.sourceIndicatorClasses());
102139
- i0.ɵɵadvance();
102140
- i0.ɵɵtextInterpolate((goal_r2.sourceAnalyses == null ? null : goal_r2.sourceAnalyses.length) ?? 0);
102141
- } }
102142
- function UnifiedPriorityMatrixComponent_Conditional_0_For_18_Template(rf, ctx) { if (rf & 1) {
102190
+ function UnifiedPriorityMatrixComponent_Conditional_0_For_21_Template(rf, ctx) { if (rf & 1) {
102143
102191
  const _r1 = i0.ɵɵgetCurrentView();
102144
- i0.ɵɵelementStart(0, "button", 19);
102145
- i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_18_Template_button_click_0_listener() { const goal_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r2)); });
102146
- i0.ɵɵelementStart(1, "div", 20)(2, "span", 21);
102192
+ i0.ɵɵelementStart(0, "button", 25);
102193
+ i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_21_Template_button_click_0_listener() { const goal_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r2)); });
102194
+ i0.ɵɵelementStart(1, "div", 26)(2, "span", 27);
102147
102195
  i0.ɵɵtext(3);
102148
102196
  i0.ɵɵelementEnd();
102149
- i0.ɵɵconditionalCreate(4, UnifiedPriorityMatrixComponent_Conditional_0_For_18_Conditional_4_Template, 2, 2, "span", 22);
102150
- i0.ɵɵelementEnd()();
102197
+ i0.ɵɵnamespaceSVG();
102198
+ i0.ɵɵelementStart(4, "svg", 28);
102199
+ i0.ɵɵelement(5, "path", 29);
102200
+ i0.ɵɵelementEnd()()();
102151
102201
  } if (rf & 2) {
102152
102202
  const goal_r2 = ctx.$implicit;
102153
102203
  const ctx_r2 = i0.ɵɵnextContext(2);
102154
102204
  i0.ɵɵproperty("ngClass", ctx_r2.getGoalClasses("quickWins"));
102155
102205
  i0.ɵɵadvance(3);
102156
102206
  i0.ɵɵtextInterpolate(goal_r2.title);
102157
- i0.ɵɵadvance();
102158
- i0.ɵɵconditional(((goal_r2.sourceAnalyses == null ? null : goal_r2.sourceAnalyses.length) ?? 0) > 0 ? 4 : -1);
102159
- } }
102160
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_19_Template(rf, ctx) { if (rf & 1) {
102161
- i0.ɵɵelementStart(0, "div", 14);
102162
- i0.ɵɵtext(1);
102163
- i0.ɵɵelementEnd();
102164
- } if (rf & 2) {
102165
- const ctx_r2 = i0.ɵɵnextContext(2);
102166
- i0.ɵɵproperty("ngClass", ctx_r2.moreGoalsClasses());
102167
- i0.ɵɵadvance();
102168
- i0.ɵɵtextInterpolate1("+", ctx_r2.matrix().quickWins.length - 3, " more");
102169
102207
  } }
102170
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_20_Template(rf, ctx) { if (rf & 1) {
102171
- i0.ɵɵelementStart(0, "div", 15);
102208
+ function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
102209
+ i0.ɵɵelementStart(0, "div", 18);
102172
102210
  i0.ɵɵtext(1, "No goals");
102173
102211
  i0.ɵɵelementEnd();
102174
102212
  } if (rf & 2) {
102175
102213
  const ctx_r2 = i0.ɵɵnextContext(2);
102176
102214
  i0.ɵɵproperty("ngClass", ctx_r2.emptyClasses());
102177
102215
  } }
102178
- function UnifiedPriorityMatrixComponent_Conditional_0_For_30_Conditional_4_Template(rf, ctx) { if (rf & 1) {
102179
- i0.ɵɵelementStart(0, "span", 22);
102180
- i0.ɵɵtext(1);
102181
- i0.ɵɵelementEnd();
102182
- } if (rf & 2) {
102183
- const goal_r5 = i0.ɵɵnextContext().$implicit;
102184
- const ctx_r2 = i0.ɵɵnextContext(2);
102185
- i0.ɵɵproperty("ngClass", ctx_r2.sourceIndicatorClasses());
102186
- i0.ɵɵadvance();
102187
- i0.ɵɵtextInterpolate((goal_r5.sourceAnalyses == null ? null : goal_r5.sourceAnalyses.length) ?? 0);
102188
- } }
102189
- function UnifiedPriorityMatrixComponent_Conditional_0_For_30_Template(rf, ctx) { if (rf & 1) {
102216
+ function UnifiedPriorityMatrixComponent_Conditional_0_For_32_Template(rf, ctx) { if (rf & 1) {
102190
102217
  const _r4 = i0.ɵɵgetCurrentView();
102191
- i0.ɵɵelementStart(0, "button", 19);
102192
- i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_30_Template_button_click_0_listener() { const goal_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r5)); });
102193
- i0.ɵɵelementStart(1, "div", 20)(2, "span", 21);
102218
+ i0.ɵɵelementStart(0, "button", 25);
102219
+ i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_32_Template_button_click_0_listener() { const goal_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r5)); });
102220
+ i0.ɵɵelementStart(1, "div", 26)(2, "span", 27);
102194
102221
  i0.ɵɵtext(3);
102195
102222
  i0.ɵɵelementEnd();
102196
- i0.ɵɵconditionalCreate(4, UnifiedPriorityMatrixComponent_Conditional_0_For_30_Conditional_4_Template, 2, 2, "span", 22);
102197
- i0.ɵɵelementEnd()();
102223
+ i0.ɵɵnamespaceSVG();
102224
+ i0.ɵɵelementStart(4, "svg", 28);
102225
+ i0.ɵɵelement(5, "path", 29);
102226
+ i0.ɵɵelementEnd()()();
102198
102227
  } if (rf & 2) {
102199
102228
  const goal_r5 = ctx.$implicit;
102200
102229
  const ctx_r2 = i0.ɵɵnextContext(2);
102201
102230
  i0.ɵɵproperty("ngClass", ctx_r2.getGoalClasses("majorProjects"));
102202
102231
  i0.ɵɵadvance(3);
102203
102232
  i0.ɵɵtextInterpolate(goal_r5.title);
102204
- i0.ɵɵadvance();
102205
- i0.ɵɵconditional(((goal_r5.sourceAnalyses == null ? null : goal_r5.sourceAnalyses.length) ?? 0) > 0 ? 4 : -1);
102206
- } }
102207
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_31_Template(rf, ctx) { if (rf & 1) {
102208
- i0.ɵɵelementStart(0, "div", 14);
102209
- i0.ɵɵtext(1);
102210
- i0.ɵɵelementEnd();
102211
- } if (rf & 2) {
102212
- const ctx_r2 = i0.ɵɵnextContext(2);
102213
- i0.ɵɵproperty("ngClass", ctx_r2.moreGoalsClasses());
102214
- i0.ɵɵadvance();
102215
- i0.ɵɵtextInterpolate1("+", ctx_r2.matrix().majorProjects.length - 3, " more");
102216
102233
  } }
102217
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_32_Template(rf, ctx) { if (rf & 1) {
102218
- i0.ɵɵelementStart(0, "div", 15);
102234
+ function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_33_Template(rf, ctx) { if (rf & 1) {
102235
+ i0.ɵɵelementStart(0, "div", 18);
102219
102236
  i0.ɵɵtext(1, "No goals");
102220
102237
  i0.ɵɵelementEnd();
102221
102238
  } if (rf & 2) {
102222
102239
  const ctx_r2 = i0.ɵɵnextContext(2);
102223
102240
  i0.ɵɵproperty("ngClass", ctx_r2.emptyClasses());
102224
102241
  } }
102225
- function UnifiedPriorityMatrixComponent_Conditional_0_For_42_Conditional_4_Template(rf, ctx) { if (rf & 1) {
102226
- i0.ɵɵelementStart(0, "span", 22);
102227
- i0.ɵɵtext(1);
102228
- i0.ɵɵelementEnd();
102229
- } if (rf & 2) {
102230
- const goal_r7 = i0.ɵɵnextContext().$implicit;
102231
- const ctx_r2 = i0.ɵɵnextContext(2);
102232
- i0.ɵɵproperty("ngClass", ctx_r2.sourceIndicatorClasses());
102233
- i0.ɵɵadvance();
102234
- i0.ɵɵtextInterpolate((goal_r7.sourceAnalyses == null ? null : goal_r7.sourceAnalyses.length) ?? 0);
102235
- } }
102236
- function UnifiedPriorityMatrixComponent_Conditional_0_For_42_Template(rf, ctx) { if (rf & 1) {
102242
+ function UnifiedPriorityMatrixComponent_Conditional_0_For_43_Template(rf, ctx) { if (rf & 1) {
102237
102243
  const _r6 = i0.ɵɵgetCurrentView();
102238
- i0.ɵɵelementStart(0, "button", 19);
102239
- i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_42_Template_button_click_0_listener() { const goal_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r7)); });
102240
- i0.ɵɵelementStart(1, "div", 20)(2, "span", 21);
102244
+ i0.ɵɵelementStart(0, "button", 25);
102245
+ i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_43_Template_button_click_0_listener() { const goal_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r7)); });
102246
+ i0.ɵɵelementStart(1, "div", 26)(2, "span", 27);
102241
102247
  i0.ɵɵtext(3);
102242
102248
  i0.ɵɵelementEnd();
102243
- i0.ɵɵconditionalCreate(4, UnifiedPriorityMatrixComponent_Conditional_0_For_42_Conditional_4_Template, 2, 2, "span", 22);
102244
- i0.ɵɵelementEnd()();
102249
+ i0.ɵɵnamespaceSVG();
102250
+ i0.ɵɵelementStart(4, "svg", 28);
102251
+ i0.ɵɵelement(5, "path", 29);
102252
+ i0.ɵɵelementEnd()()();
102245
102253
  } if (rf & 2) {
102246
102254
  const goal_r7 = ctx.$implicit;
102247
102255
  const ctx_r2 = i0.ɵɵnextContext(2);
102248
102256
  i0.ɵɵproperty("ngClass", ctx_r2.getGoalClasses("fillIns"));
102249
102257
  i0.ɵɵadvance(3);
102250
102258
  i0.ɵɵtextInterpolate(goal_r7.title);
102251
- i0.ɵɵadvance();
102252
- i0.ɵɵconditional(((goal_r7.sourceAnalyses == null ? null : goal_r7.sourceAnalyses.length) ?? 0) > 0 ? 4 : -1);
102253
- } }
102254
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_43_Template(rf, ctx) { if (rf & 1) {
102255
- i0.ɵɵelementStart(0, "div", 14);
102256
- i0.ɵɵtext(1);
102257
- i0.ɵɵelementEnd();
102258
- } if (rf & 2) {
102259
- const ctx_r2 = i0.ɵɵnextContext(2);
102260
- i0.ɵɵproperty("ngClass", ctx_r2.moreGoalsClasses());
102261
- i0.ɵɵadvance();
102262
- i0.ɵɵtextInterpolate1("+", ctx_r2.matrix().fillIns.length - 3, " more");
102263
102259
  } }
102264
102260
  function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_44_Template(rf, ctx) { if (rf & 1) {
102265
- i0.ɵɵelementStart(0, "div", 15);
102261
+ i0.ɵɵelementStart(0, "div", 18);
102266
102262
  i0.ɵɵtext(1, "No goals");
102267
102263
  i0.ɵɵelementEnd();
102268
102264
  } if (rf & 2) {
102269
102265
  const ctx_r2 = i0.ɵɵnextContext(2);
102270
102266
  i0.ɵɵproperty("ngClass", ctx_r2.emptyClasses());
102271
102267
  } }
102272
- function UnifiedPriorityMatrixComponent_Conditional_0_For_54_Conditional_4_Template(rf, ctx) { if (rf & 1) {
102273
- i0.ɵɵelementStart(0, "span", 22);
102274
- i0.ɵɵtext(1);
102275
- i0.ɵɵelementEnd();
102276
- } if (rf & 2) {
102277
- const goal_r9 = i0.ɵɵnextContext().$implicit;
102278
- const ctx_r2 = i0.ɵɵnextContext(2);
102279
- i0.ɵɵproperty("ngClass", ctx_r2.sourceIndicatorClasses());
102280
- i0.ɵɵadvance();
102281
- i0.ɵɵtextInterpolate((goal_r9.sourceAnalyses == null ? null : goal_r9.sourceAnalyses.length) ?? 0);
102282
- } }
102283
102268
  function UnifiedPriorityMatrixComponent_Conditional_0_For_54_Template(rf, ctx) { if (rf & 1) {
102284
102269
  const _r8 = i0.ɵɵgetCurrentView();
102285
- i0.ɵɵelementStart(0, "button", 19);
102270
+ i0.ɵɵelementStart(0, "button", 25);
102286
102271
  i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_54_Template_button_click_0_listener() { const goal_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r9)); });
102287
- i0.ɵɵelementStart(1, "div", 20)(2, "span", 21);
102272
+ i0.ɵɵelementStart(1, "div", 26)(2, "span", 27);
102288
102273
  i0.ɵɵtext(3);
102289
102274
  i0.ɵɵelementEnd();
102290
- i0.ɵɵconditionalCreate(4, UnifiedPriorityMatrixComponent_Conditional_0_For_54_Conditional_4_Template, 2, 2, "span", 22);
102291
- i0.ɵɵelementEnd()();
102275
+ i0.ɵɵnamespaceSVG();
102276
+ i0.ɵɵelementStart(4, "svg", 28);
102277
+ i0.ɵɵelement(5, "path", 29);
102278
+ i0.ɵɵelementEnd()()();
102292
102279
  } if (rf & 2) {
102293
102280
  const goal_r9 = ctx.$implicit;
102294
102281
  const ctx_r2 = i0.ɵɵnextContext(2);
102295
102282
  i0.ɵɵproperty("ngClass", ctx_r2.getGoalClasses("thankless"));
102296
102283
  i0.ɵɵadvance(3);
102297
102284
  i0.ɵɵtextInterpolate(goal_r9.title);
102298
- i0.ɵɵadvance();
102299
- i0.ɵɵconditional(((goal_r9.sourceAnalyses == null ? null : goal_r9.sourceAnalyses.length) ?? 0) > 0 ? 4 : -1);
102300
102285
  } }
102301
102286
  function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_55_Template(rf, ctx) { if (rf & 1) {
102302
- i0.ɵɵelementStart(0, "div", 14);
102303
- i0.ɵɵtext(1);
102304
- i0.ɵɵelementEnd();
102305
- } if (rf & 2) {
102306
- const ctx_r2 = i0.ɵɵnextContext(2);
102307
- i0.ɵɵproperty("ngClass", ctx_r2.moreGoalsClasses());
102308
- i0.ɵɵadvance();
102309
- i0.ɵɵtextInterpolate1("+", ctx_r2.matrix().thankless.length - 3, " more");
102310
- } }
102311
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_56_Template(rf, ctx) { if (rf & 1) {
102312
- i0.ɵɵelementStart(0, "div", 15);
102287
+ i0.ɵɵelementStart(0, "div", 18);
102313
102288
  i0.ɵɵtext(1, "No goals");
102314
102289
  i0.ɵɵelementEnd();
102315
102290
  } if (rf & 2) {
@@ -102320,63 +102295,63 @@ function UnifiedPriorityMatrixComponent_Conditional_0_Template(rf, ctx) { if (rf
102320
102295
  i0.ɵɵelementStart(0, "section", 0);
102321
102296
  i0.ɵɵelement(1, "symphiq-section-divider", 1)(2, "symphiq-section-header", 2);
102322
102297
  i0.ɵɵelementStart(3, "div", 3)(4, "div", 4)(5, "div", 5);
102323
- i0.ɵɵtext(6, " Impact ");
102298
+ i0.ɵɵelement(6, "div", 6);
102299
+ i0.ɵɵelementStart(7, "div", 7)(8, "span", 8);
102300
+ i0.ɵɵtext(9, "Impact");
102301
+ i0.ɵɵelementEnd()()();
102302
+ i0.ɵɵelementStart(10, "div", 9)(11, "div", 10)(12, "div", 11)(13, "div", 12);
102303
+ i0.ɵɵelement(14, "div", 13);
102304
+ i0.ɵɵelementStart(15, "h4", 14);
102305
+ i0.ɵɵtext(16, "Quick Wins");
102306
+ i0.ɵɵelementEnd()();
102307
+ i0.ɵɵelementStart(17, "p", 15);
102308
+ i0.ɵɵtext(18, "High Impact / Low Effort");
102324
102309
  i0.ɵɵelementEnd();
102325
- i0.ɵɵelementStart(7, "div", 6);
102326
- i0.ɵɵtext(8, " Effort ");
102310
+ i0.ɵɵelementStart(19, "div", 16);
102311
+ i0.ɵɵrepeaterCreate(20, UnifiedPriorityMatrixComponent_Conditional_0_For_21_Template, 6, 2, "button", 17, _forTrack0$a);
102312
+ i0.ɵɵconditionalCreate(22, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_22_Template, 2, 1, "div", 18);
102313
+ i0.ɵɵelementEnd()();
102314
+ i0.ɵɵelementStart(23, "div", 11)(24, "div", 12);
102315
+ i0.ɵɵelement(25, "div", 19);
102316
+ i0.ɵɵelementStart(26, "h4", 14);
102317
+ i0.ɵɵtext(27, "Major Projects");
102318
+ i0.ɵɵelementEnd()();
102319
+ i0.ɵɵelementStart(28, "p", 15);
102320
+ i0.ɵɵtext(29, "High Impact / High Effort");
102327
102321
  i0.ɵɵelementEnd();
102328
- i0.ɵɵelementStart(9, "div", 7)(10, "div", 8);
102329
- i0.ɵɵelement(11, "div", 9);
102330
- i0.ɵɵelementStart(12, "h4", 10);
102331
- i0.ɵɵtext(13, "Quick Wins");
102322
+ i0.ɵɵelementStart(30, "div", 16);
102323
+ i0.ɵɵrepeaterCreate(31, UnifiedPriorityMatrixComponent_Conditional_0_For_32_Template, 6, 2, "button", 17, _forTrack0$a);
102324
+ i0.ɵɵconditionalCreate(33, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_33_Template, 2, 1, "div", 18);
102332
102325
  i0.ɵɵelementEnd()();
102333
- i0.ɵɵelementStart(14, "p", 11);
102334
- i0.ɵɵtext(15, "High Impact / Low Effort");
102335
- i0.ɵɵelementEnd();
102336
- i0.ɵɵelementStart(16, "div", 12);
102337
- i0.ɵɵrepeaterCreate(17, UnifiedPriorityMatrixComponent_Conditional_0_For_18_Template, 5, 3, "button", 13, _forTrack0$a);
102338
- i0.ɵɵconditionalCreate(19, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_19_Template, 2, 2, "div", 14);
102339
- i0.ɵɵconditionalCreate(20, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_20_Template, 2, 1, "div", 15);
102340
- i0.ɵɵelementEnd()();
102341
- i0.ɵɵelementStart(21, "div", 7)(22, "div", 8);
102342
- i0.ɵɵelement(23, "div", 16);
102343
- i0.ɵɵelementStart(24, "h4", 10);
102344
- i0.ɵɵtext(25, "Major Projects");
102345
- i0.ɵɵelementEnd()();
102346
- i0.ɵɵelementStart(26, "p", 11);
102347
- i0.ɵɵtext(27, "High Impact / High Effort");
102348
- i0.ɵɵelementEnd();
102349
- i0.ɵɵelementStart(28, "div", 12);
102350
- i0.ɵɵrepeaterCreate(29, UnifiedPriorityMatrixComponent_Conditional_0_For_30_Template, 5, 3, "button", 13, _forTrack0$a);
102351
- i0.ɵɵconditionalCreate(31, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_31_Template, 2, 2, "div", 14);
102352
- i0.ɵɵconditionalCreate(32, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_32_Template, 2, 1, "div", 15);
102353
- i0.ɵɵelementEnd()();
102354
- i0.ɵɵelementStart(33, "div", 7)(34, "div", 8);
102355
- i0.ɵɵelement(35, "div", 17);
102356
- i0.ɵɵelementStart(36, "h4", 10);
102357
- i0.ɵɵtext(37, "Fill-Ins");
102358
- i0.ɵɵelementEnd()();
102359
- i0.ɵɵelementStart(38, "p", 11);
102360
- i0.ɵɵtext(39, "Low Impact / Low Effort");
102361
- i0.ɵɵelementEnd();
102362
- i0.ɵɵelementStart(40, "div", 12);
102363
- i0.ɵɵrepeaterCreate(41, UnifiedPriorityMatrixComponent_Conditional_0_For_42_Template, 5, 3, "button", 13, _forTrack0$a);
102364
- i0.ɵɵconditionalCreate(43, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_43_Template, 2, 2, "div", 14);
102365
- i0.ɵɵconditionalCreate(44, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_44_Template, 2, 1, "div", 15);
102366
- i0.ɵɵelementEnd()();
102367
- i0.ɵɵelementStart(45, "div", 7)(46, "div", 8);
102368
- i0.ɵɵelement(47, "div", 18);
102369
- i0.ɵɵelementStart(48, "h4", 10);
102326
+ i0.ɵɵelementStart(34, "div", 11)(35, "div", 12);
102327
+ i0.ɵɵelement(36, "div", 20);
102328
+ i0.ɵɵelementStart(37, "h4", 14);
102329
+ i0.ɵɵtext(38, "Fill-Ins");
102330
+ i0.ɵɵelementEnd()();
102331
+ i0.ɵɵelementStart(39, "p", 15);
102332
+ i0.ɵɵtext(40, "Low Impact / Low Effort");
102333
+ i0.ɵɵelementEnd();
102334
+ i0.ɵɵelementStart(41, "div", 16);
102335
+ i0.ɵɵrepeaterCreate(42, UnifiedPriorityMatrixComponent_Conditional_0_For_43_Template, 6, 2, "button", 17, _forTrack0$a);
102336
+ i0.ɵɵconditionalCreate(44, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_44_Template, 2, 1, "div", 18);
102337
+ i0.ɵɵelementEnd()();
102338
+ i0.ɵɵelementStart(45, "div", 11)(46, "div", 12);
102339
+ i0.ɵɵelement(47, "div", 21);
102340
+ i0.ɵɵelementStart(48, "h4", 14);
102370
102341
  i0.ɵɵtext(49, "Time Permitting");
102371
102342
  i0.ɵɵelementEnd()();
102372
- i0.ɵɵelementStart(50, "p", 11);
102343
+ i0.ɵɵelementStart(50, "p", 15);
102373
102344
  i0.ɵɵtext(51, "Low Impact / High Effort");
102374
102345
  i0.ɵɵelementEnd();
102375
- i0.ɵɵelementStart(52, "div", 12);
102376
- i0.ɵɵrepeaterCreate(53, UnifiedPriorityMatrixComponent_Conditional_0_For_54_Template, 5, 3, "button", 13, _forTrack0$a);
102377
- i0.ɵɵconditionalCreate(55, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_55_Template, 2, 2, "div", 14);
102378
- i0.ɵɵconditionalCreate(56, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_56_Template, 2, 1, "div", 15);
102379
- i0.ɵɵelementEnd()()()()();
102346
+ i0.ɵɵelementStart(52, "div", 16);
102347
+ i0.ɵɵrepeaterCreate(53, UnifiedPriorityMatrixComponent_Conditional_0_For_54_Template, 6, 2, "button", 17, _forTrack0$a);
102348
+ i0.ɵɵconditionalCreate(55, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_55_Template, 2, 1, "div", 18);
102349
+ i0.ɵɵelementEnd()()();
102350
+ i0.ɵɵelementStart(56, "div", 22);
102351
+ i0.ɵɵelement(57, "div", 23);
102352
+ i0.ɵɵelementStart(58, "div", 24)(59, "span", 8);
102353
+ i0.ɵɵtext(60, "Effort");
102354
+ i0.ɵɵelementEnd()()()()()()();
102380
102355
  } if (rf & 2) {
102381
102356
  const ctx_r2 = i0.ɵɵnextContext();
102382
102357
  i0.ɵɵadvance();
@@ -102385,22 +102360,22 @@ function UnifiedPriorityMatrixComponent_Conditional_0_Template(rf, ctx) { if (rf
102385
102360
  i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(29, _c0$a, ctx_r2.IconSourceEnum.HEROICONS))("viewMode", ctx_r2.viewMode());
102386
102361
  i0.ɵɵadvance();
102387
102362
  i0.ɵɵproperty("ngClass", ctx_r2.containerClasses());
102388
- i0.ɵɵadvance(2);
102389
- i0.ɵɵproperty("ngClass", ctx_r2.axisLabelClasses());
102390
- i0.ɵɵadvance(2);
102363
+ i0.ɵɵadvance(3);
102364
+ i0.ɵɵproperty("ngClass", ctx_r2.axisLineClasses());
102365
+ i0.ɵɵadvance();
102366
+ i0.ɵɵproperty("ngClass", ctx_r2.axisLabelBgClasses());
102367
+ i0.ɵɵadvance();
102391
102368
  i0.ɵɵproperty("ngClass", ctx_r2.axisLabelClasses());
102392
- i0.ɵɵadvance(2);
102369
+ i0.ɵɵadvance(4);
102393
102370
  i0.ɵɵproperty("ngClass", ctx_r2.getQuadrantClasses("quick-wins"));
102394
102371
  i0.ɵɵadvance(3);
102395
102372
  i0.ɵɵproperty("ngClass", ctx_r2.titleClasses());
102396
102373
  i0.ɵɵadvance(2);
102397
102374
  i0.ɵɵproperty("ngClass", ctx_r2.subtitleClasses());
102398
102375
  i0.ɵɵadvance(3);
102399
- i0.ɵɵrepeater(ctx_r2.matrix().quickWins.slice(0, 3));
102376
+ i0.ɵɵrepeater(ctx_r2.matrix().quickWins);
102400
102377
  i0.ɵɵadvance(2);
102401
- i0.ɵɵconditional(ctx_r2.matrix().quickWins.length > 3 ? 19 : -1);
102402
- i0.ɵɵadvance();
102403
- i0.ɵɵconditional(ctx_r2.matrix().quickWins.length === 0 ? 20 : -1);
102378
+ i0.ɵɵconditional(ctx_r2.matrix().quickWins.length === 0 ? 22 : -1);
102404
102379
  i0.ɵɵadvance();
102405
102380
  i0.ɵɵproperty("ngClass", ctx_r2.getQuadrantClasses("major-projects"));
102406
102381
  i0.ɵɵadvance(3);
@@ -102408,11 +102383,9 @@ function UnifiedPriorityMatrixComponent_Conditional_0_Template(rf, ctx) { if (rf
102408
102383
  i0.ɵɵadvance(2);
102409
102384
  i0.ɵɵproperty("ngClass", ctx_r2.subtitleClasses());
102410
102385
  i0.ɵɵadvance(3);
102411
- i0.ɵɵrepeater(ctx_r2.matrix().majorProjects.slice(0, 3));
102386
+ i0.ɵɵrepeater(ctx_r2.matrix().majorProjects);
102412
102387
  i0.ɵɵadvance(2);
102413
- i0.ɵɵconditional(ctx_r2.matrix().majorProjects.length > 3 ? 31 : -1);
102414
- i0.ɵɵadvance();
102415
- i0.ɵɵconditional(ctx_r2.matrix().majorProjects.length === 0 ? 32 : -1);
102388
+ i0.ɵɵconditional(ctx_r2.matrix().majorProjects.length === 0 ? 33 : -1);
102416
102389
  i0.ɵɵadvance();
102417
102390
  i0.ɵɵproperty("ngClass", ctx_r2.getQuadrantClasses("fill-ins"));
102418
102391
  i0.ɵɵadvance(3);
@@ -102420,10 +102393,8 @@ function UnifiedPriorityMatrixComponent_Conditional_0_Template(rf, ctx) { if (rf
102420
102393
  i0.ɵɵadvance(2);
102421
102394
  i0.ɵɵproperty("ngClass", ctx_r2.subtitleClasses());
102422
102395
  i0.ɵɵadvance(3);
102423
- i0.ɵɵrepeater(ctx_r2.matrix().fillIns.slice(0, 3));
102396
+ i0.ɵɵrepeater(ctx_r2.matrix().fillIns);
102424
102397
  i0.ɵɵadvance(2);
102425
- i0.ɵɵconditional(ctx_r2.matrix().fillIns.length > 3 ? 43 : -1);
102426
- i0.ɵɵadvance();
102427
102398
  i0.ɵɵconditional(ctx_r2.matrix().fillIns.length === 0 ? 44 : -1);
102428
102399
  i0.ɵɵadvance();
102429
102400
  i0.ɵɵproperty("ngClass", ctx_r2.getQuadrantClasses("time-permitting"));
@@ -102432,11 +102403,15 @@ function UnifiedPriorityMatrixComponent_Conditional_0_Template(rf, ctx) { if (rf
102432
102403
  i0.ɵɵadvance(2);
102433
102404
  i0.ɵɵproperty("ngClass", ctx_r2.subtitleClasses());
102434
102405
  i0.ɵɵadvance(3);
102435
- i0.ɵɵrepeater(ctx_r2.matrix().thankless.slice(0, 3));
102406
+ i0.ɵɵrepeater(ctx_r2.matrix().thankless);
102436
102407
  i0.ɵɵadvance(2);
102437
- i0.ɵɵconditional(ctx_r2.matrix().thankless.length > 3 ? 55 : -1);
102408
+ i0.ɵɵconditional(ctx_r2.matrix().thankless.length === 0 ? 55 : -1);
102409
+ i0.ɵɵadvance(2);
102410
+ i0.ɵɵproperty("ngClass", ctx_r2.axisLineHorizontalClasses());
102411
+ i0.ɵɵadvance();
102412
+ i0.ɵɵproperty("ngClass", ctx_r2.axisLabelBgClasses());
102438
102413
  i0.ɵɵadvance();
102439
- i0.ɵɵconditional(ctx_r2.matrix().thankless.length === 0 ? 56 : -1);
102414
+ i0.ɵɵproperty("ngClass", ctx_r2.axisLabelClasses());
102440
102415
  } }
102441
102416
  class UnifiedPriorityMatrixComponent {
102442
102417
  constructor() {
@@ -102453,6 +102428,15 @@ class UnifiedPriorityMatrixComponent {
102453
102428
  ? 'bg-white border border-slate-200'
102454
102429
  : 'bg-slate-800/50 border border-slate-700/50', ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
102455
102430
  this.axisLabelClasses = computed(() => this.isLightMode() ? 'text-slate-400' : 'text-slate-500', ...(ngDevMode ? [{ debugName: "axisLabelClasses" }] : []));
102431
+ this.axisLineClasses = computed(() => this.isLightMode()
102432
+ ? 'bg-gradient-to-b from-blue-400 via-cyan-400 to-teal-400'
102433
+ : 'bg-gradient-to-b from-blue-600 via-cyan-600 to-teal-600', ...(ngDevMode ? [{ debugName: "axisLineClasses" }] : []));
102434
+ this.axisLineHorizontalClasses = computed(() => this.isLightMode()
102435
+ ? 'bg-gradient-to-r from-blue-400 via-cyan-400 to-teal-400'
102436
+ : 'bg-gradient-to-r from-blue-600 via-cyan-600 to-teal-600', ...(ngDevMode ? [{ debugName: "axisLineHorizontalClasses" }] : []));
102437
+ this.axisLabelBgClasses = computed(() => this.isLightMode()
102438
+ ? 'bg-white'
102439
+ : 'bg-slate-800', ...(ngDevMode ? [{ debugName: "axisLabelBgClasses" }] : []));
102456
102440
  this.titleClasses = computed(() => this.isLightMode() ? 'text-slate-800' : 'text-white', ...(ngDevMode ? [{ debugName: "titleClasses" }] : []));
102457
102441
  this.subtitleClasses = computed(() => this.isLightMode() ? 'text-slate-500' : 'text-slate-400', ...(ngDevMode ? [{ debugName: "subtitleClasses" }] : []));
102458
102442
  this.sourceIndicatorClasses = computed(() => this.isLightMode()
@@ -102501,8 +102485,8 @@ class UnifiedPriorityMatrixComponent {
102501
102485
  this.goalClick.emit(goal);
102502
102486
  }
102503
102487
  static { this.ɵfac = function UnifiedPriorityMatrixComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedPriorityMatrixComponent)(); }; }
102504
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedPriorityMatrixComponent, selectors: [["symphiq-unified-priority-matrix"]], inputs: { matrix: [1, "matrix"], viewMode: [1, "viewMode"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-priority-matrix", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Priority Matrix", 3, "icon", "viewMode"], [1, "rounded-2xl", "p-6", "shadow-xl", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-4", "relative"], [1, "absolute", "-left-2", "top-1/2", "-translate-y-1/2", "-rotate-90", "text-xs", "font-semibold", "uppercase", "tracking-wider", "whitespace-nowrap", "origin-center", 3, "ngClass"], [1, "absolute", "bottom-0", "left-1/2", "-translate-x-1/2", "translate-y-6", "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [1, "rounded-xl", "p-4", "min-h-[180px]", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mb-3"], [1, "w-3", "h-3", "rounded-full", "bg-green-500"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "text-xs", "mb-3", 3, "ngClass"], [1, "space-y-2"], ["type", "button", 1, "w-full", "text-left", "p-2", "rounded-lg", "text-sm", "transition-all", "hover:scale-[1.02]", 3, "ngClass"], [1, "text-xs", "text-center", 3, "ngClass"], [1, "text-xs", "text-center", "py-4", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-amber-500"], [1, "w-3", "h-3", "rounded-full", "bg-blue-500"], [1, "w-3", "h-3", "rounded-full", "bg-slate-400"], ["type", "button", 1, "w-full", "text-left", "p-2", "rounded-lg", "text-sm", "transition-all", "hover:scale-[1.02]", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "line-clamp-1", "flex-1"], [1, "text-xs", 3, "ngClass"]], template: function UnifiedPriorityMatrixComponent_Template(rf, ctx) { if (rf & 1) {
102505
- i0.ɵɵconditionalCreate(0, UnifiedPriorityMatrixComponent_Conditional_0_Template, 57, 31, "section", 0);
102488
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedPriorityMatrixComponent, selectors: [["symphiq-unified-priority-matrix"]], inputs: { matrix: [1, "matrix"], viewMode: [1, "viewMode"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-priority-matrix", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Priority Matrix", 3, "icon", "viewMode"], [1, "rounded-2xl", "p-6", "shadow-xl", 3, "ngClass"], [1, "flex", "gap-4"], [1, "flex", "flex-col", "items-center", "justify-center", "relative", "w-6"], [1, "absolute", "inset-y-0", "left-1/2", "-translate-x-1/2", "w-0.5", 3, "ngClass"], [1, "-rotate-90", "text-xs", "font-semibold", "uppercase", "tracking-wider", "whitespace-nowrap", "px-2", "py-1", "rounded-md", "z-10", 3, "ngClass"], [3, "ngClass"], [1, "flex-1", "flex", "flex-col", "gap-4"], [1, "grid", "grid-cols-2", "gap-4"], [1, "rounded-xl", "p-4", "min-h-[180px]", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mb-3"], [1, "w-3", "h-3", "rounded-full", "bg-green-500"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "text-xs", "mb-3", 3, "ngClass"], [1, "space-y-2"], ["type", "button", 1, "w-full", "text-left", "p-2", "rounded-lg", "text-sm", "transition-all", "hover:scale-[1.02]", 3, "ngClass"], [1, "text-xs", "text-center", "py-4", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-amber-500"], [1, "w-3", "h-3", "rounded-full", "bg-blue-500"], [1, "w-3", "h-3", "rounded-full", "bg-slate-400"], [1, "flex", "items-center", "justify-center", "relative", "h-6"], [1, "absolute", "inset-x-0", "top-1/2", "-translate-y-1/2", "h-0.5", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "px-2", "py-1", "rounded-md", "z-10", 3, "ngClass"], ["type", "button", 1, "w-full", "text-left", "p-2", "rounded-lg", "text-sm", "transition-all", "hover:scale-[1.02]", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "line-clamp-1", "flex-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0", "opacity-60"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"]], template: function UnifiedPriorityMatrixComponent_Template(rf, ctx) { if (rf & 1) {
102489
+ i0.ɵɵconditionalCreate(0, UnifiedPriorityMatrixComponent_Conditional_0_Template, 61, 31, "section", 0);
102506
102490
  } if (rf & 2) {
102507
102491
  i0.ɵɵconditional(ctx.hasGoals() ? 0 : -1);
102508
102492
  } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent], encapsulation: 2, changeDetection: 0 }); }
@@ -102528,135 +102512,134 @@ class UnifiedPriorityMatrixComponent {
102528
102512
  />
102529
102513
 
102530
102514
  <div [ngClass]="containerClasses()" class="rounded-2xl p-6 shadow-xl">
102531
- <div class="grid grid-cols-2 gap-4 relative">
102532
- <div [ngClass]="axisLabelClasses()" class="absolute -left-2 top-1/2 -translate-y-1/2 -rotate-90 text-xs font-semibold uppercase tracking-wider whitespace-nowrap origin-center">
102533
- Impact
102534
- </div>
102535
- <div [ngClass]="axisLabelClasses()" class="absolute bottom-0 left-1/2 -translate-x-1/2 translate-y-6 text-xs font-semibold uppercase tracking-wider">
102536
- Effort
102537
- </div>
102538
-
102539
- <!-- Quick Wins: High Impact / Low Effort -->
102540
- <div [ngClass]="getQuadrantClasses('quick-wins')" class="rounded-xl p-4 min-h-[180px]">
102541
- <div class="flex items-center gap-2 mb-3">
102542
- <div class="w-3 h-3 rounded-full bg-green-500"></div>
102543
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Quick Wins</h4>
102544
- </div>
102545
- <p [ngClass]="subtitleClasses()" class="text-xs mb-3">High Impact / Low Effort</p>
102546
- <div class="space-y-2">
102547
- @for (goal of matrix().quickWins.slice(0, 3); track goal.id) {
102548
- <button
102549
- type="button"
102550
- [ngClass]="getGoalClasses('quickWins')"
102551
- class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102552
- (click)="onGoalClick(goal)">
102553
- <div class="flex items-center gap-2">
102554
- <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102555
- @if ((goal.sourceAnalyses?.length ?? 0) > 0) {
102556
- <span [ngClass]="sourceIndicatorClasses()" class="text-xs">{{ (goal.sourceAnalyses?.length ?? 0) }}</span>
102557
- }
102558
- </div>
102559
- </button>
102560
- }
102561
- @if (matrix().quickWins.length > 3) {
102562
- <div [ngClass]="moreGoalsClasses()" class="text-xs text-center">+{{ matrix().quickWins.length - 3 }} more</div>
102563
- }
102564
- @if (matrix().quickWins.length === 0) {
102565
- <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102566
- }
102515
+ <div class="flex gap-4">
102516
+ <div class="flex flex-col items-center justify-center relative w-6">
102517
+ <div [ngClass]="axisLineClasses()" class="absolute inset-y-0 left-1/2 -translate-x-1/2 w-0.5"></div>
102518
+ <div [ngClass]="axisLabelBgClasses()" class="-rotate-90 text-xs font-semibold uppercase tracking-wider whitespace-nowrap px-2 py-1 rounded-md z-10">
102519
+ <span [ngClass]="axisLabelClasses()">Impact</span>
102567
102520
  </div>
102568
102521
  </div>
102569
102522
 
102570
- <!-- Major Projects: High Impact / High Effort -->
102571
- <div [ngClass]="getQuadrantClasses('major-projects')" class="rounded-xl p-4 min-h-[180px]">
102572
- <div class="flex items-center gap-2 mb-3">
102573
- <div class="w-3 h-3 rounded-full bg-amber-500"></div>
102574
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Major Projects</h4>
102575
- </div>
102576
- <p [ngClass]="subtitleClasses()" class="text-xs mb-3">High Impact / High Effort</p>
102577
- <div class="space-y-2">
102578
- @for (goal of matrix().majorProjects.slice(0, 3); track goal.id) {
102579
- <button
102580
- type="button"
102581
- [ngClass]="getGoalClasses('majorProjects')"
102582
- class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102583
- (click)="onGoalClick(goal)">
102584
- <div class="flex items-center gap-2">
102585
- <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102586
- @if ((goal.sourceAnalyses?.length ?? 0) > 0) {
102587
- <span [ngClass]="sourceIndicatorClasses()" class="text-xs">{{ (goal.sourceAnalyses?.length ?? 0) }}</span>
102588
- }
102589
- </div>
102590
- </button>
102591
- }
102592
- @if (matrix().majorProjects.length > 3) {
102593
- <div [ngClass]="moreGoalsClasses()" class="text-xs text-center">+{{ matrix().majorProjects.length - 3 }} more</div>
102594
- }
102595
- @if (matrix().majorProjects.length === 0) {
102596
- <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102597
- }
102598
- </div>
102599
- </div>
102523
+ <div class="flex-1 flex flex-col gap-4">
102524
+ <div class="grid grid-cols-2 gap-4">
102525
+ <!-- Quick Wins: High Impact / Low Effort -->
102526
+ <div [ngClass]="getQuadrantClasses('quick-wins')" class="rounded-xl p-4 min-h-[180px]">
102527
+ <div class="flex items-center gap-2 mb-3">
102528
+ <div class="w-3 h-3 rounded-full bg-green-500"></div>
102529
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Quick Wins</h4>
102530
+ </div>
102531
+ <p [ngClass]="subtitleClasses()" class="text-xs mb-3">High Impact / Low Effort</p>
102532
+ <div class="space-y-2">
102533
+ @for (goal of matrix().quickWins; track goal.id) {
102534
+ <button
102535
+ type="button"
102536
+ [ngClass]="getGoalClasses('quickWins')"
102537
+ class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102538
+ (click)="onGoalClick(goal)">
102539
+ <div class="flex items-center gap-2">
102540
+ <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102541
+ <svg class="w-4 h-4 flex-shrink-0 opacity-60" fill="none" stroke="currentColor" viewBox="0 0 24 24">
102542
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
102543
+ </svg>
102544
+ </div>
102545
+ </button>
102546
+ }
102547
+ @if (matrix().quickWins.length === 0) {
102548
+ <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102549
+ }
102550
+ </div>
102551
+ </div>
102600
102552
 
102601
- <!-- Fill-Ins: Low Impact / Low Effort -->
102602
- <div [ngClass]="getQuadrantClasses('fill-ins')" class="rounded-xl p-4 min-h-[180px]">
102603
- <div class="flex items-center gap-2 mb-3">
102604
- <div class="w-3 h-3 rounded-full bg-blue-500"></div>
102605
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Fill-Ins</h4>
102606
- </div>
102607
- <p [ngClass]="subtitleClasses()" class="text-xs mb-3">Low Impact / Low Effort</p>
102608
- <div class="space-y-2">
102609
- @for (goal of matrix().fillIns.slice(0, 3); track goal.id) {
102610
- <button
102611
- type="button"
102612
- [ngClass]="getGoalClasses('fillIns')"
102613
- class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102614
- (click)="onGoalClick(goal)">
102615
- <div class="flex items-center gap-2">
102616
- <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102617
- @if ((goal.sourceAnalyses?.length ?? 0) > 0) {
102618
- <span [ngClass]="sourceIndicatorClasses()" class="text-xs">{{ (goal.sourceAnalyses?.length ?? 0) }}</span>
102619
- }
102620
- </div>
102621
- </button>
102622
- }
102623
- @if (matrix().fillIns.length > 3) {
102624
- <div [ngClass]="moreGoalsClasses()" class="text-xs text-center">+{{ matrix().fillIns.length - 3 }} more</div>
102625
- }
102626
- @if (matrix().fillIns.length === 0) {
102627
- <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102628
- }
102629
- </div>
102630
- </div>
102553
+ <!-- Major Projects: High Impact / High Effort -->
102554
+ <div [ngClass]="getQuadrantClasses('major-projects')" class="rounded-xl p-4 min-h-[180px]">
102555
+ <div class="flex items-center gap-2 mb-3">
102556
+ <div class="w-3 h-3 rounded-full bg-amber-500"></div>
102557
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Major Projects</h4>
102558
+ </div>
102559
+ <p [ngClass]="subtitleClasses()" class="text-xs mb-3">High Impact / High Effort</p>
102560
+ <div class="space-y-2">
102561
+ @for (goal of matrix().majorProjects; track goal.id) {
102562
+ <button
102563
+ type="button"
102564
+ [ngClass]="getGoalClasses('majorProjects')"
102565
+ class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102566
+ (click)="onGoalClick(goal)">
102567
+ <div class="flex items-center gap-2">
102568
+ <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102569
+ <svg class="w-4 h-4 flex-shrink-0 opacity-60" fill="none" stroke="currentColor" viewBox="0 0 24 24">
102570
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
102571
+ </svg>
102572
+ </div>
102573
+ </button>
102574
+ }
102575
+ @if (matrix().majorProjects.length === 0) {
102576
+ <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102577
+ }
102578
+ </div>
102579
+ </div>
102580
+
102581
+ <!-- Fill-Ins: Low Impact / Low Effort -->
102582
+ <div [ngClass]="getQuadrantClasses('fill-ins')" class="rounded-xl p-4 min-h-[180px]">
102583
+ <div class="flex items-center gap-2 mb-3">
102584
+ <div class="w-3 h-3 rounded-full bg-blue-500"></div>
102585
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Fill-Ins</h4>
102586
+ </div>
102587
+ <p [ngClass]="subtitleClasses()" class="text-xs mb-3">Low Impact / Low Effort</p>
102588
+ <div class="space-y-2">
102589
+ @for (goal of matrix().fillIns; track goal.id) {
102590
+ <button
102591
+ type="button"
102592
+ [ngClass]="getGoalClasses('fillIns')"
102593
+ class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102594
+ (click)="onGoalClick(goal)">
102595
+ <div class="flex items-center gap-2">
102596
+ <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102597
+ <svg class="w-4 h-4 flex-shrink-0 opacity-60" fill="none" stroke="currentColor" viewBox="0 0 24 24">
102598
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
102599
+ </svg>
102600
+ </div>
102601
+ </button>
102602
+ }
102603
+ @if (matrix().fillIns.length === 0) {
102604
+ <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102605
+ }
102606
+ </div>
102607
+ </div>
102631
102608
 
102632
- <!-- Time Permitting: Low Impact / High Effort -->
102633
- <div [ngClass]="getQuadrantClasses('time-permitting')" class="rounded-xl p-4 min-h-[180px]">
102634
- <div class="flex items-center gap-2 mb-3">
102635
- <div class="w-3 h-3 rounded-full bg-slate-400"></div>
102636
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Time Permitting</h4>
102609
+ <!-- Time Permitting: Low Impact / High Effort -->
102610
+ <div [ngClass]="getQuadrantClasses('time-permitting')" class="rounded-xl p-4 min-h-[180px]">
102611
+ <div class="flex items-center gap-2 mb-3">
102612
+ <div class="w-3 h-3 rounded-full bg-slate-400"></div>
102613
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Time Permitting</h4>
102614
+ </div>
102615
+ <p [ngClass]="subtitleClasses()" class="text-xs mb-3">Low Impact / High Effort</p>
102616
+ <div class="space-y-2">
102617
+ @for (goal of matrix().thankless; track goal.id) {
102618
+ <button
102619
+ type="button"
102620
+ [ngClass]="getGoalClasses('thankless')"
102621
+ class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102622
+ (click)="onGoalClick(goal)">
102623
+ <div class="flex items-center gap-2">
102624
+ <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102625
+ <svg class="w-4 h-4 flex-shrink-0 opacity-60" fill="none" stroke="currentColor" viewBox="0 0 24 24">
102626
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
102627
+ </svg>
102628
+ </div>
102629
+ </button>
102630
+ }
102631
+ @if (matrix().thankless.length === 0) {
102632
+ <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102633
+ }
102634
+ </div>
102635
+ </div>
102637
102636
  </div>
102638
- <p [ngClass]="subtitleClasses()" class="text-xs mb-3">Low Impact / High Effort</p>
102639
- <div class="space-y-2">
102640
- @for (goal of matrix().thankless.slice(0, 3); track goal.id) {
102641
- <button
102642
- type="button"
102643
- [ngClass]="getGoalClasses('thankless')"
102644
- class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102645
- (click)="onGoalClick(goal)">
102646
- <div class="flex items-center gap-2">
102647
- <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102648
- @if ((goal.sourceAnalyses?.length ?? 0) > 0) {
102649
- <span [ngClass]="sourceIndicatorClasses()" class="text-xs">{{ (goal.sourceAnalyses?.length ?? 0) }}</span>
102650
- }
102651
- </div>
102652
- </button>
102653
- }
102654
- @if (matrix().thankless.length > 3) {
102655
- <div [ngClass]="moreGoalsClasses()" class="text-xs text-center">+{{ matrix().thankless.length - 3 }} more</div>
102656
- }
102657
- @if (matrix().thankless.length === 0) {
102658
- <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102659
- }
102637
+
102638
+ <div class="flex items-center justify-center relative h-6">
102639
+ <div [ngClass]="axisLineHorizontalClasses()" class="absolute inset-x-0 top-1/2 -translate-y-1/2 h-0.5"></div>
102640
+ <div [ngClass]="axisLabelBgClasses()" class="text-xs font-semibold uppercase tracking-wider px-2 py-1 rounded-md z-10">
102641
+ <span [ngClass]="axisLabelClasses()">Effort</span>
102642
+ </div>
102660
102643
  </div>
102661
102644
  </div>
102662
102645
  </div>
@@ -102666,7 +102649,7 @@ class UnifiedPriorityMatrixComponent {
102666
102649
  `
102667
102650
  }]
102668
102651
  }], null, { matrix: [{ type: i0.Input, args: [{ isSignal: true, alias: "matrix", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], goalClick: [{ type: i0.Output, args: ["goalClick"] }] }); })();
102669
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedPriorityMatrixComponent, { className: "UnifiedPriorityMatrixComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-priority-matrix.component.ts", lineNumber: 171 }); })();
102652
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedPriorityMatrixComponent, { className: "UnifiedPriorityMatrixComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-priority-matrix.component.ts", lineNumber: 170 }); })();
102670
102653
 
102671
102654
  const _c0$9 = a0 => ({ name: "arrow-right-circle", source: a0 });
102672
102655
  const _forTrack0$9 = ($index, $item) => $item.title;
@@ -102715,6 +102698,64 @@ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_10_Template(r
102715
102698
  i0.ɵɵadvance(3);
102716
102699
  i0.ɵɵrepeater(step_r1.strategies);
102717
102700
  } }
102701
+ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_11_Template(rf, ctx) { if (rf & 1) {
102702
+ const _r4 = i0.ɵɵgetCurrentView();
102703
+ i0.ɵɵelementStart(0, "div", 11)(1, "div", 12);
102704
+ i0.ɵɵtext(2, " Linked Goal ");
102705
+ i0.ɵɵelementEnd();
102706
+ i0.ɵɵelementStart(3, "div", 18);
102707
+ i0.ɵɵlistener("click", function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_11_Template_div_click_3_listener() { i0.ɵɵrestoreView(_r4); const step_r1 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalChipClick(ctx_r1.getLinkedGoal(step_r1))); });
102708
+ i0.ɵɵelementStart(4, "span", 19);
102709
+ i0.ɵɵtext(5);
102710
+ i0.ɵɵelementEnd();
102711
+ i0.ɵɵnamespaceSVG();
102712
+ i0.ɵɵelementStart(6, "svg", 20);
102713
+ i0.ɵɵelement(7, "path", 21);
102714
+ i0.ɵɵelementEnd()()();
102715
+ } if (rf & 2) {
102716
+ const step_r1 = i0.ɵɵnextContext().$implicit;
102717
+ const ctx_r1 = i0.ɵɵnextContext(2);
102718
+ i0.ɵɵproperty("ngClass", ctx_r1.borderClasses());
102719
+ i0.ɵɵadvance();
102720
+ i0.ɵɵproperty("ngClass", ctx_r1.strategiesLabelClasses());
102721
+ i0.ɵɵadvance(2);
102722
+ i0.ɵɵproperty("ngClass", ctx_r1.goalChipClasses());
102723
+ i0.ɵɵadvance(2);
102724
+ i0.ɵɵtextInterpolate(ctx_r1.getLinkedGoal(step_r1).title);
102725
+ } }
102726
+ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_For_5_Template(rf, ctx) { if (rf & 1) {
102727
+ i0.ɵɵelementStart(0, "div", 23)(1, "span", 24);
102728
+ i0.ɵɵtext(2);
102729
+ i0.ɵɵelementEnd();
102730
+ i0.ɵɵtext(3);
102731
+ i0.ɵɵelementEnd();
102732
+ } if (rf & 2) {
102733
+ const domain_r5 = ctx.$implicit;
102734
+ const ctx_r1 = i0.ɵɵnextContext(4);
102735
+ i0.ɵɵproperty("ngClass", ctx_r1.domainChipClasses());
102736
+ i0.ɵɵadvance();
102737
+ i0.ɵɵproperty("ngClass", ctx_r1.tooltipClasses());
102738
+ i0.ɵɵadvance();
102739
+ i0.ɵɵtextInterpolate(ctx_r1.getDomainSubtitle(domain_r5));
102740
+ i0.ɵɵadvance();
102741
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.getDomainTitle(domain_r5), " ");
102742
+ } }
102743
+ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
102744
+ i0.ɵɵelementStart(0, "div", 11)(1, "div", 12);
102745
+ i0.ɵɵtext(2, " Related Domains ");
102746
+ i0.ɵɵelementEnd();
102747
+ i0.ɵɵelementStart(3, "div", 22);
102748
+ i0.ɵɵrepeaterCreate(4, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_For_5_Template, 4, 4, "div", 23, i0.ɵɵrepeaterTrackByIdentity);
102749
+ i0.ɵɵelementEnd()();
102750
+ } if (rf & 2) {
102751
+ const step_r1 = i0.ɵɵnextContext().$implicit;
102752
+ const ctx_r1 = i0.ɵɵnextContext(2);
102753
+ i0.ɵɵproperty("ngClass", ctx_r1.borderClasses());
102754
+ i0.ɵɵadvance();
102755
+ i0.ɵɵproperty("ngClass", ctx_r1.strategiesLabelClasses());
102756
+ i0.ɵɵadvance(3);
102757
+ i0.ɵɵrepeater(step_r1.relatedDomains);
102758
+ } }
102718
102759
  function UnifiedNextStepsComponent_Conditional_0_For_5_Template(rf, ctx) { if (rf & 1) {
102719
102760
  i0.ɵɵelementStart(0, "div", 4)(1, "div", 5)(2, "div", 6);
102720
102761
  i0.ɵɵtext(3);
@@ -102727,20 +102768,22 @@ function UnifiedNextStepsComponent_Conditional_0_For_5_Template(rf, ctx) { if (r
102727
102768
  i0.ɵɵelementEnd()()();
102728
102769
  i0.ɵɵconditionalCreate(9, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_9_Template, 2, 2, "p", 10);
102729
102770
  i0.ɵɵconditionalCreate(10, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_10_Template, 6, 2, "div", 11);
102771
+ i0.ɵɵconditionalCreate(11, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_11_Template, 8, 4, "div", 11);
102772
+ i0.ɵɵconditionalCreate(12, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_Template, 6, 2, "div", 11);
102730
102773
  i0.ɵɵelementEnd();
102731
102774
  } if (rf & 2) {
102732
102775
  const step_r1 = ctx.$implicit;
102733
- const ɵ$index_10_r4 = ctx.$index;
102776
+ const ɵ$index_10_r6 = ctx.$index;
102734
102777
  const ctx_r1 = i0.ɵɵnextContext(2);
102735
- i0.ɵɵproperty("ngClass", ctx_r1.getCardClasses(ɵ$index_10_r4));
102778
+ i0.ɵɵproperty("ngClass", ctx_r1.getCardClasses(ɵ$index_10_r6));
102736
102779
  i0.ɵɵadvance(2);
102737
- i0.ɵɵproperty("ngClass", ctx_r1.getNumberClasses(ɵ$index_10_r4));
102780
+ i0.ɵɵproperty("ngClass", ctx_r1.getNumberClasses(ɵ$index_10_r6));
102738
102781
  i0.ɵɵadvance();
102739
- i0.ɵɵtextInterpolate1(" ", ɵ$index_10_r4 + 1, " ");
102782
+ i0.ɵɵtextInterpolate1(" ", ɵ$index_10_r6 + 1, " ");
102740
102783
  i0.ɵɵadvance(2);
102741
- i0.ɵɵproperty("ngClass", ctx_r1.getCategoryClasses(ɵ$index_10_r4));
102784
+ i0.ɵɵproperty("ngClass", ctx_r1.getCategoryClasses(ɵ$index_10_r6));
102742
102785
  i0.ɵɵadvance();
102743
- i0.ɵɵtextInterpolate1(" ", ctx_r1.getCategory(ɵ$index_10_r4), " ");
102786
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.getCategory(ɵ$index_10_r6), " ");
102744
102787
  i0.ɵɵadvance();
102745
102788
  i0.ɵɵproperty("ngClass", ctx_r1.titleClasses());
102746
102789
  i0.ɵɵadvance();
@@ -102749,12 +102792,16 @@ function UnifiedNextStepsComponent_Conditional_0_For_5_Template(rf, ctx) { if (r
102749
102792
  i0.ɵɵconditional(step_r1.description ? 9 : -1);
102750
102793
  i0.ɵɵadvance();
102751
102794
  i0.ɵɵconditional(step_r1.strategies && step_r1.strategies.length > 0 ? 10 : -1);
102795
+ i0.ɵɵadvance();
102796
+ i0.ɵɵconditional(ctx_r1.getLinkedGoal(step_r1) ? 11 : -1);
102797
+ i0.ɵɵadvance();
102798
+ i0.ɵɵconditional(step_r1.relatedDomains && step_r1.relatedDomains.length > 0 ? 12 : -1);
102752
102799
  } }
102753
102800
  function UnifiedNextStepsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
102754
102801
  i0.ɵɵelementStart(0, "section", 0);
102755
102802
  i0.ɵɵelement(1, "symphiq-section-divider", 1)(2, "symphiq-section-header", 2);
102756
102803
  i0.ɵɵelementStart(3, "div", 3);
102757
- i0.ɵɵrepeaterCreate(4, UnifiedNextStepsComponent_Conditional_0_For_5_Template, 11, 9, "div", 4, _forTrack0$9);
102804
+ i0.ɵɵrepeaterCreate(4, UnifiedNextStepsComponent_Conditional_0_For_5_Template, 13, 11, "div", 4, _forTrack0$9);
102758
102805
  i0.ɵɵelementEnd()();
102759
102806
  } if (rf & 2) {
102760
102807
  const ctx_r1 = i0.ɵɵnextContext();
@@ -102769,6 +102816,8 @@ class UnifiedNextStepsComponent {
102769
102816
  constructor() {
102770
102817
  this.steps = input.required(...(ngDevMode ? [{ debugName: "steps" }] : []));
102771
102818
  this.viewMode = input(ViewModeEnum.DARK, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
102819
+ this.goals = input([], ...(ngDevMode ? [{ debugName: "goals" }] : []));
102820
+ this.goalClick = output();
102772
102821
  this.IconSourceEnum = IconSourceEnum;
102773
102822
  this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
102774
102823
  this.titleClasses = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "titleClasses" }] : []));
@@ -102776,6 +102825,15 @@ class UnifiedNextStepsComponent {
102776
102825
  this.borderClasses = computed(() => this.isLightMode() ? 'border-slate-200' : 'border-slate-700', ...(ngDevMode ? [{ debugName: "borderClasses" }] : []));
102777
102826
  this.strategiesLabelClasses = computed(() => this.isLightMode() ? 'text-slate-500' : 'text-slate-400', ...(ngDevMode ? [{ debugName: "strategiesLabelClasses" }] : []));
102778
102827
  this.strategyItemClasses = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-300', ...(ngDevMode ? [{ debugName: "strategyItemClasses" }] : []));
102828
+ this.goalChipClasses = computed(() => this.isLightMode()
102829
+ ? 'bg-violet-50 border border-violet-200 text-violet-700 hover:bg-violet-100'
102830
+ : 'bg-violet-900/30 border border-violet-700/50 text-violet-300', ...(ngDevMode ? [{ debugName: "goalChipClasses" }] : []));
102831
+ this.domainChipClasses = computed(() => this.isLightMode()
102832
+ ? 'bg-slate-100 text-slate-700 border border-slate-200 hover:bg-slate-200'
102833
+ : 'bg-slate-700/50 text-slate-300 border border-slate-600 hover:bg-slate-700', ...(ngDevMode ? [{ debugName: "domainChipClasses" }] : []));
102834
+ this.tooltipClasses = computed(() => this.isLightMode()
102835
+ ? 'bg-slate-800 text-white [&::after]:border-t-slate-800 [&::after]:border-x-transparent [&::after]:border-b-transparent'
102836
+ : 'bg-slate-200 text-slate-900 [&::after]:border-t-slate-200 [&::after]:border-x-transparent [&::after]:border-b-transparent', ...(ngDevMode ? [{ debugName: "tooltipClasses" }] : []));
102779
102837
  }
102780
102838
  getCategory(idx) {
102781
102839
  if (idx === 0)
@@ -102832,21 +102890,30 @@ class UnifiedNextStepsComponent {
102832
102890
  return 'text-slate-400';
102833
102891
  }
102834
102892
  }
102893
+ getLinkedGoal(step) {
102894
+ if (!step.linkedGoalId)
102895
+ return undefined;
102896
+ return this.goals().find(g => g.id === step.linkedGoalId);
102897
+ }
102898
+ onGoalChipClick(goal) {
102899
+ this.goalClick.emit(goal);
102900
+ }
102901
+ getDomainTitle(domain) {
102902
+ return FocusAreaDomainEnumUtil.title(domain);
102903
+ }
102904
+ getDomainSubtitle(domain) {
102905
+ return FocusAreaDomainEnumUtil.subtitle(domain);
102906
+ }
102835
102907
  static { this.ɵfac = function UnifiedNextStepsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedNextStepsComponent)(); }; }
102836
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedNextStepsComponent, selectors: [["symphiq-unified-next-steps"]], inputs: { steps: [1, "steps"], viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [["id", "section-next-steps", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Next Steps", 3, "icon", "viewMode"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-6"], [1, "rounded-2xl", "p-6", "shadow-lg", "transition-all", "hover:shadow-xl", 3, "ngClass"], [1, "flex", "items-start", "gap-4", "mb-4"], [1, "w-10", "h-10", "rounded-full", "flex", "items-center", "justify-center", "text-lg", "font-bold", "flex-shrink-0", 3, "ngClass"], [1, "flex-1"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-base", "font-semibold", "line-clamp-2", 3, "ngClass"], [1, "text-sm", "mb-4", "line-clamp-3", 3, "ngClass"], [1, "mt-4", "pt-4", "border-t", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "mt-0.5", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "line-clamp-2"]], template: function UnifiedNextStepsComponent_Template(rf, ctx) { if (rf & 1) {
102908
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedNextStepsComponent, selectors: [["symphiq-unified-next-steps"]], inputs: { steps: [1, "steps"], viewMode: [1, "viewMode"], goals: [1, "goals"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-next-steps", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Next Steps", 3, "icon", "viewMode"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-6"], [1, "rounded-2xl", "p-6", "shadow-lg", "transition-all", "hover:shadow-xl", 3, "ngClass"], [1, "flex", "items-start", "gap-4", "mb-4"], [1, "w-10", "h-10", "rounded-full", "flex", "items-center", "justify-center", "text-lg", "font-bold", "flex-shrink-0", 3, "ngClass"], [1, "flex-1"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-base", "font-semibold", "line-clamp-2", 3, "ngClass"], [1, "text-sm", "mb-4", "line-clamp-3", 3, "ngClass"], [1, "mt-4", "pt-4", "border-t", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "mt-0.5", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "line-clamp-2"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "click", "ngClass"], [1, "text-sm", "font-medium", "line-clamp-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "flex", "flex-wrap", "gap-2"], [1, "domain-chip", "px-2", "py-1", "rounded-md", "text-xs", "font-medium", 3, "ngClass"], [1, "tooltip", 3, "ngClass"]], template: function UnifiedNextStepsComponent_Template(rf, ctx) { if (rf & 1) {
102837
102909
  i0.ɵɵconditionalCreate(0, UnifiedNextStepsComponent_Conditional_0_Template, 6, 8, "section", 0);
102838
102910
  } if (rf & 2) {
102839
102911
  i0.ɵɵconditional(ctx.steps().length > 0 ? 0 : -1);
102840
- } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent], encapsulation: 2, changeDetection: 0 }); }
102912
+ } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent], styles: [".goal-chip[_ngcontent-%COMP%]{transition:all .3s ease}.goal-chip[_ngcontent-%COMP%]:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}.domain-chip[_ngcontent-%COMP%]{position:relative}.domain-chip[_ngcontent-%COMP%] .tooltip[_ngcontent-%COMP%]{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:50;transition:opacity .2s ease,visibility .2s ease;margin-bottom:6px}.domain-chip[_ngcontent-%COMP%] .tooltip[_ngcontent-%COMP%]:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid}.domain-chip[_ngcontent-%COMP%]:hover .tooltip[_ngcontent-%COMP%]{visibility:visible;opacity:1}"], changeDetection: 0 }); }
102841
102913
  }
102842
102914
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnifiedNextStepsComponent, [{
102843
102915
  type: Component,
102844
- args: [{
102845
- selector: 'symphiq-unified-next-steps',
102846
- standalone: true,
102847
- imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent],
102848
- changeDetection: ChangeDetectionStrategy.OnPush,
102849
- template: `
102916
+ args: [{ selector: 'symphiq-unified-next-steps', standalone: true, imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
102850
102917
  @if (steps().length > 0) {
102851
102918
  <section id="section-next-steps" class="space-y-6 scroll-mt-24">
102852
102919
  <symphiq-section-divider
@@ -102899,15 +102966,47 @@ class UnifiedNextStepsComponent {
102899
102966
  </div>
102900
102967
  </div>
102901
102968
  }
102969
+
102970
+ @if (getLinkedGoal(step)) {
102971
+ <div class="mt-4 pt-4 border-t" [ngClass]="borderClasses()">
102972
+ <div [ngClass]="strategiesLabelClasses()" class="text-xs font-semibold uppercase mb-2">
102973
+ Linked Goal
102974
+ </div>
102975
+ <div
102976
+ [ngClass]="goalChipClasses()"
102977
+ class="goal-chip flex items-center justify-between gap-2 px-3 py-2 rounded-lg cursor-pointer"
102978
+ (click)="onGoalChipClick(getLinkedGoal(step)!)">
102979
+ <span class="text-sm font-medium line-clamp-1">{{ getLinkedGoal(step)!.title }}</span>
102980
+ <svg class="w-4 h-4 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
102981
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
102982
+ </svg>
102983
+ </div>
102984
+ </div>
102985
+ }
102986
+
102987
+ @if (step.relatedDomains && step.relatedDomains.length > 0) {
102988
+ <div class="mt-4 pt-4 border-t" [ngClass]="borderClasses()">
102989
+ <div [ngClass]="strategiesLabelClasses()" class="text-xs font-semibold uppercase mb-2">
102990
+ Related Domains
102991
+ </div>
102992
+ <div class="flex flex-wrap gap-2">
102993
+ @for (domain of step.relatedDomains; track domain) {
102994
+ <div [ngClass]="domainChipClasses()" class="domain-chip px-2 py-1 rounded-md text-xs font-medium">
102995
+ <span [ngClass]="tooltipClasses()" class="tooltip">{{ getDomainSubtitle(domain) }}</span>
102996
+ {{ getDomainTitle(domain) }}
102997
+ </div>
102998
+ }
102999
+ </div>
103000
+ </div>
103001
+ }
102902
103002
  </div>
102903
103003
  }
102904
103004
  </div>
102905
103005
  </section>
102906
103006
  }
102907
- `
102908
- }]
102909
- }], null, { steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
102910
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedNextStepsComponent, { className: "UnifiedNextStepsComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-next-steps.component.ts", lineNumber: 79 }); })();
103007
+ `, styles: [".goal-chip{transition:all .3s ease}.goal-chip:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}.domain-chip{position:relative}.domain-chip .tooltip{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:50;transition:opacity .2s ease,visibility .2s ease;margin-bottom:6px}.domain-chip .tooltip:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid}.domain-chip:hover .tooltip{visibility:visible;opacity:1}\n"] }]
103008
+ }], null, { steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], goals: [{ type: i0.Input, args: [{ isSignal: true, alias: "goals", required: false }] }], goalClick: [{ type: i0.Output, args: ["goalClick"] }] }); })();
103009
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedNextStepsComponent, { className: "UnifiedNextStepsComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-next-steps.component.ts", lineNumber: 155 }); })();
102911
103010
 
102912
103011
  function SynthesisConfidenceSectionComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
102913
103012
  i0.ɵɵelementStart(0, "p", 8);
@@ -103594,72 +103693,84 @@ class UnifiedGoalRelatedMetricsModalContentComponent {
103594
103693
  const _c0$8 = ["modalContent"];
103595
103694
  const _c1$4 = ["modalWrapper"];
103596
103695
  const _c2$2 = () => [];
103597
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
103696
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Template(rf, ctx) { if (rf & 1) {
103697
+ const _r3 = i0.ɵɵgetCurrentView();
103698
+ i0.ɵɵelementStart(0, "button", 26);
103699
+ i0.ɵɵlistener("click", function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onBackClick()); });
103598
103700
  i0.ɵɵnamespaceSVG();
103599
- i0.ɵɵelementStart(0, "svg", 26);
103600
- i0.ɵɵelement(1, "path", 27);
103701
+ i0.ɵɵelementStart(1, "svg", 27);
103702
+ i0.ɵɵelement(2, "path", 28);
103703
+ i0.ɵɵelementEnd()();
103704
+ } if (rf & 2) {
103705
+ const ctx_r1 = i0.ɵɵnextContext(2);
103706
+ i0.ɵɵproperty("ngClass", ctx_r1.backButtonClasses());
103707
+ } }
103708
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_9_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
103709
+ i0.ɵɵnamespaceSVG();
103710
+ i0.ɵɵelementStart(0, "svg", 31);
103711
+ i0.ɵɵelement(1, "path", 32);
103601
103712
  i0.ɵɵelementEnd();
103602
103713
  } if (rf & 2) {
103603
103714
  const ctx_r1 = i0.ɵɵnextContext(4);
103604
103715
  i0.ɵɵproperty("ngClass", ctx_r1.breadcrumbChevronClasses());
103605
103716
  } }
103606
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
103607
- const _r3 = i0.ɵɵgetCurrentView();
103608
- i0.ɵɵelementStart(0, "button", 25);
103609
- i0.ɵɵlistener("click", function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Template_button_click_0_listener() { const $index_r4 = i0.ɵɵrestoreView(_r3).$index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.navigateToBreadcrumb($index_r4)); });
103717
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
103718
+ const _r4 = i0.ɵɵgetCurrentView();
103719
+ i0.ɵɵelementStart(0, "button", 30);
103720
+ i0.ɵɵlistener("click", function UnifiedDashboardModalComponent_Conditional_0_Conditional_9_For_2_Template_button_click_0_listener() { const $index_r5 = i0.ɵɵrestoreView(_r4).$index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.navigateToBreadcrumb($index_r5)); });
103610
103721
  i0.ɵɵtext(1);
103611
103722
  i0.ɵɵelementEnd();
103612
- i0.ɵɵconditionalCreate(2, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Conditional_2_Template, 2, 1, ":svg:svg", 26);
103723
+ i0.ɵɵconditionalCreate(2, UnifiedDashboardModalComponent_Conditional_0_Conditional_9_For_2_Conditional_2_Template, 2, 1, ":svg:svg", 31);
103613
103724
  } if (rf & 2) {
103614
- const item_r5 = ctx.$implicit;
103615
- const ɵ$index_17_r6 = ctx.$index;
103616
- const ɵ$count_17_r7 = ctx.$count;
103725
+ const item_r6 = ctx.$implicit;
103726
+ const ɵ$index_26_r7 = ctx.$index;
103727
+ const ɵ$count_26_r8 = ctx.$count;
103617
103728
  const ctx_r1 = i0.ɵɵnextContext(3);
103618
103729
  i0.ɵɵproperty("ngClass", ctx_r1.breadcrumbButtonClasses());
103619
103730
  i0.ɵɵadvance();
103620
- i0.ɵɵtextInterpolate1(" ", ctx_r1.getBreadcrumbLabel(item_r5), " ");
103731
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.getBreadcrumbLabel(item_r6), " ");
103621
103732
  i0.ɵɵadvance();
103622
- i0.ɵɵconditional(!(ɵ$index_17_r6 === ɵ$count_17_r7 - 1) || ctx_r1.modalType() !== null ? 2 : -1);
103733
+ i0.ɵɵconditional(!(ɵ$index_26_r7 === ɵ$count_26_r8 - 1) || ctx_r1.modalType() !== null ? 2 : -1);
103623
103734
  } }
103624
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_3_Template(rf, ctx) { if (rf & 1) {
103625
- i0.ɵɵelementStart(0, "span", 24);
103735
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
103736
+ i0.ɵɵelementStart(0, "span", 29);
103626
103737
  i0.ɵɵtext(1, "Objectives");
103627
103738
  i0.ɵɵelementEnd();
103628
103739
  } if (rf & 2) {
103629
103740
  const ctx_r1 = i0.ɵɵnextContext(3);
103630
103741
  i0.ɵɵproperty("ngClass", ctx_r1.breadcrumbCurrentClasses());
103631
103742
  } }
103632
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_4_Template(rf, ctx) { if (rf & 1) {
103633
- i0.ɵɵelementStart(0, "span", 24);
103743
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_9_Conditional_4_Template(rf, ctx) { if (rf & 1) {
103744
+ i0.ɵɵelementStart(0, "span", 29);
103634
103745
  i0.ɵɵtext(1, "Related Metrics");
103635
103746
  i0.ɵɵelementEnd();
103636
103747
  } if (rf & 2) {
103637
103748
  const ctx_r1 = i0.ɵɵnextContext(3);
103638
103749
  i0.ɵɵproperty("ngClass", ctx_r1.breadcrumbCurrentClasses());
103639
103750
  } }
103640
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_5_Template(rf, ctx) { if (rf & 1) {
103641
- i0.ɵɵelementStart(0, "span", 24);
103751
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_9_Conditional_5_Template(rf, ctx) { if (rf & 1) {
103752
+ i0.ɵɵelementStart(0, "span", 29);
103642
103753
  i0.ɵɵtext(1, "Strategies");
103643
103754
  i0.ɵɵelementEnd();
103644
103755
  } if (rf & 2) {
103645
103756
  const ctx_r1 = i0.ɵɵnextContext(3);
103646
103757
  i0.ɵɵproperty("ngClass", ctx_r1.breadcrumbCurrentClasses());
103647
103758
  } }
103648
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_6_Template(rf, ctx) { if (rf & 1) {
103649
- i0.ɵɵelementStart(0, "span", 24);
103759
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_9_Conditional_6_Template(rf, ctx) { if (rf & 1) {
103760
+ i0.ɵɵelementStart(0, "span", 29);
103650
103761
  i0.ɵɵtext(1, "Recommendations");
103651
103762
  i0.ɵɵelementEnd();
103652
103763
  } if (rf & 2) {
103653
103764
  const ctx_r1 = i0.ɵɵnextContext(3);
103654
103765
  i0.ɵɵproperty("ngClass", ctx_r1.breadcrumbCurrentClasses());
103655
103766
  } }
103656
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Template(rf, ctx) { if (rf & 1) {
103657
- i0.ɵɵelementStart(0, "div", 9);
103658
- i0.ɵɵrepeaterCreate(1, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Template, 3, 3, null, null, i0.ɵɵrepeaterTrackByIndex);
103659
- i0.ɵɵconditionalCreate(3, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_3_Template, 2, 1, "span", 24);
103660
- i0.ɵɵconditionalCreate(4, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_4_Template, 2, 1, "span", 24);
103661
- i0.ɵɵconditionalCreate(5, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_5_Template, 2, 1, "span", 24);
103662
- i0.ɵɵconditionalCreate(6, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_6_Template, 2, 1, "span", 24);
103767
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
103768
+ i0.ɵɵelementStart(0, "div", 11);
103769
+ i0.ɵɵrepeaterCreate(1, UnifiedDashboardModalComponent_Conditional_0_Conditional_9_For_2_Template, 3, 3, null, null, i0.ɵɵrepeaterTrackByIndex);
103770
+ i0.ɵɵconditionalCreate(3, UnifiedDashboardModalComponent_Conditional_0_Conditional_9_Conditional_3_Template, 2, 1, "span", 29);
103771
+ i0.ɵɵconditionalCreate(4, UnifiedDashboardModalComponent_Conditional_0_Conditional_9_Conditional_4_Template, 2, 1, "span", 29);
103772
+ i0.ɵɵconditionalCreate(5, UnifiedDashboardModalComponent_Conditional_0_Conditional_9_Conditional_5_Template, 2, 1, "span", 29);
103773
+ i0.ɵɵconditionalCreate(6, UnifiedDashboardModalComponent_Conditional_0_Conditional_9_Conditional_6_Template, 2, 1, "span", 29);
103663
103774
  i0.ɵɵelementEnd();
103664
103775
  } if (rf & 2) {
103665
103776
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -103674,8 +103785,8 @@ function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Template(rf,
103674
103785
  i0.ɵɵadvance();
103675
103786
  i0.ɵɵconditional(ctx_r1.modalType() === "strategy-recommendations" ? 6 : -1);
103676
103787
  } }
103677
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
103678
- i0.ɵɵelementStart(0, "div", 10)(1, "span", 28);
103788
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
103789
+ i0.ɵɵelementStart(0, "div", 12)(1, "span", 33);
103679
103790
  i0.ɵɵtext(2);
103680
103791
  i0.ɵɵelementEnd()();
103681
103792
  } if (rf & 2) {
@@ -103685,53 +103796,53 @@ function UnifiedDashboardModalComponent_Conditional_0_Conditional_8_Template(rf,
103685
103796
  i0.ɵɵadvance();
103686
103797
  i0.ɵɵtextInterpolate1(" ", ctx_r1.modalType() === "unified-goal-objectives" ? "Objectives" : ctx_r1.modalType() === "unified-goal-related-metrics" ? "Related Metrics" : ctx_r1.modalType() === "objective-strategies" ? "Strategies" : ctx_r1.modalType() === "strategy-recommendations" ? "Recommendations" : "Unified Goal", " ");
103687
103798
  } }
103688
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
103689
- i0.ɵɵelement(0, "symphiq-priority-badge", 13);
103799
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
103800
+ i0.ɵɵelement(0, "symphiq-priority-badge", 15);
103690
103801
  } if (rf & 2) {
103691
103802
  const ctx_r1 = i0.ɵɵnextContext(2);
103692
103803
  i0.ɵɵproperty("priority", ctx_r1.currentGoal().priority)("viewMode", ctx_r1.viewMode());
103693
103804
  } }
103694
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
103695
- i0.ɵɵelement(0, "symphiq-timeframe-badge", 14);
103805
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_15_Template(rf, ctx) { if (rf & 1) {
103806
+ i0.ɵɵelement(0, "symphiq-timeframe-badge", 16);
103696
103807
  } if (rf & 2) {
103697
103808
  const ctx_r1 = i0.ɵɵnextContext(2);
103698
103809
  i0.ɵɵproperty("timeframe", ctx_r1.currentGoal().timeframe)("viewMode", ctx_r1.viewMode());
103699
103810
  } }
103700
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template(rf, ctx) { if (rf & 1) {
103701
- const _r8 = i0.ɵɵgetCurrentView();
103702
- i0.ɵɵelementStart(0, "symphiq-unified-goal-detail-modal-content", 29);
103703
- i0.ɵɵlistener("sourceAnalysisClick", function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template_symphiq_unified_goal_detail_modal_content_sourceAnalysisClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSourceAnalysisClick($event)); })("metricClick", function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template_symphiq_unified_goal_detail_modal_content_metricClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onMetricClick($event)); })("contributingMetricsClick", function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template_symphiq_unified_goal_detail_modal_content_contributingMetricsClick_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onContributingMetricsClick()); })("showObjectives", function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template_symphiq_unified_goal_detail_modal_content_showObjectives_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onShowObjectives()); })("close", function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template_symphiq_unified_goal_detail_modal_content_close_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.closeModal()); });
103811
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template(rf, ctx) { if (rf & 1) {
103812
+ const _r9 = i0.ɵɵgetCurrentView();
103813
+ i0.ɵɵelementStart(0, "symphiq-unified-goal-detail-modal-content", 34);
103814
+ i0.ɵɵlistener("sourceAnalysisClick", function UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template_symphiq_unified_goal_detail_modal_content_sourceAnalysisClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSourceAnalysisClick($event)); })("metricClick", function UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template_symphiq_unified_goal_detail_modal_content_metricClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onMetricClick($event)); })("contributingMetricsClick", function UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template_symphiq_unified_goal_detail_modal_content_contributingMetricsClick_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onContributingMetricsClick()); })("showObjectives", function UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template_symphiq_unified_goal_detail_modal_content_showObjectives_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onShowObjectives()); })("close", function UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template_symphiq_unified_goal_detail_modal_content_close_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.closeModal()); });
103704
103815
  i0.ɵɵelementEnd();
103705
103816
  } if (rf & 2) {
103706
103817
  const ctx_r1 = i0.ɵɵnextContext(2);
103707
103818
  i0.ɵɵproperty("goal", ctx_r1.unifiedGoalData().goal)("allMetrics", ctx_r1.unifiedGoalData().allMetrics)("allCharts", ctx_r1.unifiedGoalData().allCharts)("loadedSourceAnalysisIds", ctx_r1.loadedSourceAnalysisIdsAsNumbers())("loadingSourceAnalysisId", ctx_r1.loadingSourceAnalysisIdAsNumber())("viewMode", ctx_r1.viewMode())("currentModalState", ctx_r1.currentModalState());
103708
103819
  } }
103709
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_20_Template(rf, ctx) { if (rf & 1) {
103710
- i0.ɵɵelement(0, "symphiq-goal-objectives-modal-content", 20);
103820
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
103821
+ i0.ɵɵelement(0, "symphiq-goal-objectives-modal-content", 22);
103711
103822
  } if (rf & 2) {
103712
103823
  const ctx_r1 = i0.ɵɵnextContext(2);
103713
103824
  i0.ɵɵproperty("objectives", ctx_r1.objectivesData().goal.objectives ?? i0.ɵɵpureFunction0(3, _c2$2))("goalTitle", ctx_r1.objectivesData().goal.title ?? "")("viewMode", ctx_r1.viewMode());
103714
103825
  } }
103715
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template(rf, ctx) { if (rf & 1) {
103716
- const _r9 = i0.ɵɵgetCurrentView();
103717
- i0.ɵɵelementStart(0, "symphiq-unified-goal-related-metrics-modal-content", 30);
103718
- i0.ɵɵlistener("metricClick", function UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template_symphiq_unified_goal_related_metrics_modal_content_metricClick_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onRelatedMetricClick($event)); });
103826
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_23_Template(rf, ctx) { if (rf & 1) {
103827
+ const _r10 = i0.ɵɵgetCurrentView();
103828
+ i0.ɵɵelementStart(0, "symphiq-unified-goal-related-metrics-modal-content", 35);
103829
+ i0.ɵɵlistener("metricClick", function UnifiedDashboardModalComponent_Conditional_0_Conditional_23_Template_symphiq_unified_goal_related_metrics_modal_content_metricClick_0_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onRelatedMetricClick($event)); });
103719
103830
  i0.ɵɵelementEnd();
103720
103831
  } if (rf & 2) {
103721
103832
  const ctx_r1 = i0.ɵɵnextContext(2);
103722
103833
  i0.ɵɵproperty("goal", ctx_r1.relatedMetricsData().goal)("contributingMetrics", ctx_r1.relatedMetricsData().contributingMetrics)("viewMode", ctx_r1.viewMode());
103723
103834
  } }
103724
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
103725
- i0.ɵɵelement(0, "symphiq-objective-strategies-modal-content", 22);
103835
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_24_Template(rf, ctx) { if (rf & 1) {
103836
+ i0.ɵɵelement(0, "symphiq-objective-strategies-modal-content", 24);
103726
103837
  } if (rf & 2) {
103727
103838
  const ctx_r1 = i0.ɵɵnextContext(2);
103728
103839
  i0.ɵɵproperty("objective", ctx_r1.strategiesData().objective)("viewMode", ctx_r1.viewMode());
103729
103840
  } }
103730
- function UnifiedDashboardModalComponent_Conditional_0_Conditional_23_Template(rf, ctx) { if (rf & 1) {
103731
- i0.ɵɵelement(0, "symphiq-strategy-recommendations-modal-content", 23);
103841
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_25_Template(rf, ctx) { if (rf & 1) {
103842
+ i0.ɵɵelement(0, "symphiq-strategy-recommendations-modal-content", 25);
103732
103843
  } if (rf & 2) {
103733
103844
  const ctx_r1 = i0.ɵɵnextContext(2);
103734
- i0.ɵɵproperty("strategy", ctx_r1.recommendationsData().strategy)("viewMode", ctx_r1.viewMode())("allMetrics", ctx_r1.allMetricsFromStack())("allCharts", ctx_r1.allChartsFromStack())("allInsights", ctx_r1.allInsightsFromStack())("goalTitle", ctx_r1.recommendationsData().goalTitle)("objectiveTitle", ctx_r1.recommendationsData().objectiveTitle);
103845
+ i0.ɵɵproperty("strategy", ctx_r1.recommendationsData().strategy)("viewMode", ctx_r1.viewMode())("allMetrics", ctx_r1.allMetricsFromStack())("allCharts", ctx_r1.allChartsFromStack())("allInsights", ctx_r1.allInsightsFromStack())("goalTitle", ctx_r1.recommendationsData().goalTitle)("objectiveTitle", ctx_r1.recommendationsData().objectiveTitle)("currentModalState", ctx_r1.currentModalState());
103735
103846
  } }
103736
103847
  function UnifiedDashboardModalComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
103737
103848
  const _r1 = i0.ɵɵgetCurrentView();
@@ -103741,30 +103852,32 @@ function UnifiedDashboardModalComponent_Conditional_0_Template(rf, ctx) { if (rf
103741
103852
  i0.ɵɵelementStart(3, "div", 5);
103742
103853
  i0.ɵɵlistener("click", function UnifiedDashboardModalComponent_Conditional_0_Template_div_click_3_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView($event.stopPropagation()); });
103743
103854
  i0.ɵɵelementStart(4, "div", 6)(5, "div", 7)(6, "div", 8);
103744
- i0.ɵɵconditionalCreate(7, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Template, 7, 4, "div", 9)(8, UnifiedDashboardModalComponent_Conditional_0_Conditional_8_Template, 3, 2, "div", 10);
103745
- i0.ɵɵelementStart(9, "h3", 11);
103746
- i0.ɵɵtext(10);
103747
- i0.ɵɵelementEnd()();
103748
- i0.ɵɵelementStart(11, "div", 12);
103749
- i0.ɵɵconditionalCreate(12, UnifiedDashboardModalComponent_Conditional_0_Conditional_12_Template, 1, 2, "symphiq-priority-badge", 13);
103750
- i0.ɵɵconditionalCreate(13, UnifiedDashboardModalComponent_Conditional_0_Conditional_13_Template, 1, 2, "symphiq-timeframe-badge", 14);
103751
- i0.ɵɵelementStart(14, "button", 15);
103752
- i0.ɵɵlistener("click", function UnifiedDashboardModalComponent_Conditional_0_Template_button_click_14_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeModal()); });
103855
+ i0.ɵɵconditionalCreate(7, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Template, 3, 1, "button", 9);
103856
+ i0.ɵɵelementStart(8, "div", 10);
103857
+ i0.ɵɵconditionalCreate(9, UnifiedDashboardModalComponent_Conditional_0_Conditional_9_Template, 7, 4, "div", 11)(10, UnifiedDashboardModalComponent_Conditional_0_Conditional_10_Template, 3, 2, "div", 12);
103858
+ i0.ɵɵelementStart(11, "h3", 13);
103859
+ i0.ɵɵtext(12);
103860
+ i0.ɵɵelementEnd()()();
103861
+ i0.ɵɵelementStart(13, "div", 14);
103862
+ i0.ɵɵconditionalCreate(14, UnifiedDashboardModalComponent_Conditional_0_Conditional_14_Template, 1, 2, "symphiq-priority-badge", 15);
103863
+ i0.ɵɵconditionalCreate(15, UnifiedDashboardModalComponent_Conditional_0_Conditional_15_Template, 1, 2, "symphiq-timeframe-badge", 16);
103864
+ i0.ɵɵelementStart(16, "button", 17);
103865
+ i0.ɵɵlistener("click", function UnifiedDashboardModalComponent_Conditional_0_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeModal()); });
103753
103866
  i0.ɵɵnamespaceSVG();
103754
- i0.ɵɵelementStart(15, "svg", 16);
103755
- i0.ɵɵelement(16, "path", 17);
103867
+ i0.ɵɵelementStart(17, "svg", 18);
103868
+ i0.ɵɵelement(18, "path", 19);
103756
103869
  i0.ɵɵelementEnd()()()()();
103757
103870
  i0.ɵɵnamespaceHTML();
103758
- i0.ɵɵelementStart(17, "div", 18, 1);
103759
- i0.ɵɵconditionalCreate(19, UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template, 1, 7, "symphiq-unified-goal-detail-modal-content", 19);
103760
- i0.ɵɵconditionalCreate(20, UnifiedDashboardModalComponent_Conditional_0_Conditional_20_Template, 1, 4, "symphiq-goal-objectives-modal-content", 20);
103761
- i0.ɵɵconditionalCreate(21, UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template, 1, 3, "symphiq-unified-goal-related-metrics-modal-content", 21);
103762
- i0.ɵɵconditionalCreate(22, UnifiedDashboardModalComponent_Conditional_0_Conditional_22_Template, 1, 2, "symphiq-objective-strategies-modal-content", 22);
103763
- i0.ɵɵconditionalCreate(23, UnifiedDashboardModalComponent_Conditional_0_Conditional_23_Template, 1, 7, "symphiq-strategy-recommendations-modal-content", 23);
103871
+ i0.ɵɵelementStart(19, "div", 20, 1);
103872
+ i0.ɵɵconditionalCreate(21, UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template, 1, 7, "symphiq-unified-goal-detail-modal-content", 21);
103873
+ i0.ɵɵconditionalCreate(22, UnifiedDashboardModalComponent_Conditional_0_Conditional_22_Template, 1, 4, "symphiq-goal-objectives-modal-content", 22);
103874
+ i0.ɵɵconditionalCreate(23, UnifiedDashboardModalComponent_Conditional_0_Conditional_23_Template, 1, 3, "symphiq-unified-goal-related-metrics-modal-content", 23);
103875
+ i0.ɵɵconditionalCreate(24, UnifiedDashboardModalComponent_Conditional_0_Conditional_24_Template, 1, 2, "symphiq-objective-strategies-modal-content", 24);
103876
+ i0.ɵɵconditionalCreate(25, UnifiedDashboardModalComponent_Conditional_0_Conditional_25_Template, 1, 8, "symphiq-strategy-recommendations-modal-content", 25);
103764
103877
  i0.ɵɵelementEnd()()();
103765
103878
  } if (rf & 2) {
103766
- let tmp_15_0;
103767
103879
  let tmp_16_0;
103880
+ let tmp_17_0;
103768
103881
  const ctx_r1 = i0.ɵɵnextContext();
103769
103882
  i0.ɵɵstyleProp("z-index", ctx_r1.baseZIndex())("visibility", ctx_r1.modalReady() ? "visible" : "hidden");
103770
103883
  i0.ɵɵadvance(2);
@@ -103776,30 +103889,32 @@ function UnifiedDashboardModalComponent_Conditional_0_Template(rf, ctx) { if (rf
103776
103889
  i0.ɵɵadvance();
103777
103890
  i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-white/50 border-slate-200/50" : "bg-slate-800/50 border-slate-700/50");
103778
103891
  i0.ɵɵadvance(3);
103779
- i0.ɵɵconditional(ctx_r1.navigationStack().length > 0 ? 7 : 8);
103892
+ i0.ɵɵconditional(ctx_r1.navigationStack().length > 0 ? 7 : -1);
103893
+ i0.ɵɵadvance(2);
103894
+ i0.ɵɵconditional(ctx_r1.navigationStack().length > 0 ? 9 : 10);
103780
103895
  i0.ɵɵadvance(2);
103781
103896
  i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-900" : "text-white");
103782
103897
  i0.ɵɵadvance();
103783
103898
  i0.ɵɵtextInterpolate1(" ", ctx_r1.modalTitle(), " ");
103784
103899
  i0.ɵɵadvance(2);
103785
- i0.ɵɵconditional(((tmp_15_0 = ctx_r1.currentGoal()) == null ? null : tmp_15_0.priority) ? 12 : -1);
103900
+ i0.ɵɵconditional(((tmp_16_0 = ctx_r1.currentGoal()) == null ? null : tmp_16_0.priority) ? 14 : -1);
103786
103901
  i0.ɵɵadvance();
103787
- i0.ɵɵconditional(((tmp_16_0 = ctx_r1.currentGoal()) == null ? null : tmp_16_0.timeframe) ? 13 : -1);
103902
+ i0.ɵɵconditional(((tmp_17_0 = ctx_r1.currentGoal()) == null ? null : tmp_17_0.timeframe) ? 15 : -1);
103788
103903
  i0.ɵɵadvance();
103789
103904
  i0.ɵɵstyleProp("z-index", ctx_r1.contentZIndex() + 1);
103790
103905
  i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-600 hover:text-slate-900 hover:bg-slate-100" : "text-slate-400 hover:text-white hover:bg-slate-700");
103791
103906
  i0.ɵɵadvance(3);
103792
103907
  i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-white/30" : "bg-slate-800/30");
103793
103908
  i0.ɵɵadvance(2);
103794
- i0.ɵɵconditional(ctx_r1.modalType() === "unified-goal-detail" && ctx_r1.unifiedGoalData() ? 19 : -1);
103909
+ i0.ɵɵconditional(ctx_r1.modalType() === "unified-goal-detail" && ctx_r1.unifiedGoalData() ? 21 : -1);
103795
103910
  i0.ɵɵadvance();
103796
- i0.ɵɵconditional(ctx_r1.modalType() === "unified-goal-objectives" && ctx_r1.objectivesData() ? 20 : -1);
103911
+ i0.ɵɵconditional(ctx_r1.modalType() === "unified-goal-objectives" && ctx_r1.objectivesData() ? 22 : -1);
103797
103912
  i0.ɵɵadvance();
103798
- i0.ɵɵconditional(ctx_r1.modalType() === "unified-goal-related-metrics" && ctx_r1.relatedMetricsData() ? 21 : -1);
103913
+ i0.ɵɵconditional(ctx_r1.modalType() === "unified-goal-related-metrics" && ctx_r1.relatedMetricsData() ? 23 : -1);
103799
103914
  i0.ɵɵadvance();
103800
- i0.ɵɵconditional(ctx_r1.modalType() === "objective-strategies" && ctx_r1.strategiesData() ? 22 : -1);
103915
+ i0.ɵɵconditional(ctx_r1.modalType() === "objective-strategies" && ctx_r1.strategiesData() ? 24 : -1);
103801
103916
  i0.ɵɵadvance();
103802
- i0.ɵɵconditional(ctx_r1.modalType() === "strategy-recommendations" && ctx_r1.recommendationsData() ? 23 : -1);
103917
+ i0.ɵɵconditional(ctx_r1.modalType() === "strategy-recommendations" && ctx_r1.recommendationsData() ? 25 : -1);
103803
103918
  } }
103804
103919
  class UnifiedDashboardModalComponent {
103805
103920
  constructor() {
@@ -103951,10 +104066,20 @@ class UnifiedDashboardModalComponent {
103951
104066
  this.breadcrumbButtonClasses = computed(() => this.isLightMode() ? 'text-slate-500 hover:text-slate-700' : 'text-slate-400 hover:text-slate-200', ...(ngDevMode ? [{ debugName: "breadcrumbButtonClasses" }] : []));
103952
104067
  this.breadcrumbChevronClasses = computed(() => this.isLightMode() ? 'text-slate-400' : 'text-slate-500', ...(ngDevMode ? [{ debugName: "breadcrumbChevronClasses" }] : []));
103953
104068
  this.breadcrumbCurrentClasses = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-200', ...(ngDevMode ? [{ debugName: "breadcrumbCurrentClasses" }] : []));
104069
+ this.backButtonClasses = computed(() => this.isLightMode()
104070
+ ? 'text-slate-500 hover:text-slate-700 hover:bg-slate-100'
104071
+ : 'text-slate-400 hover:text-white hover:bg-slate-700', ...(ngDevMode ? [{ debugName: "backButtonClasses" }] : []));
103954
104072
  effect(() => {
103955
104073
  const open = this.isOpen();
103956
104074
  if (open) {
103957
104075
  this.modalReady.set(false);
104076
+ console.log('[UnifiedDashboardModal] Modal opening - z-index info:', {
104077
+ modalType: this.modalType(),
104078
+ modalDepth: this.modalDepth(),
104079
+ baseZIndex: this.baseZIndex(),
104080
+ contentZIndex: this.contentZIndex(),
104081
+ previousStateType: this.previousState()?.type
104082
+ });
103958
104083
  setTimeout(() => {
103959
104084
  this.moveModalToBody();
103960
104085
  this.modalReady.set(true);
@@ -104002,6 +104127,7 @@ class UnifiedDashboardModalComponent {
104002
104127
  this.modalData.set(data);
104003
104128
  this.modalTitle.set(data.goal.title || 'Unified Goal');
104004
104129
  this.isOpen.set(true);
104130
+ this.scrollContentToTop();
104005
104131
  }
104006
104132
  else if (state.type === 'unified-goal-objectives' && state.data) {
104007
104133
  const data = state.data;
@@ -104009,6 +104135,7 @@ class UnifiedDashboardModalComponent {
104009
104135
  this.modalData.set(data);
104010
104136
  this.modalTitle.set(data.goal.title || 'Objectives');
104011
104137
  this.isOpen.set(true);
104138
+ this.scrollContentToTop();
104012
104139
  }
104013
104140
  else if (state.type === 'unified-goal-related-metrics' && state.data) {
104014
104141
  const data = state.data;
@@ -104016,6 +104143,7 @@ class UnifiedDashboardModalComponent {
104016
104143
  this.modalData.set(data);
104017
104144
  this.modalTitle.set('Related Metrics for ' + (data.goal.title || 'Goal'));
104018
104145
  this.isOpen.set(true);
104146
+ this.scrollContentToTop();
104019
104147
  }
104020
104148
  else if (state.type === 'objective-strategies' && state.data) {
104021
104149
  const data = state.data;
@@ -104023,6 +104151,7 @@ class UnifiedDashboardModalComponent {
104023
104151
  this.modalData.set(data);
104024
104152
  this.modalTitle.set(data.objective.title || 'Strategies');
104025
104153
  this.isOpen.set(true);
104154
+ this.scrollContentToTop();
104026
104155
  }
104027
104156
  else if (state.type === 'strategy-recommendations' && state.data) {
104028
104157
  const data = state.data;
@@ -104030,6 +104159,7 @@ class UnifiedDashboardModalComponent {
104030
104159
  this.modalData.set(data);
104031
104160
  this.modalTitle.set(data.strategy.title || 'Recommendations');
104032
104161
  this.isOpen.set(true);
104162
+ this.scrollContentToTop();
104033
104163
  }
104034
104164
  else if (state.type === null) {
104035
104165
  this.isOpen.set(false);
@@ -104113,6 +104243,12 @@ class UnifiedDashboardModalComponent {
104113
104243
  navigateToBreadcrumb(index) {
104114
104244
  this.modalService.navigateToStackIndex(index);
104115
104245
  }
104246
+ onBackClick() {
104247
+ const stack = this.navigationStack();
104248
+ if (stack.length > 0) {
104249
+ this.modalService.navigateToStackIndex(stack.length - 1);
104250
+ }
104251
+ }
104116
104252
  getBreadcrumbLabel(state) {
104117
104253
  if (state.type === 'unified-goal-detail') {
104118
104254
  const data = state.data;
@@ -104154,6 +104290,13 @@ class UnifiedDashboardModalComponent {
104154
104290
  }
104155
104291
  this.modalMovedToBody = false;
104156
104292
  }
104293
+ scrollContentToTop() {
104294
+ setTimeout(() => {
104295
+ if (this.modalContent?.nativeElement) {
104296
+ this.modalContent.nativeElement.scrollTop = 0;
104297
+ }
104298
+ }, 0);
104299
+ }
104157
104300
  static { this.ɵfac = function UnifiedDashboardModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedDashboardModalComponent)(); }; }
104158
104301
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedDashboardModalComponent, selectors: [["symphiq-unified-dashboard-modal"]], viewQuery: function UnifiedDashboardModalComponent_Query(rf, ctx) { if (rf & 1) {
104159
104302
  i0.ɵɵviewQuery(_c0$8, 5)(_c1$4, 5);
@@ -104161,8 +104304,8 @@ class UnifiedDashboardModalComponent {
104161
104304
  let _t;
104162
104305
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalContent = _t.first);
104163
104306
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalWrapper = _t.first);
104164
- } }, inputs: { viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto", 3, "z-index", "visibility"], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", 3, "click", "ngClass"], [1, "relative", "w-full", "max-w-4xl", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex-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"], [1, "font-medium", 3, "ngClass"], ["type", "button", 1, "hover:underline", "cursor-pointer", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "sourceAnalysisClick", "metricClick", "contributingMetricsClick", "showObjectives", "close", "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "metricClick", "goal", "contributingMetrics", "viewMode"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
104165
- i0.ɵɵconditionalCreate(0, UnifiedDashboardModalComponent_Conditional_0_Template, 24, 27, "div", 2);
104307
+ } }, inputs: { viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto", 3, "z-index", "visibility"], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", 3, "click", "ngClass"], [1, "relative", "w-full", "max-w-4xl", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex", "items-start", "gap-3", "flex-1", "min-w-0"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-1.5", "mb-2", "text-xs"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xl", "font-bold", "leading-tight", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "ml-4", "flex-shrink-0"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", "flex-shrink-0", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "px-6", "py-8", "max-h-[80vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [3, "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "objectives", "goalTitle", "viewMode"], [3, "goal", "contributingMetrics", "viewMode"], [3, "objective", "viewMode"], [3, "strategy", "viewMode", "allMetrics", "allCharts", "allInsights", "goalTitle", "objectiveTitle", "currentModalState"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M15 19l-7-7 7-7"], [1, "font-medium", 3, "ngClass"], ["type", "button", 1, "hover:underline", "cursor-pointer", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "sourceAnalysisClick", "metricClick", "contributingMetricsClick", "showObjectives", "close", "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "metricClick", "goal", "contributingMetrics", "viewMode"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
104308
+ i0.ɵɵconditionalCreate(0, UnifiedDashboardModalComponent_Conditional_0_Template, 26, 28, "div", 2);
104166
104309
  } if (rf & 2) {
104167
104310
  i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
104168
104311
  } }, dependencies: [CommonModule, i1$1.NgClass, UnifiedGoalDetailModalContentComponent,
@@ -104230,7 +104373,20 @@ class UnifiedDashboardModalComponent {
104230
104373
 
104231
104374
  <div [ngClass]="isLightMode() ? 'bg-white/50 border-slate-200/50' : 'bg-slate-800/50 border-slate-700/50'" class="px-6 py-5 border-b backdrop-blur-sm">
104232
104375
  <div class="flex items-start justify-between">
104233
- <div class="flex-1 min-w-0">
104376
+ <div class="flex items-start gap-3 flex-1 min-w-0">
104377
+ <!-- Back Button -->
104378
+ @if (navigationStack().length > 0) {
104379
+ <button
104380
+ type="button"
104381
+ (click)="onBackClick()"
104382
+ [ngClass]="backButtonClasses()"
104383
+ class="mt-0.5 p-1.5 rounded-lg transition-all hover:scale-105 active:scale-95 cursor-pointer flex-shrink-0">
104384
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
104385
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"/>
104386
+ </svg>
104387
+ </button>
104388
+ }
104389
+ <div class="flex-1 min-w-0">
104234
104390
  <!-- Breadcrumb Navigation -->
104235
104391
  @if (navigationStack().length > 0) {
104236
104392
  <div class="flex items-center gap-1.5 mb-2 text-xs">
@@ -104272,6 +104428,7 @@ class UnifiedDashboardModalComponent {
104272
104428
  <h3 [ngClass]="isLightMode() ? 'text-slate-900' : 'text-white'" class="text-xl font-bold leading-tight">
104273
104429
  {{ modalTitle() }}
104274
104430
  </h3>
104431
+ </div>
104275
104432
  </div>
104276
104433
 
104277
104434
  <div class="flex items-center gap-2 ml-4 flex-shrink-0">
@@ -104343,6 +104500,7 @@ class UnifiedDashboardModalComponent {
104343
104500
  [allInsights]="allInsightsFromStack()"
104344
104501
  [goalTitle]="recommendationsData()!.goalTitle"
104345
104502
  [objectiveTitle]="recommendationsData()!.objectiveTitle"
104503
+ [currentModalState]="currentModalState()"
104346
104504
  />
104347
104505
  }
104348
104506
  </div>
@@ -104358,7 +104516,7 @@ class UnifiedDashboardModalComponent {
104358
104516
  type: ViewChild,
104359
104517
  args: ['modalWrapper']
104360
104518
  }] }); })();
104361
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedDashboardModalComponent, { className: "UnifiedDashboardModalComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-dashboard-modal.component.ts", lineNumber: 202 }); })();
104519
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedDashboardModalComponent, { className: "UnifiedDashboardModalComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-dashboard-modal.component.ts", lineNumber: 217 }); })();
104362
104520
 
104363
104521
  const _c0$7 = () => [];
104364
104522
  const _c1$3 = a0 => ({ name: "flag", source: a0 });