@eric-emg/symphiq-components 1.3.40 → 1.3.42

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.
@@ -497,7 +497,7 @@ class ModalService {
497
497
  const data = { objective, goalTitle, viewMode };
498
498
  const currentStack = currentState.navigationStack || [];
499
499
  let newStack = currentStack;
500
- if ((currentState.type === 'goal-objectives' || currentState.type === 'objective-strategies' || currentState.type === 'strategy-recommendations') && currentState.data) {
500
+ if ((currentState.type === 'goal-objectives' || currentState.type === 'unified-goal-objectives' || currentState.type === 'objective-strategies' || currentState.type === 'strategy-recommendations') && currentState.data) {
501
501
  const stateToAdd = {
502
502
  type: currentState.type,
503
503
  data: currentState.data,
@@ -521,7 +521,7 @@ class ModalService {
521
521
  const data = { strategy, objectiveTitle, goalTitle, viewMode, expandedRecommendationId };
522
522
  const currentStack = currentState.navigationStack || [];
523
523
  let newStack = currentStack;
524
- if ((currentState.type === 'goal-objectives' || currentState.type === 'objective-strategies' || currentState.type === 'strategy-recommendations') && currentState.data) {
524
+ if ((currentState.type === 'goal-objectives' || currentState.type === 'unified-goal-objectives' || currentState.type === 'objective-strategies' || currentState.type === 'strategy-recommendations') && currentState.data) {
525
525
  const stateToAdd = {
526
526
  type: currentState.type,
527
527
  data: currentState.data,
@@ -101886,8 +101886,8 @@ const _c1$3 = ["modalWrapper"];
101886
101886
  const _c2$2 = () => [];
101887
101887
  function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
101888
101888
  i0.ɵɵnamespaceSVG();
101889
- i0.ɵɵelementStart(0, "svg", 23);
101890
- i0.ɵɵelement(1, "path", 24);
101889
+ i0.ɵɵelementStart(0, "svg", 25);
101890
+ i0.ɵɵelement(1, "path", 26);
101891
101891
  i0.ɵɵelementEnd();
101892
101892
  } if (rf & 2) {
101893
101893
  const ctx_r1 = i0.ɵɵnextContext(4);
@@ -101895,11 +101895,11 @@ function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Condit
101895
101895
  } }
101896
101896
  function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
101897
101897
  const _r3 = i0.ɵɵgetCurrentView();
101898
- i0.ɵɵelementStart(0, "button", 22);
101898
+ i0.ɵɵelementStart(0, "button", 24);
101899
101899
  i0.ɵɵlistener("click", function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Template_button_click_0_listener() { const $index_r4 = i0.ɵɵrestoreView(_r3).$index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.navigateToBreadcrumb($index_r4)); });
101900
101900
  i0.ɵɵtext(1);
101901
101901
  i0.ɵɵelementEnd();
101902
- i0.ɵɵconditionalCreate(2, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Conditional_2_Template, 2, 1, ":svg:svg", 23);
101902
+ i0.ɵɵconditionalCreate(2, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Conditional_2_Template, 2, 1, ":svg:svg", 25);
101903
101903
  } if (rf & 2) {
101904
101904
  const item_r5 = ctx.$implicit;
101905
101905
  const ɵ$index_17_r6 = ctx.$index;
@@ -101912,17 +101912,35 @@ function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Templa
101912
101912
  i0.ɵɵconditional(!(ɵ$index_17_r6 === ɵ$count_17_r7 - 1) || ctx_r1.modalType() !== null ? 2 : -1);
101913
101913
  } }
101914
101914
  function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_3_Template(rf, ctx) { if (rf & 1) {
101915
- i0.ɵɵelementStart(0, "span", 21);
101915
+ i0.ɵɵelementStart(0, "span", 23);
101916
101916
  i0.ɵɵtext(1, "Objectives");
101917
101917
  i0.ɵɵelementEnd();
101918
101918
  } if (rf & 2) {
101919
101919
  const ctx_r1 = i0.ɵɵnextContext(3);
101920
101920
  i0.ɵɵproperty("ngClass", ctx_r1.breadcrumbCurrentClasses());
101921
101921
  } }
101922
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_4_Template(rf, ctx) { if (rf & 1) {
101923
+ i0.ɵɵelementStart(0, "span", 23);
101924
+ i0.ɵɵtext(1, "Strategies");
101925
+ i0.ɵɵelementEnd();
101926
+ } if (rf & 2) {
101927
+ const ctx_r1 = i0.ɵɵnextContext(3);
101928
+ i0.ɵɵproperty("ngClass", ctx_r1.breadcrumbCurrentClasses());
101929
+ } }
101930
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_5_Template(rf, ctx) { if (rf & 1) {
101931
+ i0.ɵɵelementStart(0, "span", 23);
101932
+ i0.ɵɵtext(1, "Recommendations");
101933
+ i0.ɵɵelementEnd();
101934
+ } if (rf & 2) {
101935
+ const ctx_r1 = i0.ɵɵnextContext(3);
101936
+ i0.ɵɵproperty("ngClass", ctx_r1.breadcrumbCurrentClasses());
101937
+ } }
101922
101938
  function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Template(rf, ctx) { if (rf & 1) {
101923
101939
  i0.ɵɵelementStart(0, "div", 9);
101924
101940
  i0.ɵɵrepeaterCreate(1, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_For_2_Template, 3, 3, null, null, i0.ɵɵrepeaterTrackByIndex);
101925
- i0.ɵɵconditionalCreate(3, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_3_Template, 2, 1, "span", 21);
101941
+ i0.ɵɵconditionalCreate(3, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_3_Template, 2, 1, "span", 23);
101942
+ i0.ɵɵconditionalCreate(4, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_4_Template, 2, 1, "span", 23);
101943
+ i0.ɵɵconditionalCreate(5, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Conditional_5_Template, 2, 1, "span", 23);
101926
101944
  i0.ɵɵelementEnd();
101927
101945
  } if (rf & 2) {
101928
101946
  const ctx_r1 = i0.ɵɵnextContext(2);
@@ -101930,9 +101948,13 @@ function UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Template(rf,
101930
101948
  i0.ɵɵrepeater(ctx_r1.navigationStack());
101931
101949
  i0.ɵɵadvance(2);
101932
101950
  i0.ɵɵconditional(ctx_r1.modalType() === "unified-goal-objectives" ? 3 : -1);
101951
+ i0.ɵɵadvance();
101952
+ i0.ɵɵconditional(ctx_r1.modalType() === "objective-strategies" ? 4 : -1);
101953
+ i0.ɵɵadvance();
101954
+ i0.ɵɵconditional(ctx_r1.modalType() === "strategy-recommendations" ? 5 : -1);
101933
101955
  } }
101934
101956
  function UnifiedDashboardModalComponent_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
101935
- i0.ɵɵelementStart(0, "div", 10)(1, "span", 25);
101957
+ i0.ɵɵelementStart(0, "div", 10)(1, "span", 27);
101936
101958
  i0.ɵɵtext(2);
101937
101959
  i0.ɵɵelementEnd()();
101938
101960
  } if (rf & 2) {
@@ -101940,7 +101962,7 @@ function UnifiedDashboardModalComponent_Conditional_0_Conditional_8_Template(rf,
101940
101962
  i0.ɵɵadvance();
101941
101963
  i0.ɵɵproperty("ngClass", ctx_r1.modalTypeLabelClasses());
101942
101964
  i0.ɵɵadvance();
101943
- i0.ɵɵtextInterpolate1(" ", ctx_r1.modalType() === "unified-goal-objectives" ? "Objectives" : "Unified Goal", " ");
101965
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.modalType() === "unified-goal-objectives" ? "Objectives" : ctx_r1.modalType() === "objective-strategies" ? "Strategies" : ctx_r1.modalType() === "strategy-recommendations" ? "Recommendations" : "Unified Goal", " ");
101944
101966
  } }
101945
101967
  function UnifiedDashboardModalComponent_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
101946
101968
  i0.ɵɵelement(0, "symphiq-priority-badge", 13);
@@ -101956,7 +101978,7 @@ function UnifiedDashboardModalComponent_Conditional_0_Conditional_13_Template(rf
101956
101978
  } }
101957
101979
  function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template(rf, ctx) { if (rf & 1) {
101958
101980
  const _r8 = i0.ɵɵgetCurrentView();
101959
- i0.ɵɵelementStart(0, "symphiq-unified-goal-detail-modal-content", 26);
101981
+ i0.ɵɵelementStart(0, "symphiq-unified-goal-detail-modal-content", 28);
101960
101982
  i0.ɵɵlistener("sourceAnalysisClick", function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template_symphiq_unified_goal_detail_modal_content_sourceAnalysisClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSourceAnalysisClick($event)); })("metricClick", function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template_symphiq_unified_goal_detail_modal_content_metricClick_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onMetricClick($event)); })("showObjectives", function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template_symphiq_unified_goal_detail_modal_content_showObjectives_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onShowObjectives()); })("close", function UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template_symphiq_unified_goal_detail_modal_content_close_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.closeModal()); });
101961
101983
  i0.ɵɵelementEnd();
101962
101984
  } if (rf & 2) {
@@ -101969,6 +101991,18 @@ function UnifiedDashboardModalComponent_Conditional_0_Conditional_20_Template(rf
101969
101991
  const ctx_r1 = i0.ɵɵnextContext(2);
101970
101992
  i0.ɵɵproperty("objectives", ctx_r1.objectivesData().goal.objectives ?? i0.ɵɵpureFunction0(3, _c2$2))("goalTitle", ctx_r1.objectivesData().goal.title ?? "")("viewMode", ctx_r1.viewMode());
101971
101993
  } }
101994
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template(rf, ctx) { if (rf & 1) {
101995
+ i0.ɵɵelement(0, "symphiq-objective-strategies-modal-content", 21);
101996
+ } if (rf & 2) {
101997
+ const ctx_r1 = i0.ɵɵnextContext(2);
101998
+ i0.ɵɵproperty("objective", ctx_r1.strategiesData().objective)("viewMode", ctx_r1.viewMode());
101999
+ } }
102000
+ function UnifiedDashboardModalComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
102001
+ i0.ɵɵelement(0, "symphiq-strategy-recommendations-modal-content", 22);
102002
+ } if (rf & 2) {
102003
+ const ctx_r1 = i0.ɵɵnextContext(2);
102004
+ i0.ɵɵproperty("strategy", ctx_r1.recommendationsData().strategy)("viewMode", ctx_r1.viewMode());
102005
+ } }
101972
102006
  function UnifiedDashboardModalComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
101973
102007
  const _r1 = i0.ɵɵgetCurrentView();
101974
102008
  i0.ɵɵelementStart(0, "div", 3, 0)(2, "div", 4);
@@ -101977,24 +102011,25 @@ function UnifiedDashboardModalComponent_Conditional_0_Template(rf, ctx) { if (rf
101977
102011
  i0.ɵɵelementStart(3, "div", 5);
101978
102012
  i0.ɵɵlistener("click", function UnifiedDashboardModalComponent_Conditional_0_Template_div_click_3_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView($event.stopPropagation()); });
101979
102013
  i0.ɵɵelementStart(4, "div", 6)(5, "div", 7)(6, "div", 8);
101980
- i0.ɵɵconditionalCreate(7, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Template, 4, 1, "div", 9)(8, UnifiedDashboardModalComponent_Conditional_0_Conditional_8_Template, 3, 2, "div", 10);
102014
+ i0.ɵɵconditionalCreate(7, UnifiedDashboardModalComponent_Conditional_0_Conditional_7_Template, 6, 3, "div", 9)(8, UnifiedDashboardModalComponent_Conditional_0_Conditional_8_Template, 3, 2, "div", 10);
101981
102015
  i0.ɵɵelementStart(9, "h3", 11);
101982
102016
  i0.ɵɵtext(10);
101983
102017
  i0.ɵɵelementEnd()();
101984
102018
  i0.ɵɵelementStart(11, "div", 12);
101985
102019
  i0.ɵɵconditionalCreate(12, UnifiedDashboardModalComponent_Conditional_0_Conditional_12_Template, 1, 2, "symphiq-priority-badge", 13);
101986
102020
  i0.ɵɵconditionalCreate(13, UnifiedDashboardModalComponent_Conditional_0_Conditional_13_Template, 1, 2, "symphiq-timeframe-badge", 14);
101987
- i0.ɵɵelementEnd();
101988
102021
  i0.ɵɵelementStart(14, "button", 15);
101989
102022
  i0.ɵɵlistener("click", function UnifiedDashboardModalComponent_Conditional_0_Template_button_click_14_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeModal()); });
101990
102023
  i0.ɵɵnamespaceSVG();
101991
102024
  i0.ɵɵelementStart(15, "svg", 16);
101992
102025
  i0.ɵɵelement(16, "path", 17);
101993
- i0.ɵɵelementEnd()()()();
102026
+ i0.ɵɵelementEnd()()()()();
101994
102027
  i0.ɵɵnamespaceHTML();
101995
102028
  i0.ɵɵelementStart(17, "div", 18, 1);
101996
102029
  i0.ɵɵconditionalCreate(19, UnifiedDashboardModalComponent_Conditional_0_Conditional_19_Template, 1, 7, "symphiq-unified-goal-detail-modal-content", 19);
101997
102030
  i0.ɵɵconditionalCreate(20, UnifiedDashboardModalComponent_Conditional_0_Conditional_20_Template, 1, 4, "symphiq-goal-objectives-modal-content", 20);
102031
+ i0.ɵɵconditionalCreate(21, UnifiedDashboardModalComponent_Conditional_0_Conditional_21_Template, 1, 2, "symphiq-objective-strategies-modal-content", 21);
102032
+ i0.ɵɵconditionalCreate(22, UnifiedDashboardModalComponent_Conditional_0_Conditional_22_Template, 1, 2, "symphiq-strategy-recommendations-modal-content", 22);
101998
102033
  i0.ɵɵelementEnd()()();
101999
102034
  } if (rf & 2) {
102000
102035
  let tmp_15_0;
@@ -102028,6 +102063,10 @@ function UnifiedDashboardModalComponent_Conditional_0_Template(rf, ctx) { if (rf
102028
102063
  i0.ɵɵconditional(ctx_r1.modalType() === "unified-goal-detail" && ctx_r1.unifiedGoalData() ? 19 : -1);
102029
102064
  i0.ɵɵadvance();
102030
102065
  i0.ɵɵconditional(ctx_r1.modalType() === "unified-goal-objectives" && ctx_r1.objectivesData() ? 20 : -1);
102066
+ i0.ɵɵadvance();
102067
+ i0.ɵɵconditional(ctx_r1.modalType() === "objective-strategies" && ctx_r1.strategiesData() ? 21 : -1);
102068
+ i0.ɵɵadvance();
102069
+ i0.ɵɵconditional(ctx_r1.modalType() === "strategy-recommendations" && ctx_r1.recommendationsData() ? 22 : -1);
102031
102070
  } }
102032
102071
  class UnifiedDashboardModalComponent {
102033
102072
  constructor() {
@@ -102060,6 +102099,20 @@ class UnifiedDashboardModalComponent {
102060
102099
  }
102061
102100
  return null;
102062
102101
  }, ...(ngDevMode ? [{ debugName: "objectivesData" }] : []));
102102
+ this.strategiesData = computed(() => {
102103
+ const data = this.modalData();
102104
+ if (this.modalType() === 'objective-strategies' && data) {
102105
+ return data;
102106
+ }
102107
+ return null;
102108
+ }, ...(ngDevMode ? [{ debugName: "strategiesData" }] : []));
102109
+ this.recommendationsData = computed(() => {
102110
+ const data = this.modalData();
102111
+ if (this.modalType() === 'strategy-recommendations' && data) {
102112
+ return data;
102113
+ }
102114
+ return null;
102115
+ }, ...(ngDevMode ? [{ debugName: "recommendationsData" }] : []));
102063
102116
  this.currentGoal = computed(() => {
102064
102117
  const goalData = this.unifiedGoalData();
102065
102118
  const objData = this.objectivesData();
@@ -102118,7 +102171,7 @@ class UnifiedDashboardModalComponent {
102118
102171
  clearTimeout(this.cleanupTimeoutId);
102119
102172
  this.cleanupTimeoutId = null;
102120
102173
  }
102121
- if (state.type !== 'unified-goal-detail' && state.type !== 'unified-goal-objectives' && state.type !== null) {
102174
+ if (state.type !== 'unified-goal-detail' && state.type !== 'unified-goal-objectives' && state.type !== 'objective-strategies' && state.type !== 'strategy-recommendations' && state.type !== null) {
102122
102175
  return;
102123
102176
  }
102124
102177
  this.previousState.set(state.previousState ?? null);
@@ -102137,6 +102190,20 @@ class UnifiedDashboardModalComponent {
102137
102190
  this.modalTitle.set(data.goal.title || 'Objectives');
102138
102191
  this.isOpen.set(true);
102139
102192
  }
102193
+ else if (state.type === 'objective-strategies' && state.data) {
102194
+ const data = state.data;
102195
+ this.modalType.set('objective-strategies');
102196
+ this.modalData.set(data);
102197
+ this.modalTitle.set(data.objective.title || 'Strategies');
102198
+ this.isOpen.set(true);
102199
+ }
102200
+ else if (state.type === 'strategy-recommendations' && state.data) {
102201
+ const data = state.data;
102202
+ this.modalType.set('strategy-recommendations');
102203
+ this.modalData.set(data);
102204
+ this.modalTitle.set(data.strategy.title || 'Recommendations');
102205
+ this.isOpen.set(true);
102206
+ }
102140
102207
  else if (state.type === null) {
102141
102208
  this.isOpen.set(false);
102142
102209
  this.cleanupTimeoutId = setTimeout(() => {
@@ -102173,6 +102240,14 @@ class UnifiedDashboardModalComponent {
102173
102240
  if (state.type === 'unified-goal-objectives') {
102174
102241
  return 'Objectives';
102175
102242
  }
102243
+ if (state.type === 'objective-strategies') {
102244
+ const data = state.data;
102245
+ return data?.objective?.title || 'Strategies';
102246
+ }
102247
+ if (state.type === 'strategy-recommendations') {
102248
+ const data = state.data;
102249
+ return data?.strategy?.title || 'Recommendations';
102250
+ }
102176
102251
  return 'Unknown';
102177
102252
  }
102178
102253
  closeModal() {
@@ -102202,12 +102277,14 @@ class UnifiedDashboardModalComponent {
102202
102277
  let _t;
102203
102278
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalContent = _t.first);
102204
102279
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalWrapper = _t.first);
102205
- } }, inputs: { viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto", 3, "z-index", "visibility"], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", 3, "click", "ngClass"], [1, "relative", "w-full", "max-w-4xl", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-1.5", "mb-2", "text-xs"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xl", "font-bold", "leading-tight", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "ml-4", "flex-shrink-0"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", "flex-shrink-0", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "px-6", "py-8", "max-h-[80vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [3, "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "objectives", "goalTitle", "viewMode"], [1, "font-medium", 3, "ngClass"], ["type", "button", 1, "hover:underline", "cursor-pointer", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "sourceAnalysisClick", "metricClick", "showObjectives", "close", "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
102206
- i0.ɵɵconditionalCreate(0, UnifiedDashboardModalComponent_Conditional_0_Template, 21, 24, "div", 2);
102280
+ } }, inputs: { viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto", 3, "z-index", "visibility"], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", 3, "click", "ngClass"], [1, "relative", "w-full", "max-w-4xl", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-1.5", "mb-2", "text-xs"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xl", "font-bold", "leading-tight", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "ml-4", "flex-shrink-0"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", "flex-shrink-0", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "px-6", "py-8", "max-h-[80vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [3, "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "objectives", "goalTitle", "viewMode"], [3, "objective", "viewMode"], [3, "strategy", "viewMode"], [1, "font-medium", 3, "ngClass"], ["type", "button", 1, "hover:underline", "cursor-pointer", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "sourceAnalysisClick", "metricClick", "showObjectives", "close", "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
102281
+ i0.ɵɵconditionalCreate(0, UnifiedDashboardModalComponent_Conditional_0_Template, 23, 26, "div", 2);
102207
102282
  } if (rf & 2) {
102208
102283
  i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
102209
102284
  } }, dependencies: [CommonModule, i1$1.NgClass, UnifiedGoalDetailModalContentComponent,
102210
102285
  GoalObjectivesModalContentComponent,
102286
+ ObjectiveStrategiesModalContentComponent,
102287
+ StrategyRecommendationsModalContentComponent,
102211
102288
  PriorityBadgeComponent,
102212
102289
  TimeframeBadgeComponent], encapsulation: 2, data: { animation: [
102213
102290
  trigger('fadeIn', [
@@ -102234,6 +102311,8 @@ class UnifiedDashboardModalComponent {
102234
102311
  CommonModule,
102235
102312
  UnifiedGoalDetailModalContentComponent,
102236
102313
  GoalObjectivesModalContentComponent,
102314
+ ObjectiveStrategiesModalContentComponent,
102315
+ StrategyRecommendationsModalContentComponent,
102237
102316
  PriorityBadgeComponent,
102238
102317
  TimeframeBadgeComponent
102239
102318
  ],
@@ -102286,11 +102365,17 @@ class UnifiedDashboardModalComponent {
102286
102365
  @if (modalType() === 'unified-goal-objectives') {
102287
102366
  <span [ngClass]="breadcrumbCurrentClasses()" class="font-medium">Objectives</span>
102288
102367
  }
102368
+ @if (modalType() === 'objective-strategies') {
102369
+ <span [ngClass]="breadcrumbCurrentClasses()" class="font-medium">Strategies</span>
102370
+ }
102371
+ @if (modalType() === 'strategy-recommendations') {
102372
+ <span [ngClass]="breadcrumbCurrentClasses()" class="font-medium">Recommendations</span>
102373
+ }
102289
102374
  </div>
102290
102375
  } @else {
102291
102376
  <div class="flex items-center gap-2 mb-2">
102292
102377
  <span [ngClass]="modalTypeLabelClasses()" class="text-xs font-semibold uppercase tracking-wider">
102293
- {{ modalType() === 'unified-goal-objectives' ? 'Objectives' : 'Unified Goal' }}
102378
+ {{ modalType() === 'unified-goal-objectives' ? 'Objectives' : modalType() === 'objective-strategies' ? 'Strategies' : modalType() === 'strategy-recommendations' ? 'Recommendations' : 'Unified Goal' }}
102294
102379
  </span>
102295
102380
  </div>
102296
102381
  }
@@ -102307,9 +102392,8 @@ class UnifiedDashboardModalComponent {
102307
102392
  @if (currentGoal()?.timeframe) {
102308
102393
  <symphiq-timeframe-badge [timeframe]="currentGoal()!.timeframe" [viewMode]="viewMode()" />
102309
102394
  }
102310
- </div>
102311
102395
 
102312
- <button
102396
+ <button
102313
102397
  type="button"
102314
102398
  (click)="closeModal()"
102315
102399
  [ngClass]="isLightMode() ? 'text-slate-600 hover:text-slate-900 hover:bg-slate-100' : 'text-slate-400 hover:text-white hover:bg-slate-700'"
@@ -102319,6 +102403,7 @@ class UnifiedDashboardModalComponent {
102319
102403
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
102320
102404
  </svg>
102321
102405
  </button>
102406
+ </div>
102322
102407
  </div>
102323
102408
  </div>
102324
102409
 
@@ -102345,6 +102430,18 @@ class UnifiedDashboardModalComponent {
102345
102430
  [viewMode]="viewMode()"
102346
102431
  />
102347
102432
  }
102433
+ @if (modalType() === 'objective-strategies' && strategiesData()) {
102434
+ <symphiq-objective-strategies-modal-content
102435
+ [objective]="strategiesData()!.objective"
102436
+ [viewMode]="viewMode()"
102437
+ />
102438
+ }
102439
+ @if (modalType() === 'strategy-recommendations' && recommendationsData()) {
102440
+ <symphiq-strategy-recommendations-modal-content
102441
+ [strategy]="recommendationsData()!.strategy"
102442
+ [viewMode]="viewMode()"
102443
+ />
102444
+ }
102348
102445
  </div>
102349
102446
  </div>
102350
102447
  </div>
@@ -102358,7 +102455,7 @@ class UnifiedDashboardModalComponent {
102358
102455
  type: ViewChild,
102359
102456
  args: ['modalWrapper']
102360
102457
  }] }); })();
102361
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedDashboardModalComponent, { className: "UnifiedDashboardModalComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-dashboard-modal.component.ts", lineNumber: 156 }); })();
102458
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedDashboardModalComponent, { className: "UnifiedDashboardModalComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-dashboard-modal.component.ts", lineNumber: 180 }); })();
102362
102459
 
102363
102460
  const _forTrack0$6 = ($index, $item) => $item.id;
102364
102461
  const _forTrack1$1 = ($index, $item) => $item.id || $index;
@@ -103353,10 +103450,21 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
103353
103450
  : 'bg-gradient-to-r from-indigo-900/40 to-purple-900/40 border border-indigo-700/50 text-indigo-100';
103354
103451
  }, ...(ngDevMode ? [{ debugName: "totalGoalsCardClasses" }] : []));
103355
103452
  this.allMetrics = computed(() => {
103356
- const analysis = this.funnelAnalysisSignal();
103453
+ const analysis = this.funnelAnalysis();
103454
+ console.log('[UnifiedDashboard] allMetrics computed - funnelAnalysis:', {
103455
+ hasAnalysis: !!analysis,
103456
+ hasPerformanceOverviewStructured: !!analysis?.performanceOverviewStructured,
103457
+ performanceOverviewStructuredKeys: analysis?.performanceOverviewStructured ? Object.keys(analysis.performanceOverviewStructured) : []
103458
+ });
103357
103459
  if (!analysis)
103358
103460
  return [];
103359
103461
  const normalized = normalizeToV3(analysis.performanceOverviewStructured);
103462
+ console.log('[UnifiedDashboard] allMetrics computed - normalizeToV3 result:', {
103463
+ hasNormalized: !!normalized,
103464
+ normalizedKeys: normalized ? Object.keys(normalized) : [],
103465
+ metricsCount: normalized?.metrics?.length || 0,
103466
+ metricsPreview: normalized?.metrics?.slice(0, 3).map(m => m.metric)
103467
+ });
103360
103468
  return normalized?.metrics || [];
103361
103469
  }, ...(ngDevMode ? [{ debugName: "allMetrics" }] : []));
103362
103470
  this.allCharts = computed(() => {
@@ -103513,7 +103621,12 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
103513
103621
  }
103514
103622
  ngOnChanges(changes) {
103515
103623
  if (changes['funnelAnalysis']) {
103516
- this.funnelAnalysisSignal.set(this.funnelAnalysis());
103624
+ const fa = this.funnelAnalysis();
103625
+ console.log('[UnifiedDashboard] ngOnChanges - funnelAnalysis changed:', {
103626
+ hasFunnelAnalysis: !!fa,
103627
+ hasPerformanceOverviewStructured: !!fa?.performanceOverviewStructured
103628
+ });
103629
+ this.funnelAnalysisSignal.set(fa);
103517
103630
  }
103518
103631
  }
103519
103632
  onScroll() {
@@ -103587,7 +103700,13 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
103587
103700
  this.markAsReviewedClick.emit();
103588
103701
  }
103589
103702
  onGoalClick(goal) {
103590
- this.modalService.openUnifiedGoalModal(goal, this.allMetrics(), this.allCharts(), this.loadedSourceAnalysisIds().map(String), this.viewMode(), this.loadingSourceAnalysisId() !== undefined ? String(this.loadingSourceAnalysisId()) : undefined);
103703
+ const metrics = this.allMetrics();
103704
+ console.log('[UnifiedDashboard] onGoalClick - passing to modal:', {
103705
+ goalTitle: goal.title,
103706
+ metricsCount: metrics.length,
103707
+ metricNames: metrics.map(m => m.metric)
103708
+ });
103709
+ this.modalService.openUnifiedGoalModal(goal, metrics, this.allCharts(), this.loadedSourceAnalysisIds().map(String), this.viewMode(), this.loadingSourceAnalysisId() !== undefined ? String(this.loadingSourceAnalysisId()) : undefined);
103591
103710
  }
103592
103711
  onSourceBadgeClick(event, source, goal) {
103593
103712
  event.stopPropagation();