@eric-emg/symphiq-components 1.3.56 → 1.3.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -295,6 +295,19 @@ class ModalService {
295
295
  openRecommendationMetricsListModal(metrics, charts, recommendationContext, directlyAffectedMetricId, indirectlyAffectedMetricIds, previousState, hierarchyContext) {
296
296
  const navigationStack = previousState ? [...(previousState.navigationStack || []), previousState] : [];
297
297
  const openedFromMainBody = !previousState;
298
+ let depthFromPrevState = 0;
299
+ let walkState = previousState;
300
+ while (walkState) {
301
+ depthFromPrevState++;
302
+ walkState = walkState.previousState ?? undefined;
303
+ }
304
+ console.log('[ModalService] openRecommendationMetricsListModal:', {
305
+ previousStateExists: !!previousState,
306
+ previousStateType: previousState?.type,
307
+ depthFromPrevState,
308
+ navigationStackLength: navigationStack.length,
309
+ openedFromMainBody
310
+ });
298
311
  this.modalState.next({
299
312
  type: 'metrics-list',
300
313
  data: {
@@ -9014,7 +9027,7 @@ class MetricCardComponent {
9014
9027
  }
9015
9028
  }
9016
9029
  static { this.ɵfac = function MetricCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MetricCardComponent)(); }; }
9017
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetricCardComponent, selectors: [["symphiq-funnel-analysis-metric-card"]], inputs: { metric: [1, "metric"], insights: [1, "insights"], charts: [1, "charts"], allCharts: [1, "allCharts"], analysis: [1, "analysis"], isLightMode: [1, "isLightMode"], isLoading: [1, "isLoading"], isCompactMode: [1, "isCompactMode"], isInModal: [1, "isInModal"], currentModalState: [1, "currentModalState"], viewMode: [1, "viewMode"], initialExpandedSection: [1, "initialExpandedSection"], currencySymbol: [1, "currencySymbol"] }, decls: 2, vars: 1, consts: [[1, "relative", "overflow-hidden", 3, "class"], [1, "relative", "overflow-hidden", "transition-all", "duration-300", "hover:shadow-2xl", "hover:-translate-y-1", 3, "class", "opacity-0", "opacity-100"], [1, "relative", "overflow-hidden"], [1, "space-y-4"], [1, "flex", "items-start", "justify-between", "mb-5"], [1, "flex-1", "space-y-3"], [3, "width", "height", "isLightMode"], [1, "space-y-2"], [1, "flex", "justify-between"], [1, "relative", "overflow-hidden", "transition-all", "duration-300", "hover:shadow-2xl", "hover:-translate-y-1"], [1, "absolute", "inset-0", "pointer-events-none"], [1, "absolute", "inset-0", "opacity-[0.03]", "pointer-events-none", "overflow-hidden"], [1, "h-full", "flex", "items-end", "justify-end", "gap-1", "p-4"], [1, "w-2", "rounded-t", 3, "height", "ngClass"], [1, "flex-1"], [1, "flex", "items-center", "gap-2", "mb-1.5", "flex-wrap"], [1, "text-sm", "font-medium", "transition-colors", "duration-300", "!mb-0", 3, "ngClass"], ["tooltipType", "badge", 1, "px-2", "py-0.5", "text-xs", "font-semibold", "rounded", "border", "transition-all", "duration-300", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], ["tooltipType", "competitive", 1, "px-2", "py-0.5", "text-[10px]", "font-bold", "rounded-full", "border", "transition-all", "duration-300", "flex", "items-center", "gap-1", 3, "class", "libSymphiqTooltip", "tooltipPosition"], [1, "flex", "items-baseline", "gap-2", "relative"], ["tooltipType", "metric", 1, "text-4xl", "font-bold", "transition-all", "duration-300", "group-hover:scale-105", "animate-value-glow", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], ["tooltipType", "trend", 1, "text-sm", "font-semibold", "flex", "items-center", "gap-1", 3, "libSymphiqTooltip", "tooltipPosition"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4"], [1, "mt-3", "flex", "items-center", "gap-2"], [1, "mt-2", "flex", "items-center", "gap-2"], ["tooltipType", "status", 3, "ngStyle", "libSymphiqTooltip", "tooltipPosition"], [1, "text-sm"], ["tooltipType", "status", 1, "space-y-2", 3, "libSymphiqTooltip", "tooltipPosition"], [1, "flex", "justify-between", "items-center", "text-sm"], [3, "ngClass"], [1, "font-medium", 3, "ngClass"], [1, "w-full", "rounded-full", "h-2.5", "overflow-visible", "relative", "group-hover:h-3", "transition-all", "duration-300", 3, "ngClass"], [1, "absolute", "inset-0", "flex", "justify-between", "items-center", "px-0.5"], [1, "absolute", "w-0.5", "h-3", "-translate-x-1/2", "opacity-40", "z-10", 3, "left", "ngClass"], [1, "h-full", "rounded-full", "transition-all", "duration-500", "group-hover:shadow-lg", "animate-progress-bar", 3, "ngClass"], [1, "flex", "justify-between", "items-center", "text-xs"], ["tooltipType", "priority", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "mt-4"], [1, "absolute", "-top-20", "-right-20", "w-64", "h-64", "rounded-full", "blur-2xl", 3, "ngClass"], [1, "w-2", "rounded-t", 3, "ngClass"], ["tooltipType", "competitive", 1, "px-2", "py-0.5", "text-[10px]", "font-bold", "rounded-full", "border", "transition-all", "duration-300", "flex", "items-center", "gap-1", 3, "libSymphiqTooltip", "tooltipPosition"], ["fill-rule", "evenodd", "d", "M5.293 9.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 7.414V15a1 1 0 11-2 0V7.414L6.707 9.707a1 1 0 01-1.414 0z", "clip-rule", "evenodd"], ["fill-rule", "evenodd", "d", "M14.707 10.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 12.586V5a1 1 0 012 0v7.586l2.293-2.293a1 1 0 011.414 0z", "clip-rule", "evenodd"], [1, "text-xs", 3, "ngClass"], ["tooltipType", "trend", 1, "text-xs", "font-semibold", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], ["tooltipType", "status", 1, "text-xs", "font-semibold", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "text-xs", "flex", "items-center", "gap-1", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"], [1, "text-xs", "font-semibold"], [1, "absolute", "w-0.5", "h-3", "-translate-x-1/2", "opacity-40", "z-10", 3, "ngClass"], [1, "mt-4", "text-sm", "leading-relaxed", "flex-grow", 3, "ngClass"], [1, "w-full", "flex", "items-center", "justify-between", "px-4", "py-3", "rounded-lg", "border", "transition-all", "duration-200", "hover:shadow-md", "hover:scale-[1.02]", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-3"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "opacity-60"], [1, "text-sm", "font-medium"], [1, "px-2", "py-0.5", "text-[10px]", "font-bold", "rounded-full", "border"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "transition-transform", "duration-200"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden", 2, "min-height", "0"], [1, "pt-3"], [1, "p-4", "rounded-lg", "border", "space-y-3", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide", "mb-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-3"], [1, "text-xs", "block", "mb-1", 3, "ngClass"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide", "mb-2", "flex", "items-center", "gap-2", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "w-full", "flex", "items-center", "justify-between", "px-4", "py-3", "rounded-lg", "border", "transition-all", "duration-200", "cursor-pointer", "hover:scale-[1.02]", "hover:shadow-md", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-4"], [1, "flex", "items-center", "gap-1"], [1, "flex", "items-center", "gap-1.5", "relative"], [1, "pt-4", "space-y-4"], [1, "w-full", "flex", "items-center", "justify-between", "gap-2", "p-3", "rounded-lg", "border", "transition-all", "cursor-pointer", "hover:shadow-md", "active:scale-[0.99]", 3, "ngClass"], [1, "w-full", "p-3", "rounded-lg", "border", "transition-all", "duration-200", "hover:shadow-md", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5", "opacity-60"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "opacity-60"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"], [1, "flex", "items-center", "justify-center", "w-4", "h-4", "text-[9px]", "font-bold", "rounded-full", "border", "-translate-y-0.5", 3, "ngClass"], [1, "w-full", "flex", "items-center", "justify-between", "gap-2", "p-3", "rounded-lg", "border", "transition-all", "cursor-pointer", "hover:shadow-md", "active:scale-[0.99]", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide", 3, "ngClass"], [1, "space-y-2", "text-xs"], [1, "flex", "justify-between", "items-center"], [1, "font-semibold"], [1, "mt-6"], [1, "mt-6", "flex-shrink-0"], [3, "chart", "isLightMode", "isCompactMode", "collapsibleIn", "currencySymbol"], [3, "chartClick", "chart", "isLightMode", "isCompactMode", "collapsibleIn", "currencySymbol"], [1, "flex", "items-center", "gap-2", "mb-3"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "text-blue-400"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], ["tooltipType", "insight", 1, "w-full", "text-left", "flex", "items-center", "gap-2", "p-3", "rounded-lg", "border", "cursor-default", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], ["tooltipType", "insight", 1, "w-full", "text-left", "flex", "items-center", "gap-2", "p-3", "rounded-lg", "border", "hover:border-blue-500/50", "transition-all", "cursor-pointer", "group", "hover:scale-[1.02]", "active:scale-[0.98]", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "inline-flex", "items-center", "justify-center", "w-6", "h-6", "rounded-full", "text-xs", "font-bold", "flex-shrink-0", 3, "ngClass"], [1, "text-sm", "flex-1", 3, "ngClass"], ["tooltipType", "insight", 1, "w-full", "text-left", "flex", "items-center", "gap-2", "p-3", "rounded-lg", "border", "hover:border-blue-500/50", "transition-all", "cursor-pointer", "group", "hover:scale-[1.02]", "active:scale-[0.98]", 3, "click", "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "text-sm", "transition-colors", "flex-1", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "group-hover:text-blue-400", "transition-colors", 3, "ngClass"]], template: function MetricCardComponent_Template(rf, ctx) { if (rf & 1) {
9030
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetricCardComponent, selectors: [["symphiq-funnel-analysis-metric-card"]], inputs: { metric: [1, "metric"], insights: [1, "insights"], charts: [1, "charts"], allCharts: [1, "allCharts"], analysis: [1, "analysis"], isLightMode: [1, "isLightMode"], isLoading: [1, "isLoading"], isCompactMode: [1, "isCompactMode"], isInModal: [1, "isInModal"], currentModalState: [1, "currentModalState"], viewMode: [1, "viewMode"], initialExpandedSection: [1, "initialExpandedSection"], currencySymbol: [1, "currencySymbol"] }, decls: 2, vars: 1, consts: [[1, "relative", "overflow-hidden", 3, "class"], [1, "relative", "overflow-hidden", "transition-all", "duration-300", "hover:shadow-2xl", "hover:-translate-y-1", 3, "class", "opacity-0", "opacity-100"], [1, "relative", "overflow-hidden"], [1, "space-y-4"], [1, "flex", "items-start", "justify-between", "mb-5"], [1, "flex-1", "space-y-3"], [3, "width", "height", "isLightMode"], [1, "space-y-2"], [1, "flex", "justify-between"], [1, "relative", "overflow-hidden", "transition-all", "duration-300", "hover:shadow-2xl", "hover:-translate-y-1"], [1, "absolute", "inset-0", "pointer-events-none"], [1, "absolute", "inset-0", "opacity-[0.03]", "pointer-events-none", "overflow-hidden"], [1, "h-full", "flex", "items-end", "justify-end", "gap-1", "p-4"], [1, "w-2", "rounded-t", 3, "height", "ngClass"], [1, "flex-1"], [1, "flex", "items-center", "gap-2", "mb-1.5", "flex-wrap"], [1, "text-sm", "font-medium", "transition-colors", "duration-300", "mb-0!", 3, "ngClass"], ["tooltipType", "badge", 1, "px-2", "py-0.5", "text-xs", "font-semibold", "rounded", "border", "transition-all", "duration-300", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], ["tooltipType", "competitive", 1, "px-2", "py-0.5", "text-[10px]", "font-bold", "rounded-full", "border", "transition-all", "duration-300", "flex", "items-center", "gap-1", 3, "class", "libSymphiqTooltip", "tooltipPosition"], [1, "flex", "items-baseline", "gap-2", "relative"], ["tooltipType", "metric", 1, "text-4xl", "font-bold", "transition-all", "duration-300", "group-hover:scale-105", "animate-value-glow", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], ["tooltipType", "trend", 1, "text-sm", "font-semibold", "flex", "items-center", "gap-1", 3, "libSymphiqTooltip", "tooltipPosition"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4"], [1, "mt-3", "flex", "items-center", "gap-2"], [1, "mt-2", "flex", "items-center", "gap-2"], ["tooltipType", "status", 3, "ngStyle", "libSymphiqTooltip", "tooltipPosition"], [1, "text-sm"], ["tooltipType", "status", 1, "space-y-2", 3, "libSymphiqTooltip", "tooltipPosition"], [1, "flex", "justify-between", "items-center", "text-sm"], [3, "ngClass"], [1, "font-medium", 3, "ngClass"], [1, "w-full", "rounded-full", "h-2.5", "overflow-visible", "relative", "group-hover:h-3", "transition-all", "duration-300", 3, "ngClass"], [1, "absolute", "inset-0", "flex", "justify-between", "items-center", "px-0.5"], [1, "absolute", "w-0.5", "h-3", "-translate-x-1/2", "opacity-40", "z-10", 3, "left", "ngClass"], [1, "h-full", "rounded-full", "transition-all", "duration-500", "group-hover:shadow-lg", "animate-progress-bar", 3, "ngClass"], [1, "flex", "justify-between", "items-center", "text-xs"], ["tooltipType", "priority", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "mt-4"], [1, "absolute", "-top-20", "-right-20", "w-64", "h-64", "rounded-full", "blur-2xl", 3, "ngClass"], [1, "w-2", "rounded-t", 3, "ngClass"], ["tooltipType", "competitive", 1, "px-2", "py-0.5", "text-[10px]", "font-bold", "rounded-full", "border", "transition-all", "duration-300", "flex", "items-center", "gap-1", 3, "libSymphiqTooltip", "tooltipPosition"], ["fill-rule", "evenodd", "d", "M5.293 9.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 7.414V15a1 1 0 11-2 0V7.414L6.707 9.707a1 1 0 01-1.414 0z", "clip-rule", "evenodd"], ["fill-rule", "evenodd", "d", "M14.707 10.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 12.586V5a1 1 0 012 0v7.586l2.293-2.293a1 1 0 011.414 0z", "clip-rule", "evenodd"], [1, "text-xs", 3, "ngClass"], ["tooltipType", "trend", 1, "text-xs", "font-semibold", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], ["tooltipType", "status", 1, "text-xs", "font-semibold", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "text-xs", "flex", "items-center", "gap-1", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"], [1, "text-xs", "font-semibold"], [1, "absolute", "w-0.5", "h-3", "-translate-x-1/2", "opacity-40", "z-10", 3, "ngClass"], [1, "mt-4", "text-sm", "leading-relaxed", "flex-grow", 3, "ngClass"], [1, "w-full", "flex", "items-center", "justify-between", "px-4", "py-3", "rounded-lg", "border", "transition-all", "duration-200", "hover:shadow-md", "hover:scale-[1.02]", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-3"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "opacity-60"], [1, "text-sm", "font-medium"], [1, "px-2", "py-0.5", "text-[10px]", "font-bold", "rounded-full", "border"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "transition-transform", "duration-200"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden", 2, "min-height", "0"], [1, "pt-3"], [1, "p-4", "rounded-lg", "border", "space-y-3", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide", "mb-2", 3, "ngClass"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-3"], [1, "text-xs", "block", "mb-1", 3, "ngClass"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide", "mb-2", "flex", "items-center", "gap-2", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"], [1, "w-full", "flex", "items-center", "justify-between", "px-4", "py-3", "rounded-lg", "border", "transition-all", "duration-200", "cursor-pointer", "hover:scale-[1.02]", "hover:shadow-md", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-4"], [1, "flex", "items-center", "gap-1"], [1, "flex", "items-center", "gap-1.5", "relative"], [1, "pt-4", "space-y-4"], [1, "w-full", "flex", "items-center", "justify-between", "gap-2", "p-3", "rounded-lg", "border", "transition-all", "cursor-pointer", "hover:shadow-md", "active:scale-[0.99]", 3, "ngClass"], [1, "w-full", "p-3", "rounded-lg", "border", "transition-all", "duration-200", "hover:shadow-md", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5", "opacity-60"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "opacity-60"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"], [1, "flex", "items-center", "justify-center", "w-4", "h-4", "text-[9px]", "font-bold", "rounded-full", "border", "-translate-y-0.5", 3, "ngClass"], [1, "w-full", "flex", "items-center", "justify-between", "gap-2", "p-3", "rounded-lg", "border", "transition-all", "cursor-pointer", "hover:shadow-md", "active:scale-[0.99]", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide", 3, "ngClass"], [1, "space-y-2", "text-xs"], [1, "flex", "justify-between", "items-center"], [1, "font-semibold"], [1, "mt-6"], [1, "mt-6", "flex-shrink-0"], [3, "chart", "isLightMode", "isCompactMode", "collapsibleIn", "currencySymbol"], [3, "chartClick", "chart", "isLightMode", "isCompactMode", "collapsibleIn", "currencySymbol"], [1, "flex", "items-center", "gap-2", "mb-3"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "text-blue-400"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], ["tooltipType", "insight", 1, "w-full", "text-left", "flex", "items-center", "gap-2", "p-3", "rounded-lg", "border", "cursor-default", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], ["tooltipType", "insight", 1, "w-full", "text-left", "flex", "items-center", "gap-2", "p-3", "rounded-lg", "border", "hover:border-blue-500/50", "transition-all", "cursor-pointer", "group", "hover:scale-[1.02]", "active:scale-[0.98]", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "inline-flex", "items-center", "justify-center", "w-6", "h-6", "rounded-full", "text-xs", "font-bold", "flex-shrink-0", 3, "ngClass"], [1, "text-sm", "flex-1", 3, "ngClass"], ["tooltipType", "insight", 1, "w-full", "text-left", "flex", "items-center", "gap-2", "p-3", "rounded-lg", "border", "hover:border-blue-500/50", "transition-all", "cursor-pointer", "group", "hover:scale-[1.02]", "active:scale-[0.98]", 3, "click", "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "text-sm", "transition-colors", "flex-1", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "group-hover:text-blue-400", "transition-colors", 3, "ngClass"]], template: function MetricCardComponent_Template(rf, ctx) { if (rf & 1) {
9018
9031
  i0.ɵɵconditionalCreate(0, MetricCardComponent_Conditional_0_Template, 17, 32, "div", 0)(1, MetricCardComponent_Conditional_1_Template, 47, 56, "div", 1);
9019
9032
  } if (rf & 2) {
9020
9033
  i0.ɵɵconditional(ctx.isLoading() ? 0 : 1);
@@ -9091,7 +9104,7 @@ class MetricCardComponent {
9091
9104
  <div class="flex items-start justify-between mb-5">
9092
9105
  <div class="flex-1">
9093
9106
  <div class="flex items-center gap-2 mb-1.5 flex-wrap">
9094
- <h3 [ngClass]="isLightMode() ? 'text-slate-600 group-hover:text-slate-900' : 'text-slate-400 group-hover:text-white'" class="text-sm font-medium transition-colors duration-300 !mb-0">{{ formatMetricName(metric().metric || 'UNKNOWN') }}</h3>
9107
+ <h3 [ngClass]="isLightMode() ? 'text-slate-600 group-hover:text-slate-900' : 'text-slate-400 group-hover:text-white'" class="text-sm font-medium transition-colors duration-300 mb-0!">{{ formatMetricName(metric().metric || 'UNKNOWN') }}</h3>
9095
9108
  @if (isFunnelStage()) {
9096
9109
  <span
9097
9110
  [ngClass]="isLightMode() ? 'bg-purple-100 text-purple-700 border-purple-300 group-hover:bg-purple-200' : 'bg-purple-500/20 text-purple-300 border-purple-500/30 group-hover:bg-purple-500/30'"
@@ -22030,7 +22043,7 @@ class MobileFABComponent {
22030
22043
  this.expandedChange.emit(false);
22031
22044
  }
22032
22045
  static { this.ɵfac = function MobileFABComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MobileFABComponent)(); }; }
22033
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MobileFABComponent, selectors: [["symphiq-mobile-fab"]], inputs: { isLightMode: [1, "isLightMode"], isCompactMode: [1, "isCompactMode"], isExpanded: [1, "isExpanded"] }, outputs: { expandedChange: "expandedChange", scrollToTop: "scrollToTop", toggleView: "toggleView" }, decls: 5, vars: 4, consts: [[1, "fixed", "bottom-24", "right-4", "z-40", "lg:hidden"], [1, "flex", "flex-col", "gap-3", "mb-3", "animate-fade-in-up"], [1, "w-14", "h-14", "rounded-full", "shadow-2xl", "flex", "items-center", "justify-center", "transition-all", "duration-300", "hover:scale-110", "active:scale-95", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-300"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 4v16m8-8H4"], [1, "w-12", "h-12", "rounded-full", "shadow-lg", "flex", "items-center", "justify-center", "transition-all", "duration-200", "hover:scale-110", "active:scale-95", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M5 10l7-7m0 0l7 7m-7-7v18"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 6h16M4 12h16M4 18h16"]], template: function MobileFABComponent_Template(rf, ctx) { if (rf & 1) {
22046
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MobileFABComponent, selectors: [["symphiq-mobile-fab"]], inputs: { isLightMode: [1, "isLightMode"], isCompactMode: [1, "isCompactMode"], isExpanded: [1, "isExpanded"] }, outputs: { expandedChange: "expandedChange", scrollToTop: "scrollToTop", toggleView: "toggleView" }, decls: 5, vars: 4, consts: [[1, "fixed", "bottom-24", "right-4", "z-[60]", "lg:hidden"], [1, "flex", "flex-col", "gap-3", "mb-3", "animate-fade-in-up"], [1, "w-14", "h-14", "rounded-full", "shadow-2xl", "flex", "items-center", "justify-center", "transition-all", "duration-300", "hover:scale-110", "active:scale-95", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-300"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 4v16m8-8H4"], [1, "w-12", "h-12", "rounded-full", "shadow-lg", "flex", "items-center", "justify-center", "transition-all", "duration-200", "hover:scale-110", "active:scale-95", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M5 10l7-7m0 0l7 7m-7-7v18"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M4 6h16M4 12h16M4 18h16"]], template: function MobileFABComponent_Template(rf, ctx) { if (rf & 1) {
22034
22047
  i0.ɵɵelementStart(0, "div", 0);
22035
22048
  i0.ɵɵconditionalCreate(1, MobileFABComponent_Conditional_1_Template, 7, 3, "div", 1);
22036
22049
  i0.ɵɵelementStart(2, "button", 2);
@@ -22050,54 +22063,54 @@ class MobileFABComponent {
22050
22063
  }
22051
22064
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MobileFABComponent, [{
22052
22065
  type: Component,
22053
- args: [{ selector: 'symphiq-mobile-fab', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], template: `
22054
- <div class="fixed bottom-24 right-4 z-40 lg:hidden">
22055
- <!-- FAB Menu Items (shown when expanded) -->
22056
- @if (isExpanded()) {
22057
- <div class="flex flex-col gap-3 mb-3 animate-fade-in-up">
22058
- <!-- Scroll to Top -->
22059
- <button
22060
- (click)="onScrollToTop()"
22061
- [ngClass]="buttonClass()"
22062
- class="w-12 h-12 rounded-full shadow-lg flex items-center justify-center transition-all duration-200 hover:scale-110 active:scale-95">
22063
- <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
22064
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 10l7-7m0 0l7 7m-7-7v18"></path>
22065
- </svg>
22066
- </button>
22067
-
22068
- <!-- Toggle View Mode -->
22069
- <button
22070
- (click)="onToggleView()"
22071
- [ngClass]="buttonClass()"
22072
- class="w-12 h-12 rounded-full shadow-lg flex items-center justify-center transition-all duration-200 hover:scale-110 active:scale-95">
22073
- @if (isCompactMode()) {
22074
- <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
22075
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"></path>
22076
- </svg>
22077
- } @else {
22078
- <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
22079
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path>
22080
- </svg>
22081
- }
22082
- </button>
22083
- </div>
22084
- }
22085
-
22086
- <!-- Main FAB Button -->
22087
- <button
22088
- (click)="toggleExpanded()"
22089
- [ngClass]="mainButtonClass()"
22090
- class="w-14 h-14 rounded-full shadow-2xl flex items-center justify-center transition-all duration-300 hover:scale-110 active:scale-95">
22091
- <svg
22092
- class="w-6 h-6 transition-transform duration-300"
22093
- [class.rotate-45]="isExpanded()"
22094
- fill="none"
22095
- stroke="currentColor"
22096
- viewBox="0 0 24 24">
22097
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"></path>
22098
- </svg>
22099
- </button>
22100
- </div>
22066
+ args: [{ selector: 'symphiq-mobile-fab', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], template: `
22067
+ <div class="fixed bottom-24 right-4 z-[60] lg:hidden">
22068
+ <!-- FAB Menu Items (shown when expanded) -->
22069
+ @if (isExpanded()) {
22070
+ <div class="flex flex-col gap-3 mb-3 animate-fade-in-up">
22071
+ <!-- Scroll to Top -->
22072
+ <button
22073
+ (click)="onScrollToTop()"
22074
+ [ngClass]="buttonClass()"
22075
+ class="w-12 h-12 rounded-full shadow-lg flex items-center justify-center transition-all duration-200 hover:scale-110 active:scale-95">
22076
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
22077
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 10l7-7m0 0l7 7m-7-7v18"></path>
22078
+ </svg>
22079
+ </button>
22080
+
22081
+ <!-- Toggle View Mode -->
22082
+ <button
22083
+ (click)="onToggleView()"
22084
+ [ngClass]="buttonClass()"
22085
+ class="w-12 h-12 rounded-full shadow-lg flex items-center justify-center transition-all duration-200 hover:scale-110 active:scale-95">
22086
+ @if (isCompactMode()) {
22087
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
22088
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"></path>
22089
+ </svg>
22090
+ } @else {
22091
+ <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
22092
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path>
22093
+ </svg>
22094
+ }
22095
+ </button>
22096
+ </div>
22097
+ }
22098
+
22099
+ <!-- Main FAB Button -->
22100
+ <button
22101
+ (click)="toggleExpanded()"
22102
+ [ngClass]="mainButtonClass()"
22103
+ class="w-14 h-14 rounded-full shadow-2xl flex items-center justify-center transition-all duration-300 hover:scale-110 active:scale-95">
22104
+ <svg
22105
+ class="w-6 h-6 transition-transform duration-300"
22106
+ [class.rotate-45]="isExpanded()"
22107
+ fill="none"
22108
+ stroke="currentColor"
22109
+ viewBox="0 0 24 24">
22110
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"></path>
22111
+ </svg>
22112
+ </button>
22113
+ </div>
22101
22114
  `, styles: ["@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fade-in-up .2s ease-out}\n"] }]
22102
22115
  }], null, { isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], isExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isExpanded", required: false }] }], expandedChange: [{ type: i0.Output, args: ["expandedChange"] }], scrollToTop: [{ type: i0.Output, args: ["scrollToTop"] }], toggleView: [{ type: i0.Output, args: ["toggleView"] }] }); })();
22103
22116
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MobileFABComponent, { className: "MobileFABComponent", filePath: "lib/components/funnel-analysis-dashboard/mobile-fab.component.ts", lineNumber: 75 }); })();
@@ -44164,6 +44177,13 @@ class ProfileAnalysisModalComponent {
44164
44177
  if (open) {
44165
44178
  this.modalReady.set(false);
44166
44179
  this.logContainingBlockInfo();
44180
+ console.log('[ProfileAnalysisModal] Modal opening - z-index info:', {
44181
+ modalType: this.modalType(),
44182
+ modalDepth: this.modalDepth(),
44183
+ baseZIndex: this.baseZIndex(),
44184
+ contentZIndex: this.contentZIndex(),
44185
+ previousStateType: this.previousState()?.type
44186
+ });
44167
44187
  setTimeout(() => {
44168
44188
  this.moveModalToBody();
44169
44189
  this.modalReady.set(true);
@@ -44485,6 +44505,19 @@ class ProfileAnalysisModalComponent {
44485
44505
  }
44486
44506
  else if (state.type === 'metrics-list' && state.data) {
44487
44507
  const data = state.data;
44508
+ let depthFromPrevState = 0;
44509
+ let walkState = state.previousState;
44510
+ while (walkState) {
44511
+ depthFromPrevState++;
44512
+ walkState = walkState.previousState;
44513
+ }
44514
+ console.log('[ProfileAnalysisModal] metrics-list state received:', {
44515
+ previousStateExists: !!state.previousState,
44516
+ previousStateType: state.previousState?.type,
44517
+ depthFromPrevState,
44518
+ navigationStackLength: state.navigationStack?.length,
44519
+ navigationStackTypes: state.navigationStack?.map(s => s.type)
44520
+ });
44488
44521
  this.modalData.set(data);
44489
44522
  let title = 'Related Metrics';
44490
44523
  if (data.recommendationContext?.title) {
@@ -44823,6 +44856,7 @@ class ProfileAnalysisModalComponent {
44823
44856
  this.modalService.openInsightModal(insight, insightCharts, previousState);
44824
44857
  }
44825
44858
  openMetricDetail(metric) {
44859
+ const metricEnum = metric.metric;
44826
44860
  const metricId = metric.performanceItemId;
44827
44861
  const currentState = this.getCurrentModalState();
44828
44862
  // Combine charts from both allCharts() and current modal state
@@ -44839,9 +44873,34 @@ class ProfileAnalysisModalComponent {
44839
44873
  }
44840
44874
  }
44841
44875
  }
44842
- const metricCharts = metricId ? allAvailableCharts.filter(c => c.performanceItemId === metricId) : [];
44876
+ // Match charts by MetricEnum (chart.metrics array) and performanceItemId (exact or prefix match)
44877
+ const metricCharts = this.getChartsForMetric(metric, allAvailableCharts);
44843
44878
  this.modalService.openMetricModal(metric, metricCharts, currentState);
44844
44879
  }
44880
+ getChartsForMetric(metric, allCharts) {
44881
+ const metricEnum = metric.metric;
44882
+ const metricId = metric.performanceItemId;
44883
+ if (!metricEnum && !metricId) {
44884
+ return [];
44885
+ }
44886
+ const matchingCharts = [];
44887
+ for (const chart of allCharts) {
44888
+ // Match by MetricEnum in chart.metrics array
44889
+ if (metricEnum && chart.metrics?.includes(metricEnum)) {
44890
+ matchingCharts.push(chart);
44891
+ continue;
44892
+ }
44893
+ // Match by performanceItemId (exact or prefix match)
44894
+ if (metricId) {
44895
+ const chartId = chart.performanceItemId || '';
44896
+ const prefix = metricId + '_';
44897
+ if (chartId === metricId || chartId.startsWith(prefix)) {
44898
+ matchingCharts.push(chart);
44899
+ }
44900
+ }
44901
+ }
44902
+ return matchingCharts;
44903
+ }
44845
44904
  formatMetricName(name) {
44846
44905
  return name.replace(/_/g, ' ').toLowerCase().replace(/\b\w/g, l => l.toUpperCase());
44847
44906
  }
@@ -83009,6 +83068,19 @@ class StrategyRecommendationsModalContentComponent {
83009
83068
  objectiveTitle: this.objectiveTitle(),
83010
83069
  strategyTitle: this.strategy()?.title
83011
83070
  };
83071
+ const currentState = this.currentModalState();
83072
+ let depthCount = 0;
83073
+ let stateWalk = currentState;
83074
+ while (stateWalk) {
83075
+ depthCount++;
83076
+ stateWalk = stateWalk.previousState ?? null;
83077
+ }
83078
+ console.log('[StrategyRecommendations] openRelatedMetricsModal:', {
83079
+ currentModalStateType: currentState?.type,
83080
+ currentModalStateExists: !!currentState,
83081
+ previousStateDepth: depthCount,
83082
+ navigationStackLength: currentState?.navigationStack?.length
83083
+ });
83012
83084
  this.modalService.openRecommendationMetricsListModal(metrics, relevantCharts, recommendationContext, directlyAffectedMetricId, indirectlyAffectedMetricIds, this.currentModalState() ?? undefined, hierarchyContext);
83013
83085
  }
83014
83086
  hasRelatedFunnelInsights(recommendation) {
@@ -100741,83 +100813,148 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
100741
100813
  }] }); })();
100742
100814
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisFocusAreaDashboardComponent, { className: "SymphiqProfileAnalysisFocusAreaDashboardComponent", filePath: "lib/components/profile-analysis-focus-area-dashboard/symphiq-profile-analysis-focus-area-dashboard.component.ts", lineNumber: 483 }); })();
100743
100815
 
100744
- function SourceSummaryComponent_Conditional_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {
100745
- i0.ɵɵelementStart(0, "div", 3);
100816
+ function SourceSummaryComponent_Conditional_0_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
100817
+ i0.ɵɵelementStart(0, "div", 4);
100746
100818
  i0.ɵɵnamespaceSVG();
100747
- i0.ɵɵelementStart(1, "svg", 4);
100748
- i0.ɵɵelement(2, "path", 5);
100819
+ i0.ɵɵelementStart(1, "svg", 5);
100820
+ i0.ɵɵelement(2, "path", 6);
100749
100821
  i0.ɵɵelementEnd();
100750
100822
  i0.ɵɵnamespaceHTML();
100751
- i0.ɵɵelementStart(3, "span", 6);
100823
+ i0.ɵɵelementStart(3, "span", 7);
100752
100824
  i0.ɵɵtext(4);
100753
100825
  i0.ɵɵelementEnd()();
100754
100826
  } if (rf & 2) {
100755
- const ctx_r0 = i0.ɵɵnextContext(2);
100827
+ const ctx_r0 = i0.ɵɵnextContext(3);
100756
100828
  i0.ɵɵproperty("ngClass", ctx_r0.sourceTypeClasses())("libSymphiqTooltip", "Shop Goals: Number of shop-level goals contributing to this unified goal");
100757
100829
  i0.ɵɵadvance(4);
100758
100830
  i0.ɵɵtextInterpolate(ctx_r0.sourceTypeCounts().shop);
100759
100831
  } }
100760
- function SourceSummaryComponent_Conditional_0_Conditional_5_Template(rf, ctx) { if (rf & 1) {
100761
- i0.ɵɵelementStart(0, "div", 3);
100832
+ function SourceSummaryComponent_Conditional_0_Conditional_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
100833
+ i0.ɵɵelementStart(0, "div", 4);
100762
100834
  i0.ɵɵnamespaceSVG();
100763
- i0.ɵɵelementStart(1, "svg", 4);
100764
- i0.ɵɵelement(2, "path", 7);
100835
+ i0.ɵɵelementStart(1, "svg", 5);
100836
+ i0.ɵɵelement(2, "path", 8);
100765
100837
  i0.ɵɵelementEnd();
100766
100838
  i0.ɵɵnamespaceHTML();
100767
- i0.ɵɵelementStart(3, "span", 6);
100839
+ i0.ɵɵelementStart(3, "span", 7);
100768
100840
  i0.ɵɵtext(4);
100769
100841
  i0.ɵɵelementEnd()();
100770
100842
  } if (rf & 2) {
100771
- const ctx_r0 = i0.ɵɵnextContext(2);
100843
+ const ctx_r0 = i0.ɵɵnextContext(3);
100772
100844
  i0.ɵɵproperty("ngClass", ctx_r0.sourceTypeClasses())("libSymphiqTooltip", "Focus Area Goals: Number of focus area goals contributing to this unified goal");
100773
100845
  i0.ɵɵadvance(4);
100774
100846
  i0.ɵɵtextInterpolate(ctx_r0.sourceTypeCounts().focusArea);
100775
100847
  } }
100776
- function SourceSummaryComponent_Conditional_0_Conditional_6_Template(rf, ctx) { if (rf & 1) {
100777
- i0.ɵɵelementStart(0, "div", 3);
100848
+ function SourceSummaryComponent_Conditional_0_Conditional_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
100849
+ i0.ɵɵelementStart(0, "div", 4);
100778
100850
  i0.ɵɵnamespaceSVG();
100779
- i0.ɵɵelementStart(1, "svg", 4);
100780
- i0.ɵɵelement(2, "path", 8);
100851
+ i0.ɵɵelementStart(1, "svg", 5);
100852
+ i0.ɵɵelement(2, "path", 9);
100781
100853
  i0.ɵɵelementEnd();
100782
100854
  i0.ɵɵnamespaceHTML();
100783
- i0.ɵɵelementStart(3, "span", 6);
100855
+ i0.ɵɵelementStart(3, "span", 7);
100784
100856
  i0.ɵɵtext(4);
100785
100857
  i0.ɵɵelementEnd()();
100786
100858
  } if (rf & 2) {
100787
- const ctx_r0 = i0.ɵɵnextContext(2);
100859
+ const ctx_r0 = i0.ɵɵnextContext(3);
100788
100860
  i0.ɵɵproperty("ngClass", ctx_r0.sourceTypeClasses())("libSymphiqTooltip", "Metric Goals: Number of metric-based goals contributing to this unified goal");
100789
100861
  i0.ɵɵadvance(4);
100790
100862
  i0.ɵɵtextInterpolate(ctx_r0.sourceTypeCounts().metric);
100791
100863
  } }
100792
- function SourceSummaryComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
100793
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "span", 2);
100794
- i0.ɵɵtext(3, "Source");
100864
+ function SourceSummaryComponent_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
100865
+ i0.ɵɵelementStart(0, "div", 2)(1, "span", 3);
100866
+ i0.ɵɵtext(2, "Source");
100867
+ i0.ɵɵelementEnd();
100868
+ i0.ɵɵconditionalCreate(3, SourceSummaryComponent_Conditional_0_Conditional_2_Conditional_3_Template, 5, 3, "div", 4);
100869
+ i0.ɵɵconditionalCreate(4, SourceSummaryComponent_Conditional_0_Conditional_2_Conditional_4_Template, 5, 3, "div", 4);
100870
+ i0.ɵɵconditionalCreate(5, SourceSummaryComponent_Conditional_0_Conditional_2_Conditional_5_Template, 5, 3, "div", 4);
100795
100871
  i0.ɵɵelementEnd();
100796
- i0.ɵɵconditionalCreate(4, SourceSummaryComponent_Conditional_0_Conditional_4_Template, 5, 3, "div", 3);
100797
- i0.ɵɵconditionalCreate(5, SourceSummaryComponent_Conditional_0_Conditional_5_Template, 5, 3, "div", 3);
100798
- i0.ɵɵconditionalCreate(6, SourceSummaryComponent_Conditional_0_Conditional_6_Template, 5, 3, "div", 3);
100799
- i0.ɵɵelementEnd()();
100800
100872
  } if (rf & 2) {
100801
- const ctx_r0 = i0.ɵɵnextContext();
100802
- i0.ɵɵproperty("ngClass", ctx_r0.borderClasses());
100873
+ const ctx_r0 = i0.ɵɵnextContext(2);
100874
+ i0.ɵɵadvance();
100875
+ i0.ɵɵproperty("ngClass", ctx_r0.sourceLabelClasses());
100803
100876
  i0.ɵɵadvance(2);
100877
+ i0.ɵɵconditional(ctx_r0.sourceTypeCounts().shop > 0 ? 3 : -1);
100878
+ i0.ɵɵadvance();
100879
+ i0.ɵɵconditional(ctx_r0.sourceTypeCounts().focusArea > 0 ? 4 : -1);
100880
+ i0.ɵɵadvance();
100881
+ i0.ɵɵconditional(ctx_r0.sourceTypeCounts().metric > 0 ? 5 : -1);
100882
+ } }
100883
+ function SourceSummaryComponent_Conditional_0_Conditional_3_Conditional_3_Template(rf, ctx) { if (rf & 1) {
100884
+ i0.ɵɵelementStart(0, "div", 4);
100885
+ i0.ɵɵnamespaceSVG();
100886
+ i0.ɵɵelementStart(1, "svg", 5);
100887
+ i0.ɵɵelement(2, "path", 9);
100888
+ i0.ɵɵelementEnd();
100889
+ i0.ɵɵnamespaceHTML();
100890
+ i0.ɵɵelementStart(3, "span", 7);
100891
+ i0.ɵɵtext(4);
100892
+ i0.ɵɵelementEnd()();
100893
+ } if (rf & 2) {
100894
+ const ctx_r0 = i0.ɵɵnextContext(3);
100895
+ i0.ɵɵproperty("ngClass", ctx_r0.sourceTypeClasses())("libSymphiqTooltip", "Metrics: Number of metrics contributing to this unified goal");
100896
+ i0.ɵɵadvance(4);
100897
+ i0.ɵɵtextInterpolate(ctx_r0.contributingCounts().metrics);
100898
+ } }
100899
+ function SourceSummaryComponent_Conditional_0_Conditional_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
100900
+ i0.ɵɵelementStart(0, "div", 4);
100901
+ i0.ɵɵnamespaceSVG();
100902
+ i0.ɵɵelementStart(1, "svg", 5);
100903
+ i0.ɵɵelement(2, "path", 8);
100904
+ i0.ɵɵelementEnd();
100905
+ i0.ɵɵnamespaceHTML();
100906
+ i0.ɵɵelementStart(3, "span", 7);
100907
+ i0.ɵɵtext(4);
100908
+ i0.ɵɵelementEnd()();
100909
+ } if (rf & 2) {
100910
+ const ctx_r0 = i0.ɵɵnextContext(3);
100911
+ i0.ɵɵproperty("ngClass", ctx_r0.sourceTypeClasses())("libSymphiqTooltip", "Focus Areas: Number of focus area domains contributing to this unified goal");
100912
+ i0.ɵɵadvance(4);
100913
+ i0.ɵɵtextInterpolate(ctx_r0.contributingCounts().focusAreas);
100914
+ } }
100915
+ function SourceSummaryComponent_Conditional_0_Conditional_3_Template(rf, ctx) { if (rf & 1) {
100916
+ i0.ɵɵelementStart(0, "div", 2)(1, "span", 3);
100917
+ i0.ɵɵtext(2, "Contributing");
100918
+ i0.ɵɵelementEnd();
100919
+ i0.ɵɵconditionalCreate(3, SourceSummaryComponent_Conditional_0_Conditional_3_Conditional_3_Template, 5, 3, "div", 4);
100920
+ i0.ɵɵconditionalCreate(4, SourceSummaryComponent_Conditional_0_Conditional_3_Conditional_4_Template, 5, 3, "div", 4);
100921
+ i0.ɵɵelementEnd();
100922
+ } if (rf & 2) {
100923
+ const ctx_r0 = i0.ɵɵnextContext(2);
100924
+ i0.ɵɵadvance();
100804
100925
  i0.ɵɵproperty("ngClass", ctx_r0.sourceLabelClasses());
100805
100926
  i0.ɵɵadvance(2);
100806
- i0.ɵɵconditional(ctx_r0.sourceTypeCounts().shop > 0 ? 4 : -1);
100927
+ i0.ɵɵconditional(ctx_r0.contributingCounts().metrics > 0 ? 3 : -1);
100807
100928
  i0.ɵɵadvance();
100808
- i0.ɵɵconditional(ctx_r0.sourceTypeCounts().focusArea > 0 ? 5 : -1);
100929
+ i0.ɵɵconditional(ctx_r0.contributingCounts().focusAreas > 0 ? 4 : -1);
100930
+ } }
100931
+ function SourceSummaryComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
100932
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
100933
+ i0.ɵɵconditionalCreate(2, SourceSummaryComponent_Conditional_0_Conditional_2_Template, 6, 4, "div", 2);
100934
+ i0.ɵɵconditionalCreate(3, SourceSummaryComponent_Conditional_0_Conditional_3_Template, 5, 3, "div", 2);
100935
+ i0.ɵɵelementEnd()();
100936
+ } if (rf & 2) {
100937
+ const ctx_r0 = i0.ɵɵnextContext();
100938
+ i0.ɵɵproperty("ngClass", ctx_r0.borderClasses());
100939
+ i0.ɵɵadvance(2);
100940
+ i0.ɵɵconditional(ctx_r0.hasSourceData() ? 2 : -1);
100809
100941
  i0.ɵɵadvance();
100810
- i0.ɵɵconditional(ctx_r0.sourceTypeCounts().metric > 0 ? 6 : -1);
100942
+ i0.ɵɵconditional(ctx_r0.hasContributingData() ? 3 : -1);
100811
100943
  } }
100812
100944
  class SourceSummaryComponent {
100813
100945
  constructor() {
100814
100946
  this.sourceTypeCounts = input({ shop: 0, focusArea: 0, metric: 0 }, ...(ngDevMode ? [{ debugName: "sourceTypeCounts" }] : []));
100947
+ this.contributingCounts = input({ metrics: 0, focusAreas: 0 }, ...(ngDevMode ? [{ debugName: "contributingCounts" }] : []));
100815
100948
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
100816
100949
  this.isDark = computed(() => this.viewMode() === ViewModeEnum.DARK, ...(ngDevMode ? [{ debugName: "isDark" }] : []));
100817
100950
  this.hasSourceData = computed(() => {
100818
100951
  const counts = this.sourceTypeCounts();
100819
100952
  return counts.shop > 0 || counts.focusArea > 0 || counts.metric > 0;
100820
100953
  }, ...(ngDevMode ? [{ debugName: "hasSourceData" }] : []));
100954
+ this.hasContributingData = computed(() => {
100955
+ const counts = this.contributingCounts();
100956
+ return counts.metrics > 0 || counts.focusAreas > 0;
100957
+ }, ...(ngDevMode ? [{ debugName: "hasContributingData" }] : []));
100821
100958
  this.borderClasses = computed(() => {
100822
100959
  return this.isDark() ? 'border-slate-700/50' : 'border-slate-200';
100823
100960
  }, ...(ngDevMode ? [{ debugName: "borderClasses" }] : []));
@@ -100829,10 +100966,10 @@ class SourceSummaryComponent {
100829
100966
  }, ...(ngDevMode ? [{ debugName: "sourceTypeClasses" }] : []));
100830
100967
  }
100831
100968
  static { this.ɵfac = function SourceSummaryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SourceSummaryComponent)(); }; }
100832
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SourceSummaryComponent, selectors: [["symphiq-source-summary"]], inputs: { sourceTypeCounts: [1, "sourceTypeCounts"], viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [[1, "mt-4", "pt-4", "border-t", 3, "ngClass"], [1, "flex", "items-center", "gap-3", "flex-wrap"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [1, "flex", "items-center", "gap-1.5", "cursor-help", 3, "ngClass", "libSymphiqTooltip"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"], [1, "text-sm", "font-medium"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"]], template: function SourceSummaryComponent_Template(rf, ctx) { if (rf & 1) {
100833
- i0.ɵɵconditionalCreate(0, SourceSummaryComponent_Conditional_0_Template, 7, 5, "div", 0);
100969
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SourceSummaryComponent, selectors: [["symphiq-source-summary"]], inputs: { sourceTypeCounts: [1, "sourceTypeCounts"], contributingCounts: [1, "contributingCounts"], viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [[1, "mt-4", "pt-4", "border-t", 3, "ngClass"], [1, "flex", "flex-wrap", "justify-between", "gap-4"], [1, "flex", "items-center", "gap-3", "flex-wrap"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [1, "flex", "items-center", "gap-1.5", "cursor-help", 3, "ngClass", "libSymphiqTooltip"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"], [1, "text-sm", "font-medium"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"]], template: function SourceSummaryComponent_Template(rf, ctx) { if (rf & 1) {
100970
+ i0.ɵɵconditionalCreate(0, SourceSummaryComponent_Conditional_0_Template, 4, 3, "div", 0);
100834
100971
  } if (rf & 2) {
100835
- i0.ɵɵconditional(ctx.hasSourceData() ? 0 : -1);
100972
+ i0.ɵɵconditional(ctx.hasSourceData() || ctx.hasContributingData() ? 0 : -1);
100836
100973
  } }, dependencies: [CommonModule, i1$1.NgClass, TooltipDirective], encapsulation: 2, changeDetection: 0 }); }
100837
100974
  }
100838
100975
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SourceSummaryComponent, [{
@@ -100843,44 +100980,77 @@ class SourceSummaryComponent {
100843
100980
  imports: [CommonModule, TooltipDirective],
100844
100981
  changeDetection: ChangeDetectionStrategy.OnPush,
100845
100982
  template: `
100846
- @if (hasSourceData()) {
100983
+ @if (hasSourceData() || hasContributingData()) {
100847
100984
  <div class="mt-4 pt-4 border-t" [ngClass]="borderClasses()">
100848
- <div class="flex items-center gap-3 flex-wrap">
100849
- <span [ngClass]="sourceLabelClasses()" class="text-xs font-semibold uppercase tracking-wider">Source</span>
100850
- @if (sourceTypeCounts().shop > 0) {
100851
- <div
100852
- class="flex items-center gap-1.5 cursor-help"
100853
- [ngClass]="sourceTypeClasses()"
100854
- [libSymphiqTooltip]="'Shop Goals: Number of shop-level goals contributing to this unified goal'">
100855
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
100856
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100857
- d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"></path>
100858
- </svg>
100859
- <span class="text-sm font-medium">{{ sourceTypeCounts().shop }}</span>
100860
- </div>
100861
- }
100862
- @if (sourceTypeCounts().focusArea > 0) {
100863
- <div
100864
- class="flex items-center gap-1.5 cursor-help"
100865
- [ngClass]="sourceTypeClasses()"
100866
- [libSymphiqTooltip]="'Focus Area Goals: Number of focus area goals contributing to this unified goal'">
100867
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
100868
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100869
- d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"></path>
100870
- </svg>
100871
- <span class="text-sm font-medium">{{ sourceTypeCounts().focusArea }}</span>
100985
+ <div class="flex flex-wrap justify-between gap-4">
100986
+ @if (hasSourceData()) {
100987
+ <div class="flex items-center gap-3 flex-wrap">
100988
+ <span [ngClass]="sourceLabelClasses()" class="text-xs font-semibold uppercase tracking-wider">Source</span>
100989
+ @if (sourceTypeCounts().shop > 0) {
100990
+ <div
100991
+ class="flex items-center gap-1.5 cursor-help"
100992
+ [ngClass]="sourceTypeClasses()"
100993
+ [libSymphiqTooltip]="'Shop Goals: Number of shop-level goals contributing to this unified goal'">
100994
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
100995
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100996
+ d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"></path>
100997
+ </svg>
100998
+ <span class="text-sm font-medium">{{ sourceTypeCounts().shop }}</span>
100999
+ </div>
101000
+ }
101001
+ @if (sourceTypeCounts().focusArea > 0) {
101002
+ <div
101003
+ class="flex items-center gap-1.5 cursor-help"
101004
+ [ngClass]="sourceTypeClasses()"
101005
+ [libSymphiqTooltip]="'Focus Area Goals: Number of focus area goals contributing to this unified goal'">
101006
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
101007
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
101008
+ d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"></path>
101009
+ </svg>
101010
+ <span class="text-sm font-medium">{{ sourceTypeCounts().focusArea }}</span>
101011
+ </div>
101012
+ }
101013
+ @if (sourceTypeCounts().metric > 0) {
101014
+ <div
101015
+ class="flex items-center gap-1.5 cursor-help"
101016
+ [ngClass]="sourceTypeClasses()"
101017
+ [libSymphiqTooltip]="'Metric Goals: Number of metric-based goals contributing to this unified goal'">
101018
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
101019
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
101020
+ d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"></path>
101021
+ </svg>
101022
+ <span class="text-sm font-medium">{{ sourceTypeCounts().metric }}</span>
101023
+ </div>
101024
+ }
100872
101025
  </div>
100873
101026
  }
100874
- @if (sourceTypeCounts().metric > 0) {
100875
- <div
100876
- class="flex items-center gap-1.5 cursor-help"
100877
- [ngClass]="sourceTypeClasses()"
100878
- [libSymphiqTooltip]="'Metric Goals: Number of metric-based goals contributing to this unified goal'">
100879
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
100880
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100881
- d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"></path>
100882
- </svg>
100883
- <span class="text-sm font-medium">{{ sourceTypeCounts().metric }}</span>
101027
+ @if (hasContributingData()) {
101028
+ <div class="flex items-center gap-3 flex-wrap">
101029
+ <span [ngClass]="sourceLabelClasses()" class="text-xs font-semibold uppercase tracking-wider">Contributing</span>
101030
+ @if (contributingCounts().metrics > 0) {
101031
+ <div
101032
+ class="flex items-center gap-1.5 cursor-help"
101033
+ [ngClass]="sourceTypeClasses()"
101034
+ [libSymphiqTooltip]="'Metrics: Number of metrics contributing to this unified goal'">
101035
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
101036
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
101037
+ d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"></path>
101038
+ </svg>
101039
+ <span class="text-sm font-medium">{{ contributingCounts().metrics }}</span>
101040
+ </div>
101041
+ }
101042
+ @if (contributingCounts().focusAreas > 0) {
101043
+ <div
101044
+ class="flex items-center gap-1.5 cursor-help"
101045
+ [ngClass]="sourceTypeClasses()"
101046
+ [libSymphiqTooltip]="'Focus Areas: Number of focus area domains contributing to this unified goal'">
101047
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
101048
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
101049
+ d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"></path>
101050
+ </svg>
101051
+ <span class="text-sm font-medium">{{ contributingCounts().focusAreas }}</span>
101052
+ </div>
101053
+ }
100884
101054
  </div>
100885
101055
  }
100886
101056
  </div>
@@ -100888,8 +101058,8 @@ class SourceSummaryComponent {
100888
101058
  }
100889
101059
  `
100890
101060
  }]
100891
- }], null, { sourceTypeCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceTypeCounts", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
100892
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SourceSummaryComponent, { className: "SourceSummaryComponent", filePath: "lib/components/shared/source-summary.component.ts", lineNumber: 63 }); })();
101061
+ }], null, { sourceTypeCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceTypeCounts", required: false }] }], contributingCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "contributingCounts", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
101062
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SourceSummaryComponent, { className: "SourceSummaryComponent", filePath: "lib/components/shared/source-summary.component.ts", lineNumber: 101 }); })();
100893
101063
 
100894
101064
  function ThematicCategoryBadgeComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
100895
101065
  i0.ɵɵelementStart(0, "span", 0);
@@ -100949,7 +101119,7 @@ class ThematicCategoryBadgeComponent {
100949
101119
 
100950
101120
  function UnifiedGoalCardComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
100951
101121
  i0.ɵɵelementStart(0, "div", 8);
100952
- i0.ɵɵelement(1, "symphiq-thematic-category-badge", 18);
101122
+ i0.ɵɵelement(1, "symphiq-thematic-category-badge", 17);
100953
101123
  i0.ɵɵelementEnd();
100954
101124
  } if (rf & 2) {
100955
101125
  const ctx_r0 = i0.ɵɵnextContext();
@@ -100968,7 +101138,7 @@ function UnifiedGoalCardComponent_Conditional_11_Template(rf, ctx) { if (rf & 1)
100968
101138
  } }
100969
101139
  function UnifiedGoalCardComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
100970
101140
  i0.ɵɵelementStart(0, "div", 10);
100971
- i0.ɵɵelement(1, "symphiq-roadmap-metrics", 19);
101141
+ i0.ɵɵelement(1, "symphiq-roadmap-metrics", 18);
100972
101142
  i0.ɵɵelementEnd();
100973
101143
  } if (rf & 2) {
100974
101144
  const ctx_r0 = i0.ɵɵnextContext();
@@ -100991,23 +101161,7 @@ function UnifiedGoalCardComponent_Conditional_16_Template(rf, ctx) { if (rf & 1)
100991
101161
  i0.ɵɵelement(0, "symphiq-source-summary", 14);
100992
101162
  } if (rf & 2) {
100993
101163
  const ctx_r0 = i0.ɵɵnextContext();
100994
- i0.ɵɵproperty("sourceTypeCounts", ctx_r0.sourceTypeCounts())("viewMode", ctx_r0.viewMode());
100995
- } }
100996
- function UnifiedGoalCardComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
100997
- const _r2 = i0.ɵɵgetCurrentView();
100998
- i0.ɵɵelementStart(0, "div", 20);
100999
- i0.ɵɵlistener("click", function UnifiedGoalCardComponent_Conditional_17_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onRelatedContextButtonClick($event)); });
101000
- i0.ɵɵnamespaceSVG();
101001
- i0.ɵɵelementStart(1, "svg", 21);
101002
- i0.ɵɵelement(2, "path", 22);
101003
- i0.ɵɵelementEnd();
101004
- i0.ɵɵtext(3);
101005
- i0.ɵɵelementEnd();
101006
- } if (rf & 2) {
101007
- const ctx_r0 = i0.ɵɵnextContext();
101008
- i0.ɵɵproperty("ngClass", ctx_r0.relatedContextButtonClasses());
101009
- i0.ɵɵadvance(3);
101010
- i0.ɵɵtextInterpolate1(" ", ctx_r0.relatedContextLabel(), " ");
101164
+ i0.ɵɵproperty("sourceTypeCounts", ctx_r0.sourceTypeCounts())("contributingCounts", ctx_r0.contributingCounts())("viewMode", ctx_r0.viewMode());
101011
101165
  } }
101012
101166
  class UnifiedGoalCardComponent {
101013
101167
  constructor() {
@@ -101070,18 +101224,12 @@ class UnifiedGoalCardComponent {
101070
101224
  const focusAreasCount = this.goal()?.contributingFocusAreaDomains?.length ?? 0;
101071
101225
  return metricsCount > 0 || focusAreasCount > 0;
101072
101226
  }, ...(ngDevMode ? [{ debugName: "hasRelatedContext" }] : []));
101073
- this.relatedContextLabel = computed(() => {
101074
- const metricsCount = this.goal()?.contributingMetrics?.length ?? 0;
101075
- const focusAreasCount = this.goal()?.contributingFocusAreaDomains?.length ?? 0;
101076
- const items = [];
101077
- if (metricsCount > 0) {
101078
- items.push(`${metricsCount} Metric${metricsCount === 1 ? '' : 's'}`);
101079
- }
101080
- if (focusAreasCount > 0) {
101081
- items.push(`${focusAreasCount} Focus Area${focusAreasCount === 1 ? '' : 's'}`);
101082
- }
101083
- return items.join(' · ');
101084
- }, ...(ngDevMode ? [{ debugName: "relatedContextLabel" }] : []));
101227
+ this.contributingCounts = computed(() => {
101228
+ return {
101229
+ metrics: this.goal()?.contributingMetrics?.length ?? 0,
101230
+ focusAreas: this.goal()?.contributingFocusAreaDomains?.length ?? 0
101231
+ };
101232
+ }, ...(ngDevMode ? [{ debugName: "contributingCounts" }] : []));
101085
101233
  this.roadmapMetrics = computed(() => {
101086
101234
  const g = this.goal();
101087
101235
  if (!g)
@@ -101127,12 +101275,6 @@ class UnifiedGoalCardComponent {
101127
101275
  this.descriptionClasses = computed(() => {
101128
101276
  return this.isDark() ? 'text-slate-300' : 'text-slate-600';
101129
101277
  }, ...(ngDevMode ? [{ debugName: "descriptionClasses" }] : []));
101130
- this.relatedContextButtonClasses = computed(() => {
101131
- if (this.isDark()) {
101132
- return 'bg-slate-700/50 hover:bg-slate-700/70 border border-slate-600/50 text-slate-300';
101133
- }
101134
- return 'bg-slate-100 hover:bg-slate-200 border border-slate-300 text-slate-700';
101135
- }, ...(ngDevMode ? [{ debugName: "relatedContextButtonClasses" }] : []));
101136
101278
  }
101137
101279
  getSourceBadgeClasses(analysisType) {
101138
101280
  if (this.isDark()) {
@@ -101165,14 +101307,6 @@ class UnifiedGoalCardComponent {
101165
101307
  this.sourceBadgeClick.emit({ source, goal: g });
101166
101308
  }
101167
101309
  }
101168
- onRelatedContextButtonClick(event) {
101169
- event.stopPropagation();
101170
- const g = this.goal();
101171
- if (g) {
101172
- this.relatedMetricsClick.emit(g);
101173
- this.relatedFocusAreasClick.emit(g);
101174
- }
101175
- }
101176
101310
  onLearnMoreClick() {
101177
101311
  const g = this.goal();
101178
101312
  if (g) {
@@ -101180,7 +101314,7 @@ class UnifiedGoalCardComponent {
101180
101314
  }
101181
101315
  }
101182
101316
  static { this.ɵfac = function UnifiedGoalCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedGoalCardComponent)(); }; }
101183
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedGoalCardComponent, selectors: [["symphiq-unified-goal-card"]], inputs: { goal: [1, "goal"], viewMode: [1, "viewMode"] }, outputs: { goalClick: "goalClick", sourceBadgeClick: "sourceBadgeClick", relatedMetricsClick: "relatedMetricsClick", relatedFocusAreasClick: "relatedFocusAreasClick", learnMoreClick: "learnMoreClick" }, decls: 20, vars: 15, consts: [[1, "rounded-2xl", "p-6", "shadow-lg", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "gap-4", "mb-2"], [3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"], [1, "flex-1", "min-w-0"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "font-semibold", "text-lg", "line-clamp-2", 3, "ngClass"], [1, "mb-3"], [1, "text-sm", "mb-4", "line-clamp-3", "cursor-help", 3, "ngClass", "libSymphiqTooltip"], [1, "mb-4"], [1, "flex", "flex-wrap", "items-center", "justify-between", "gap-3", "mb-4"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], [3, "sourceTypeCounts", "viewMode"], [1, "mt-4", "w-full", "flex", "items-center", "justify-center", "gap-2", "px-4", "py-2", "rounded-lg", "text-sm", "font-medium", "transition-all", "hover:scale-[1.02]", 3, "ngClass"], [1, "mt-4"], [3, "buttonClick", "viewMode", "variant", "label"], [3, "category", "viewMode"], [3, "metrics", "viewMode"], [1, "mt-4", "w-full", "flex", "items-center", "justify-center", "gap-2", "px-4", "py-2", "rounded-lg", "text-sm", "font-medium", "transition-all", "hover:scale-[1.02]", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 10V3L4 14h7v7l9-11h-7z"]], template: function UnifiedGoalCardComponent_Template(rf, ctx) { if (rf & 1) {
101317
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedGoalCardComponent, selectors: [["symphiq-unified-goal-card"]], inputs: { goal: [1, "goal"], viewMode: [1, "viewMode"] }, outputs: { goalClick: "goalClick", sourceBadgeClick: "sourceBadgeClick", relatedMetricsClick: "relatedMetricsClick", relatedFocusAreasClick: "relatedFocusAreasClick", learnMoreClick: "learnMoreClick" }, decls: 19, vars: 14, consts: [[1, "rounded-2xl", "p-6", "shadow-lg", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "gap-4", "mb-2"], [3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"], [1, "flex-1", "min-w-0"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "font-semibold", "text-lg", "line-clamp-2", 3, "ngClass"], [1, "mb-3"], [1, "text-sm", "mb-4", "line-clamp-3", "cursor-help", 3, "ngClass", "libSymphiqTooltip"], [1, "mb-4"], [1, "flex", "flex-wrap", "items-center", "justify-between", "gap-3", "mb-4"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], [3, "sourceTypeCounts", "contributingCounts", "viewMode"], [1, "mt-4"], [3, "buttonClick", "viewMode", "variant", "label"], [3, "category", "viewMode"], [3, "metrics", "viewMode"]], template: function UnifiedGoalCardComponent_Template(rf, ctx) { if (rf & 1) {
101184
101318
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
101185
101319
  i0.ɵɵnamespaceSVG();
101186
101320
  i0.ɵɵelementStart(3, "svg", 3);
@@ -101200,10 +101334,9 @@ class UnifiedGoalCardComponent {
101200
101334
  i0.ɵɵconditionalCreate(14, UnifiedGoalCardComponent_Conditional_14_Template, 1, 2, "symphiq-priority-badge", 12);
101201
101335
  i0.ɵɵconditionalCreate(15, UnifiedGoalCardComponent_Conditional_15_Template, 1, 2, "symphiq-timeframe-badge", 13);
101202
101336
  i0.ɵɵelementEnd();
101203
- i0.ɵɵconditionalCreate(16, UnifiedGoalCardComponent_Conditional_16_Template, 1, 2, "symphiq-source-summary", 14);
101204
- i0.ɵɵconditionalCreate(17, UnifiedGoalCardComponent_Conditional_17_Template, 4, 2, "div", 15);
101205
- i0.ɵɵelementStart(18, "div", 16)(19, "symphiq-learn-more-button", 17);
101206
- i0.ɵɵlistener("buttonClick", function UnifiedGoalCardComponent_Template_symphiq_learn_more_button_buttonClick_19_listener() { return ctx.onLearnMoreClick(); });
101337
+ i0.ɵɵconditionalCreate(16, UnifiedGoalCardComponent_Conditional_16_Template, 1, 3, "symphiq-source-summary", 14);
101338
+ i0.ɵɵelementStart(17, "div", 15)(18, "symphiq-learn-more-button", 16);
101339
+ i0.ɵɵlistener("buttonClick", function UnifiedGoalCardComponent_Template_symphiq_learn_more_button_buttonClick_18_listener() { return ctx.onLearnMoreClick(); });
101207
101340
  i0.ɵɵelementEnd()()();
101208
101341
  } if (rf & 2) {
101209
101342
  let tmp_4_0;
@@ -101232,9 +101365,7 @@ class UnifiedGoalCardComponent {
101232
101365
  i0.ɵɵadvance();
101233
101366
  i0.ɵɵconditional(((tmp_9_0 = ctx.goal()) == null ? null : tmp_9_0.timeframe) ? 15 : -1);
101234
101367
  i0.ɵɵadvance();
101235
- i0.ɵɵconditional((((tmp_10_0 = ctx.goal()) == null ? null : tmp_10_0.sourceAnalyses == null ? null : tmp_10_0.sourceAnalyses.length) ?? 0) > 0 ? 16 : -1);
101236
- i0.ɵɵadvance();
101237
- i0.ɵɵconditional(ctx.hasRelatedContext() ? 17 : -1);
101368
+ i0.ɵɵconditional((((tmp_10_0 = ctx.goal()) == null ? null : tmp_10_0.sourceAnalyses == null ? null : tmp_10_0.sourceAnalyses.length) ?? 0) > 0 || ctx.hasRelatedContext() ? 16 : -1);
101238
101369
  i0.ɵɵadvance(2);
101239
101370
  i0.ɵɵproperty("viewMode", ctx.viewMode())("variant", "button")("label", "Learn More");
101240
101371
  } }, dependencies: [CommonModule, i1$1.NgClass, PriorityBadgeComponent,
@@ -101318,26 +101449,14 @@ class UnifiedGoalCardComponent {
101318
101449
  }
101319
101450
  </div>
101320
101451
 
101321
- @if ((goal()?.sourceAnalyses?.length ?? 0) > 0) {
101452
+ @if ((goal()?.sourceAnalyses?.length ?? 0) > 0 || hasRelatedContext()) {
101322
101453
  <symphiq-source-summary
101323
101454
  [sourceTypeCounts]="sourceTypeCounts()"
101455
+ [contributingCounts]="contributingCounts()"
101324
101456
  [viewMode]="viewMode()"
101325
101457
  />
101326
101458
  }
101327
101459
 
101328
- @if (hasRelatedContext()) {
101329
- <div
101330
- [ngClass]="relatedContextButtonClasses()"
101331
- class="mt-4 w-full flex items-center justify-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-all hover:scale-[1.02]"
101332
- (click)="onRelatedContextButtonClick($event)">
101333
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
101334
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
101335
- d="M13 10V3L4 14h7v7l9-11h-7z"></path>
101336
- </svg>
101337
- {{ relatedContextLabel() }}
101338
- </div>
101339
- }
101340
-
101341
101460
  <div class="mt-4">
101342
101461
  <symphiq-learn-more-button
101343
101462
  [viewMode]="viewMode()"
@@ -101350,7 +101469,7 @@ class UnifiedGoalCardComponent {
101350
101469
  `
101351
101470
  }]
101352
101471
  }], null, { goal: [{ type: i0.Input, args: [{ isSignal: true, alias: "goal", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], goalClick: [{ type: i0.Output, args: ["goalClick"] }], sourceBadgeClick: [{ type: i0.Output, args: ["sourceBadgeClick"] }], relatedMetricsClick: [{ type: i0.Output, args: ["relatedMetricsClick"] }], relatedFocusAreasClick: [{ type: i0.Output, args: ["relatedFocusAreasClick"] }], learnMoreClick: [{ type: i0.Output, args: ["learnMoreClick"] }] }); })();
101353
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedGoalCardComponent, { className: "UnifiedGoalCardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-goal-card.component.ts", lineNumber: 115 }); })();
101472
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedGoalCardComponent, { className: "UnifiedGoalCardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-goal-card.component.ts", lineNumber: 103 }); })();
101354
101473
 
101355
101474
  const _c0$c = a0 => ({ name: "chevron-right", source: a0 });
101356
101475
  const _c1$5 = a0 => ({ name: "chevron-down", source: a0 });
@@ -101564,41 +101683,35 @@ function UnifiedExecutiveSummaryComponent_Conditional_0_Template(rf, ctx) { if (
101564
101683
  i0.ɵɵelementStart(15, "div", 11);
101565
101684
  i0.ɵɵtext(16);
101566
101685
  i0.ɵɵelementEnd()();
101567
- i0.ɵɵelementStart(17, "div", 12);
101568
- i0.ɵɵnamespaceSVG();
101569
- i0.ɵɵelementStart(18, "svg", 13);
101570
- i0.ɵɵelement(19, "path", 14);
101571
- i0.ɵɵelementEnd()()();
101572
- i0.ɵɵnamespaceHTML();
101573
- i0.ɵɵelementStart(20, "div", 15)(21, "div", 16)(22, "div", 17);
101574
- i0.ɵɵtext(23, "Shop");
101686
+ i0.ɵɵelementStart(17, "div", 12)(18, "div", 13)(19, "div", 14);
101687
+ i0.ɵɵtext(20, "Shop");
101575
101688
  i0.ɵɵelementEnd();
101576
- i0.ɵɵelementStart(24, "div", 18);
101577
- i0.ɵɵtext(25);
101689
+ i0.ɵɵelementStart(21, "div", 15);
101690
+ i0.ɵɵtext(22);
101578
101691
  i0.ɵɵelementEnd();
101579
- i0.ɵɵelementStart(26, "div", 18);
101580
- i0.ɵɵtext(27);
101692
+ i0.ɵɵelementStart(23, "div", 15);
101693
+ i0.ɵɵtext(24);
101581
101694
  i0.ɵɵelementEnd()();
101582
- i0.ɵɵelementStart(28, "div", 16)(29, "div", 17);
101583
- i0.ɵɵtext(30, "Focus Area");
101695
+ i0.ɵɵelementStart(25, "div", 13)(26, "div", 14);
101696
+ i0.ɵɵtext(27, "Focus Area");
101584
101697
  i0.ɵɵelementEnd();
101585
- i0.ɵɵelementStart(31, "div", 18);
101586
- i0.ɵɵtext(32);
101698
+ i0.ɵɵelementStart(28, "div", 15);
101699
+ i0.ɵɵtext(29);
101587
101700
  i0.ɵɵelementEnd();
101588
- i0.ɵɵelementStart(33, "div", 18);
101589
- i0.ɵɵtext(34);
101701
+ i0.ɵɵelementStart(30, "div", 15);
101702
+ i0.ɵɵtext(31);
101590
101703
  i0.ɵɵelementEnd()();
101591
- i0.ɵɵelementStart(35, "div", 16)(36, "div", 17);
101592
- i0.ɵɵtext(37, "Metric");
101704
+ i0.ɵɵelementStart(32, "div", 13)(33, "div", 14);
101705
+ i0.ɵɵtext(34, "Metric");
101593
101706
  i0.ɵɵelementEnd();
101594
- i0.ɵɵelementStart(38, "div", 18);
101595
- i0.ɵɵtext(39);
101707
+ i0.ɵɵelementStart(35, "div", 15);
101708
+ i0.ɵɵtext(36);
101596
101709
  i0.ɵɵelementEnd();
101597
- i0.ɵɵelementStart(40, "div", 18);
101598
- i0.ɵɵtext(41);
101599
- i0.ɵɵelementEnd()()();
101600
- i0.ɵɵelementStart(42, "symphiq-executive-summary-stats-grid", 19);
101601
- i0.ɵɵlistener("keyStrengthsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_keyStrengthsClick_42_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.keyStrengthsClick.emit()); })("criticalGapsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_criticalGapsClick_42_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.criticalGapsClick.emit()); })("quickWinsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_quickWinsClick_42_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.quickWinsClick.emit()); });
101710
+ i0.ɵɵelementStart(37, "div", 15);
101711
+ i0.ɵɵtext(38);
101712
+ i0.ɵɵelementEnd()()()();
101713
+ i0.ɵɵelementStart(39, "symphiq-executive-summary-stats-grid", 16);
101714
+ i0.ɵɵlistener("keyStrengthsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_keyStrengthsClick_39_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.keyStrengthsClick.emit()); })("criticalGapsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_criticalGapsClick_39_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.criticalGapsClick.emit()); })("quickWinsClick", function UnifiedExecutiveSummaryComponent_Conditional_0_Template_symphiq_executive_summary_stats_grid_quickWinsClick_39_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.quickWinsClick.emit()); });
101602
101715
  i0.ɵɵelementEnd()()()();
101603
101716
  } if (rf & 2) {
101604
101717
  const summary_r2 = ctx;
@@ -101619,7 +101732,7 @@ function UnifiedExecutiveSummaryComponent_Conditional_0_Template(rf, ctx) { if (
101619
101732
  i0.ɵɵproperty("ngClass", ctx_r2.totalGoalsCardClasses());
101620
101733
  i0.ɵɵadvance(5);
101621
101734
  i0.ɵɵtextInterpolate(ctx_r2.totalSourceGoalsCount());
101622
- i0.ɵɵadvance(5);
101735
+ i0.ɵɵadvance(2);
101623
101736
  i0.ɵɵproperty("ngClass", ctx_r2.getSourceCountCardClasses("SHOP"));
101624
101737
  i0.ɵɵadvance(4);
101625
101738
  i0.ɵɵtextInterpolate2("", ctx_r2.shopCounts().analyses, " ", ctx_r2.shopCounts().analyses === 1 ? "analysis" : "analyses");
@@ -101690,8 +101803,8 @@ class UnifiedExecutiveSummaryComponent {
101690
101803
  }
101691
101804
  }
101692
101805
  static { this.ɵfac = function UnifiedExecutiveSummaryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedExecutiveSummaryComponent)(); }; }
101693
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedExecutiveSummaryComponent, selectors: [["symphiq-unified-executive-summary"]], inputs: { summary: [1, "summary"], viewMode: [1, "viewMode"], shopCounts: [1, "shopCounts"], focusAreaCounts: [1, "focusAreaCounts"], metricCounts: [1, "metricCounts"], quickWinsCount: [1, "quickWinsCount"] }, outputs: { keyStrengthsClick: "keyStrengthsClick", criticalGapsClick: "criticalGapsClick", quickWinsClick: "quickWinsClick" }, decls: 1, vars: 1, consts: [["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "flex", "flex-col", "gap-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], ["title", "Synthesis Overview", 3, "viewMode", "narrative", "napkinVisual"], [1, "p-6", "rounded-xl", "mb-4", "flex", "items-center", "justify-between", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", "opacity-80"], [1, "text-4xl", "font-bold"], [1, "text-6xl", "opacity-20"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-16", "h-16"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "1.5", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], [1, "p-4", "rounded-xl", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2"], [1, "text-sm", "opacity-80"], [3, "keyStrengthsClick", "criticalGapsClick", "quickWinsClick", "viewMode", "config"]], template: function UnifiedExecutiveSummaryComponent_Template(rf, ctx) { if (rf & 1) {
101694
- i0.ɵɵconditionalCreate(0, UnifiedExecutiveSummaryComponent_Conditional_0_Template, 43, 27, "section", 0);
101806
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedExecutiveSummaryComponent, selectors: [["symphiq-unified-executive-summary"]], inputs: { summary: [1, "summary"], viewMode: [1, "viewMode"], shopCounts: [1, "shopCounts"], focusAreaCounts: [1, "focusAreaCounts"], metricCounts: [1, "metricCounts"], quickWinsCount: [1, "quickWinsCount"] }, outputs: { keyStrengthsClick: "keyStrengthsClick", criticalGapsClick: "criticalGapsClick", quickWinsClick: "quickWinsClick" }, decls: 1, vars: 1, consts: [["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "flex", "flex-col", "gap-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], ["title", "Synthesis Overview", 3, "viewMode", "narrative", "napkinVisual"], [1, "p-6", "rounded-xl", "mb-4", "flex", "items-center", "justify-between", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", "opacity-80"], [1, "text-4xl", "font-bold"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], [1, "p-4", "rounded-xl", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2"], [1, "text-sm", "opacity-80"], [3, "keyStrengthsClick", "criticalGapsClick", "quickWinsClick", "viewMode", "config"]], template: function UnifiedExecutiveSummaryComponent_Template(rf, ctx) { if (rf & 1) {
101807
+ i0.ɵɵconditionalCreate(0, UnifiedExecutiveSummaryComponent_Conditional_0_Template, 40, 27, "section", 0);
101695
101808
  } if (rf & 2) {
101696
101809
  let tmp_0_0;
101697
101810
  i0.ɵɵconditional((tmp_0_0 = ctx.summary()) ? 0 : -1, tmp_0_0);
@@ -101746,30 +101859,25 @@ class UnifiedExecutiveSummaryComponent {
101746
101859
  <div class="text-xs font-semibold uppercase mb-1 opacity-80">Total Source Goals</div>
101747
101860
  <div class="text-4xl font-bold">{{ totalSourceGoalsCount() }}</div>
101748
101861
  </div>
101749
- <div class="text-6xl opacity-20">
101750
- <svg class="w-16 h-16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
101751
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/>
101752
- </svg>
101862
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
101863
+ <div [ngClass]="getSourceCountCardClasses('SHOP')" class="p-4 rounded-xl">
101864
+ <div class="text-xs font-semibold uppercase mb-2">Shop</div>
101865
+ <div class="text-sm opacity-80">{{ shopCounts().analyses }} {{ shopCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101866
+ <div class="text-sm opacity-80">{{ shopCounts().goals }} {{ shopCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101867
+ </div>
101868
+ <div [ngClass]="getSourceCountCardClasses('FOCUS_AREA')" class="p-4 rounded-xl">
101869
+ <div class="text-xs font-semibold uppercase mb-2">Focus Area</div>
101870
+ <div class="text-sm opacity-80">{{ focusAreaCounts().analyses }} {{ focusAreaCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101871
+ <div class="text-sm opacity-80">{{ focusAreaCounts().goals }} {{ focusAreaCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101872
+ </div>
101873
+ <div [ngClass]="getSourceCountCardClasses('METRIC')" class="p-4 rounded-xl">
101874
+ <div class="text-xs font-semibold uppercase mb-2">Metric</div>
101875
+ <div class="text-sm opacity-80">{{ metricCounts().analyses }} {{ metricCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101876
+ <div class="text-sm opacity-80">{{ metricCounts().goals }} {{ metricCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101877
+ </div>
101753
101878
  </div>
101754
101879
  </div>
101755
101880
 
101756
- <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
101757
- <div [ngClass]="getSourceCountCardClasses('SHOP')" class="p-4 rounded-xl">
101758
- <div class="text-xs font-semibold uppercase mb-2">Shop</div>
101759
- <div class="text-sm opacity-80">{{ shopCounts().analyses }} {{ shopCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101760
- <div class="text-sm opacity-80">{{ shopCounts().goals }} {{ shopCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101761
- </div>
101762
- <div [ngClass]="getSourceCountCardClasses('FOCUS_AREA')" class="p-4 rounded-xl">
101763
- <div class="text-xs font-semibold uppercase mb-2">Focus Area</div>
101764
- <div class="text-sm opacity-80">{{ focusAreaCounts().analyses }} {{ focusAreaCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101765
- <div class="text-sm opacity-80">{{ focusAreaCounts().goals }} {{ focusAreaCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101766
- </div>
101767
- <div [ngClass]="getSourceCountCardClasses('METRIC')" class="p-4 rounded-xl">
101768
- <div class="text-xs font-semibold uppercase mb-2">Metric</div>
101769
- <div class="text-sm opacity-80">{{ metricCounts().analyses }} {{ metricCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101770
- <div class="text-sm opacity-80">{{ metricCounts().goals }} {{ metricCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101771
- </div>
101772
- </div>
101773
101881
 
101774
101882
  <symphiq-executive-summary-stats-grid
101775
101883
  [viewMode]="viewMode()"
@@ -101785,15 +101893,15 @@ class UnifiedExecutiveSummaryComponent {
101785
101893
  `
101786
101894
  }]
101787
101895
  }], null, { summary: [{ type: i0.Input, args: [{ isSignal: true, alias: "summary", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], shopCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "shopCounts", required: false }] }], focusAreaCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusAreaCounts", required: false }] }], metricCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricCounts", required: false }] }], quickWinsCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "quickWinsCount", required: false }] }], keyStrengthsClick: [{ type: i0.Output, args: ["keyStrengthsClick"] }], criticalGapsClick: [{ type: i0.Output, args: ["criticalGapsClick"] }], quickWinsClick: [{ type: i0.Output, args: ["quickWinsClick"] }] }); })();
101788
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedExecutiveSummaryComponent, { className: "UnifiedExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-executive-summary.component.ts", lineNumber: 97 }); })();
101896
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedExecutiveSummaryComponent, { className: "UnifiedExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-executive-summary.component.ts", lineNumber: 92 }); })();
101789
101897
 
101790
101898
  const _c0$b = a0 => ({ name: "calendar", source: a0 });
101791
101899
  const _forTrack0$b = ($index, $item) => $item.id;
101792
101900
  const _forTrack1$2 = ($index, $item) => $item.title;
101793
101901
  function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Template(rf, ctx) { if (rf & 1) {
101794
- i0.ɵɵelementStart(0, "div", 19);
101795
- i0.ɵɵelement(1, "span", 20);
101796
- i0.ɵɵelementStart(2, "span", 21);
101902
+ i0.ɵɵelementStart(0, "div", 20);
101903
+ i0.ɵɵelement(1, "span", 21);
101904
+ i0.ɵɵelementStart(2, "span", 22);
101797
101905
  i0.ɵɵtext(3);
101798
101906
  i0.ɵɵelementEnd()();
101799
101907
  } if (rf & 2) {
@@ -101806,11 +101914,11 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Templ
101806
101914
  i0.ɵɵtextInterpolate(milestone_r1.title);
101807
101915
  } }
101808
101916
  function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Template(rf, ctx) { if (rf & 1) {
101809
- i0.ɵɵelementStart(0, "div", 15)(1, "div", 17);
101917
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 18);
101810
101918
  i0.ɵɵtext(2);
101811
101919
  i0.ɵɵelementEnd();
101812
- i0.ɵɵelementStart(3, "div", 18);
101813
- i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Template, 4, 3, "div", 19, _forTrack1$2);
101920
+ i0.ɵɵelementStart(3, "div", 19);
101921
+ i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_For_5_Template, 4, 3, "div", 20, _forTrack1$2);
101814
101922
  i0.ɵɵelementEnd()();
101815
101923
  } if (rf & 2) {
101816
101924
  const phase_r3 = i0.ɵɵnextContext().$implicit;
@@ -101824,14 +101932,14 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_11_Template(rf
101824
101932
  } }
101825
101933
  function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Template(rf, ctx) { if (rf & 1) {
101826
101934
  const _r4 = i0.ɵɵgetCurrentView();
101827
- i0.ɵɵelementStart(0, "div", 24);
101935
+ i0.ɵɵelementStart(0, "div", 25);
101828
101936
  i0.ɵɵlistener("click", function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Template_div_click_0_listener() { const goal_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onGoalChipClick(goal_r5)); });
101829
- i0.ɵɵelementStart(1, "span", 25);
101937
+ i0.ɵɵelementStart(1, "span", 26);
101830
101938
  i0.ɵɵtext(2);
101831
101939
  i0.ɵɵelementEnd();
101832
101940
  i0.ɵɵnamespaceSVG();
101833
- i0.ɵɵelementStart(3, "svg", 26);
101834
- i0.ɵɵelement(4, "path", 27);
101941
+ i0.ɵɵelementStart(3, "svg", 27);
101942
+ i0.ɵɵelement(4, "path", 28);
101835
101943
  i0.ɵɵelementEnd()();
101836
101944
  } if (rf & 2) {
101837
101945
  const goal_r5 = ctx.$implicit;
@@ -101841,11 +101949,11 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Templ
101841
101949
  i0.ɵɵtextInterpolate(goal_r5.title);
101842
101950
  } }
101843
101951
  function UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_Template(rf, ctx) { if (rf & 1) {
101844
- i0.ɵɵelementStart(0, "div", 15)(1, "div", 17);
101952
+ i0.ɵɵelementStart(0, "div", 15)(1, "div", 18);
101845
101953
  i0.ɵɵtext(2);
101846
101954
  i0.ɵɵelementEnd();
101847
- i0.ɵɵelementStart(3, "div", 22);
101848
- i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Template, 5, 2, "div", 23, _forTrack0$b);
101955
+ i0.ɵɵelementStart(3, "div", 23);
101956
+ i0.ɵɵrepeaterCreate(4, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_For_5_Template, 5, 2, "div", 24, _forTrack0$b);
101849
101957
  i0.ɵɵelementEnd()();
101850
101958
  } if (rf & 2) {
101851
101959
  const phase_r3 = i0.ɵɵnextContext().$implicit;
@@ -101874,6 +101982,9 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Template(rf, ctx) { if (rf
101874
101982
  i0.ɵɵconditionalCreate(12, UnifiedTimelineComponent_Conditional_0_For_8_Conditional_12_Template, 6, 2, "div", 15);
101875
101983
  i0.ɵɵelementStart(13, "div", 16);
101876
101984
  i0.ɵɵtext(14);
101985
+ i0.ɵɵelementEnd();
101986
+ i0.ɵɵelementStart(15, "div", 17);
101987
+ i0.ɵɵtext(16);
101877
101988
  i0.ɵɵelementEnd()()();
101878
101989
  } if (rf & 2) {
101879
101990
  const phase_r3 = ctx.$implicit;
@@ -101907,6 +102018,10 @@ function UnifiedTimelineComponent_Conditional_0_For_8_Template(rf, ctx) { if (rf
101907
102018
  i0.ɵɵproperty("ngClass", ctx_r1.phaseIndicatorClasses());
101908
102019
  i0.ɵɵadvance();
101909
102020
  i0.ɵɵtextInterpolate1(" Phase ", ɵ$index_16_r6 + 1, " ");
102021
+ i0.ɵɵadvance();
102022
+ i0.ɵɵproperty("ngClass", ctx_r1.phaseIndicatorMobileClasses());
102023
+ i0.ɵɵadvance();
102024
+ i0.ɵɵtextInterpolate1(" Phase ", ɵ$index_16_r6 + 1, " ");
101910
102025
  } }
101911
102026
  function UnifiedTimelineComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
101912
102027
  i0.ɵɵelementStart(0, "section", 0);
@@ -101914,7 +102029,7 @@ function UnifiedTimelineComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
101914
102029
  i0.ɵɵelementStart(3, "div", 3)(4, "div", 4);
101915
102030
  i0.ɵɵelement(5, "div", 5);
101916
102031
  i0.ɵɵelementStart(6, "div", 6);
101917
- i0.ɵɵrepeaterCreate(7, UnifiedTimelineComponent_Conditional_0_For_8_Template, 15, 29, "div", 7, _forTrack0$b);
102032
+ i0.ɵɵrepeaterCreate(7, UnifiedTimelineComponent_Conditional_0_For_8_Template, 17, 31, "div", 7, _forTrack0$b);
101918
102033
  i0.ɵɵelementEnd()()()();
101919
102034
  } if (rf & 2) {
101920
102035
  const ctx_r1 = i0.ɵɵnextContext();
@@ -101962,6 +102077,9 @@ class UnifiedTimelineComponent {
101962
102077
  this.objectiveItemClasses = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-300', ...(ngDevMode ? [{ debugName: "objectiveItemClasses" }] : []));
101963
102078
  this.moreObjectivesClasses = computed(() => this.isLightMode() ? 'text-slate-400' : 'text-slate-500', ...(ngDevMode ? [{ debugName: "moreObjectivesClasses" }] : []));
101964
102079
  this.phaseIndicatorClasses = computed(() => this.isLightMode() ? 'text-blue-600' : 'text-blue-400', ...(ngDevMode ? [{ debugName: "phaseIndicatorClasses" }] : []));
102080
+ this.phaseIndicatorMobileClasses = computed(() => this.isLightMode()
102081
+ ? 'bg-blue-100 text-blue-700 border border-blue-200'
102082
+ : 'bg-blue-900/50 text-blue-300 border border-blue-700/50', ...(ngDevMode ? [{ debugName: "phaseIndicatorMobileClasses" }] : []));
101965
102083
  this.nodeClasses = {
101966
102084
  light: ['bg-white border-blue-500', 'bg-white border-cyan-500', 'bg-white border-teal-500', 'bg-white border-emerald-500'],
101967
102085
  dark: ['bg-slate-800 border-blue-500', 'bg-slate-800 border-cyan-500', 'bg-slate-800 border-teal-500', 'bg-slate-800 border-emerald-500']
@@ -102018,7 +102136,7 @@ class UnifiedTimelineComponent {
102018
102136
  this.goalClick.emit(goal);
102019
102137
  }
102020
102138
  static { this.ɵfac = function UnifiedTimelineComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedTimelineComponent)(); }; }
102021
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedTimelineComponent, selectors: [["symphiq-unified-timeline"]], inputs: { timeline: [1, "timeline"], viewMode: [1, "viewMode"], goals: [1, "goals"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-timeline", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Implementation Timeline", 3, "icon", "viewMode"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "relative"], [1, "absolute", "left-6", "top-0", "bottom-0", "w-0.5", 3, "ngClass"], [1, "space-y-8"], [1, "relative", "pl-16", "group"], [1, "absolute", "left-4", "w-5", "h-5", "rounded-full", "border-4", "flex", "items-center", "justify-center", "transition-all", "duration-300", "group-hover:scale-125", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", 3, "ngClass"], [1, "rounded-xl", "p-5", "transition-all", "duration-300", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "gap-4", "mb-3"], [1, "text-base", "font-semibold", 3, "ngClass"], [1, "px-2", "py-1", "text-xs", "font-semibold", "rounded-full", "flex-shrink-0", 3, "ngClass"], [1, "text-sm", "mb-4", 3, "ngClass"], [1, "mt-4"], [1, "absolute", "-left-[52px]", "top-0", "text-xs", "font-bold", "transition-all", "duration-300", "origin-right", "group-hover:scale-125", "group-hover:font-extrabold", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "mt-1.5", "flex-shrink-0", 3, "ngClass"], [1, "line-clamp-1"], [1, "space-y-3"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "ngClass"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "click", "ngClass"], [1, "text-sm", "font-medium", "line-clamp-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"]], template: function UnifiedTimelineComponent_Template(rf, ctx) { if (rf & 1) {
102139
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedTimelineComponent, selectors: [["symphiq-unified-timeline"]], inputs: { timeline: [1, "timeline"], viewMode: [1, "viewMode"], goals: [1, "goals"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-timeline", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Implementation Timeline", 3, "icon", "viewMode"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "relative"], [1, "absolute", "left-6", "top-0", "bottom-0", "w-0.5", 3, "ngClass"], [1, "space-y-12", "md:space-y-8", "mt-8", "md:mt-0"], [1, "relative", "pl-16", "group"], [1, "absolute", "left-4", "w-5", "h-5", "rounded-full", "border-4", "flex", "items-center", "justify-center", "transition-all", "duration-300", "group-hover:scale-125", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", 3, "ngClass"], [1, "rounded-xl", "p-5", "transition-all", "duration-300", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "gap-4", "mb-3"], [1, "text-base", "font-semibold", 3, "ngClass"], [1, "px-2", "py-1", "text-xs", "font-semibold", "rounded-full", "flex-shrink-0", 3, "ngClass"], [1, "text-sm", "mb-4", 3, "ngClass"], [1, "mt-4"], [1, "absolute", "text-xs", "font-bold", "transition-all", "duration-300", "group-hover:scale-110", "group-hover:font-extrabold", "-left-[52px]", "top-0", "origin-right", "hidden", "md:block", 3, "ngClass"], [1, "absolute", "-top-8", "left-0", "text-xs", "font-bold", "px-2", "py-1", "rounded-full", "md:hidden", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "mt-1.5", "flex-shrink-0", 3, "ngClass"], [1, "line-clamp-1"], [1, "space-y-3"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "ngClass"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "click", "ngClass"], [1, "text-sm", "font-medium", "line-clamp-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"]], template: function UnifiedTimelineComponent_Template(rf, ctx) { if (rf & 1) {
102022
102140
  i0.ɵɵconditionalCreate(0, UnifiedTimelineComponent_Conditional_0_Template, 9, 10, "section", 0);
102023
102141
  } if (rf & 2) {
102024
102142
  i0.ɵɵconditional(ctx.phases().length > 0 ? 0 : -1);
@@ -102043,7 +102161,7 @@ class UnifiedTimelineComponent {
102043
102161
  <div class="relative">
102044
102162
  <div [ngClass]="lineClasses()" class="absolute left-6 top-0 bottom-0 w-0.5"></div>
102045
102163
 
102046
- <div class="space-y-8">
102164
+ <div class="space-y-12 md:space-y-8 mt-8 md:mt-0">
102047
102165
  @for (phase of phases(); track phase.id; let idx = $index) {
102048
102166
  <div class="relative pl-16 group">
102049
102167
  <div
@@ -102111,7 +102229,10 @@ class UnifiedTimelineComponent {
102111
102229
  </div>
102112
102230
  }
102113
102231
 
102114
- <div [ngClass]="phaseIndicatorClasses()" class="absolute -left-[52px] top-0 text-xs font-bold transition-all duration-300 origin-right group-hover:scale-125 group-hover:font-extrabold">
102232
+ <div [ngClass]="phaseIndicatorClasses()" class="absolute text-xs font-bold transition-all duration-300 group-hover:scale-110 group-hover:font-extrabold -left-[52px] top-0 origin-right hidden md:block">
102233
+ Phase {{ idx + 1 }}
102234
+ </div>
102235
+ <div [ngClass]="phaseIndicatorMobileClasses()" class="absolute -top-8 left-0 text-xs font-bold px-2 py-1 rounded-full md:hidden">
102115
102236
  Phase {{ idx + 1 }}
102116
102237
  </div>
102117
102238
  </div>
@@ -102124,192 +102245,108 @@ class UnifiedTimelineComponent {
102124
102245
  }
102125
102246
  `, styles: ["@keyframes pulse-glow-blue{0%,to{box-shadow:0 0 5px #3b82f680,0 0 10px #3b82f64d}50%{box-shadow:0 0 15px #3b82f6cc,0 0 25px #3b82f680,0 0 35px #3b82f64d}}@keyframes pulse-glow-cyan{0%,to{box-shadow:0 0 5px #06b6d480,0 0 10px #06b6d44d}50%{box-shadow:0 0 15px #06b6d4cc,0 0 25px #06b6d480,0 0 35px #06b6d44d}}@keyframes pulse-glow-teal{0%,to{box-shadow:0 0 5px #14b8a680,0 0 10px #14b8a64d}50%{box-shadow:0 0 15px #14b8a6cc,0 0 25px #14b8a680,0 0 35px #14b8a64d}}@keyframes pulse-glow-emerald{0%,to{box-shadow:0 0 5px #10b98180,0 0 10px #10b9814d}50%{box-shadow:0 0 15px #10b981cc,0 0 25px #10b98180,0 0 35px #10b9814d}}.group:hover .animate-pulse-glow-blue{animation:pulse-glow-blue 1.5s ease-in-out infinite}.group:hover .animate-pulse-glow-cyan{animation:pulse-glow-cyan 1.5s ease-in-out infinite}.group:hover .animate-pulse-glow-teal{animation:pulse-glow-teal 1.5s ease-in-out infinite}.group:hover .animate-pulse-glow-emerald{animation:pulse-glow-emerald 1.5s ease-in-out infinite}.card-glow-blue:hover{box-shadow:0 0 20px #3b82f666,0 0 40px #3b82f633,0 10px 30px #0000004d;border-color:#3b82f6cc!important}.card-glow-cyan:hover{box-shadow:0 0 20px #06b6d466,0 0 40px #06b6d433,0 10px 30px #0000004d;border-color:#06b6d4cc!important}.card-glow-teal:hover{box-shadow:0 0 20px #14b8a666,0 0 40px #14b8a633,0 10px 30px #0000004d;border-color:#14b8a6cc!important}.card-glow-emerald:hover{box-shadow:0 0 20px #10b98166,0 0 40px #10b98133,0 10px 30px #0000004d;border-color:#10b981cc!important}.goal-chip{transition:all .3s ease}.goal-chip:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}\n"] }]
102126
102247
  }], null, { timeline: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeline", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], goals: [{ type: i0.Input, args: [{ isSignal: true, alias: "goals", required: false }] }], goalClick: [{ type: i0.Output, args: ["goalClick"] }] }); })();
102127
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedTimelineComponent, { className: "UnifiedTimelineComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-timeline.component.ts", lineNumber: 181 }); })();
102248
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedTimelineComponent, { className: "UnifiedTimelineComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-timeline.component.ts", lineNumber: 184 }); })();
102128
102249
 
102129
102250
  const _c0$a = a0 => ({ name: "squares-2x2", source: a0 });
102130
102251
  const _forTrack0$a = ($index, $item) => $item.id;
102131
- function UnifiedPriorityMatrixComponent_Conditional_0_For_18_Conditional_4_Template(rf, ctx) { if (rf & 1) {
102132
- i0.ɵɵelementStart(0, "span", 22);
102133
- i0.ɵɵtext(1);
102134
- i0.ɵɵelementEnd();
102135
- } if (rf & 2) {
102136
- const goal_r2 = i0.ɵɵnextContext().$implicit;
102137
- const ctx_r2 = i0.ɵɵnextContext(2);
102138
- i0.ɵɵproperty("ngClass", ctx_r2.sourceIndicatorClasses());
102139
- i0.ɵɵadvance();
102140
- i0.ɵɵtextInterpolate((goal_r2.sourceAnalyses == null ? null : goal_r2.sourceAnalyses.length) ?? 0);
102141
- } }
102142
- function UnifiedPriorityMatrixComponent_Conditional_0_For_18_Template(rf, ctx) { if (rf & 1) {
102252
+ function UnifiedPriorityMatrixComponent_Conditional_0_For_21_Template(rf, ctx) { if (rf & 1) {
102143
102253
  const _r1 = i0.ɵɵgetCurrentView();
102144
- i0.ɵɵelementStart(0, "button", 19);
102145
- i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_18_Template_button_click_0_listener() { const goal_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r2)); });
102146
- i0.ɵɵelementStart(1, "div", 20)(2, "span", 21);
102254
+ i0.ɵɵelementStart(0, "button", 25);
102255
+ i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_21_Template_button_click_0_listener() { const goal_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r2)); });
102256
+ i0.ɵɵelementStart(1, "div", 26)(2, "span", 27);
102147
102257
  i0.ɵɵtext(3);
102148
102258
  i0.ɵɵelementEnd();
102149
- i0.ɵɵconditionalCreate(4, UnifiedPriorityMatrixComponent_Conditional_0_For_18_Conditional_4_Template, 2, 2, "span", 22);
102150
- i0.ɵɵelementEnd()();
102259
+ i0.ɵɵnamespaceSVG();
102260
+ i0.ɵɵelementStart(4, "svg", 28);
102261
+ i0.ɵɵelement(5, "path", 29);
102262
+ i0.ɵɵelementEnd()()();
102151
102263
  } if (rf & 2) {
102152
102264
  const goal_r2 = ctx.$implicit;
102153
102265
  const ctx_r2 = i0.ɵɵnextContext(2);
102154
102266
  i0.ɵɵproperty("ngClass", ctx_r2.getGoalClasses("quickWins"));
102155
102267
  i0.ɵɵadvance(3);
102156
102268
  i0.ɵɵtextInterpolate(goal_r2.title);
102157
- i0.ɵɵadvance();
102158
- i0.ɵɵconditional(((goal_r2.sourceAnalyses == null ? null : goal_r2.sourceAnalyses.length) ?? 0) > 0 ? 4 : -1);
102159
- } }
102160
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_19_Template(rf, ctx) { if (rf & 1) {
102161
- i0.ɵɵelementStart(0, "div", 14);
102162
- i0.ɵɵtext(1);
102163
- i0.ɵɵelementEnd();
102164
- } if (rf & 2) {
102165
- const ctx_r2 = i0.ɵɵnextContext(2);
102166
- i0.ɵɵproperty("ngClass", ctx_r2.moreGoalsClasses());
102167
- i0.ɵɵadvance();
102168
- i0.ɵɵtextInterpolate1("+", ctx_r2.matrix().quickWins.length - 3, " more");
102169
102269
  } }
102170
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_20_Template(rf, ctx) { if (rf & 1) {
102171
- i0.ɵɵelementStart(0, "div", 15);
102270
+ function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_22_Template(rf, ctx) { if (rf & 1) {
102271
+ i0.ɵɵelementStart(0, "div", 18);
102172
102272
  i0.ɵɵtext(1, "No goals");
102173
102273
  i0.ɵɵelementEnd();
102174
102274
  } if (rf & 2) {
102175
102275
  const ctx_r2 = i0.ɵɵnextContext(2);
102176
102276
  i0.ɵɵproperty("ngClass", ctx_r2.emptyClasses());
102177
102277
  } }
102178
- function UnifiedPriorityMatrixComponent_Conditional_0_For_30_Conditional_4_Template(rf, ctx) { if (rf & 1) {
102179
- i0.ɵɵelementStart(0, "span", 22);
102180
- i0.ɵɵtext(1);
102181
- i0.ɵɵelementEnd();
102182
- } if (rf & 2) {
102183
- const goal_r5 = i0.ɵɵnextContext().$implicit;
102184
- const ctx_r2 = i0.ɵɵnextContext(2);
102185
- i0.ɵɵproperty("ngClass", ctx_r2.sourceIndicatorClasses());
102186
- i0.ɵɵadvance();
102187
- i0.ɵɵtextInterpolate((goal_r5.sourceAnalyses == null ? null : goal_r5.sourceAnalyses.length) ?? 0);
102188
- } }
102189
- function UnifiedPriorityMatrixComponent_Conditional_0_For_30_Template(rf, ctx) { if (rf & 1) {
102278
+ function UnifiedPriorityMatrixComponent_Conditional_0_For_32_Template(rf, ctx) { if (rf & 1) {
102190
102279
  const _r4 = i0.ɵɵgetCurrentView();
102191
- i0.ɵɵelementStart(0, "button", 19);
102192
- i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_30_Template_button_click_0_listener() { const goal_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r5)); });
102193
- i0.ɵɵelementStart(1, "div", 20)(2, "span", 21);
102280
+ i0.ɵɵelementStart(0, "button", 25);
102281
+ i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_32_Template_button_click_0_listener() { const goal_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r5)); });
102282
+ i0.ɵɵelementStart(1, "div", 26)(2, "span", 27);
102194
102283
  i0.ɵɵtext(3);
102195
102284
  i0.ɵɵelementEnd();
102196
- i0.ɵɵconditionalCreate(4, UnifiedPriorityMatrixComponent_Conditional_0_For_30_Conditional_4_Template, 2, 2, "span", 22);
102197
- i0.ɵɵelementEnd()();
102285
+ i0.ɵɵnamespaceSVG();
102286
+ i0.ɵɵelementStart(4, "svg", 28);
102287
+ i0.ɵɵelement(5, "path", 29);
102288
+ i0.ɵɵelementEnd()()();
102198
102289
  } if (rf & 2) {
102199
102290
  const goal_r5 = ctx.$implicit;
102200
102291
  const ctx_r2 = i0.ɵɵnextContext(2);
102201
102292
  i0.ɵɵproperty("ngClass", ctx_r2.getGoalClasses("majorProjects"));
102202
102293
  i0.ɵɵadvance(3);
102203
102294
  i0.ɵɵtextInterpolate(goal_r5.title);
102204
- i0.ɵɵadvance();
102205
- i0.ɵɵconditional(((goal_r5.sourceAnalyses == null ? null : goal_r5.sourceAnalyses.length) ?? 0) > 0 ? 4 : -1);
102206
- } }
102207
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_31_Template(rf, ctx) { if (rf & 1) {
102208
- i0.ɵɵelementStart(0, "div", 14);
102209
- i0.ɵɵtext(1);
102210
- i0.ɵɵelementEnd();
102211
- } if (rf & 2) {
102212
- const ctx_r2 = i0.ɵɵnextContext(2);
102213
- i0.ɵɵproperty("ngClass", ctx_r2.moreGoalsClasses());
102214
- i0.ɵɵadvance();
102215
- i0.ɵɵtextInterpolate1("+", ctx_r2.matrix().majorProjects.length - 3, " more");
102216
102295
  } }
102217
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_32_Template(rf, ctx) { if (rf & 1) {
102218
- i0.ɵɵelementStart(0, "div", 15);
102296
+ function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_33_Template(rf, ctx) { if (rf & 1) {
102297
+ i0.ɵɵelementStart(0, "div", 18);
102219
102298
  i0.ɵɵtext(1, "No goals");
102220
102299
  i0.ɵɵelementEnd();
102221
102300
  } if (rf & 2) {
102222
102301
  const ctx_r2 = i0.ɵɵnextContext(2);
102223
102302
  i0.ɵɵproperty("ngClass", ctx_r2.emptyClasses());
102224
102303
  } }
102225
- function UnifiedPriorityMatrixComponent_Conditional_0_For_42_Conditional_4_Template(rf, ctx) { if (rf & 1) {
102226
- i0.ɵɵelementStart(0, "span", 22);
102227
- i0.ɵɵtext(1);
102228
- i0.ɵɵelementEnd();
102229
- } if (rf & 2) {
102230
- const goal_r7 = i0.ɵɵnextContext().$implicit;
102231
- const ctx_r2 = i0.ɵɵnextContext(2);
102232
- i0.ɵɵproperty("ngClass", ctx_r2.sourceIndicatorClasses());
102233
- i0.ɵɵadvance();
102234
- i0.ɵɵtextInterpolate((goal_r7.sourceAnalyses == null ? null : goal_r7.sourceAnalyses.length) ?? 0);
102235
- } }
102236
- function UnifiedPriorityMatrixComponent_Conditional_0_For_42_Template(rf, ctx) { if (rf & 1) {
102304
+ function UnifiedPriorityMatrixComponent_Conditional_0_For_43_Template(rf, ctx) { if (rf & 1) {
102237
102305
  const _r6 = i0.ɵɵgetCurrentView();
102238
- i0.ɵɵelementStart(0, "button", 19);
102239
- i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_42_Template_button_click_0_listener() { const goal_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r7)); });
102240
- i0.ɵɵelementStart(1, "div", 20)(2, "span", 21);
102306
+ i0.ɵɵelementStart(0, "button", 25);
102307
+ i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_43_Template_button_click_0_listener() { const goal_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r7)); });
102308
+ i0.ɵɵelementStart(1, "div", 26)(2, "span", 27);
102241
102309
  i0.ɵɵtext(3);
102242
102310
  i0.ɵɵelementEnd();
102243
- i0.ɵɵconditionalCreate(4, UnifiedPriorityMatrixComponent_Conditional_0_For_42_Conditional_4_Template, 2, 2, "span", 22);
102244
- i0.ɵɵelementEnd()();
102311
+ i0.ɵɵnamespaceSVG();
102312
+ i0.ɵɵelementStart(4, "svg", 28);
102313
+ i0.ɵɵelement(5, "path", 29);
102314
+ i0.ɵɵelementEnd()()();
102245
102315
  } if (rf & 2) {
102246
102316
  const goal_r7 = ctx.$implicit;
102247
102317
  const ctx_r2 = i0.ɵɵnextContext(2);
102248
102318
  i0.ɵɵproperty("ngClass", ctx_r2.getGoalClasses("fillIns"));
102249
102319
  i0.ɵɵadvance(3);
102250
102320
  i0.ɵɵtextInterpolate(goal_r7.title);
102251
- i0.ɵɵadvance();
102252
- i0.ɵɵconditional(((goal_r7.sourceAnalyses == null ? null : goal_r7.sourceAnalyses.length) ?? 0) > 0 ? 4 : -1);
102253
- } }
102254
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_43_Template(rf, ctx) { if (rf & 1) {
102255
- i0.ɵɵelementStart(0, "div", 14);
102256
- i0.ɵɵtext(1);
102257
- i0.ɵɵelementEnd();
102258
- } if (rf & 2) {
102259
- const ctx_r2 = i0.ɵɵnextContext(2);
102260
- i0.ɵɵproperty("ngClass", ctx_r2.moreGoalsClasses());
102261
- i0.ɵɵadvance();
102262
- i0.ɵɵtextInterpolate1("+", ctx_r2.matrix().fillIns.length - 3, " more");
102263
102321
  } }
102264
102322
  function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_44_Template(rf, ctx) { if (rf & 1) {
102265
- i0.ɵɵelementStart(0, "div", 15);
102323
+ i0.ɵɵelementStart(0, "div", 18);
102266
102324
  i0.ɵɵtext(1, "No goals");
102267
102325
  i0.ɵɵelementEnd();
102268
102326
  } if (rf & 2) {
102269
102327
  const ctx_r2 = i0.ɵɵnextContext(2);
102270
102328
  i0.ɵɵproperty("ngClass", ctx_r2.emptyClasses());
102271
102329
  } }
102272
- function UnifiedPriorityMatrixComponent_Conditional_0_For_54_Conditional_4_Template(rf, ctx) { if (rf & 1) {
102273
- i0.ɵɵelementStart(0, "span", 22);
102274
- i0.ɵɵtext(1);
102275
- i0.ɵɵelementEnd();
102276
- } if (rf & 2) {
102277
- const goal_r9 = i0.ɵɵnextContext().$implicit;
102278
- const ctx_r2 = i0.ɵɵnextContext(2);
102279
- i0.ɵɵproperty("ngClass", ctx_r2.sourceIndicatorClasses());
102280
- i0.ɵɵadvance();
102281
- i0.ɵɵtextInterpolate((goal_r9.sourceAnalyses == null ? null : goal_r9.sourceAnalyses.length) ?? 0);
102282
- } }
102283
102330
  function UnifiedPriorityMatrixComponent_Conditional_0_For_54_Template(rf, ctx) { if (rf & 1) {
102284
102331
  const _r8 = i0.ɵɵgetCurrentView();
102285
- i0.ɵɵelementStart(0, "button", 19);
102332
+ i0.ɵɵelementStart(0, "button", 25);
102286
102333
  i0.ɵɵlistener("click", function UnifiedPriorityMatrixComponent_Conditional_0_For_54_Template_button_click_0_listener() { const goal_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onGoalClick(goal_r9)); });
102287
- i0.ɵɵelementStart(1, "div", 20)(2, "span", 21);
102334
+ i0.ɵɵelementStart(1, "div", 26)(2, "span", 27);
102288
102335
  i0.ɵɵtext(3);
102289
102336
  i0.ɵɵelementEnd();
102290
- i0.ɵɵconditionalCreate(4, UnifiedPriorityMatrixComponent_Conditional_0_For_54_Conditional_4_Template, 2, 2, "span", 22);
102291
- i0.ɵɵelementEnd()();
102337
+ i0.ɵɵnamespaceSVG();
102338
+ i0.ɵɵelementStart(4, "svg", 28);
102339
+ i0.ɵɵelement(5, "path", 29);
102340
+ i0.ɵɵelementEnd()()();
102292
102341
  } if (rf & 2) {
102293
102342
  const goal_r9 = ctx.$implicit;
102294
102343
  const ctx_r2 = i0.ɵɵnextContext(2);
102295
102344
  i0.ɵɵproperty("ngClass", ctx_r2.getGoalClasses("thankless"));
102296
102345
  i0.ɵɵadvance(3);
102297
102346
  i0.ɵɵtextInterpolate(goal_r9.title);
102298
- i0.ɵɵadvance();
102299
- i0.ɵɵconditional(((goal_r9.sourceAnalyses == null ? null : goal_r9.sourceAnalyses.length) ?? 0) > 0 ? 4 : -1);
102300
102347
  } }
102301
102348
  function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_55_Template(rf, ctx) { if (rf & 1) {
102302
- i0.ɵɵelementStart(0, "div", 14);
102303
- i0.ɵɵtext(1);
102304
- i0.ɵɵelementEnd();
102305
- } if (rf & 2) {
102306
- const ctx_r2 = i0.ɵɵnextContext(2);
102307
- i0.ɵɵproperty("ngClass", ctx_r2.moreGoalsClasses());
102308
- i0.ɵɵadvance();
102309
- i0.ɵɵtextInterpolate1("+", ctx_r2.matrix().thankless.length - 3, " more");
102310
- } }
102311
- function UnifiedPriorityMatrixComponent_Conditional_0_Conditional_56_Template(rf, ctx) { if (rf & 1) {
102312
- i0.ɵɵelementStart(0, "div", 15);
102349
+ i0.ɵɵelementStart(0, "div", 18);
102313
102350
  i0.ɵɵtext(1, "No goals");
102314
102351
  i0.ɵɵelementEnd();
102315
102352
  } if (rf & 2) {
@@ -102320,63 +102357,63 @@ function UnifiedPriorityMatrixComponent_Conditional_0_Template(rf, ctx) { if (rf
102320
102357
  i0.ɵɵelementStart(0, "section", 0);
102321
102358
  i0.ɵɵelement(1, "symphiq-section-divider", 1)(2, "symphiq-section-header", 2);
102322
102359
  i0.ɵɵelementStart(3, "div", 3)(4, "div", 4)(5, "div", 5);
102323
- i0.ɵɵtext(6, " Impact ");
102360
+ i0.ɵɵelement(6, "div", 6);
102361
+ i0.ɵɵelementStart(7, "div", 7)(8, "span", 8);
102362
+ i0.ɵɵtext(9, "Impact");
102363
+ i0.ɵɵelementEnd()()();
102364
+ i0.ɵɵelementStart(10, "div", 9)(11, "div", 10)(12, "div", 11)(13, "div", 12);
102365
+ i0.ɵɵelement(14, "div", 13);
102366
+ i0.ɵɵelementStart(15, "h4", 14);
102367
+ i0.ɵɵtext(16, "Quick Wins");
102368
+ i0.ɵɵelementEnd()();
102369
+ i0.ɵɵelementStart(17, "p", 15);
102370
+ i0.ɵɵtext(18, "High Impact / Low Effort");
102371
+ i0.ɵɵelementEnd();
102372
+ i0.ɵɵelementStart(19, "div", 16);
102373
+ i0.ɵɵrepeaterCreate(20, UnifiedPriorityMatrixComponent_Conditional_0_For_21_Template, 6, 2, "button", 17, _forTrack0$a);
102374
+ i0.ɵɵconditionalCreate(22, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_22_Template, 2, 1, "div", 18);
102375
+ i0.ɵɵelementEnd()();
102376
+ i0.ɵɵelementStart(23, "div", 11)(24, "div", 12);
102377
+ i0.ɵɵelement(25, "div", 19);
102378
+ i0.ɵɵelementStart(26, "h4", 14);
102379
+ i0.ɵɵtext(27, "Major Projects");
102380
+ i0.ɵɵelementEnd()();
102381
+ i0.ɵɵelementStart(28, "p", 15);
102382
+ i0.ɵɵtext(29, "High Impact / High Effort");
102324
102383
  i0.ɵɵelementEnd();
102325
- i0.ɵɵelementStart(7, "div", 6);
102326
- i0.ɵɵtext(8, " Effort ");
102384
+ i0.ɵɵelementStart(30, "div", 16);
102385
+ i0.ɵɵrepeaterCreate(31, UnifiedPriorityMatrixComponent_Conditional_0_For_32_Template, 6, 2, "button", 17, _forTrack0$a);
102386
+ i0.ɵɵconditionalCreate(33, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_33_Template, 2, 1, "div", 18);
102387
+ i0.ɵɵelementEnd()();
102388
+ i0.ɵɵelementStart(34, "div", 11)(35, "div", 12);
102389
+ i0.ɵɵelement(36, "div", 20);
102390
+ i0.ɵɵelementStart(37, "h4", 14);
102391
+ i0.ɵɵtext(38, "Fill-Ins");
102392
+ i0.ɵɵelementEnd()();
102393
+ i0.ɵɵelementStart(39, "p", 15);
102394
+ i0.ɵɵtext(40, "Low Impact / Low Effort");
102327
102395
  i0.ɵɵelementEnd();
102328
- i0.ɵɵelementStart(9, "div", 7)(10, "div", 8);
102329
- i0.ɵɵelement(11, "div", 9);
102330
- i0.ɵɵelementStart(12, "h4", 10);
102331
- i0.ɵɵtext(13, "Quick Wins");
102396
+ i0.ɵɵelementStart(41, "div", 16);
102397
+ i0.ɵɵrepeaterCreate(42, UnifiedPriorityMatrixComponent_Conditional_0_For_43_Template, 6, 2, "button", 17, _forTrack0$a);
102398
+ i0.ɵɵconditionalCreate(44, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_44_Template, 2, 1, "div", 18);
102332
102399
  i0.ɵɵelementEnd()();
102333
- i0.ɵɵelementStart(14, "p", 11);
102334
- i0.ɵɵtext(15, "High Impact / Low Effort");
102335
- i0.ɵɵelementEnd();
102336
- i0.ɵɵelementStart(16, "div", 12);
102337
- i0.ɵɵrepeaterCreate(17, UnifiedPriorityMatrixComponent_Conditional_0_For_18_Template, 5, 3, "button", 13, _forTrack0$a);
102338
- i0.ɵɵconditionalCreate(19, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_19_Template, 2, 2, "div", 14);
102339
- i0.ɵɵconditionalCreate(20, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_20_Template, 2, 1, "div", 15);
102340
- i0.ɵɵelementEnd()();
102341
- i0.ɵɵelementStart(21, "div", 7)(22, "div", 8);
102342
- i0.ɵɵelement(23, "div", 16);
102343
- i0.ɵɵelementStart(24, "h4", 10);
102344
- i0.ɵɵtext(25, "Major Projects");
102345
- i0.ɵɵelementEnd()();
102346
- i0.ɵɵelementStart(26, "p", 11);
102347
- i0.ɵɵtext(27, "High Impact / High Effort");
102348
- i0.ɵɵelementEnd();
102349
- i0.ɵɵelementStart(28, "div", 12);
102350
- i0.ɵɵrepeaterCreate(29, UnifiedPriorityMatrixComponent_Conditional_0_For_30_Template, 5, 3, "button", 13, _forTrack0$a);
102351
- i0.ɵɵconditionalCreate(31, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_31_Template, 2, 2, "div", 14);
102352
- i0.ɵɵconditionalCreate(32, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_32_Template, 2, 1, "div", 15);
102353
- i0.ɵɵelementEnd()();
102354
- i0.ɵɵelementStart(33, "div", 7)(34, "div", 8);
102355
- i0.ɵɵelement(35, "div", 17);
102356
- i0.ɵɵelementStart(36, "h4", 10);
102357
- i0.ɵɵtext(37, "Fill-Ins");
102358
- i0.ɵɵelementEnd()();
102359
- i0.ɵɵelementStart(38, "p", 11);
102360
- i0.ɵɵtext(39, "Low Impact / Low Effort");
102361
- i0.ɵɵelementEnd();
102362
- i0.ɵɵelementStart(40, "div", 12);
102363
- i0.ɵɵrepeaterCreate(41, UnifiedPriorityMatrixComponent_Conditional_0_For_42_Template, 5, 3, "button", 13, _forTrack0$a);
102364
- i0.ɵɵconditionalCreate(43, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_43_Template, 2, 2, "div", 14);
102365
- i0.ɵɵconditionalCreate(44, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_44_Template, 2, 1, "div", 15);
102366
- i0.ɵɵelementEnd()();
102367
- i0.ɵɵelementStart(45, "div", 7)(46, "div", 8);
102368
- i0.ɵɵelement(47, "div", 18);
102369
- i0.ɵɵelementStart(48, "h4", 10);
102400
+ i0.ɵɵelementStart(45, "div", 11)(46, "div", 12);
102401
+ i0.ɵɵelement(47, "div", 21);
102402
+ i0.ɵɵelementStart(48, "h4", 14);
102370
102403
  i0.ɵɵtext(49, "Time Permitting");
102371
102404
  i0.ɵɵelementEnd()();
102372
- i0.ɵɵelementStart(50, "p", 11);
102405
+ i0.ɵɵelementStart(50, "p", 15);
102373
102406
  i0.ɵɵtext(51, "Low Impact / High Effort");
102374
102407
  i0.ɵɵelementEnd();
102375
- i0.ɵɵelementStart(52, "div", 12);
102376
- i0.ɵɵrepeaterCreate(53, UnifiedPriorityMatrixComponent_Conditional_0_For_54_Template, 5, 3, "button", 13, _forTrack0$a);
102377
- i0.ɵɵconditionalCreate(55, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_55_Template, 2, 2, "div", 14);
102378
- i0.ɵɵconditionalCreate(56, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_56_Template, 2, 1, "div", 15);
102379
- i0.ɵɵelementEnd()()()()();
102408
+ i0.ɵɵelementStart(52, "div", 16);
102409
+ i0.ɵɵrepeaterCreate(53, UnifiedPriorityMatrixComponent_Conditional_0_For_54_Template, 6, 2, "button", 17, _forTrack0$a);
102410
+ i0.ɵɵconditionalCreate(55, UnifiedPriorityMatrixComponent_Conditional_0_Conditional_55_Template, 2, 1, "div", 18);
102411
+ i0.ɵɵelementEnd()()();
102412
+ i0.ɵɵelementStart(56, "div", 22);
102413
+ i0.ɵɵelement(57, "div", 23);
102414
+ i0.ɵɵelementStart(58, "div", 24)(59, "span", 8);
102415
+ i0.ɵɵtext(60, "Effort");
102416
+ i0.ɵɵelementEnd()()()()()()();
102380
102417
  } if (rf & 2) {
102381
102418
  const ctx_r2 = i0.ɵɵnextContext();
102382
102419
  i0.ɵɵadvance();
@@ -102385,22 +102422,22 @@ function UnifiedPriorityMatrixComponent_Conditional_0_Template(rf, ctx) { if (rf
102385
102422
  i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(29, _c0$a, ctx_r2.IconSourceEnum.HEROICONS))("viewMode", ctx_r2.viewMode());
102386
102423
  i0.ɵɵadvance();
102387
102424
  i0.ɵɵproperty("ngClass", ctx_r2.containerClasses());
102388
- i0.ɵɵadvance(2);
102389
- i0.ɵɵproperty("ngClass", ctx_r2.axisLabelClasses());
102390
- i0.ɵɵadvance(2);
102425
+ i0.ɵɵadvance(3);
102426
+ i0.ɵɵproperty("ngClass", ctx_r2.axisLineClasses());
102427
+ i0.ɵɵadvance();
102428
+ i0.ɵɵproperty("ngClass", ctx_r2.axisLabelBgClasses());
102429
+ i0.ɵɵadvance();
102391
102430
  i0.ɵɵproperty("ngClass", ctx_r2.axisLabelClasses());
102392
- i0.ɵɵadvance(2);
102431
+ i0.ɵɵadvance(4);
102393
102432
  i0.ɵɵproperty("ngClass", ctx_r2.getQuadrantClasses("quick-wins"));
102394
102433
  i0.ɵɵadvance(3);
102395
102434
  i0.ɵɵproperty("ngClass", ctx_r2.titleClasses());
102396
102435
  i0.ɵɵadvance(2);
102397
102436
  i0.ɵɵproperty("ngClass", ctx_r2.subtitleClasses());
102398
102437
  i0.ɵɵadvance(3);
102399
- i0.ɵɵrepeater(ctx_r2.matrix().quickWins.slice(0, 3));
102438
+ i0.ɵɵrepeater(ctx_r2.matrix().quickWins);
102400
102439
  i0.ɵɵadvance(2);
102401
- i0.ɵɵconditional(ctx_r2.matrix().quickWins.length > 3 ? 19 : -1);
102402
- i0.ɵɵadvance();
102403
- i0.ɵɵconditional(ctx_r2.matrix().quickWins.length === 0 ? 20 : -1);
102440
+ i0.ɵɵconditional(ctx_r2.matrix().quickWins.length === 0 ? 22 : -1);
102404
102441
  i0.ɵɵadvance();
102405
102442
  i0.ɵɵproperty("ngClass", ctx_r2.getQuadrantClasses("major-projects"));
102406
102443
  i0.ɵɵadvance(3);
@@ -102408,11 +102445,9 @@ function UnifiedPriorityMatrixComponent_Conditional_0_Template(rf, ctx) { if (rf
102408
102445
  i0.ɵɵadvance(2);
102409
102446
  i0.ɵɵproperty("ngClass", ctx_r2.subtitleClasses());
102410
102447
  i0.ɵɵadvance(3);
102411
- i0.ɵɵrepeater(ctx_r2.matrix().majorProjects.slice(0, 3));
102448
+ i0.ɵɵrepeater(ctx_r2.matrix().majorProjects);
102412
102449
  i0.ɵɵadvance(2);
102413
- i0.ɵɵconditional(ctx_r2.matrix().majorProjects.length > 3 ? 31 : -1);
102414
- i0.ɵɵadvance();
102415
- i0.ɵɵconditional(ctx_r2.matrix().majorProjects.length === 0 ? 32 : -1);
102450
+ i0.ɵɵconditional(ctx_r2.matrix().majorProjects.length === 0 ? 33 : -1);
102416
102451
  i0.ɵɵadvance();
102417
102452
  i0.ɵɵproperty("ngClass", ctx_r2.getQuadrantClasses("fill-ins"));
102418
102453
  i0.ɵɵadvance(3);
@@ -102420,10 +102455,8 @@ function UnifiedPriorityMatrixComponent_Conditional_0_Template(rf, ctx) { if (rf
102420
102455
  i0.ɵɵadvance(2);
102421
102456
  i0.ɵɵproperty("ngClass", ctx_r2.subtitleClasses());
102422
102457
  i0.ɵɵadvance(3);
102423
- i0.ɵɵrepeater(ctx_r2.matrix().fillIns.slice(0, 3));
102458
+ i0.ɵɵrepeater(ctx_r2.matrix().fillIns);
102424
102459
  i0.ɵɵadvance(2);
102425
- i0.ɵɵconditional(ctx_r2.matrix().fillIns.length > 3 ? 43 : -1);
102426
- i0.ɵɵadvance();
102427
102460
  i0.ɵɵconditional(ctx_r2.matrix().fillIns.length === 0 ? 44 : -1);
102428
102461
  i0.ɵɵadvance();
102429
102462
  i0.ɵɵproperty("ngClass", ctx_r2.getQuadrantClasses("time-permitting"));
@@ -102432,11 +102465,15 @@ function UnifiedPriorityMatrixComponent_Conditional_0_Template(rf, ctx) { if (rf
102432
102465
  i0.ɵɵadvance(2);
102433
102466
  i0.ɵɵproperty("ngClass", ctx_r2.subtitleClasses());
102434
102467
  i0.ɵɵadvance(3);
102435
- i0.ɵɵrepeater(ctx_r2.matrix().thankless.slice(0, 3));
102468
+ i0.ɵɵrepeater(ctx_r2.matrix().thankless);
102436
102469
  i0.ɵɵadvance(2);
102437
- i0.ɵɵconditional(ctx_r2.matrix().thankless.length > 3 ? 55 : -1);
102470
+ i0.ɵɵconditional(ctx_r2.matrix().thankless.length === 0 ? 55 : -1);
102471
+ i0.ɵɵadvance(2);
102472
+ i0.ɵɵproperty("ngClass", ctx_r2.axisLineHorizontalClasses());
102473
+ i0.ɵɵadvance();
102474
+ i0.ɵɵproperty("ngClass", ctx_r2.axisLabelBgClasses());
102438
102475
  i0.ɵɵadvance();
102439
- i0.ɵɵconditional(ctx_r2.matrix().thankless.length === 0 ? 56 : -1);
102476
+ i0.ɵɵproperty("ngClass", ctx_r2.axisLabelClasses());
102440
102477
  } }
102441
102478
  class UnifiedPriorityMatrixComponent {
102442
102479
  constructor() {
@@ -102453,6 +102490,15 @@ class UnifiedPriorityMatrixComponent {
102453
102490
  ? 'bg-white border border-slate-200'
102454
102491
  : 'bg-slate-800/50 border border-slate-700/50', ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
102455
102492
  this.axisLabelClasses = computed(() => this.isLightMode() ? 'text-slate-400' : 'text-slate-500', ...(ngDevMode ? [{ debugName: "axisLabelClasses" }] : []));
102493
+ this.axisLineClasses = computed(() => this.isLightMode()
102494
+ ? 'bg-gradient-to-b from-blue-400 via-cyan-400 to-teal-400'
102495
+ : 'bg-gradient-to-b from-blue-600 via-cyan-600 to-teal-600', ...(ngDevMode ? [{ debugName: "axisLineClasses" }] : []));
102496
+ this.axisLineHorizontalClasses = computed(() => this.isLightMode()
102497
+ ? 'bg-gradient-to-r from-blue-400 via-cyan-400 to-teal-400'
102498
+ : 'bg-gradient-to-r from-blue-600 via-cyan-600 to-teal-600', ...(ngDevMode ? [{ debugName: "axisLineHorizontalClasses" }] : []));
102499
+ this.axisLabelBgClasses = computed(() => this.isLightMode()
102500
+ ? 'bg-white'
102501
+ : 'bg-slate-800', ...(ngDevMode ? [{ debugName: "axisLabelBgClasses" }] : []));
102456
102502
  this.titleClasses = computed(() => this.isLightMode() ? 'text-slate-800' : 'text-white', ...(ngDevMode ? [{ debugName: "titleClasses" }] : []));
102457
102503
  this.subtitleClasses = computed(() => this.isLightMode() ? 'text-slate-500' : 'text-slate-400', ...(ngDevMode ? [{ debugName: "subtitleClasses" }] : []));
102458
102504
  this.sourceIndicatorClasses = computed(() => this.isLightMode()
@@ -102501,8 +102547,8 @@ class UnifiedPriorityMatrixComponent {
102501
102547
  this.goalClick.emit(goal);
102502
102548
  }
102503
102549
  static { this.ɵfac = function UnifiedPriorityMatrixComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedPriorityMatrixComponent)(); }; }
102504
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedPriorityMatrixComponent, selectors: [["symphiq-unified-priority-matrix"]], inputs: { matrix: [1, "matrix"], viewMode: [1, "viewMode"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-priority-matrix", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Priority Matrix", 3, "icon", "viewMode"], [1, "rounded-2xl", "p-6", "shadow-xl", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-4", "relative"], [1, "absolute", "-left-2", "top-1/2", "-translate-y-1/2", "-rotate-90", "text-xs", "font-semibold", "uppercase", "tracking-wider", "whitespace-nowrap", "origin-center", 3, "ngClass"], [1, "absolute", "bottom-0", "left-1/2", "-translate-x-1/2", "translate-y-6", "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [1, "rounded-xl", "p-4", "min-h-[180px]", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mb-3"], [1, "w-3", "h-3", "rounded-full", "bg-green-500"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "text-xs", "mb-3", 3, "ngClass"], [1, "space-y-2"], ["type", "button", 1, "w-full", "text-left", "p-2", "rounded-lg", "text-sm", "transition-all", "hover:scale-[1.02]", 3, "ngClass"], [1, "text-xs", "text-center", 3, "ngClass"], [1, "text-xs", "text-center", "py-4", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-amber-500"], [1, "w-3", "h-3", "rounded-full", "bg-blue-500"], [1, "w-3", "h-3", "rounded-full", "bg-slate-400"], ["type", "button", 1, "w-full", "text-left", "p-2", "rounded-lg", "text-sm", "transition-all", "hover:scale-[1.02]", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "line-clamp-1", "flex-1"], [1, "text-xs", 3, "ngClass"]], template: function UnifiedPriorityMatrixComponent_Template(rf, ctx) { if (rf & 1) {
102505
- i0.ɵɵconditionalCreate(0, UnifiedPriorityMatrixComponent_Conditional_0_Template, 57, 31, "section", 0);
102550
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedPriorityMatrixComponent, selectors: [["symphiq-unified-priority-matrix"]], inputs: { matrix: [1, "matrix"], viewMode: [1, "viewMode"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-priority-matrix", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Priority Matrix", 3, "icon", "viewMode"], [1, "rounded-2xl", "p-6", "shadow-xl", 3, "ngClass"], [1, "flex", "gap-4"], [1, "flex", "flex-col", "items-center", "justify-center", "relative", "w-6"], [1, "absolute", "inset-y-0", "left-1/2", "-translate-x-1/2", "w-0.5", 3, "ngClass"], [1, "-rotate-90", "text-xs", "font-semibold", "uppercase", "tracking-wider", "whitespace-nowrap", "px-2", "py-1", "rounded-md", "z-10", 3, "ngClass"], [3, "ngClass"], [1, "flex-1", "flex", "flex-col", "gap-4"], [1, "grid", "grid-cols-2", "gap-4"], [1, "rounded-xl", "p-4", "min-h-[180px]", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mb-3"], [1, "w-3", "h-3", "rounded-full", "bg-green-500"], [1, "text-sm", "font-semibold", "mb-0!", 3, "ngClass"], [1, "text-xs", "mb-3", 3, "ngClass"], [1, "space-y-2"], ["type", "button", 1, "w-full", "text-left", "p-2", "rounded-lg", "text-sm", "transition-all", "hover:scale-[1.02]", 3, "ngClass"], [1, "text-xs", "text-center", "py-4", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-amber-500"], [1, "w-3", "h-3", "rounded-full", "bg-blue-500"], [1, "w-3", "h-3", "rounded-full", "bg-slate-400"], [1, "flex", "items-center", "justify-center", "relative", "h-6"], [1, "absolute", "inset-x-0", "top-1/2", "-translate-y-1/2", "h-0.5", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "px-2", "py-1", "rounded-md", "z-10", 3, "ngClass"], ["type", "button", 1, "w-full", "text-left", "p-2", "rounded-lg", "text-sm", "transition-all", "hover:scale-[1.02]", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "line-clamp-1", "flex-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0", "opacity-60"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"]], template: function UnifiedPriorityMatrixComponent_Template(rf, ctx) { if (rf & 1) {
102551
+ i0.ɵɵconditionalCreate(0, UnifiedPriorityMatrixComponent_Conditional_0_Template, 61, 31, "section", 0);
102506
102552
  } if (rf & 2) {
102507
102553
  i0.ɵɵconditional(ctx.hasGoals() ? 0 : -1);
102508
102554
  } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent], encapsulation: 2, changeDetection: 0 }); }
@@ -102528,135 +102574,134 @@ class UnifiedPriorityMatrixComponent {
102528
102574
  />
102529
102575
 
102530
102576
  <div [ngClass]="containerClasses()" class="rounded-2xl p-6 shadow-xl">
102531
- <div class="grid grid-cols-2 gap-4 relative">
102532
- <div [ngClass]="axisLabelClasses()" class="absolute -left-2 top-1/2 -translate-y-1/2 -rotate-90 text-xs font-semibold uppercase tracking-wider whitespace-nowrap origin-center">
102533
- Impact
102534
- </div>
102535
- <div [ngClass]="axisLabelClasses()" class="absolute bottom-0 left-1/2 -translate-x-1/2 translate-y-6 text-xs font-semibold uppercase tracking-wider">
102536
- Effort
102537
- </div>
102538
-
102539
- <!-- Quick Wins: High Impact / Low Effort -->
102540
- <div [ngClass]="getQuadrantClasses('quick-wins')" class="rounded-xl p-4 min-h-[180px]">
102541
- <div class="flex items-center gap-2 mb-3">
102542
- <div class="w-3 h-3 rounded-full bg-green-500"></div>
102543
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Quick Wins</h4>
102544
- </div>
102545
- <p [ngClass]="subtitleClasses()" class="text-xs mb-3">High Impact / Low Effort</p>
102546
- <div class="space-y-2">
102547
- @for (goal of matrix().quickWins.slice(0, 3); track goal.id) {
102548
- <button
102549
- type="button"
102550
- [ngClass]="getGoalClasses('quickWins')"
102551
- class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102552
- (click)="onGoalClick(goal)">
102553
- <div class="flex items-center gap-2">
102554
- <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102555
- @if ((goal.sourceAnalyses?.length ?? 0) > 0) {
102556
- <span [ngClass]="sourceIndicatorClasses()" class="text-xs">{{ (goal.sourceAnalyses?.length ?? 0) }}</span>
102557
- }
102558
- </div>
102559
- </button>
102560
- }
102561
- @if (matrix().quickWins.length > 3) {
102562
- <div [ngClass]="moreGoalsClasses()" class="text-xs text-center">+{{ matrix().quickWins.length - 3 }} more</div>
102563
- }
102564
- @if (matrix().quickWins.length === 0) {
102565
- <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102566
- }
102577
+ <div class="flex gap-4">
102578
+ <div class="flex flex-col items-center justify-center relative w-6">
102579
+ <div [ngClass]="axisLineClasses()" class="absolute inset-y-0 left-1/2 -translate-x-1/2 w-0.5"></div>
102580
+ <div [ngClass]="axisLabelBgClasses()" class="-rotate-90 text-xs font-semibold uppercase tracking-wider whitespace-nowrap px-2 py-1 rounded-md z-10">
102581
+ <span [ngClass]="axisLabelClasses()">Impact</span>
102567
102582
  </div>
102568
102583
  </div>
102569
102584
 
102570
- <!-- Major Projects: High Impact / High Effort -->
102571
- <div [ngClass]="getQuadrantClasses('major-projects')" class="rounded-xl p-4 min-h-[180px]">
102572
- <div class="flex items-center gap-2 mb-3">
102573
- <div class="w-3 h-3 rounded-full bg-amber-500"></div>
102574
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Major Projects</h4>
102575
- </div>
102576
- <p [ngClass]="subtitleClasses()" class="text-xs mb-3">High Impact / High Effort</p>
102577
- <div class="space-y-2">
102578
- @for (goal of matrix().majorProjects.slice(0, 3); track goal.id) {
102579
- <button
102580
- type="button"
102581
- [ngClass]="getGoalClasses('majorProjects')"
102582
- class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102583
- (click)="onGoalClick(goal)">
102584
- <div class="flex items-center gap-2">
102585
- <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102586
- @if ((goal.sourceAnalyses?.length ?? 0) > 0) {
102587
- <span [ngClass]="sourceIndicatorClasses()" class="text-xs">{{ (goal.sourceAnalyses?.length ?? 0) }}</span>
102588
- }
102589
- </div>
102590
- </button>
102591
- }
102592
- @if (matrix().majorProjects.length > 3) {
102593
- <div [ngClass]="moreGoalsClasses()" class="text-xs text-center">+{{ matrix().majorProjects.length - 3 }} more</div>
102594
- }
102595
- @if (matrix().majorProjects.length === 0) {
102596
- <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102597
- }
102598
- </div>
102599
- </div>
102585
+ <div class="flex-1 flex flex-col gap-4">
102586
+ <div class="grid grid-cols-2 gap-4">
102587
+ <!-- Quick Wins: High Impact / Low Effort -->
102588
+ <div [ngClass]="getQuadrantClasses('quick-wins')" class="rounded-xl p-4 min-h-[180px]">
102589
+ <div class="flex items-center gap-2 mb-3">
102590
+ <div class="w-3 h-3 rounded-full bg-green-500"></div>
102591
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold mb-0!">Quick Wins</h4>
102592
+ </div>
102593
+ <p [ngClass]="subtitleClasses()" class="text-xs mb-3">High Impact / Low Effort</p>
102594
+ <div class="space-y-2">
102595
+ @for (goal of matrix().quickWins; track goal.id) {
102596
+ <button
102597
+ type="button"
102598
+ [ngClass]="getGoalClasses('quickWins')"
102599
+ class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102600
+ (click)="onGoalClick(goal)">
102601
+ <div class="flex items-center gap-2">
102602
+ <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102603
+ <svg class="w-4 h-4 flex-shrink-0 opacity-60" fill="none" stroke="currentColor" viewBox="0 0 24 24">
102604
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
102605
+ </svg>
102606
+ </div>
102607
+ </button>
102608
+ }
102609
+ @if (matrix().quickWins.length === 0) {
102610
+ <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102611
+ }
102612
+ </div>
102613
+ </div>
102600
102614
 
102601
- <!-- Fill-Ins: Low Impact / Low Effort -->
102602
- <div [ngClass]="getQuadrantClasses('fill-ins')" class="rounded-xl p-4 min-h-[180px]">
102603
- <div class="flex items-center gap-2 mb-3">
102604
- <div class="w-3 h-3 rounded-full bg-blue-500"></div>
102605
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Fill-Ins</h4>
102606
- </div>
102607
- <p [ngClass]="subtitleClasses()" class="text-xs mb-3">Low Impact / Low Effort</p>
102608
- <div class="space-y-2">
102609
- @for (goal of matrix().fillIns.slice(0, 3); track goal.id) {
102610
- <button
102611
- type="button"
102612
- [ngClass]="getGoalClasses('fillIns')"
102613
- class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102614
- (click)="onGoalClick(goal)">
102615
- <div class="flex items-center gap-2">
102616
- <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102617
- @if ((goal.sourceAnalyses?.length ?? 0) > 0) {
102618
- <span [ngClass]="sourceIndicatorClasses()" class="text-xs">{{ (goal.sourceAnalyses?.length ?? 0) }}</span>
102619
- }
102620
- </div>
102621
- </button>
102622
- }
102623
- @if (matrix().fillIns.length > 3) {
102624
- <div [ngClass]="moreGoalsClasses()" class="text-xs text-center">+{{ matrix().fillIns.length - 3 }} more</div>
102625
- }
102626
- @if (matrix().fillIns.length === 0) {
102627
- <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102628
- }
102629
- </div>
102630
- </div>
102615
+ <!-- Major Projects: High Impact / High Effort -->
102616
+ <div [ngClass]="getQuadrantClasses('major-projects')" class="rounded-xl p-4 min-h-[180px]">
102617
+ <div class="flex items-center gap-2 mb-3">
102618
+ <div class="w-3 h-3 rounded-full bg-amber-500"></div>
102619
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold mb-0!">Major Projects</h4>
102620
+ </div>
102621
+ <p [ngClass]="subtitleClasses()" class="text-xs mb-3">High Impact / High Effort</p>
102622
+ <div class="space-y-2">
102623
+ @for (goal of matrix().majorProjects; track goal.id) {
102624
+ <button
102625
+ type="button"
102626
+ [ngClass]="getGoalClasses('majorProjects')"
102627
+ class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102628
+ (click)="onGoalClick(goal)">
102629
+ <div class="flex items-center gap-2">
102630
+ <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102631
+ <svg class="w-4 h-4 flex-shrink-0 opacity-60" fill="none" stroke="currentColor" viewBox="0 0 24 24">
102632
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
102633
+ </svg>
102634
+ </div>
102635
+ </button>
102636
+ }
102637
+ @if (matrix().majorProjects.length === 0) {
102638
+ <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102639
+ }
102640
+ </div>
102641
+ </div>
102631
102642
 
102632
- <!-- Time Permitting: Low Impact / High Effort -->
102633
- <div [ngClass]="getQuadrantClasses('time-permitting')" class="rounded-xl p-4 min-h-[180px]">
102634
- <div class="flex items-center gap-2 mb-3">
102635
- <div class="w-3 h-3 rounded-full bg-slate-400"></div>
102636
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Time Permitting</h4>
102643
+ <!-- Fill-Ins: Low Impact / Low Effort -->
102644
+ <div [ngClass]="getQuadrantClasses('fill-ins')" class="rounded-xl p-4 min-h-[180px]">
102645
+ <div class="flex items-center gap-2 mb-3">
102646
+ <div class="w-3 h-3 rounded-full bg-blue-500"></div>
102647
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold mb-0!">Fill-Ins</h4>
102648
+ </div>
102649
+ <p [ngClass]="subtitleClasses()" class="text-xs mb-3">Low Impact / Low Effort</p>
102650
+ <div class="space-y-2">
102651
+ @for (goal of matrix().fillIns; track goal.id) {
102652
+ <button
102653
+ type="button"
102654
+ [ngClass]="getGoalClasses('fillIns')"
102655
+ class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102656
+ (click)="onGoalClick(goal)">
102657
+ <div class="flex items-center gap-2">
102658
+ <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102659
+ <svg class="w-4 h-4 flex-shrink-0 opacity-60" fill="none" stroke="currentColor" viewBox="0 0 24 24">
102660
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
102661
+ </svg>
102662
+ </div>
102663
+ </button>
102664
+ }
102665
+ @if (matrix().fillIns.length === 0) {
102666
+ <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102667
+ }
102668
+ </div>
102669
+ </div>
102670
+
102671
+ <!-- Time Permitting: Low Impact / High Effort -->
102672
+ <div [ngClass]="getQuadrantClasses('time-permitting')" class="rounded-xl p-4 min-h-[180px]">
102673
+ <div class="flex items-center gap-2 mb-3">
102674
+ <div class="w-3 h-3 rounded-full bg-slate-400"></div>
102675
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold mb-0!">Time Permitting</h4>
102676
+ </div>
102677
+ <p [ngClass]="subtitleClasses()" class="text-xs mb-3">Low Impact / High Effort</p>
102678
+ <div class="space-y-2">
102679
+ @for (goal of matrix().thankless; track goal.id) {
102680
+ <button
102681
+ type="button"
102682
+ [ngClass]="getGoalClasses('thankless')"
102683
+ class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102684
+ (click)="onGoalClick(goal)">
102685
+ <div class="flex items-center gap-2">
102686
+ <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102687
+ <svg class="w-4 h-4 flex-shrink-0 opacity-60" fill="none" stroke="currentColor" viewBox="0 0 24 24">
102688
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
102689
+ </svg>
102690
+ </div>
102691
+ </button>
102692
+ }
102693
+ @if (matrix().thankless.length === 0) {
102694
+ <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102695
+ }
102696
+ </div>
102697
+ </div>
102637
102698
  </div>
102638
- <p [ngClass]="subtitleClasses()" class="text-xs mb-3">Low Impact / High Effort</p>
102639
- <div class="space-y-2">
102640
- @for (goal of matrix().thankless.slice(0, 3); track goal.id) {
102641
- <button
102642
- type="button"
102643
- [ngClass]="getGoalClasses('thankless')"
102644
- class="w-full text-left p-2 rounded-lg text-sm transition-all hover:scale-[1.02]"
102645
- (click)="onGoalClick(goal)">
102646
- <div class="flex items-center gap-2">
102647
- <span class="line-clamp-1 flex-1">{{ goal.title }}</span>
102648
- @if ((goal.sourceAnalyses?.length ?? 0) > 0) {
102649
- <span [ngClass]="sourceIndicatorClasses()" class="text-xs">{{ (goal.sourceAnalyses?.length ?? 0) }}</span>
102650
- }
102651
- </div>
102652
- </button>
102653
- }
102654
- @if (matrix().thankless.length > 3) {
102655
- <div [ngClass]="moreGoalsClasses()" class="text-xs text-center">+{{ matrix().thankless.length - 3 }} more</div>
102656
- }
102657
- @if (matrix().thankless.length === 0) {
102658
- <div [ngClass]="emptyClasses()" class="text-xs text-center py-4">No goals</div>
102659
- }
102699
+
102700
+ <div class="flex items-center justify-center relative h-6">
102701
+ <div [ngClass]="axisLineHorizontalClasses()" class="absolute inset-x-0 top-1/2 -translate-y-1/2 h-0.5"></div>
102702
+ <div [ngClass]="axisLabelBgClasses()" class="text-xs font-semibold uppercase tracking-wider px-2 py-1 rounded-md z-10">
102703
+ <span [ngClass]="axisLabelClasses()">Effort</span>
102704
+ </div>
102660
102705
  </div>
102661
102706
  </div>
102662
102707
  </div>
@@ -102666,7 +102711,7 @@ class UnifiedPriorityMatrixComponent {
102666
102711
  `
102667
102712
  }]
102668
102713
  }], null, { matrix: [{ type: i0.Input, args: [{ isSignal: true, alias: "matrix", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], goalClick: [{ type: i0.Output, args: ["goalClick"] }] }); })();
102669
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedPriorityMatrixComponent, { className: "UnifiedPriorityMatrixComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-priority-matrix.component.ts", lineNumber: 171 }); })();
102714
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedPriorityMatrixComponent, { className: "UnifiedPriorityMatrixComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-priority-matrix.component.ts", lineNumber: 170 }); })();
102670
102715
 
102671
102716
  const _c0$9 = a0 => ({ name: "arrow-right-circle", source: a0 });
102672
102717
  const _forTrack0$9 = ($index, $item) => $item.title;
@@ -102715,6 +102760,64 @@ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_10_Template(r
102715
102760
  i0.ɵɵadvance(3);
102716
102761
  i0.ɵɵrepeater(step_r1.strategies);
102717
102762
  } }
102763
+ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_11_Template(rf, ctx) { if (rf & 1) {
102764
+ const _r4 = i0.ɵɵgetCurrentView();
102765
+ i0.ɵɵelementStart(0, "div", 11)(1, "div", 12);
102766
+ i0.ɵɵtext(2, " Linked Goal ");
102767
+ i0.ɵɵelementEnd();
102768
+ i0.ɵɵelementStart(3, "div", 18);
102769
+ i0.ɵɵlistener("click", function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_11_Template_div_click_3_listener() { i0.ɵɵrestoreView(_r4); const step_r1 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalChipClick(ctx_r1.getLinkedGoal(step_r1))); });
102770
+ i0.ɵɵelementStart(4, "span", 19);
102771
+ i0.ɵɵtext(5);
102772
+ i0.ɵɵelementEnd();
102773
+ i0.ɵɵnamespaceSVG();
102774
+ i0.ɵɵelementStart(6, "svg", 20);
102775
+ i0.ɵɵelement(7, "path", 21);
102776
+ i0.ɵɵelementEnd()()();
102777
+ } if (rf & 2) {
102778
+ const step_r1 = i0.ɵɵnextContext().$implicit;
102779
+ const ctx_r1 = i0.ɵɵnextContext(2);
102780
+ i0.ɵɵproperty("ngClass", ctx_r1.borderClasses());
102781
+ i0.ɵɵadvance();
102782
+ i0.ɵɵproperty("ngClass", ctx_r1.strategiesLabelClasses());
102783
+ i0.ɵɵadvance(2);
102784
+ i0.ɵɵproperty("ngClass", ctx_r1.goalChipClasses());
102785
+ i0.ɵɵadvance(2);
102786
+ i0.ɵɵtextInterpolate(ctx_r1.getLinkedGoal(step_r1).title);
102787
+ } }
102788
+ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_For_5_Template(rf, ctx) { if (rf & 1) {
102789
+ i0.ɵɵelementStart(0, "div", 23)(1, "span", 24);
102790
+ i0.ɵɵtext(2);
102791
+ i0.ɵɵelementEnd();
102792
+ i0.ɵɵtext(3);
102793
+ i0.ɵɵelementEnd();
102794
+ } if (rf & 2) {
102795
+ const domain_r5 = ctx.$implicit;
102796
+ const ctx_r1 = i0.ɵɵnextContext(4);
102797
+ i0.ɵɵproperty("ngClass", ctx_r1.domainChipClasses());
102798
+ i0.ɵɵadvance();
102799
+ i0.ɵɵproperty("ngClass", ctx_r1.tooltipClasses());
102800
+ i0.ɵɵadvance();
102801
+ i0.ɵɵtextInterpolate(ctx_r1.getDomainSubtitle(domain_r5));
102802
+ i0.ɵɵadvance();
102803
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.getDomainTitle(domain_r5), " ");
102804
+ } }
102805
+ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
102806
+ i0.ɵɵelementStart(0, "div", 11)(1, "div", 12);
102807
+ i0.ɵɵtext(2, " Related Domains ");
102808
+ i0.ɵɵelementEnd();
102809
+ i0.ɵɵelementStart(3, "div", 22);
102810
+ i0.ɵɵrepeaterCreate(4, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_For_5_Template, 4, 4, "div", 23, i0.ɵɵrepeaterTrackByIdentity);
102811
+ i0.ɵɵelementEnd()();
102812
+ } if (rf & 2) {
102813
+ const step_r1 = i0.ɵɵnextContext().$implicit;
102814
+ const ctx_r1 = i0.ɵɵnextContext(2);
102815
+ i0.ɵɵproperty("ngClass", ctx_r1.borderClasses());
102816
+ i0.ɵɵadvance();
102817
+ i0.ɵɵproperty("ngClass", ctx_r1.strategiesLabelClasses());
102818
+ i0.ɵɵadvance(3);
102819
+ i0.ɵɵrepeater(step_r1.relatedDomains);
102820
+ } }
102718
102821
  function UnifiedNextStepsComponent_Conditional_0_For_5_Template(rf, ctx) { if (rf & 1) {
102719
102822
  i0.ɵɵelementStart(0, "div", 4)(1, "div", 5)(2, "div", 6);
102720
102823
  i0.ɵɵtext(3);
@@ -102727,20 +102830,22 @@ function UnifiedNextStepsComponent_Conditional_0_For_5_Template(rf, ctx) { if (r
102727
102830
  i0.ɵɵelementEnd()()();
102728
102831
  i0.ɵɵconditionalCreate(9, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_9_Template, 2, 2, "p", 10);
102729
102832
  i0.ɵɵconditionalCreate(10, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_10_Template, 6, 2, "div", 11);
102833
+ i0.ɵɵconditionalCreate(11, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_11_Template, 8, 4, "div", 11);
102834
+ i0.ɵɵconditionalCreate(12, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_Template, 6, 2, "div", 11);
102730
102835
  i0.ɵɵelementEnd();
102731
102836
  } if (rf & 2) {
102732
102837
  const step_r1 = ctx.$implicit;
102733
- const ɵ$index_10_r4 = ctx.$index;
102838
+ const ɵ$index_10_r6 = ctx.$index;
102734
102839
  const ctx_r1 = i0.ɵɵnextContext(2);
102735
- i0.ɵɵproperty("ngClass", ctx_r1.getCardClasses(ɵ$index_10_r4));
102840
+ i0.ɵɵproperty("ngClass", ctx_r1.getCardClasses(ɵ$index_10_r6));
102736
102841
  i0.ɵɵadvance(2);
102737
- i0.ɵɵproperty("ngClass", ctx_r1.getNumberClasses(ɵ$index_10_r4));
102842
+ i0.ɵɵproperty("ngClass", ctx_r1.getNumberClasses(ɵ$index_10_r6));
102738
102843
  i0.ɵɵadvance();
102739
- i0.ɵɵtextInterpolate1(" ", ɵ$index_10_r4 + 1, " ");
102844
+ i0.ɵɵtextInterpolate1(" ", ɵ$index_10_r6 + 1, " ");
102740
102845
  i0.ɵɵadvance(2);
102741
- i0.ɵɵproperty("ngClass", ctx_r1.getCategoryClasses(ɵ$index_10_r4));
102846
+ i0.ɵɵproperty("ngClass", ctx_r1.getCategoryClasses(ɵ$index_10_r6));
102742
102847
  i0.ɵɵadvance();
102743
- i0.ɵɵtextInterpolate1(" ", ctx_r1.getCategory(ɵ$index_10_r4), " ");
102848
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.getCategory(ɵ$index_10_r6), " ");
102744
102849
  i0.ɵɵadvance();
102745
102850
  i0.ɵɵproperty("ngClass", ctx_r1.titleClasses());
102746
102851
  i0.ɵɵadvance();
@@ -102749,12 +102854,16 @@ function UnifiedNextStepsComponent_Conditional_0_For_5_Template(rf, ctx) { if (r
102749
102854
  i0.ɵɵconditional(step_r1.description ? 9 : -1);
102750
102855
  i0.ɵɵadvance();
102751
102856
  i0.ɵɵconditional(step_r1.strategies && step_r1.strategies.length > 0 ? 10 : -1);
102857
+ i0.ɵɵadvance();
102858
+ i0.ɵɵconditional(ctx_r1.getLinkedGoal(step_r1) ? 11 : -1);
102859
+ i0.ɵɵadvance();
102860
+ i0.ɵɵconditional(step_r1.relatedDomains && step_r1.relatedDomains.length > 0 ? 12 : -1);
102752
102861
  } }
102753
102862
  function UnifiedNextStepsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
102754
102863
  i0.ɵɵelementStart(0, "section", 0);
102755
102864
  i0.ɵɵelement(1, "symphiq-section-divider", 1)(2, "symphiq-section-header", 2);
102756
102865
  i0.ɵɵelementStart(3, "div", 3);
102757
- i0.ɵɵrepeaterCreate(4, UnifiedNextStepsComponent_Conditional_0_For_5_Template, 11, 9, "div", 4, _forTrack0$9);
102866
+ i0.ɵɵrepeaterCreate(4, UnifiedNextStepsComponent_Conditional_0_For_5_Template, 13, 11, "div", 4, _forTrack0$9);
102758
102867
  i0.ɵɵelementEnd()();
102759
102868
  } if (rf & 2) {
102760
102869
  const ctx_r1 = i0.ɵɵnextContext();
@@ -102769,6 +102878,8 @@ class UnifiedNextStepsComponent {
102769
102878
  constructor() {
102770
102879
  this.steps = input.required(...(ngDevMode ? [{ debugName: "steps" }] : []));
102771
102880
  this.viewMode = input(ViewModeEnum.DARK, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
102881
+ this.goals = input([], ...(ngDevMode ? [{ debugName: "goals" }] : []));
102882
+ this.goalClick = output();
102772
102883
  this.IconSourceEnum = IconSourceEnum;
102773
102884
  this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
102774
102885
  this.titleClasses = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "titleClasses" }] : []));
@@ -102776,6 +102887,15 @@ class UnifiedNextStepsComponent {
102776
102887
  this.borderClasses = computed(() => this.isLightMode() ? 'border-slate-200' : 'border-slate-700', ...(ngDevMode ? [{ debugName: "borderClasses" }] : []));
102777
102888
  this.strategiesLabelClasses = computed(() => this.isLightMode() ? 'text-slate-500' : 'text-slate-400', ...(ngDevMode ? [{ debugName: "strategiesLabelClasses" }] : []));
102778
102889
  this.strategyItemClasses = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-300', ...(ngDevMode ? [{ debugName: "strategyItemClasses" }] : []));
102890
+ this.goalChipClasses = computed(() => this.isLightMode()
102891
+ ? 'bg-violet-50 border border-violet-200 text-violet-700 hover:bg-violet-100'
102892
+ : 'bg-violet-900/30 border border-violet-700/50 text-violet-300', ...(ngDevMode ? [{ debugName: "goalChipClasses" }] : []));
102893
+ this.domainChipClasses = computed(() => this.isLightMode()
102894
+ ? 'bg-slate-100 text-slate-700 border border-slate-200 hover:bg-slate-200'
102895
+ : 'bg-slate-700/50 text-slate-300 border border-slate-600 hover:bg-slate-700', ...(ngDevMode ? [{ debugName: "domainChipClasses" }] : []));
102896
+ this.tooltipClasses = computed(() => this.isLightMode()
102897
+ ? 'bg-slate-800 text-white [&::after]:border-t-slate-800 [&::after]:border-x-transparent [&::after]:border-b-transparent'
102898
+ : 'bg-slate-200 text-slate-900 [&::after]:border-t-slate-200 [&::after]:border-x-transparent [&::after]:border-b-transparent', ...(ngDevMode ? [{ debugName: "tooltipClasses" }] : []));
102779
102899
  }
102780
102900
  getCategory(idx) {
102781
102901
  if (idx === 0)
@@ -102832,21 +102952,30 @@ class UnifiedNextStepsComponent {
102832
102952
  return 'text-slate-400';
102833
102953
  }
102834
102954
  }
102955
+ getLinkedGoal(step) {
102956
+ if (!step.linkedGoalId)
102957
+ return undefined;
102958
+ return this.goals().find(g => g.id === step.linkedGoalId);
102959
+ }
102960
+ onGoalChipClick(goal) {
102961
+ this.goalClick.emit(goal);
102962
+ }
102963
+ getDomainTitle(domain) {
102964
+ return FocusAreaDomainEnumUtil.title(domain);
102965
+ }
102966
+ getDomainSubtitle(domain) {
102967
+ return FocusAreaDomainEnumUtil.subtitle(domain);
102968
+ }
102835
102969
  static { this.ɵfac = function UnifiedNextStepsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedNextStepsComponent)(); }; }
102836
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedNextStepsComponent, selectors: [["symphiq-unified-next-steps"]], inputs: { steps: [1, "steps"], viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [["id", "section-next-steps", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Next Steps", 3, "icon", "viewMode"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-6"], [1, "rounded-2xl", "p-6", "shadow-lg", "transition-all", "hover:shadow-xl", 3, "ngClass"], [1, "flex", "items-start", "gap-4", "mb-4"], [1, "w-10", "h-10", "rounded-full", "flex", "items-center", "justify-center", "text-lg", "font-bold", "flex-shrink-0", 3, "ngClass"], [1, "flex-1"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-base", "font-semibold", "line-clamp-2", 3, "ngClass"], [1, "text-sm", "mb-4", "line-clamp-3", 3, "ngClass"], [1, "mt-4", "pt-4", "border-t", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "mt-0.5", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "line-clamp-2"]], template: function UnifiedNextStepsComponent_Template(rf, ctx) { if (rf & 1) {
102970
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedNextStepsComponent, selectors: [["symphiq-unified-next-steps"]], inputs: { steps: [1, "steps"], viewMode: [1, "viewMode"], goals: [1, "goals"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-next-steps", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Next Steps", 3, "icon", "viewMode"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-6"], [1, "rounded-2xl", "p-6", "shadow-lg", "transition-all", "hover:shadow-xl", 3, "ngClass"], [1, "flex", "items-start", "gap-4", "mb-4"], [1, "w-10", "h-10", "rounded-full", "flex", "items-center", "justify-center", "text-lg", "font-bold", "flex-shrink-0", 3, "ngClass"], [1, "flex-1"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-base", "font-semibold", "line-clamp-2", 3, "ngClass"], [1, "text-sm", "mb-4", "line-clamp-3", 3, "ngClass"], [1, "mt-4", "pt-4", "border-t", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "mt-0.5", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "line-clamp-2"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "click", "ngClass"], [1, "text-sm", "font-medium", "line-clamp-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "flex", "flex-wrap", "gap-2"], [1, "domain-chip", "px-2", "py-1", "rounded-md", "text-xs", "font-medium", 3, "ngClass"], [1, "tooltip", 3, "ngClass"]], template: function UnifiedNextStepsComponent_Template(rf, ctx) { if (rf & 1) {
102837
102971
  i0.ɵɵconditionalCreate(0, UnifiedNextStepsComponent_Conditional_0_Template, 6, 8, "section", 0);
102838
102972
  } if (rf & 2) {
102839
102973
  i0.ɵɵconditional(ctx.steps().length > 0 ? 0 : -1);
102840
- } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent], encapsulation: 2, changeDetection: 0 }); }
102974
+ } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent], styles: [".goal-chip[_ngcontent-%COMP%]{transition:all .3s ease}.goal-chip[_ngcontent-%COMP%]:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}.domain-chip[_ngcontent-%COMP%]{position:relative}.domain-chip[_ngcontent-%COMP%] .tooltip[_ngcontent-%COMP%]{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:50;transition:opacity .2s ease,visibility .2s ease;margin-bottom:6px}.domain-chip[_ngcontent-%COMP%] .tooltip[_ngcontent-%COMP%]:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid}.domain-chip[_ngcontent-%COMP%]:hover .tooltip[_ngcontent-%COMP%]{visibility:visible;opacity:1}"], changeDetection: 0 }); }
102841
102975
  }
102842
102976
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnifiedNextStepsComponent, [{
102843
102977
  type: Component,
102844
- args: [{
102845
- selector: 'symphiq-unified-next-steps',
102846
- standalone: true,
102847
- imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent],
102848
- changeDetection: ChangeDetectionStrategy.OnPush,
102849
- template: `
102978
+ args: [{ selector: 'symphiq-unified-next-steps', standalone: true, imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
102850
102979
  @if (steps().length > 0) {
102851
102980
  <section id="section-next-steps" class="space-y-6 scroll-mt-24">
102852
102981
  <symphiq-section-divider
@@ -102899,15 +103028,47 @@ class UnifiedNextStepsComponent {
102899
103028
  </div>
102900
103029
  </div>
102901
103030
  }
103031
+
103032
+ @if (getLinkedGoal(step)) {
103033
+ <div class="mt-4 pt-4 border-t" [ngClass]="borderClasses()">
103034
+ <div [ngClass]="strategiesLabelClasses()" class="text-xs font-semibold uppercase mb-2">
103035
+ Linked Goal
103036
+ </div>
103037
+ <div
103038
+ [ngClass]="goalChipClasses()"
103039
+ class="goal-chip flex items-center justify-between gap-2 px-3 py-2 rounded-lg cursor-pointer"
103040
+ (click)="onGoalChipClick(getLinkedGoal(step)!)">
103041
+ <span class="text-sm font-medium line-clamp-1">{{ getLinkedGoal(step)!.title }}</span>
103042
+ <svg class="w-4 h-4 flex-shrink-0" fill="none" stroke="currentColor" viewBox="0 0 24 24">
103043
+ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
103044
+ </svg>
103045
+ </div>
103046
+ </div>
103047
+ }
103048
+
103049
+ @if (step.relatedDomains && step.relatedDomains.length > 0) {
103050
+ <div class="mt-4 pt-4 border-t" [ngClass]="borderClasses()">
103051
+ <div [ngClass]="strategiesLabelClasses()" class="text-xs font-semibold uppercase mb-2">
103052
+ Related Domains
103053
+ </div>
103054
+ <div class="flex flex-wrap gap-2">
103055
+ @for (domain of step.relatedDomains; track domain) {
103056
+ <div [ngClass]="domainChipClasses()" class="domain-chip px-2 py-1 rounded-md text-xs font-medium">
103057
+ <span [ngClass]="tooltipClasses()" class="tooltip">{{ getDomainSubtitle(domain) }}</span>
103058
+ {{ getDomainTitle(domain) }}
103059
+ </div>
103060
+ }
103061
+ </div>
103062
+ </div>
103063
+ }
102902
103064
  </div>
102903
103065
  }
102904
103066
  </div>
102905
103067
  </section>
102906
103068
  }
102907
- `
102908
- }]
102909
- }], null, { steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
102910
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedNextStepsComponent, { className: "UnifiedNextStepsComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-next-steps.component.ts", lineNumber: 79 }); })();
103069
+ `, styles: [".goal-chip{transition:all .3s ease}.goal-chip:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}.domain-chip{position:relative}.domain-chip .tooltip{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:50;transition:opacity .2s ease,visibility .2s ease;margin-bottom:6px}.domain-chip .tooltip:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid}.domain-chip:hover .tooltip{visibility:visible;opacity:1}\n"] }]
103070
+ }], null, { steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], goals: [{ type: i0.Input, args: [{ isSignal: true, alias: "goals", required: false }] }], goalClick: [{ type: i0.Output, args: ["goalClick"] }] }); })();
103071
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedNextStepsComponent, { className: "UnifiedNextStepsComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-next-steps.component.ts", lineNumber: 155 }); })();
102911
103072
 
102912
103073
  function SynthesisConfidenceSectionComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
102913
103074
  i0.ɵɵelementStart(0, "p", 8);
@@ -103743,7 +103904,7 @@ function UnifiedDashboardModalComponent_Conditional_0_Conditional_25_Template(rf
103743
103904
  i0.ɵɵelement(0, "symphiq-strategy-recommendations-modal-content", 25);
103744
103905
  } if (rf & 2) {
103745
103906
  const ctx_r1 = i0.ɵɵnextContext(2);
103746
- i0.ɵɵproperty("strategy", ctx_r1.recommendationsData().strategy)("viewMode", ctx_r1.viewMode())("allMetrics", ctx_r1.allMetricsFromStack())("allCharts", ctx_r1.allChartsFromStack())("allInsights", ctx_r1.allInsightsFromStack())("goalTitle", ctx_r1.recommendationsData().goalTitle)("objectiveTitle", ctx_r1.recommendationsData().objectiveTitle);
103907
+ i0.ɵɵproperty("strategy", ctx_r1.recommendationsData().strategy)("viewMode", ctx_r1.viewMode())("allMetrics", ctx_r1.allMetricsFromStack())("allCharts", ctx_r1.allChartsFromStack())("allInsights", ctx_r1.allInsightsFromStack())("goalTitle", ctx_r1.recommendationsData().goalTitle)("objectiveTitle", ctx_r1.recommendationsData().objectiveTitle)("currentModalState", ctx_r1.currentModalState());
103747
103908
  } }
103748
103909
  function UnifiedDashboardModalComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
103749
103910
  const _r1 = i0.ɵɵgetCurrentView();
@@ -103774,7 +103935,7 @@ function UnifiedDashboardModalComponent_Conditional_0_Template(rf, ctx) { if (rf
103774
103935
  i0.ɵɵconditionalCreate(22, UnifiedDashboardModalComponent_Conditional_0_Conditional_22_Template, 1, 4, "symphiq-goal-objectives-modal-content", 22);
103775
103936
  i0.ɵɵconditionalCreate(23, UnifiedDashboardModalComponent_Conditional_0_Conditional_23_Template, 1, 3, "symphiq-unified-goal-related-metrics-modal-content", 23);
103776
103937
  i0.ɵɵconditionalCreate(24, UnifiedDashboardModalComponent_Conditional_0_Conditional_24_Template, 1, 2, "symphiq-objective-strategies-modal-content", 24);
103777
- i0.ɵɵconditionalCreate(25, UnifiedDashboardModalComponent_Conditional_0_Conditional_25_Template, 1, 7, "symphiq-strategy-recommendations-modal-content", 25);
103938
+ i0.ɵɵconditionalCreate(25, UnifiedDashboardModalComponent_Conditional_0_Conditional_25_Template, 1, 8, "symphiq-strategy-recommendations-modal-content", 25);
103778
103939
  i0.ɵɵelementEnd()()();
103779
103940
  } if (rf & 2) {
103780
103941
  let tmp_16_0;
@@ -103974,6 +104135,13 @@ class UnifiedDashboardModalComponent {
103974
104135
  const open = this.isOpen();
103975
104136
  if (open) {
103976
104137
  this.modalReady.set(false);
104138
+ console.log('[UnifiedDashboardModal] Modal opening - z-index info:', {
104139
+ modalType: this.modalType(),
104140
+ modalDepth: this.modalDepth(),
104141
+ baseZIndex: this.baseZIndex(),
104142
+ contentZIndex: this.contentZIndex(),
104143
+ previousStateType: this.previousState()?.type
104144
+ });
103977
104145
  setTimeout(() => {
103978
104146
  this.moveModalToBody();
103979
104147
  this.modalReady.set(true);
@@ -104021,6 +104189,7 @@ class UnifiedDashboardModalComponent {
104021
104189
  this.modalData.set(data);
104022
104190
  this.modalTitle.set(data.goal.title || 'Unified Goal');
104023
104191
  this.isOpen.set(true);
104192
+ this.scrollContentToTop();
104024
104193
  }
104025
104194
  else if (state.type === 'unified-goal-objectives' && state.data) {
104026
104195
  const data = state.data;
@@ -104028,6 +104197,7 @@ class UnifiedDashboardModalComponent {
104028
104197
  this.modalData.set(data);
104029
104198
  this.modalTitle.set(data.goal.title || 'Objectives');
104030
104199
  this.isOpen.set(true);
104200
+ this.scrollContentToTop();
104031
104201
  }
104032
104202
  else if (state.type === 'unified-goal-related-metrics' && state.data) {
104033
104203
  const data = state.data;
@@ -104035,6 +104205,7 @@ class UnifiedDashboardModalComponent {
104035
104205
  this.modalData.set(data);
104036
104206
  this.modalTitle.set('Related Metrics for ' + (data.goal.title || 'Goal'));
104037
104207
  this.isOpen.set(true);
104208
+ this.scrollContentToTop();
104038
104209
  }
104039
104210
  else if (state.type === 'objective-strategies' && state.data) {
104040
104211
  const data = state.data;
@@ -104042,6 +104213,7 @@ class UnifiedDashboardModalComponent {
104042
104213
  this.modalData.set(data);
104043
104214
  this.modalTitle.set(data.objective.title || 'Strategies');
104044
104215
  this.isOpen.set(true);
104216
+ this.scrollContentToTop();
104045
104217
  }
104046
104218
  else if (state.type === 'strategy-recommendations' && state.data) {
104047
104219
  const data = state.data;
@@ -104049,6 +104221,7 @@ class UnifiedDashboardModalComponent {
104049
104221
  this.modalData.set(data);
104050
104222
  this.modalTitle.set(data.strategy.title || 'Recommendations');
104051
104223
  this.isOpen.set(true);
104224
+ this.scrollContentToTop();
104052
104225
  }
104053
104226
  else if (state.type === null) {
104054
104227
  this.isOpen.set(false);
@@ -104179,6 +104352,13 @@ class UnifiedDashboardModalComponent {
104179
104352
  }
104180
104353
  this.modalMovedToBody = false;
104181
104354
  }
104355
+ scrollContentToTop() {
104356
+ setTimeout(() => {
104357
+ if (this.modalContent?.nativeElement) {
104358
+ this.modalContent.nativeElement.scrollTop = 0;
104359
+ }
104360
+ }, 0);
104361
+ }
104182
104362
  static { this.ɵfac = function UnifiedDashboardModalComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedDashboardModalComponent)(); }; }
104183
104363
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedDashboardModalComponent, selectors: [["symphiq-unified-dashboard-modal"]], viewQuery: function UnifiedDashboardModalComponent_Query(rf, ctx) { if (rf & 1) {
104184
104364
  i0.ɵɵviewQuery(_c0$8, 5)(_c1$4, 5);
@@ -104186,7 +104366,7 @@ class UnifiedDashboardModalComponent {
104186
104366
  let _t;
104187
104367
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalContent = _t.first);
104188
104368
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalWrapper = _t.first);
104189
- } }, inputs: { viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto", 3, "z-index", "visibility"], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", 3, "click", "ngClass"], [1, "relative", "w-full", "max-w-4xl", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex", "items-start", "gap-3", "flex-1", "min-w-0"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-1.5", "mb-2", "text-xs"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xl", "font-bold", "leading-tight", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "ml-4", "flex-shrink-0"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", "flex-shrink-0", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "px-6", "py-8", "max-h-[80vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [3, "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "objectives", "goalTitle", "viewMode"], [3, "goal", "contributingMetrics", "viewMode"], [3, "objective", "viewMode"], [3, "strategy", "viewMode", "allMetrics", "allCharts", "allInsights", "goalTitle", "objectiveTitle"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M15 19l-7-7 7-7"], [1, "font-medium", 3, "ngClass"], ["type", "button", 1, "hover:underline", "cursor-pointer", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "sourceAnalysisClick", "metricClick", "contributingMetricsClick", "showObjectives", "close", "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "metricClick", "goal", "contributingMetrics", "viewMode"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
104369
+ } }, inputs: { viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto", 3, "z-index", "visibility"], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", 3, "click", "ngClass"], [1, "relative", "w-full", "max-w-4xl", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex", "items-start", "gap-3", "flex-1", "min-w-0"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-1.5", "mb-2", "text-xs"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xl", "font-bold", "leading-tight", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "ml-4", "flex-shrink-0"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", "flex-shrink-0", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "px-6", "py-8", "max-h-[80vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [3, "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "objectives", "goalTitle", "viewMode"], [3, "goal", "contributingMetrics", "viewMode"], [3, "objective", "viewMode"], [3, "strategy", "viewMode", "allMetrics", "allCharts", "allInsights", "goalTitle", "objectiveTitle", "currentModalState"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M15 19l-7-7 7-7"], [1, "font-medium", 3, "ngClass"], ["type", "button", 1, "hover:underline", "cursor-pointer", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "sourceAnalysisClick", "metricClick", "contributingMetricsClick", "showObjectives", "close", "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "metricClick", "goal", "contributingMetrics", "viewMode"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
104190
104370
  i0.ɵɵconditionalCreate(0, UnifiedDashboardModalComponent_Conditional_0_Template, 26, 28, "div", 2);
104191
104371
  } if (rf & 2) {
104192
104372
  i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
@@ -104382,6 +104562,7 @@ class UnifiedDashboardModalComponent {
104382
104562
  [allInsights]="allInsightsFromStack()"
104383
104563
  [goalTitle]="recommendationsData()!.goalTitle"
104384
104564
  [objectiveTitle]="recommendationsData()!.objectiveTitle"
104565
+ [currentModalState]="currentModalState()"
104385
104566
  />
104386
104567
  }
104387
104568
  </div>
@@ -104397,7 +104578,7 @@ class UnifiedDashboardModalComponent {
104397
104578
  type: ViewChild,
104398
104579
  args: ['modalWrapper']
104399
104580
  }] }); })();
104400
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedDashboardModalComponent, { className: "UnifiedDashboardModalComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-dashboard-modal.component.ts", lineNumber: 216 }); })();
104581
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedDashboardModalComponent, { className: "UnifiedDashboardModalComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-dashboard-modal.component.ts", lineNumber: 217 }); })();
104401
104582
 
104402
104583
  const _c0$7 = () => [];
104403
104584
  const _c1$3 = a0 => ({ name: "flag", source: a0 });
@@ -104469,7 +104650,9 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104469
104650
  i0.ɵɵelementStart(16, "symphiq-unified-priority-matrix", 33);
104470
104651
  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)); });
104471
104652
  i0.ɵɵelementEnd();
104472
- i0.ɵɵelement(17, "symphiq-unified-next-steps", 34);
104653
+ i0.ɵɵelementStart(17, "symphiq-unified-next-steps", 34);
104654
+ i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_next_steps_goalClick_17_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
104655
+ i0.ɵɵelementEnd();
104473
104656
  } if (rf & 2) {
104474
104657
  const ctx_r1 = i0.ɵɵnextContext(2);
104475
104658
  i0.ɵɵadvance();
@@ -104495,7 +104678,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104495
104678
  i0.ɵɵadvance();
104496
104679
  i0.ɵɵproperty("matrix", ctx_r1.priorityMatrix())("viewMode", ctx_r1.viewMode());
104497
104680
  i0.ɵɵadvance();
104498
- i0.ɵɵproperty("steps", ctx_r1.nextSteps())("viewMode", ctx_r1.viewMode());
104681
+ i0.ɵɵproperty("steps", ctx_r1.nextSteps())("viewMode", ctx_r1.viewMode())("goals", ctx_r1.unifiedGoals());
104499
104682
  } }
104500
104683
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
104501
104684
  i0.ɵɵelement(0, "symphiq-grade-badge", 46);
@@ -104537,7 +104720,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104537
104720
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
104538
104721
  i0.ɵɵelementStart(0, "main", 18);
104539
104722
  i0.ɵɵconditionalCreate(1, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_1_Template, 1, 2, "symphiq-loading-card", 19);
104540
- i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 18, 22);
104723
+ i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 18, 23);
104541
104724
  i0.ɵɵconditionalCreate(3, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Template, 1, 1);
104542
104725
  i0.ɵɵelementEnd();
104543
104726
  } if (rf & 2) {
@@ -104843,7 +105026,9 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
104843
105026
  return nextStepsData.forUser.slice(0, 5).map(step => ({
104844
105027
  title: step.action || '',
104845
105028
  description: step.timeframe ? `Timeframe: ${step.timeframe}` : '',
104846
- strategies: []
105029
+ strategies: [],
105030
+ linkedGoalId: step.linkedGoalId,
105031
+ relatedDomains: step.relatedDomains
104847
105032
  }));
104848
105033
  }, ...(ngDevMode ? [{ debugName: "nextSteps" }] : []));
104849
105034
  this.shouldShowReviewFooter = computed(() => {
@@ -105342,7 +105527,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105342
105527
  static { this.ɵfac = function SymphiqProfileAnalysisUnifiedDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileAnalysisUnifiedDashboardComponent)(); }; }
105343
105528
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileAnalysisUnifiedDashboardComponent, selectors: [["symphiq-profile-analysis-unified-dashboard"]], hostBindings: function SymphiqProfileAnalysisUnifiedDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
105344
105529
  i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisUnifiedDashboardComponent_scroll_HostBindingHandler() { return ctx.onScroll(); }, i0.ɵɵresolveWindow);
105345
- } }, 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) {
105530
+ } }, 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, "goalClick", "steps", "viewMode", "goals"], [3, "viewMode", "sectionIcon"], ["title", "Unified Goals", 3, "icon", "viewMode"], [1, "grid", "gap-6", 2, "grid-template-columns", "repeat(auto-fit, minmax(340px, 1fr))"], [3, "goal", "viewMode"], [3, "goalClick", "sourceBadgeClick", "relatedMetricsClick", "learnMoreClick", "goal", "viewMode"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [3, "close", "isLightMode", "isOpen"], [3, "close", "modeSelected", "viewMode", "currentMode", "isOpen"], [3, "markAsReviewed", "viewMode", "selfContentStatus", "isLoading"]], template: function SymphiqProfileAnalysisUnifiedDashboardComponent_Template(rf, ctx) { if (rf & 1) {
105346
105531
  i0.ɵɵelementStart(0, "div", 0);
105347
105532
  i0.ɵɵelement(1, "div", 1)(2, "symphiq-scroll-progress-bar", 2);
105348
105533
  i0.ɵɵelementStart(3, "div", 3)(4, "symphiq-dashboard-header", 4);
@@ -105588,6 +105773,8 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105588
105773
  <symphiq-unified-next-steps
105589
105774
  [steps]="nextSteps()"
105590
105775
  [viewMode]="viewMode()"
105776
+ [goals]="unifiedGoals()"
105777
+ (goalClick)="onGoalClick($event)"
105591
105778
  />
105592
105779
  }
105593
105780
 
@@ -105709,7 +105896,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105709
105896
  type: HostListener,
105710
105897
  args: ['window:scroll']
105711
105898
  }] }); })();
105712
- (() => { (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 }); })();
105899
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisUnifiedDashboardComponent, { className: "SymphiqProfileAnalysisUnifiedDashboardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/symphiq-profile-analysis-unified-dashboard.component.ts", lineNumber: 376 }); })();
105713
105900
 
105714
105901
  function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
105715
105902
  const _r1 = i0.ɵɵgetCurrentView();