@eric-emg/symphiq-components 1.3.49 → 1.3.50

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.
@@ -101768,58 +101768,76 @@ const _forTrack0$b = ($index, $item) => $item.id;
101768
101768
  const _forTrack1$2 = ($index, $item) => $item.title;
101769
101769
  function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Template(rf, ctx) { if (rf & 1) {
101770
101770
  i0.ɵɵelementStart(0, "div", 19);
101771
- i0.ɵɵelement(1, "span", 21);
101772
- i0.ɵɵelementStart(2, "span", 22);
101771
+ i0.ɵɵelement(1, "span", 20);
101772
+ i0.ɵɵelementStart(2, "span", 21);
101773
101773
  i0.ɵɵtext(3);
101774
101774
  i0.ɵɵelementEnd()();
101775
101775
  } if (rf & 2) {
101776
- const milestone_r4 = ctx.$implicit;
101777
- const ctx_r2 = i0.ɵɵnextContext(4);
101778
- i0.ɵɵproperty("ngClass", ctx_r2.objectiveItemClasses());
101776
+ const milestone_r1 = ctx.$implicit;
101777
+ const ctx_r1 = i0.ɵɵnextContext(4);
101778
+ i0.ɵɵproperty("ngClass", ctx_r1.objectiveItemClasses());
101779
101779
  i0.ɵɵadvance();
101780
- i0.ɵɵproperty("ngClass", ctx_r2.getPriorityDotClasses(milestone_r4.priority));
101780
+ i0.ɵɵproperty("ngClass", ctx_r1.getPriorityDotClasses(milestone_r1.priority));
101781
101781
  i0.ɵɵadvance(2);
101782
- i0.ɵɵtextInterpolate(milestone_r4.title);
101782
+ i0.ɵɵtextInterpolate(milestone_r1.title);
101783
101783
  } }
101784
- function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Conditional_6_Template(rf, ctx) { if (rf & 1) {
101785
- i0.ɵɵelementStart(0, "div", 20);
101786
- i0.ɵɵtext(1);
101784
+ function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
101785
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 17);
101786
+ i0.ɵɵtext(2);
101787
101787
  i0.ɵɵelementEnd();
101788
+ i0.ɵɵelementStart(3, "div", 18);
101789
+ i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Template, 4, 3, "div", 19, _forTrack1$2);
101790
+ i0.ɵɵelementEnd()();
101788
101791
  } if (rf & 2) {
101789
- const phase_r2 = i0.ɵɵnextContext(2).$implicit;
101790
- const ctx_r2 = i0.ɵɵnextContext(2);
101791
- i0.ɵɵproperty("ngClass", ctx_r2.moreObjectivesClasses());
101792
+ const phase_r3 = i0.ɵɵnextContext().$implicit;
101793
+ const ctx_r1 = i0.ɵɵnextContext(2);
101794
+ i0.ɵɵadvance();
101795
+ i0.ɵɵproperty("ngClass", ctx_r1.objectivesLabelClasses());
101792
101796
  i0.ɵɵadvance();
101793
- i0.ɵɵtextInterpolate1(" +", phase_r2.milestones.length - 3, " more milestones ");
101797
+ i0.ɵɵtextInterpolate1(" Key Milestones (", phase_r3.milestones.length, ") ");
101798
+ i0.ɵɵadvance(2);
101799
+ i0.ɵɵrepeater(phase_r3.milestones);
101794
101800
  } }
101795
- function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
101801
+ function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Template(rf, ctx) { if (rf & 1) {
101802
+ const _r4 = i0.ɵɵgetCurrentView();
101803
+ i0.ɵɵelementStart(0, "div", 23);
101804
+ 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)); });
101805
+ i0.ɵɵelementStart(1, "span", 24);
101806
+ i0.ɵɵtext(2);
101807
+ i0.ɵɵelementEnd();
101808
+ i0.ɵɵnamespaceSVG();
101809
+ i0.ɵɵelementStart(3, "svg", 25);
101810
+ i0.ɵɵelement(4, "path", 26);
101811
+ i0.ɵɵelementEnd()();
101812
+ } if (rf & 2) {
101813
+ const goal_r5 = ctx.$implicit;
101814
+ const ctx_r1 = i0.ɵɵnextContext(4);
101815
+ i0.ɵɵproperty("ngClass", ctx_r1.goalChipClasses());
101816
+ i0.ɵɵadvance(2);
101817
+ i0.ɵɵtextInterpolate(goal_r5.title);
101818
+ } }
101819
+ function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_Template(rf, ctx) { if (rf & 1) {
101796
101820
  i0.ɵɵelementStart(0, "div", 15)(1, "div", 17);
101797
101821
  i0.ɵɵtext(2);
101798
101822
  i0.ɵɵelementEnd();
101799
101823
  i0.ɵɵelementStart(3, "div", 18);
101800
- i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Template, 4, 3, "div", 19, _forTrack1$2);
101801
- i0.ɵɵconditionalCreate(6, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Conditional_6_Template, 2, 2, "div", 20);
101824
+ i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Template, 5, 2, "div", 22, _forTrack0$b);
101802
101825
  i0.ɵɵelementEnd()();
101803
101826
  } if (rf & 2) {
101804
- const phase_r2 = i0.ɵɵnextContext().$implicit;
101805
- const ctx_r2 = i0.ɵɵnextContext(2);
101827
+ const phase_r3 = i0.ɵɵnextContext().$implicit;
101828
+ const ctx_r1 = i0.ɵɵnextContext(2);
101806
101829
  i0.ɵɵadvance();
101807
- i0.ɵɵproperty("ngClass", ctx_r2.objectivesLabelClasses());
101830
+ i0.ɵɵproperty("ngClass", ctx_r1.objectivesLabelClasses());
101808
101831
  i0.ɵɵadvance();
101809
- i0.ɵɵtextInterpolate1(" Key Milestones (", phase_r2.milestones.length, ") ");
101832
+ i0.ɵɵtextInterpolate1(" Related Goals (", ctx_r1.getGoalsForPhase(phase_r3).length, ") ");
101810
101833
  i0.ɵɵadvance(2);
101811
- i0.ɵɵrepeater(phase_r2.milestones.slice(0, 3));
101812
- i0.ɵɵadvance(2);
101813
- i0.ɵɵconditional(phase_r2.milestones.length > 3 ? 6 : -1);
101834
+ i0.ɵɵrepeater(ctx_r1.getGoalsForPhase(phase_r3));
101814
101835
  } }
101815
101836
  function UnifiedTimelineComponent_Conditional_0_For_8_Template(rf, ctx) { if (rf & 1) {
101816
- const _r1 = i0.ɵɵgetCurrentView();
101817
101837
  i0.ɵɵelementStart(0, "div", 7)(1, "div", 8);
101818
101838
  i0.ɵɵelement(2, "div", 9);
101819
101839
  i0.ɵɵelementEnd();
101820
- i0.ɵɵelementStart(3, "div", 10);
101821
- i0.ɵɵlistener("click", function UnifiedTimelineComponent_Conditional_0_For_8_Template_div_click_3_listener() { const phase_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onPhaseClick(phase_r2)); });
101822
- i0.ɵɵelementStart(4, "div", 11)(5, "h4", 12);
101840
+ i0.ɵɵelementStart(3, "div", 10)(4, "div", 11)(5, "h4", 12);
101823
101841
  i0.ɵɵtext(6);
101824
101842
  i0.ɵɵelementEnd();
101825
101843
  i0.ɵɵelementStart(7, "span", 13);
@@ -101828,38 +101846,43 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Template(rf, ctx) { if (rf
101828
101846
  i0.ɵɵelementStart(9, "p", 14);
101829
101847
  i0.ɵɵtext(10);
101830
101848
  i0.ɵɵelementEnd();
101831
- i0.ɵɵconditionalCreate(11, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Template, 7, 3, "div", 15);
101832
- i0.ɵɵelementStart(12, "div", 16);
101833
- i0.ɵɵtext(13);
101849
+ i0.ɵɵconditionalCreate(11, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Template, 6, 2, "div", 15);
101850
+ i0.ɵɵconditionalCreate(12, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_Template, 6, 2, "div", 15);
101851
+ i0.ɵɵelementStart(13, "div", 16);
101852
+ i0.ɵɵtext(14);
101834
101853
  i0.ɵɵelementEnd()()();
101835
101854
  } if (rf & 2) {
101836
- const phase_r2 = ctx.$implicit;
101837
- const ɵ$index_16_r5 = ctx.$index;
101838
- const ctx_r2 = i0.ɵɵnextContext(2);
101855
+ const phase_r3 = ctx.$implicit;
101856
+ const ɵ$index_16_r6 = ctx.$index;
101857
+ const ctx_r1 = i0.ɵɵnextContext(2);
101839
101858
  i0.ɵɵadvance();
101840
- i0.ɵɵproperty("ngClass", ctx_r2.getPhaseNodeClasses(ɵ$index_16_r5));
101859
+ i0.ɵɵclassProp("animate-pulse-glow-blue", ɵ$index_16_r6 % 4 === 0)("animate-pulse-glow-cyan", ɵ$index_16_r6 % 4 === 1)("animate-pulse-glow-teal", ɵ$index_16_r6 % 4 === 2)("animate-pulse-glow-emerald", ɵ$index_16_r6 % 4 === 3);
101860
+ i0.ɵɵproperty("ngClass", ctx_r1.getPhaseNodeClasses(ɵ$index_16_r6));
101841
101861
  i0.ɵɵadvance();
101842
- i0.ɵɵproperty("ngClass", ctx_r2.getPhaseNodeInnerClasses(ɵ$index_16_r5));
101862
+ i0.ɵɵproperty("ngClass", ctx_r1.getPhaseNodeInnerClasses(ɵ$index_16_r6));
101843
101863
  i0.ɵɵadvance();
101844
- i0.ɵɵproperty("ngClass", ctx_r2.getPhaseCardClasses(ɵ$index_16_r5));
101864
+ i0.ɵɵclassProp("card-glow-blue", ɵ$index_16_r6 % 4 === 0)("card-glow-cyan", ɵ$index_16_r6 % 4 === 1)("card-glow-teal", ɵ$index_16_r6 % 4 === 2)("card-glow-emerald", ɵ$index_16_r6 % 4 === 3);
101865
+ i0.ɵɵproperty("ngClass", ctx_r1.getPhaseCardClasses(ɵ$index_16_r6));
101845
101866
  i0.ɵɵadvance(2);
101846
- i0.ɵɵproperty("ngClass", ctx_r2.itemTitleClasses());
101867
+ i0.ɵɵproperty("ngClass", ctx_r1.itemTitleClasses());
101847
101868
  i0.ɵɵadvance();
101848
- i0.ɵɵtextInterpolate1(" ", phase_r2.title, " ");
101869
+ i0.ɵɵtextInterpolate1(" ", phase_r3.title, " ");
101849
101870
  i0.ɵɵadvance();
101850
- i0.ɵɵproperty("ngClass", ctx_r2.getFocusThemeBadgeClasses());
101871
+ i0.ɵɵproperty("ngClass", ctx_r1.getFocusThemeBadgeClasses());
101851
101872
  i0.ɵɵadvance();
101852
- i0.ɵɵtextInterpolate1(" ", phase_r2.focusTheme, " ");
101873
+ i0.ɵɵtextInterpolate1(" ", phase_r3.focusTheme, " ");
101853
101874
  i0.ɵɵadvance();
101854
- i0.ɵɵproperty("ngClass", ctx_r2.descriptionClasses());
101875
+ i0.ɵɵproperty("ngClass", ctx_r1.descriptionClasses());
101876
+ i0.ɵɵadvance();
101877
+ i0.ɵɵtextInterpolate(phase_r3.description);
101855
101878
  i0.ɵɵadvance();
101856
- i0.ɵɵtextInterpolate(phase_r2.description);
101879
+ i0.ɵɵconditional(phase_r3.milestones && phase_r3.milestones.length > 0 ? 11 : -1);
101857
101880
  i0.ɵɵadvance();
101858
- i0.ɵɵconditional(phase_r2.milestones && phase_r2.milestones.length > 0 ? 11 : -1);
101881
+ i0.ɵɵconditional(ctx_r1.getGoalsForPhase(phase_r3).length > 0 ? 12 : -1);
101859
101882
  i0.ɵɵadvance();
101860
- i0.ɵɵproperty("ngClass", ctx_r2.phaseIndicatorClasses());
101883
+ i0.ɵɵproperty("ngClass", ctx_r1.phaseIndicatorClasses());
101861
101884
  i0.ɵɵadvance();
101862
- i0.ɵɵtextInterpolate1(" Phase ", ɵ$index_16_r5 + 1, " ");
101885
+ i0.ɵɵtextInterpolate1(" Phase ", ɵ$index_16_r6 + 1, " ");
101863
101886
  } }
101864
101887
  function UnifiedTimelineComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
101865
101888
  i0.ɵɵelementStart(0, "section", 0);
@@ -101867,26 +101890,27 @@ function UnifiedTimelineComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
101867
101890
  i0.ɵɵelementStart(3, "div", 3)(4, "div", 4);
101868
101891
  i0.ɵɵelement(5, "div", 5);
101869
101892
  i0.ɵɵelementStart(6, "div", 6);
101870
- i0.ɵɵrepeaterCreate(7, UnifiedTimelineComponent_Conditional_0_For_8_Template, 14, 12, "div", 7, _forTrack0$b);
101893
+ i0.ɵɵrepeaterCreate(7, UnifiedTimelineComponent_Conditional_0_For_8_Template, 15, 29, "div", 7, _forTrack0$b);
101871
101894
  i0.ɵɵelementEnd()()()();
101872
101895
  } if (rf & 2) {
101873
- const ctx_r2 = i0.ɵɵnextContext();
101896
+ const ctx_r1 = i0.ɵɵnextContext();
101874
101897
  i0.ɵɵadvance();
101875
- i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("sectionIcon", i0.ɵɵpureFunction1(6, _c0$b, ctx_r2.IconSourceEnum.HEROICONS));
101898
+ i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("sectionIcon", i0.ɵɵpureFunction1(6, _c0$b, ctx_r1.IconSourceEnum.HEROICONS));
101876
101899
  i0.ɵɵadvance();
101877
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(8, _c0$b, ctx_r2.IconSourceEnum.HEROICONS))("viewMode", ctx_r2.viewMode());
101900
+ i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(8, _c0$b, ctx_r1.IconSourceEnum.HEROICONS))("viewMode", ctx_r1.viewMode());
101878
101901
  i0.ɵɵadvance();
101879
- i0.ɵɵproperty("ngClass", ctx_r2.containerClasses());
101902
+ i0.ɵɵproperty("ngClass", ctx_r1.containerClasses());
101880
101903
  i0.ɵɵadvance(2);
101881
- i0.ɵɵproperty("ngClass", ctx_r2.lineClasses());
101904
+ i0.ɵɵproperty("ngClass", ctx_r1.lineClasses());
101882
101905
  i0.ɵɵadvance(2);
101883
- i0.ɵɵrepeater(ctx_r2.phases());
101906
+ i0.ɵɵrepeater(ctx_r1.phases());
101884
101907
  } }
101885
101908
  class UnifiedTimelineComponent {
101886
101909
  constructor() {
101887
101910
  this.timeline = input.required(...(ngDevMode ? [{ debugName: "timeline" }] : []));
101888
101911
  this.viewMode = input(ViewModeEnum.DARK, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
101889
- this.phaseClick = output();
101912
+ this.goals = input([], ...(ngDevMode ? [{ debugName: "goals" }] : []));
101913
+ this.goalClick = output();
101890
101914
  this.IconSourceEnum = IconSourceEnum;
101891
101915
  this.phases = computed(() => {
101892
101916
  const data = this.timeline();
@@ -101923,6 +101947,9 @@ class UnifiedTimelineComponent {
101923
101947
  light: ['bg-blue-50 border border-blue-200', 'bg-cyan-50 border border-cyan-200', 'bg-teal-50 border border-teal-200', 'bg-emerald-50 border border-emerald-200'],
101924
101948
  dark: ['bg-blue-900/20 border border-blue-700/50', 'bg-cyan-900/20 border border-cyan-700/50', 'bg-teal-900/20 border border-teal-700/50', 'bg-emerald-900/20 border border-emerald-700/50']
101925
101949
  };
101950
+ this.goalChipClasses = computed(() => this.isLightMode()
101951
+ ? 'bg-violet-50 border border-violet-200 text-violet-700 hover:bg-violet-100'
101952
+ : 'bg-violet-900/30 border border-violet-700/50 text-violet-300', ...(ngDevMode ? [{ debugName: "goalChipClasses" }] : []));
101926
101953
  }
101927
101954
  getPhaseNodeClasses(idx) {
101928
101955
  const classes = this.isLightMode() ? this.nodeClasses.light : this.nodeClasses.dark;
@@ -101957,24 +101984,25 @@ class UnifiedTimelineComponent {
101957
101984
  return 'bg-blue-500';
101958
101985
  }
101959
101986
  }
101960
- onPhaseClick(phase) {
101961
- this.phaseClick.emit(phase);
101987
+ getGoalsForPhase(phase) {
101988
+ const goalIds = phase.goalIds || [];
101989
+ if (goalIds.length === 0)
101990
+ return [];
101991
+ return this.goals().filter(g => g.id && goalIds.includes(g.id));
101992
+ }
101993
+ onGoalChipClick(goal) {
101994
+ this.goalClick.emit(goal);
101962
101995
  }
101963
101996
  static { this.ɵfac = function UnifiedTimelineComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedTimelineComponent)(); }; }
101964
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedTimelineComponent, selectors: [["symphiq-unified-timeline"]], inputs: { timeline: [1, "timeline"], viewMode: [1, "viewMode"] }, outputs: { phaseClick: "phaseClick" }, 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", "group-hover:scale-125", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", 3, "ngClass"], [1, "rounded-xl", "p-5", "transition-all", "hover:shadow-lg", "cursor-pointer", 3, "click", "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-5", "text-xs", "font-bold", 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, "text-xs", "pl-6", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "mt-1.5", "flex-shrink-0", 3, "ngClass"], [1, "line-clamp-1"]], template: function UnifiedTimelineComponent_Template(rf, ctx) { if (rf & 1) {
101997
+ 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", 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, "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) {
101965
101998
  i0.ɵɵconditionalCreate(0, UnifiedTimelineComponent_Conditional_0_Template, 9, 10, "section", 0);
101966
101999
  } if (rf & 2) {
101967
102000
  i0.ɵɵconditional(ctx.phases().length > 0 ? 0 : -1);
101968
- } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent], encapsulation: 2, changeDetection: 0 }); }
102001
+ } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent], styles: ["@keyframes _ngcontent-%COMP%_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 _ngcontent-%COMP%_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 _ngcontent-%COMP%_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 _ngcontent-%COMP%_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[_ngcontent-%COMP%]:hover .animate-pulse-glow-blue[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse-glow-blue 1.5s ease-in-out infinite}.group[_ngcontent-%COMP%]:hover .animate-pulse-glow-cyan[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse-glow-cyan 1.5s ease-in-out infinite}.group[_ngcontent-%COMP%]:hover .animate-pulse-glow-teal[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse-glow-teal 1.5s ease-in-out infinite}.group[_ngcontent-%COMP%]:hover .animate-pulse-glow-emerald[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_pulse-glow-emerald 1.5s ease-in-out infinite}.card-glow-blue[_ngcontent-%COMP%]:hover{box-shadow:0 0 20px #3b82f666,0 0 40px #3b82f633,0 10px 30px #0000004d;border-color:#3b82f6cc!important}.card-glow-cyan[_ngcontent-%COMP%]:hover{box-shadow:0 0 20px #06b6d466,0 0 40px #06b6d433,0 10px 30px #0000004d;border-color:#06b6d4cc!important}.card-glow-teal[_ngcontent-%COMP%]:hover{box-shadow:0 0 20px #14b8a666,0 0 40px #14b8a633,0 10px 30px #0000004d;border-color:#14b8a6cc!important}.card-glow-emerald[_ngcontent-%COMP%]:hover{box-shadow:0 0 20px #10b98166,0 0 40px #10b98133,0 10px 30px #0000004d;border-color:#10b981cc!important}.goal-chip[_ngcontent-%COMP%]{transition:all .3s ease}.goal-chip[_ngcontent-%COMP%]:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}"], changeDetection: 0 }); }
101969
102002
  }
101970
102003
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnifiedTimelineComponent, [{
101971
102004
  type: Component,
101972
- args: [{
101973
- selector: 'symphiq-unified-timeline',
101974
- standalone: true,
101975
- imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent],
101976
- changeDetection: ChangeDetectionStrategy.OnPush,
101977
- template: `
102005
+ args: [{ selector: 'symphiq-unified-timeline', standalone: true, imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
101978
102006
  @if (phases().length > 0) {
101979
102007
  <section id="section-timeline" class="space-y-6 scroll-mt-24">
101980
102008
  <symphiq-section-divider
@@ -101996,14 +102024,21 @@ class UnifiedTimelineComponent {
101996
102024
  <div class="relative pl-16 group">
101997
102025
  <div
101998
102026
  [ngClass]="getPhaseNodeClasses(idx)"
101999
- class="absolute left-4 w-5 h-5 rounded-full border-4 flex items-center justify-center transition-all group-hover:scale-125">
102027
+ class="absolute left-4 w-5 h-5 rounded-full border-4 flex items-center justify-center transition-all duration-300 group-hover:scale-125"
102028
+ [class.animate-pulse-glow-blue]="idx % 4 === 0"
102029
+ [class.animate-pulse-glow-cyan]="idx % 4 === 1"
102030
+ [class.animate-pulse-glow-teal]="idx % 4 === 2"
102031
+ [class.animate-pulse-glow-emerald]="idx % 4 === 3">
102000
102032
  <div class="w-2 h-2 rounded-full" [ngClass]="getPhaseNodeInnerClasses(idx)"></div>
102001
102033
  </div>
102002
102034
 
102003
102035
  <div
102004
102036
  [ngClass]="getPhaseCardClasses(idx)"
102005
- class="rounded-xl p-5 transition-all hover:shadow-lg cursor-pointer"
102006
- (click)="onPhaseClick(phase)">
102037
+ class="rounded-xl p-5 transition-all duration-300"
102038
+ [class.card-glow-blue]="idx % 4 === 0"
102039
+ [class.card-glow-cyan]="idx % 4 === 1"
102040
+ [class.card-glow-teal]="idx % 4 === 2"
102041
+ [class.card-glow-emerald]="idx % 4 === 3">
102007
102042
  <div class="flex items-start justify-between gap-4 mb-3">
102008
102043
  <h4 [ngClass]="itemTitleClasses()" class="text-base font-semibold">
102009
102044
  {{ phase.title }}
@@ -102021,22 +102056,38 @@ class UnifiedTimelineComponent {
102021
102056
  Key Milestones ({{ phase.milestones.length }})
102022
102057
  </div>
102023
102058
  <div class="space-y-2">
102024
- @for (milestone of phase.milestones.slice(0, 3); track milestone.title) {
102059
+ @for (milestone of phase.milestones; track milestone.title) {
102025
102060
  <div [ngClass]="objectiveItemClasses()" class="flex items-start gap-2 text-sm">
102026
102061
  <span [ngClass]="getPriorityDotClasses(milestone.priority)" class="w-2 h-2 rounded-full mt-1.5 flex-shrink-0"></span>
102027
102062
  <span class="line-clamp-1">{{ milestone.title }}</span>
102028
102063
  </div>
102029
102064
  }
102030
- @if (phase.milestones.length > 3) {
102031
- <div [ngClass]="moreObjectivesClasses()" class="text-xs pl-6">
102032
- +{{ phase.milestones.length - 3 }} more milestones
102065
+ </div>
102066
+ </div>
102067
+ }
102068
+
102069
+ @if (getGoalsForPhase(phase).length > 0) {
102070
+ <div class="mt-4">
102071
+ <div [ngClass]="objectivesLabelClasses()" class="text-xs font-semibold uppercase mb-2">
102072
+ Related Goals ({{ getGoalsForPhase(phase).length }})
102073
+ </div>
102074
+ <div class="space-y-2">
102075
+ @for (goal of getGoalsForPhase(phase); track goal.id) {
102076
+ <div
102077
+ [ngClass]="goalChipClasses()"
102078
+ class="goal-chip flex items-center justify-between gap-2 px-3 py-2 rounded-lg cursor-pointer"
102079
+ (click)="onGoalChipClick(goal)">
102080
+ <span class="text-sm font-medium line-clamp-1">{{ goal.title }}</span>
102081
+ <svg class="w-4 h-4 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
102082
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
102083
+ </svg>
102033
102084
  </div>
102034
102085
  }
102035
102086
  </div>
102036
102087
  </div>
102037
102088
  }
102038
102089
 
102039
- <div [ngClass]="phaseIndicatorClasses()" class="absolute -left-[52px] top-5 text-xs font-bold">
102090
+ <div [ngClass]="phaseIndicatorClasses()" class="absolute -left-[52px] top-0 text-xs font-bold">
102040
102091
  Phase {{ idx + 1 }}
102041
102092
  </div>
102042
102093
  </div>
@@ -102047,10 +102098,9 @@ class UnifiedTimelineComponent {
102047
102098
  </div>
102048
102099
  </section>
102049
102100
  }
102050
- `
102051
- }]
102052
- }], null, { timeline: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeline", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], phaseClick: [{ type: i0.Output, args: ["phaseClick"] }] }); })();
102053
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedTimelineComponent, { className: "UnifiedTimelineComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-timeline.component.ts", lineNumber: 109 }); })();
102101
+ `, 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"] }]
102102
+ }], 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"] }] }); })();
102103
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedTimelineComponent, { className: "UnifiedTimelineComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-timeline.component.ts", lineNumber: 181 }); })();
102054
102104
 
102055
102105
  const _c0$a = a0 => ({ name: "squares-2x2", source: a0 });
102056
102106
  const _forTrack0$a = ($index, $item) => $item.id;
@@ -104230,7 +104280,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104230
104280
  i0.ɵɵelementEnd();
104231
104281
  i0.ɵɵconditionalCreate(14, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_14_Template, 6, 8, "section", 31);
104232
104282
  i0.ɵɵelementStart(15, "symphiq-unified-timeline", 32);
104233
- i0.ɵɵlistener("phaseClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_timeline_phaseClick_15_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onTimelinePhaseClick($event)); });
104283
+ i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_timeline_goalClick_15_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
104234
104284
  i0.ɵɵelementEnd();
104235
104285
  i0.ɵɵelementStart(16, "symphiq-unified-priority-matrix", 33);
104236
104286
  i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_priority_matrix_goalClick_16_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
@@ -104257,7 +104307,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104257
104307
  i0.ɵɵadvance();
104258
104308
  i0.ɵɵconditional(ctx_r1.unifiedGoals().length > 0 ? 14 : -1);
104259
104309
  i0.ɵɵadvance();
104260
- i0.ɵɵproperty("timeline", ctx_r1.unifiedTimeline())("viewMode", ctx_r1.viewMode());
104310
+ i0.ɵɵproperty("timeline", ctx_r1.unifiedTimeline())("viewMode", ctx_r1.viewMode())("goals", ctx_r1.unifiedGoals());
104261
104311
  i0.ɵɵadvance();
104262
104312
  i0.ɵɵproperty("matrix", ctx_r1.priorityMatrix())("viewMode", ctx_r1.viewMode());
104263
104313
  i0.ɵɵadvance();
@@ -104303,7 +104353,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104303
104353
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
104304
104354
  i0.ɵɵelementStart(0, "main", 18);
104305
104355
  i0.ɵɵconditionalCreate(1, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_1_Template, 1, 2, "symphiq-loading-card", 19);
104306
- i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 18, 21);
104356
+ i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 18, 22);
104307
104357
  i0.ɵɵconditionalCreate(3, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Template, 1, 1);
104308
104358
  i0.ɵɵelementEnd();
104309
104359
  } if (rf & 2) {
@@ -104568,15 +104618,33 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
104568
104618
  this.priorityMatrix = computed(() => {
104569
104619
  const matrixData = this.analysisData()?.unifiedPriorityMatrix;
104570
104620
  const goals = this.unifiedGoals();
104621
+ console.log('[PriorityMatrix] Raw matrixData:', matrixData);
104622
+ console.log('[PriorityMatrix] Goals available:', goals.map(g => ({ id: g.id, title: g.title })));
104571
104623
  if (matrixData) {
104572
- const findGoal = (id) => goals.find(g => g.id === id);
104573
- return {
104574
- quickWins: (matrixData.quickWins || []).map(item => findGoal(item.relatedGoalId)).filter((g) => !!g),
104575
- majorProjects: (matrixData.majorProjects || []).map(item => findGoal(item.relatedGoalId)).filter((g) => !!g),
104576
- fillIns: (matrixData.fillIns || []).map(item => findGoal(item.relatedGoalId)).filter((g) => !!g),
104577
- thankless: (matrixData.thankless || []).map(item => findGoal(item.relatedGoalId)).filter((g) => !!g)
104624
+ console.log('[PriorityMatrix] quickWins items:', matrixData.quickWins);
104625
+ console.log('[PriorityMatrix] majorProjects items:', matrixData.majorProjects);
104626
+ console.log('[PriorityMatrix] fillIns items:', matrixData.fillIns);
104627
+ console.log('[PriorityMatrix] thankless items:', matrixData.thankless);
104628
+ const findGoal = (id, quadrant) => {
104629
+ const found = goals.find(g => g.id === id);
104630
+ console.log(`[PriorityMatrix] ${quadrant} - Looking for goal id="${id}", found:`, found ? found.title : 'NOT FOUND');
104631
+ return found;
104632
+ };
104633
+ const result = {
104634
+ quickWins: (matrixData.quickWins || []).map(item => findGoal(item.relatedGoalId, 'quickWins')).filter((g) => !!g),
104635
+ majorProjects: (matrixData.majorProjects || []).map(item => findGoal(item.relatedGoalId, 'majorProjects')).filter((g) => !!g),
104636
+ fillIns: (matrixData.fillIns || []).map(item => findGoal(item.relatedGoalId, 'fillIns')).filter((g) => !!g),
104637
+ thankless: (matrixData.thankless || []).map(item => findGoal(item.relatedGoalId, 'thankless')).filter((g) => !!g)
104578
104638
  };
104639
+ console.log('[PriorityMatrix] Final result:', {
104640
+ quickWins: result.quickWins.length,
104641
+ majorProjects: result.majorProjects.length,
104642
+ fillIns: result.fillIns.length,
104643
+ thankless: result.thankless.length
104644
+ });
104645
+ return result;
104579
104646
  }
104647
+ console.log('[PriorityMatrix] No matrixData, using fallback based on priority');
104580
104648
  return {
104581
104649
  quickWins: goals.filter(g => g.priority === 'HIGH'),
104582
104650
  majorProjects: goals.filter(g => g.priority === 'MEDIUM'),
@@ -104908,15 +104976,6 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
104908
104976
  }
104909
104977
  }
104910
104978
  }
104911
- onTimelinePhaseClick(phase) {
104912
- const goalIds = phase.goalIds || [];
104913
- if (goalIds.length > 0) {
104914
- const goal = this.unifiedGoals().find(g => g.id && goalIds.includes(g.id));
104915
- if (goal) {
104916
- this.onGoalClick(goal);
104917
- }
104918
- }
104919
- }
104920
104979
  getTimelineNodeClasses(priority) {
104921
104980
  const base = this.isLightMode() ? 'bg-white' : 'bg-slate-800';
104922
104981
  switch (priority?.toUpperCase()) {
@@ -105099,7 +105158,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105099
105158
  static { this.ɵfac = function SymphiqProfileAnalysisUnifiedDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileAnalysisUnifiedDashboardComponent)(); }; }
105100
105159
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileAnalysisUnifiedDashboardComponent, selectors: [["symphiq-profile-analysis-unified-dashboard"]], hostBindings: function SymphiqProfileAnalysisUnifiedDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
105101
105160
  i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisUnifiedDashboardComponent_scroll_HostBindingHandler() { return ctx.onScroll(); }, i0.ɵɵresolveWindow);
105102
- } }, inputs: { viewMode: [1, "viewMode"], embedded: [1, "embedded"], isLoading: [1, "isLoading"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], unifiedProfileAnalysis: [1, "unifiedProfileAnalysis"], sourceProfileAnalyses: [1, "sourceProfileAnalyses"], isLoadingSourceAnalysis: [1, "isLoadingSourceAnalysis"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"], requestedByUser: [1, "requestedByUser"] }, outputs: { markAsReviewedClick: "markAsReviewedClick", generateGoalsClick: "generateGoalsClick", stepClick: "stepClick", nextStepClick: "nextStepClick", sourceAnalysisRequest: "sourceAnalysisRequest" }, features: [i0.ɵɵNgOnChangesFeature], decls: 18, vars: 37, consts: [[1, "relative"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [3, "viewMode", "progress", "embedded"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "showControls", "embedded", "scrollEvent"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12", 3, "pb-32"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "isLightMode", "isOpen"], [3, "viewMode", "currentMode", "isOpen"], [3, "viewMode", "selfContentStatus", "isLoading"], [3, "viewMode", "itemStatus", "currentStatus", "confettiIntensity", "title"], [3, "expandedChange", "scrollToTop", "toggleView", "isLightMode", "isCompactMode", "isExpanded"], [3, "navigate", "isLightMode", "sections", "activeSection"], [3, "viewMode"], [3, "isLightMode"], [3, "isLightMode", "allInsights", "allMetrics", "allCharts"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], ["title", "Loading Your Unified Analysis", "subtitle", "Please wait while we prepare your synthesized insights...", "size", "large", 3, "viewMode", "backdropBlur"], [1, "mb-12"], [1, "rounded-2xl", "p-8", "shadow-xl", "animate-fade-in-up", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "p-4", "rounded-xl", "flex-shrink-0", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [1, "text-lg", "mb-4", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [3, "keyStrengthsClick", "criticalGapsClick", "quickWinsClick", "summary", "viewMode", "shopCounts", "focusAreaCounts", "metricCounts", "quickWinsCount"], ["id", "section-unified-goals", 1, "space-y-6", "scroll-mt-24"], [3, "phaseClick", "timeline", "viewMode"], [3, "goalClick", "matrix", "viewMode"], [3, "steps", "viewMode"], [3, "viewMode", "sectionIcon"], ["title", "Unified Goals", 3, "icon", "viewMode"], [1, "grid", "gap-6", 2, "grid-template-columns", "repeat(auto-fit, minmax(340px, 1fr))"], [3, "goal", "viewMode"], [3, "goalClick", "sourceBadgeClick", "relatedMetricsClick", "learnMoreClick", "goal", "viewMode"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [3, "close", "isLightMode", "isOpen"], [3, "close", "modeSelected", "viewMode", "currentMode", "isOpen"], [3, "markAsReviewed", "viewMode", "selfContentStatus", "isLoading"]], template: function SymphiqProfileAnalysisUnifiedDashboardComponent_Template(rf, ctx) { if (rf & 1) {
105161
+ } }, inputs: { viewMode: [1, "viewMode"], embedded: [1, "embedded"], isLoading: [1, "isLoading"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], unifiedProfileAnalysis: [1, "unifiedProfileAnalysis"], sourceProfileAnalyses: [1, "sourceProfileAnalyses"], isLoadingSourceAnalysis: [1, "isLoadingSourceAnalysis"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"], requestedByUser: [1, "requestedByUser"] }, outputs: { markAsReviewedClick: "markAsReviewedClick", generateGoalsClick: "generateGoalsClick", stepClick: "stepClick", nextStepClick: "nextStepClick", sourceAnalysisRequest: "sourceAnalysisRequest" }, features: [i0.ɵɵNgOnChangesFeature], decls: 18, vars: 37, consts: [[1, "relative"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [3, "viewMode", "progress", "embedded"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "showControls", "embedded", "scrollEvent"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12", 3, "pb-32"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "isLightMode", "isOpen"], [3, "viewMode", "currentMode", "isOpen"], [3, "viewMode", "selfContentStatus", "isLoading"], [3, "viewMode", "itemStatus", "currentStatus", "confettiIntensity", "title"], [3, "expandedChange", "scrollToTop", "toggleView", "isLightMode", "isCompactMode", "isExpanded"], [3, "navigate", "isLightMode", "sections", "activeSection"], [3, "viewMode"], [3, "isLightMode"], [3, "isLightMode", "allInsights", "allMetrics", "allCharts"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], ["title", "Loading Your Unified Analysis", "subtitle", "Please wait while we prepare your synthesized insights...", "size", "large", 3, "viewMode", "backdropBlur"], [1, "mb-12"], [1, "rounded-2xl", "p-8", "shadow-xl", "animate-fade-in-up", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "p-4", "rounded-xl", "flex-shrink-0", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [1, "text-lg", "mb-4", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [3, "keyStrengthsClick", "criticalGapsClick", "quickWinsClick", "summary", "viewMode", "shopCounts", "focusAreaCounts", "metricCounts", "quickWinsCount"], ["id", "section-unified-goals", 1, "space-y-6", "scroll-mt-24"], [3, "goalClick", "timeline", "viewMode", "goals"], [3, "goalClick", "matrix", "viewMode"], [3, "steps", "viewMode"], [3, "viewMode", "sectionIcon"], ["title", "Unified Goals", 3, "icon", "viewMode"], [1, "grid", "gap-6", 2, "grid-template-columns", "repeat(auto-fit, minmax(340px, 1fr))"], [3, "goal", "viewMode"], [3, "goalClick", "sourceBadgeClick", "relatedMetricsClick", "learnMoreClick", "goal", "viewMode"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [3, "close", "isLightMode", "isOpen"], [3, "close", "modeSelected", "viewMode", "currentMode", "isOpen"], [3, "markAsReviewed", "viewMode", "selfContentStatus", "isLoading"]], template: function SymphiqProfileAnalysisUnifiedDashboardComponent_Template(rf, ctx) { if (rf & 1) {
105103
105162
  i0.ɵɵelementStart(0, "div", 0);
105104
105163
  i0.ɵɵelement(1, "div", 1)(2, "symphiq-scroll-progress-bar", 2);
105105
105164
  i0.ɵɵelementStart(3, "div", 3)(4, "symphiq-dashboard-header", 4);
@@ -105332,7 +105391,8 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105332
105391
  <symphiq-unified-timeline
105333
105392
  [timeline]="unifiedTimeline()"
105334
105393
  [viewMode]="viewMode()"
105335
- (phaseClick)="onTimelinePhaseClick($event)"
105394
+ [goals]="unifiedGoals()"
105395
+ (goalClick)="onGoalClick($event)"
105336
105396
  />
105337
105397
 
105338
105398
  <symphiq-unified-priority-matrix
@@ -105465,7 +105525,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105465
105525
  type: HostListener,
105466
105526
  args: ['window:scroll']
105467
105527
  }] }); })();
105468
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisUnifiedDashboardComponent, { className: "SymphiqProfileAnalysisUnifiedDashboardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/symphiq-profile-analysis-unified-dashboard.component.ts", lineNumber: 372 }); })();
105528
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisUnifiedDashboardComponent, { className: "SymphiqProfileAnalysisUnifiedDashboardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/symphiq-profile-analysis-unified-dashboard.component.ts", lineNumber: 373 }); })();
105469
105529
 
105470
105530
  function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
105471
105531
  const _r1 = i0.ɵɵgetCurrentView();