@eric-emg/symphiq-components 1.3.48 → 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.
|
@@ -23,7 +23,6 @@ import { XYChart, CategoryAxis, AxisRendererX, ValueAxis, AxisRendererY, XYCurso
|
|
|
23
23
|
import am5themes_Animated from '@amcharts/amcharts5/themes/Animated';
|
|
24
24
|
import { PieChart, PieSeries } from '@amcharts/amcharts5/percent';
|
|
25
25
|
import { EMAIL_IS_EMG_APPS } from '@jebgem/util';
|
|
26
|
-
import { SynthesisConfidenceSectionComponent } from '@symphiq-components/components/shared/synthesis-confidence-section.component';
|
|
27
26
|
|
|
28
27
|
class FunnelOrderService {
|
|
29
28
|
constructor() {
|
|
@@ -101769,58 +101768,76 @@ const _forTrack0$b = ($index, $item) => $item.id;
|
|
|
101769
101768
|
const _forTrack1$2 = ($index, $item) => $item.title;
|
|
101770
101769
|
function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
101771
101770
|
i0.ɵɵelementStart(0, "div", 19);
|
|
101772
|
-
i0.ɵɵelement(1, "span",
|
|
101773
|
-
i0.ɵɵelementStart(2, "span",
|
|
101771
|
+
i0.ɵɵelement(1, "span", 20);
|
|
101772
|
+
i0.ɵɵelementStart(2, "span", 21);
|
|
101774
101773
|
i0.ɵɵtext(3);
|
|
101775
101774
|
i0.ɵɵelementEnd()();
|
|
101776
101775
|
} if (rf & 2) {
|
|
101777
|
-
const
|
|
101778
|
-
const
|
|
101779
|
-
i0.ɵɵproperty("ngClass",
|
|
101776
|
+
const milestone_r1 = ctx.$implicit;
|
|
101777
|
+
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
101778
|
+
i0.ɵɵproperty("ngClass", ctx_r1.objectiveItemClasses());
|
|
101780
101779
|
i0.ɵɵadvance();
|
|
101781
|
-
i0.ɵɵproperty("ngClass",
|
|
101780
|
+
i0.ɵɵproperty("ngClass", ctx_r1.getPriorityDotClasses(milestone_r1.priority));
|
|
101782
101781
|
i0.ɵɵadvance(2);
|
|
101783
|
-
i0.ɵɵtextInterpolate(
|
|
101782
|
+
i0.ɵɵtextInterpolate(milestone_r1.title);
|
|
101784
101783
|
} }
|
|
101785
|
-
function
|
|
101786
|
-
i0.ɵɵelementStart(0, "div",
|
|
101787
|
-
i0.ɵɵtext(
|
|
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);
|
|
101788
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()();
|
|
101789
101791
|
} if (rf & 2) {
|
|
101790
|
-
const
|
|
101791
|
-
const
|
|
101792
|
-
i0.ɵɵ
|
|
101792
|
+
const phase_r3 = i0.ɵɵnextContext().$implicit;
|
|
101793
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
101794
|
+
i0.ɵɵadvance();
|
|
101795
|
+
i0.ɵɵproperty("ngClass", ctx_r1.objectivesLabelClasses());
|
|
101793
101796
|
i0.ɵɵadvance();
|
|
101794
|
-
i0.ɵɵtextInterpolate1("
|
|
101797
|
+
i0.ɵɵtextInterpolate1(" Key Milestones (", phase_r3.milestones.length, ") ");
|
|
101798
|
+
i0.ɵɵadvance(2);
|
|
101799
|
+
i0.ɵɵrepeater(phase_r3.milestones);
|
|
101795
101800
|
} }
|
|
101796
|
-
function
|
|
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) {
|
|
101797
101820
|
i0.ɵɵelementStart(0, "div", 15)(1, "div", 17);
|
|
101798
101821
|
i0.ɵɵtext(2);
|
|
101799
101822
|
i0.ɵɵelementEnd();
|
|
101800
101823
|
i0.ɵɵelementStart(3, "div", 18);
|
|
101801
|
-
i0.ɵɵrepeaterCreate(4,
|
|
101802
|
-
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);
|
|
101803
101825
|
i0.ɵɵelementEnd()();
|
|
101804
101826
|
} if (rf & 2) {
|
|
101805
|
-
const
|
|
101806
|
-
const
|
|
101827
|
+
const phase_r3 = i0.ɵɵnextContext().$implicit;
|
|
101828
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
101807
101829
|
i0.ɵɵadvance();
|
|
101808
|
-
i0.ɵɵproperty("ngClass",
|
|
101830
|
+
i0.ɵɵproperty("ngClass", ctx_r1.objectivesLabelClasses());
|
|
101809
101831
|
i0.ɵɵadvance();
|
|
101810
|
-
i0.ɵɵtextInterpolate1("
|
|
101832
|
+
i0.ɵɵtextInterpolate1(" Related Goals (", ctx_r1.getGoalsForPhase(phase_r3).length, ") ");
|
|
101811
101833
|
i0.ɵɵadvance(2);
|
|
101812
|
-
i0.ɵɵrepeater(
|
|
101813
|
-
i0.ɵɵadvance(2);
|
|
101814
|
-
i0.ɵɵconditional(phase_r2.milestones.length > 3 ? 6 : -1);
|
|
101834
|
+
i0.ɵɵrepeater(ctx_r1.getGoalsForPhase(phase_r3));
|
|
101815
101835
|
} }
|
|
101816
101836
|
function UnifiedTimelineComponent_Conditional_0_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
101817
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
101818
101837
|
i0.ɵɵelementStart(0, "div", 7)(1, "div", 8);
|
|
101819
101838
|
i0.ɵɵelement(2, "div", 9);
|
|
101820
101839
|
i0.ɵɵelementEnd();
|
|
101821
|
-
i0.ɵɵelementStart(3, "div", 10);
|
|
101822
|
-
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)); });
|
|
101823
|
-
i0.ɵɵelementStart(4, "div", 11)(5, "h4", 12);
|
|
101840
|
+
i0.ɵɵelementStart(3, "div", 10)(4, "div", 11)(5, "h4", 12);
|
|
101824
101841
|
i0.ɵɵtext(6);
|
|
101825
101842
|
i0.ɵɵelementEnd();
|
|
101826
101843
|
i0.ɵɵelementStart(7, "span", 13);
|
|
@@ -101829,38 +101846,43 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Template(rf, ctx) { if (rf
|
|
|
101829
101846
|
i0.ɵɵelementStart(9, "p", 14);
|
|
101830
101847
|
i0.ɵɵtext(10);
|
|
101831
101848
|
i0.ɵɵelementEnd();
|
|
101832
|
-
i0.ɵɵconditionalCreate(11, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Template,
|
|
101833
|
-
i0.ɵɵ
|
|
101834
|
-
i0.ɵɵ
|
|
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);
|
|
101835
101853
|
i0.ɵɵelementEnd()()();
|
|
101836
101854
|
} if (rf & 2) {
|
|
101837
|
-
const
|
|
101838
|
-
const ɵ$
|
|
101839
|
-
const
|
|
101855
|
+
const phase_r3 = ctx.$implicit;
|
|
101856
|
+
const ɵ$index_16_r6 = ctx.$index;
|
|
101857
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
101840
101858
|
i0.ɵɵadvance();
|
|
101841
|
-
i0.ɵɵ
|
|
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));
|
|
101842
101861
|
i0.ɵɵadvance();
|
|
101843
|
-
i0.ɵɵproperty("ngClass",
|
|
101862
|
+
i0.ɵɵproperty("ngClass", ctx_r1.getPhaseNodeInnerClasses(ɵ$index_16_r6));
|
|
101844
101863
|
i0.ɵɵadvance();
|
|
101845
|
-
i0.ɵɵ
|
|
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));
|
|
101846
101866
|
i0.ɵɵadvance(2);
|
|
101847
|
-
i0.ɵɵproperty("ngClass",
|
|
101867
|
+
i0.ɵɵproperty("ngClass", ctx_r1.itemTitleClasses());
|
|
101848
101868
|
i0.ɵɵadvance();
|
|
101849
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
101869
|
+
i0.ɵɵtextInterpolate1(" ", phase_r3.title, " ");
|
|
101850
101870
|
i0.ɵɵadvance();
|
|
101851
|
-
i0.ɵɵproperty("ngClass",
|
|
101871
|
+
i0.ɵɵproperty("ngClass", ctx_r1.getFocusThemeBadgeClasses());
|
|
101852
101872
|
i0.ɵɵadvance();
|
|
101853
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
101873
|
+
i0.ɵɵtextInterpolate1(" ", phase_r3.focusTheme, " ");
|
|
101874
|
+
i0.ɵɵadvance();
|
|
101875
|
+
i0.ɵɵproperty("ngClass", ctx_r1.descriptionClasses());
|
|
101854
101876
|
i0.ɵɵadvance();
|
|
101855
|
-
i0.ɵɵ
|
|
101877
|
+
i0.ɵɵtextInterpolate(phase_r3.description);
|
|
101856
101878
|
i0.ɵɵadvance();
|
|
101857
|
-
i0.ɵɵ
|
|
101879
|
+
i0.ɵɵconditional(phase_r3.milestones && phase_r3.milestones.length > 0 ? 11 : -1);
|
|
101858
101880
|
i0.ɵɵadvance();
|
|
101859
|
-
i0.ɵɵconditional(
|
|
101881
|
+
i0.ɵɵconditional(ctx_r1.getGoalsForPhase(phase_r3).length > 0 ? 12 : -1);
|
|
101860
101882
|
i0.ɵɵadvance();
|
|
101861
|
-
i0.ɵɵproperty("ngClass",
|
|
101883
|
+
i0.ɵɵproperty("ngClass", ctx_r1.phaseIndicatorClasses());
|
|
101862
101884
|
i0.ɵɵadvance();
|
|
101863
|
-
i0.ɵɵtextInterpolate1(" Phase ", ɵ$
|
|
101885
|
+
i0.ɵɵtextInterpolate1(" Phase ", ɵ$index_16_r6 + 1, " ");
|
|
101864
101886
|
} }
|
|
101865
101887
|
function UnifiedTimelineComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
101866
101888
|
i0.ɵɵelementStart(0, "section", 0);
|
|
@@ -101868,26 +101890,27 @@ function UnifiedTimelineComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
|
|
|
101868
101890
|
i0.ɵɵelementStart(3, "div", 3)(4, "div", 4);
|
|
101869
101891
|
i0.ɵɵelement(5, "div", 5);
|
|
101870
101892
|
i0.ɵɵelementStart(6, "div", 6);
|
|
101871
|
-
i0.ɵɵrepeaterCreate(7, UnifiedTimelineComponent_Conditional_0_For_8_Template,
|
|
101893
|
+
i0.ɵɵrepeaterCreate(7, UnifiedTimelineComponent_Conditional_0_For_8_Template, 15, 29, "div", 7, _forTrack0$b);
|
|
101872
101894
|
i0.ɵɵelementEnd()()()();
|
|
101873
101895
|
} if (rf & 2) {
|
|
101874
|
-
const
|
|
101896
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
101875
101897
|
i0.ɵɵadvance();
|
|
101876
|
-
i0.ɵɵproperty("viewMode",
|
|
101898
|
+
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("sectionIcon", i0.ɵɵpureFunction1(6, _c0$b, ctx_r1.IconSourceEnum.HEROICONS));
|
|
101877
101899
|
i0.ɵɵadvance();
|
|
101878
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(8, _c0$b,
|
|
101900
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(8, _c0$b, ctx_r1.IconSourceEnum.HEROICONS))("viewMode", ctx_r1.viewMode());
|
|
101879
101901
|
i0.ɵɵadvance();
|
|
101880
|
-
i0.ɵɵproperty("ngClass",
|
|
101902
|
+
i0.ɵɵproperty("ngClass", ctx_r1.containerClasses());
|
|
101881
101903
|
i0.ɵɵadvance(2);
|
|
101882
|
-
i0.ɵɵproperty("ngClass",
|
|
101904
|
+
i0.ɵɵproperty("ngClass", ctx_r1.lineClasses());
|
|
101883
101905
|
i0.ɵɵadvance(2);
|
|
101884
|
-
i0.ɵɵrepeater(
|
|
101906
|
+
i0.ɵɵrepeater(ctx_r1.phases());
|
|
101885
101907
|
} }
|
|
101886
101908
|
class UnifiedTimelineComponent {
|
|
101887
101909
|
constructor() {
|
|
101888
101910
|
this.timeline = input.required(...(ngDevMode ? [{ debugName: "timeline" }] : []));
|
|
101889
101911
|
this.viewMode = input(ViewModeEnum.DARK, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
101890
|
-
this.
|
|
101912
|
+
this.goals = input([], ...(ngDevMode ? [{ debugName: "goals" }] : []));
|
|
101913
|
+
this.goalClick = output();
|
|
101891
101914
|
this.IconSourceEnum = IconSourceEnum;
|
|
101892
101915
|
this.phases = computed(() => {
|
|
101893
101916
|
const data = this.timeline();
|
|
@@ -101924,6 +101947,9 @@ class UnifiedTimelineComponent {
|
|
|
101924
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'],
|
|
101925
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']
|
|
101926
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" }] : []));
|
|
101927
101953
|
}
|
|
101928
101954
|
getPhaseNodeClasses(idx) {
|
|
101929
101955
|
const classes = this.isLightMode() ? this.nodeClasses.light : this.nodeClasses.dark;
|
|
@@ -101958,24 +101984,25 @@ class UnifiedTimelineComponent {
|
|
|
101958
101984
|
return 'bg-blue-500';
|
|
101959
101985
|
}
|
|
101960
101986
|
}
|
|
101961
|
-
|
|
101962
|
-
|
|
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);
|
|
101963
101995
|
}
|
|
101964
101996
|
static { this.ɵfac = function UnifiedTimelineComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedTimelineComponent)(); }; }
|
|
101965
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedTimelineComponent, selectors: [["symphiq-unified-timeline"]], inputs: { timeline: [1, "timeline"], viewMode: [1, "viewMode"] }, outputs: {
|
|
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) {
|
|
101966
101998
|
i0.ɵɵconditionalCreate(0, UnifiedTimelineComponent_Conditional_0_Template, 9, 10, "section", 0);
|
|
101967
101999
|
} if (rf & 2) {
|
|
101968
102000
|
i0.ɵɵconditional(ctx.phases().length > 0 ? 0 : -1);
|
|
101969
|
-
} }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent],
|
|
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 }); }
|
|
101970
102002
|
}
|
|
101971
102003
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnifiedTimelineComponent, [{
|
|
101972
102004
|
type: Component,
|
|
101973
|
-
args: [{
|
|
101974
|
-
selector: 'symphiq-unified-timeline',
|
|
101975
|
-
standalone: true,
|
|
101976
|
-
imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent],
|
|
101977
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
101978
|
-
template: `
|
|
102005
|
+
args: [{ selector: 'symphiq-unified-timeline', standalone: true, imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
101979
102006
|
@if (phases().length > 0) {
|
|
101980
102007
|
<section id="section-timeline" class="space-y-6 scroll-mt-24">
|
|
101981
102008
|
<symphiq-section-divider
|
|
@@ -101997,14 +102024,21 @@ class UnifiedTimelineComponent {
|
|
|
101997
102024
|
<div class="relative pl-16 group">
|
|
101998
102025
|
<div
|
|
101999
102026
|
[ngClass]="getPhaseNodeClasses(idx)"
|
|
102000
|
-
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">
|
|
102001
102032
|
<div class="w-2 h-2 rounded-full" [ngClass]="getPhaseNodeInnerClasses(idx)"></div>
|
|
102002
102033
|
</div>
|
|
102003
102034
|
|
|
102004
102035
|
<div
|
|
102005
102036
|
[ngClass]="getPhaseCardClasses(idx)"
|
|
102006
|
-
class="rounded-xl p-5 transition-all
|
|
102007
|
-
|
|
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">
|
|
102008
102042
|
<div class="flex items-start justify-between gap-4 mb-3">
|
|
102009
102043
|
<h4 [ngClass]="itemTitleClasses()" class="text-base font-semibold">
|
|
102010
102044
|
{{ phase.title }}
|
|
@@ -102022,22 +102056,38 @@ class UnifiedTimelineComponent {
|
|
|
102022
102056
|
Key Milestones ({{ phase.milestones.length }})
|
|
102023
102057
|
</div>
|
|
102024
102058
|
<div class="space-y-2">
|
|
102025
|
-
@for (milestone of phase.milestones
|
|
102059
|
+
@for (milestone of phase.milestones; track milestone.title) {
|
|
102026
102060
|
<div [ngClass]="objectiveItemClasses()" class="flex items-start gap-2 text-sm">
|
|
102027
102061
|
<span [ngClass]="getPriorityDotClasses(milestone.priority)" class="w-2 h-2 rounded-full mt-1.5 flex-shrink-0"></span>
|
|
102028
102062
|
<span class="line-clamp-1">{{ milestone.title }}</span>
|
|
102029
102063
|
</div>
|
|
102030
102064
|
}
|
|
102031
|
-
|
|
102032
|
-
|
|
102033
|
-
|
|
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>
|
|
102034
102084
|
</div>
|
|
102035
102085
|
}
|
|
102036
102086
|
</div>
|
|
102037
102087
|
</div>
|
|
102038
102088
|
}
|
|
102039
102089
|
|
|
102040
|
-
<div [ngClass]="phaseIndicatorClasses()" class="absolute -left-[52px] top-
|
|
102090
|
+
<div [ngClass]="phaseIndicatorClasses()" class="absolute -left-[52px] top-0 text-xs font-bold">
|
|
102041
102091
|
Phase {{ idx + 1 }}
|
|
102042
102092
|
</div>
|
|
102043
102093
|
</div>
|
|
@@ -102048,10 +102098,9 @@ class UnifiedTimelineComponent {
|
|
|
102048
102098
|
</div>
|
|
102049
102099
|
</section>
|
|
102050
102100
|
}
|
|
102051
|
-
|
|
102052
|
-
|
|
102053
|
-
|
|
102054
|
-
(() => { (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 }); })();
|
|
102055
102104
|
|
|
102056
102105
|
const _c0$a = a0 => ({ name: "squares-2x2", source: a0 });
|
|
102057
102106
|
const _forTrack0$a = ($index, $item) => $item.id;
|
|
@@ -102836,6 +102885,110 @@ class UnifiedNextStepsComponent {
|
|
|
102836
102885
|
}], null, { steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
|
|
102837
102886
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedNextStepsComponent, { className: "UnifiedNextStepsComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-next-steps.component.ts", lineNumber: 79 }); })();
|
|
102838
102887
|
|
|
102888
|
+
function SynthesisConfidenceSectionComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
102889
|
+
i0.ɵɵelementStart(0, "p", 8);
|
|
102890
|
+
i0.ɵɵtext(1);
|
|
102891
|
+
i0.ɵɵelementEnd();
|
|
102892
|
+
} if (rf & 2) {
|
|
102893
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
102894
|
+
i0.ɵɵproperty("ngClass", ctx_r0.textClasses());
|
|
102895
|
+
i0.ɵɵadvance();
|
|
102896
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.explanation(), " ");
|
|
102897
|
+
} }
|
|
102898
|
+
function SynthesisConfidenceSectionComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
102899
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "h4", 1);
|
|
102900
|
+
i0.ɵɵnamespaceSVG();
|
|
102901
|
+
i0.ɵɵelementStart(2, "svg", 2);
|
|
102902
|
+
i0.ɵɵelement(3, "path", 3);
|
|
102903
|
+
i0.ɵɵelementEnd();
|
|
102904
|
+
i0.ɵɵtext(4, " Synthesis Confidence ");
|
|
102905
|
+
i0.ɵɵelementEnd();
|
|
102906
|
+
i0.ɵɵnamespaceHTML();
|
|
102907
|
+
i0.ɵɵelementStart(5, "div", 4)(6, "div", 5);
|
|
102908
|
+
i0.ɵɵelement(7, "div", 6);
|
|
102909
|
+
i0.ɵɵelementEnd();
|
|
102910
|
+
i0.ɵɵelementStart(8, "span", 7);
|
|
102911
|
+
i0.ɵɵtext(9);
|
|
102912
|
+
i0.ɵɵelementEnd()();
|
|
102913
|
+
i0.ɵɵconditionalCreate(10, SynthesisConfidenceSectionComponent_Conditional_0_Conditional_10_Template, 2, 2, "p", 8);
|
|
102914
|
+
i0.ɵɵelementEnd();
|
|
102915
|
+
} if (rf & 2) {
|
|
102916
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
102917
|
+
i0.ɵɵproperty("ngClass", ctx_r0.sectionCardClasses());
|
|
102918
|
+
i0.ɵɵadvance();
|
|
102919
|
+
i0.ɵɵproperty("ngClass", ctx_r0.sectionTitleClasses());
|
|
102920
|
+
i0.ɵɵadvance(5);
|
|
102921
|
+
i0.ɵɵproperty("ngClass", ctx_r0.progressBarBgClasses());
|
|
102922
|
+
i0.ɵɵadvance();
|
|
102923
|
+
i0.ɵɵstyleProp("width", ctx_r0.scorePercentage(), "%");
|
|
102924
|
+
i0.ɵɵproperty("ngClass", ctx_r0.progressBarFillClasses());
|
|
102925
|
+
i0.ɵɵadvance();
|
|
102926
|
+
i0.ɵɵproperty("ngClass", ctx_r0.textClasses());
|
|
102927
|
+
i0.ɵɵadvance();
|
|
102928
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.scorePercentage().toFixed(0), "% ");
|
|
102929
|
+
i0.ɵɵadvance();
|
|
102930
|
+
i0.ɵɵconditional(ctx_r0.explanation() ? 10 : -1);
|
|
102931
|
+
} }
|
|
102932
|
+
class SynthesisConfidenceSectionComponent {
|
|
102933
|
+
constructor() {
|
|
102934
|
+
this.score = input(...(ngDevMode ? [undefined, { debugName: "score" }] : []));
|
|
102935
|
+
this.explanation = input(...(ngDevMode ? [undefined, { debugName: "explanation" }] : []));
|
|
102936
|
+
this.viewMode = input.required(...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
102937
|
+
this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
|
|
102938
|
+
this.scorePercentage = computed(() => (this.score() || 0) * 100, ...(ngDevMode ? [{ debugName: "scorePercentage" }] : []));
|
|
102939
|
+
this.sectionCardClasses = computed(() => this.isLightMode() ? 'bg-slate-50 border border-slate-200' : 'bg-slate-800/50 border border-slate-700', ...(ngDevMode ? [{ debugName: "sectionCardClasses" }] : []));
|
|
102940
|
+
this.sectionTitleClasses = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "sectionTitleClasses" }] : []));
|
|
102941
|
+
this.textClasses = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-300', ...(ngDevMode ? [{ debugName: "textClasses" }] : []));
|
|
102942
|
+
this.progressBarBgClasses = computed(() => this.isLightMode() ? 'bg-slate-200' : 'bg-slate-700', ...(ngDevMode ? [{ debugName: "progressBarBgClasses" }] : []));
|
|
102943
|
+
this.progressBarFillClasses = computed(() => this.isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400', ...(ngDevMode ? [{ debugName: "progressBarFillClasses" }] : []));
|
|
102944
|
+
}
|
|
102945
|
+
static { this.ɵfac = function SynthesisConfidenceSectionComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SynthesisConfidenceSectionComponent)(); }; }
|
|
102946
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SynthesisConfidenceSectionComponent, selectors: [["symphiq-synthesis-confidence-section"]], inputs: { score: [1, "score"], explanation: [1, "explanation"], viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [[1, "p-5", "rounded-xl", 3, "ngClass"], [1, "text-sm", "font-semibold", "mb-3", "flex", "items-center", "gap-2", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"], [1, "flex", "items-center", "gap-3"], [1, "flex-1", "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "rounded-full", "transition-all", "duration-500", 3, "ngClass"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "text-sm", "mt-3", 3, "ngClass"]], template: function SynthesisConfidenceSectionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
102947
|
+
i0.ɵɵconditionalCreate(0, SynthesisConfidenceSectionComponent_Conditional_0_Template, 11, 9, "div", 0);
|
|
102948
|
+
} if (rf & 2) {
|
|
102949
|
+
i0.ɵɵconditional(ctx.score() ? 0 : -1);
|
|
102950
|
+
} }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
|
|
102951
|
+
}
|
|
102952
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SynthesisConfidenceSectionComponent, [{
|
|
102953
|
+
type: Component,
|
|
102954
|
+
args: [{
|
|
102955
|
+
selector: 'symphiq-synthesis-confidence-section',
|
|
102956
|
+
standalone: true,
|
|
102957
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
102958
|
+
imports: [CommonModule],
|
|
102959
|
+
template: `
|
|
102960
|
+
@if (score()) {
|
|
102961
|
+
<div [ngClass]="sectionCardClasses()" class="p-5 rounded-xl">
|
|
102962
|
+
<h4 [ngClass]="sectionTitleClasses()" class="text-sm font-semibold mb-3 flex items-center gap-2">
|
|
102963
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
102964
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/>
|
|
102965
|
+
</svg>
|
|
102966
|
+
Synthesis Confidence
|
|
102967
|
+
</h4>
|
|
102968
|
+
<div class="flex items-center gap-3">
|
|
102969
|
+
<div class="flex-1 h-2 rounded-full overflow-hidden" [ngClass]="progressBarBgClasses()">
|
|
102970
|
+
<div
|
|
102971
|
+
class="h-full rounded-full transition-all duration-500"
|
|
102972
|
+
[ngClass]="progressBarFillClasses()"
|
|
102973
|
+
[style.width.%]="scorePercentage()">
|
|
102974
|
+
</div>
|
|
102975
|
+
</div>
|
|
102976
|
+
<span [ngClass]="textClasses()" class="text-sm font-semibold">
|
|
102977
|
+
{{ scorePercentage().toFixed(0) }}%
|
|
102978
|
+
</span>
|
|
102979
|
+
</div>
|
|
102980
|
+
@if (explanation()) {
|
|
102981
|
+
<p [ngClass]="textClasses()" class="text-sm mt-3">
|
|
102982
|
+
{{ explanation() }}
|
|
102983
|
+
</p>
|
|
102984
|
+
}
|
|
102985
|
+
</div>
|
|
102986
|
+
}
|
|
102987
|
+
`
|
|
102988
|
+
}]
|
|
102989
|
+
}], null, { score: [{ type: i0.Input, args: [{ isSignal: true, alias: "score", required: false }] }], explanation: [{ type: i0.Input, args: [{ isSignal: true, alias: "explanation", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: true }] }] }); })();
|
|
102990
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SynthesisConfidenceSectionComponent, { className: "SynthesisConfidenceSectionComponent", filePath: "lib/components/shared/synthesis-confidence-section.component.ts", lineNumber: 40 }); })();
|
|
102991
|
+
|
|
102839
102992
|
const _forTrack0$8 = ($index, $item) => $item.analysisId;
|
|
102840
102993
|
function SourceAnalysisTraceabilityComponent_Conditional_0_For_8_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
102841
102994
|
i0.ɵɵelementStart(0, "div", 8);
|
|
@@ -104127,7 +104280,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
|
|
|
104127
104280
|
i0.ɵɵelementEnd();
|
|
104128
104281
|
i0.ɵɵconditionalCreate(14, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Conditional_14_Template, 6, 8, "section", 31);
|
|
104129
104282
|
i0.ɵɵelementStart(15, "symphiq-unified-timeline", 32);
|
|
104130
|
-
i0.ɵɵlistener("
|
|
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)); });
|
|
104131
104284
|
i0.ɵɵelementEnd();
|
|
104132
104285
|
i0.ɵɵelementStart(16, "symphiq-unified-priority-matrix", 33);
|
|
104133
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)); });
|
|
@@ -104154,7 +104307,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
|
|
|
104154
104307
|
i0.ɵɵadvance();
|
|
104155
104308
|
i0.ɵɵconditional(ctx_r1.unifiedGoals().length > 0 ? 14 : -1);
|
|
104156
104309
|
i0.ɵɵadvance();
|
|
104157
|
-
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());
|
|
104158
104311
|
i0.ɵɵadvance();
|
|
104159
104312
|
i0.ɵɵproperty("matrix", ctx_r1.priorityMatrix())("viewMode", ctx_r1.viewMode());
|
|
104160
104313
|
i0.ɵɵadvance();
|
|
@@ -104200,7 +104353,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
|
|
|
104200
104353
|
function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
104201
104354
|
i0.ɵɵelementStart(0, "main", 18);
|
|
104202
104355
|
i0.ɵɵconditionalCreate(1, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_1_Template, 1, 2, "symphiq-loading-card", 19);
|
|
104203
|
-
i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 18,
|
|
104356
|
+
i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 18, 22);
|
|
104204
104357
|
i0.ɵɵconditionalCreate(3, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Template, 1, 1);
|
|
104205
104358
|
i0.ɵɵelementEnd();
|
|
104206
104359
|
} if (rf & 2) {
|
|
@@ -104465,15 +104618,33 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
104465
104618
|
this.priorityMatrix = computed(() => {
|
|
104466
104619
|
const matrixData = this.analysisData()?.unifiedPriorityMatrix;
|
|
104467
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 })));
|
|
104468
104623
|
if (matrixData) {
|
|
104469
|
-
|
|
104470
|
-
|
|
104471
|
-
|
|
104472
|
-
|
|
104473
|
-
|
|
104474
|
-
|
|
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)
|
|
104475
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;
|
|
104476
104646
|
}
|
|
104647
|
+
console.log('[PriorityMatrix] No matrixData, using fallback based on priority');
|
|
104477
104648
|
return {
|
|
104478
104649
|
quickWins: goals.filter(g => g.priority === 'HIGH'),
|
|
104479
104650
|
majorProjects: goals.filter(g => g.priority === 'MEDIUM'),
|
|
@@ -104805,15 +104976,6 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
104805
104976
|
}
|
|
104806
104977
|
}
|
|
104807
104978
|
}
|
|
104808
|
-
onTimelinePhaseClick(phase) {
|
|
104809
|
-
const goalIds = phase.goalIds || [];
|
|
104810
|
-
if (goalIds.length > 0) {
|
|
104811
|
-
const goal = this.unifiedGoals().find(g => g.id && goalIds.includes(g.id));
|
|
104812
|
-
if (goal) {
|
|
104813
|
-
this.onGoalClick(goal);
|
|
104814
|
-
}
|
|
104815
|
-
}
|
|
104816
|
-
}
|
|
104817
104979
|
getTimelineNodeClasses(priority) {
|
|
104818
104980
|
const base = this.isLightMode() ? 'bg-white' : 'bg-slate-800';
|
|
104819
104981
|
switch (priority?.toUpperCase()) {
|
|
@@ -104996,7 +105158,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
104996
105158
|
static { this.ɵfac = function SymphiqProfileAnalysisUnifiedDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileAnalysisUnifiedDashboardComponent)(); }; }
|
|
104997
105159
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileAnalysisUnifiedDashboardComponent, selectors: [["symphiq-profile-analysis-unified-dashboard"]], hostBindings: function SymphiqProfileAnalysisUnifiedDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
104998
105160
|
i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisUnifiedDashboardComponent_scroll_HostBindingHandler() { return ctx.onScroll(); }, i0.ɵɵresolveWindow);
|
|
104999
|
-
} }, 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, "
|
|
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) {
|
|
105000
105162
|
i0.ɵɵelementStart(0, "div", 0);
|
|
105001
105163
|
i0.ɵɵelement(1, "div", 1)(2, "symphiq-scroll-progress-bar", 2);
|
|
105002
105164
|
i0.ɵɵelementStart(3, "div", 3)(4, "symphiq-dashboard-header", 4);
|
|
@@ -105229,7 +105391,8 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
105229
105391
|
<symphiq-unified-timeline
|
|
105230
105392
|
[timeline]="unifiedTimeline()"
|
|
105231
105393
|
[viewMode]="viewMode()"
|
|
105232
|
-
|
|
105394
|
+
[goals]="unifiedGoals()"
|
|
105395
|
+
(goalClick)="onGoalClick($event)"
|
|
105233
105396
|
/>
|
|
105234
105397
|
|
|
105235
105398
|
<symphiq-unified-priority-matrix
|
|
@@ -105362,7 +105525,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
105362
105525
|
type: HostListener,
|
|
105363
105526
|
args: ['window:scroll']
|
|
105364
105527
|
}] }); })();
|
|
105365
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisUnifiedDashboardComponent, { className: "SymphiqProfileAnalysisUnifiedDashboardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/symphiq-profile-analysis-unified-dashboard.component.ts", lineNumber:
|
|
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 }); })();
|
|
105366
105529
|
|
|
105367
105530
|
function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
105368
105531
|
const _r1 = i0.ɵɵgetCurrentView();
|