@eric-emg/symphiq-components 1.3.57 → 1.3.59

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.
@@ -9027,7 +9027,7 @@ class MetricCardComponent {
9027
9027
  }
9028
9028
  }
9029
9029
  static { this.ɵfac = function MetricCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MetricCardComponent)(); }; }
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) {
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) {
9031
9031
  i0.ɵɵconditionalCreate(0, MetricCardComponent_Conditional_0_Template, 17, 32, "div", 0)(1, MetricCardComponent_Conditional_1_Template, 47, 56, "div", 1);
9032
9032
  } if (rf & 2) {
9033
9033
  i0.ɵɵconditional(ctx.isLoading() ? 0 : 1);
@@ -9104,7 +9104,7 @@ class MetricCardComponent {
9104
9104
  <div class="flex items-start justify-between mb-5">
9105
9105
  <div class="flex-1">
9106
9106
  <div class="flex items-center gap-2 mb-1.5 flex-wrap">
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>
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>
9108
9108
  @if (isFunnelStage()) {
9109
9109
  <span
9110
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'"
@@ -22043,7 +22043,7 @@ class MobileFABComponent {
22043
22043
  this.expandedChange.emit(false);
22044
22044
  }
22045
22045
  static { this.ɵfac = function MobileFABComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MobileFABComponent)(); }; }
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-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) {
22047
22047
  i0.ɵɵelementStart(0, "div", 0);
22048
22048
  i0.ɵɵconditionalCreate(1, MobileFABComponent_Conditional_1_Template, 7, 3, "div", 1);
22049
22049
  i0.ɵɵelementStart(2, "button", 2);
@@ -22063,54 +22063,54 @@ class MobileFABComponent {
22063
22063
  }
22064
22064
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MobileFABComponent, [{
22065
22065
  type: Component,
22066
- args: [{ selector: 'symphiq-mobile-fab', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], template: `
22067
- <div class="fixed bottom-24 right-4 z-40 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>
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>
22114
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"] }]
22115
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"] }] }); })();
22116
22116
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MobileFABComponent, { className: "MobileFABComponent", filePath: "lib/components/funnel-analysis-dashboard/mobile-fab.component.ts", lineNumber: 75 }); })();
@@ -30168,7 +30168,7 @@ class GoalDetailModalContentComponent {
30168
30168
  }
30169
30169
  }
30170
30170
  static { this.ɵfac = function GoalDetailModalContentComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GoalDetailModalContentComponent)(); }; }
30171
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GoalDetailModalContentComponent, selectors: [["symphiq-goal-detail-modal-content"]], inputs: { goal: [1, "goal"], viewMode: [1, "viewMode"], allInsights: [1, "allInsights"], allMetrics: [1, "allMetrics"], allBusinessInsights: [1, "allBusinessInsights"], allCharts: [1, "allCharts"] }, outputs: { showObjectives: "showObjectives" }, decls: 8, vars: 7, consts: [[1, "flex", "flex-col", "lg:flex-row", "gap-6"], [1, "flex-1"], [1, "text-sm", "mb-6", "leading-relaxed", 3, "ngClass"], [1, "mb-6"], [3, "buttonClick", "viewMode"], [1, "lg:w-80", "flex-shrink-0", "flex", "flex-col", "gap-6"], [3, "expectedImpact", "viewMode"], [3, "funnelInsightsClicked", "funnelMetricsClicked", "businessInsightsClicked", "relatedContent", "viewMode"], [3, "visual", "viewMode"]], template: function GoalDetailModalContentComponent_Template(rf, ctx) { if (rf & 1) {
30171
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GoalDetailModalContentComponent, selectors: [["symphiq-goal-detail-modal-content"]], inputs: { goal: [1, "goal"], viewMode: [1, "viewMode"], allInsights: [1, "allInsights"], allMetrics: [1, "allMetrics"], allBusinessInsights: [1, "allBusinessInsights"], allCharts: [1, "allCharts"] }, outputs: { showObjectives: "showObjectives" }, decls: 8, vars: 7, consts: [[1, "flex", "flex-col", "lg:flex-row", "gap-6"], [1, "flex-1"], [1, "text-sm", "mb-6", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "mb-6"], [3, "buttonClick", "viewMode"], [1, "lg:w-80", "flex-shrink-0", "flex", "flex-col", "gap-6"], [3, "expectedImpact", "viewMode"], [3, "funnelInsightsClicked", "funnelMetricsClicked", "businessInsightsClicked", "relatedContent", "viewMode"], [3, "visual", "viewMode"]], template: function GoalDetailModalContentComponent_Template(rf, ctx) { if (rf & 1) {
30172
30172
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
30173
30173
  i0.ɵɵconditionalCreate(2, GoalDetailModalContentComponent_Conditional_2_Template, 2, 2, "p", 2);
30174
30174
  i0.ɵɵconditionalCreate(3, GoalDetailModalContentComponent_Conditional_3_Template, 2, 2, "div", 3);
@@ -30206,7 +30206,7 @@ class GoalDetailModalContentComponent {
30206
30206
  <div class="flex-1">
30207
30207
  <!-- Goal Description -->
30208
30208
  @if (goal().description) {
30209
- <p [ngClass]="descriptionClasses()" class="text-sm mb-6 leading-relaxed">
30209
+ <p [ngClass]="descriptionClasses()" class="text-sm mb-6 leading-relaxed whitespace-pre-line">
30210
30210
  {{ goal()!.description }}
30211
30211
  </p>
30212
30212
  }
@@ -44856,6 +44856,7 @@ class ProfileAnalysisModalComponent {
44856
44856
  this.modalService.openInsightModal(insight, insightCharts, previousState);
44857
44857
  }
44858
44858
  openMetricDetail(metric) {
44859
+ const metricEnum = metric.metric;
44859
44860
  const metricId = metric.performanceItemId;
44860
44861
  const currentState = this.getCurrentModalState();
44861
44862
  // Combine charts from both allCharts() and current modal state
@@ -44872,9 +44873,34 @@ class ProfileAnalysisModalComponent {
44872
44873
  }
44873
44874
  }
44874
44875
  }
44875
- 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);
44876
44878
  this.modalService.openMetricModal(metric, metricCharts, currentState);
44877
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
+ }
44878
44904
  formatMetricName(name) {
44879
44905
  return name.replace(/_/g, ' ').toLowerCase().replace(/\b\w/g, l => l.toUpperCase());
44880
44906
  }
@@ -100787,83 +100813,148 @@ class SymphiqProfileAnalysisFocusAreaDashboardComponent {
100787
100813
  }] }); })();
100788
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 }); })();
100789
100815
 
100790
- function SourceSummaryComponent_Conditional_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {
100791
- 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);
100792
100818
  i0.ɵɵnamespaceSVG();
100793
- i0.ɵɵelementStart(1, "svg", 4);
100794
- i0.ɵɵelement(2, "path", 5);
100819
+ i0.ɵɵelementStart(1, "svg", 5);
100820
+ i0.ɵɵelement(2, "path", 6);
100795
100821
  i0.ɵɵelementEnd();
100796
100822
  i0.ɵɵnamespaceHTML();
100797
- i0.ɵɵelementStart(3, "span", 6);
100823
+ i0.ɵɵelementStart(3, "span", 7);
100798
100824
  i0.ɵɵtext(4);
100799
100825
  i0.ɵɵelementEnd()();
100800
100826
  } if (rf & 2) {
100801
- const ctx_r0 = i0.ɵɵnextContext(2);
100827
+ const ctx_r0 = i0.ɵɵnextContext(3);
100802
100828
  i0.ɵɵproperty("ngClass", ctx_r0.sourceTypeClasses())("libSymphiqTooltip", "Shop Goals: Number of shop-level goals contributing to this unified goal");
100803
100829
  i0.ɵɵadvance(4);
100804
100830
  i0.ɵɵtextInterpolate(ctx_r0.sourceTypeCounts().shop);
100805
100831
  } }
100806
- function SourceSummaryComponent_Conditional_0_Conditional_5_Template(rf, ctx) { if (rf & 1) {
100807
- 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);
100808
100834
  i0.ɵɵnamespaceSVG();
100809
- i0.ɵɵelementStart(1, "svg", 4);
100810
- i0.ɵɵelement(2, "path", 7);
100835
+ i0.ɵɵelementStart(1, "svg", 5);
100836
+ i0.ɵɵelement(2, "path", 8);
100811
100837
  i0.ɵɵelementEnd();
100812
100838
  i0.ɵɵnamespaceHTML();
100813
- i0.ɵɵelementStart(3, "span", 6);
100839
+ i0.ɵɵelementStart(3, "span", 7);
100814
100840
  i0.ɵɵtext(4);
100815
100841
  i0.ɵɵelementEnd()();
100816
100842
  } if (rf & 2) {
100817
- const ctx_r0 = i0.ɵɵnextContext(2);
100843
+ const ctx_r0 = i0.ɵɵnextContext(3);
100818
100844
  i0.ɵɵproperty("ngClass", ctx_r0.sourceTypeClasses())("libSymphiqTooltip", "Focus Area Goals: Number of focus area goals contributing to this unified goal");
100819
100845
  i0.ɵɵadvance(4);
100820
100846
  i0.ɵɵtextInterpolate(ctx_r0.sourceTypeCounts().focusArea);
100821
100847
  } }
100822
- function SourceSummaryComponent_Conditional_0_Conditional_6_Template(rf, ctx) { if (rf & 1) {
100823
- 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);
100824
100850
  i0.ɵɵnamespaceSVG();
100825
- i0.ɵɵelementStart(1, "svg", 4);
100826
- i0.ɵɵelement(2, "path", 8);
100851
+ i0.ɵɵelementStart(1, "svg", 5);
100852
+ i0.ɵɵelement(2, "path", 9);
100827
100853
  i0.ɵɵelementEnd();
100828
100854
  i0.ɵɵnamespaceHTML();
100829
- i0.ɵɵelementStart(3, "span", 6);
100855
+ i0.ɵɵelementStart(3, "span", 7);
100830
100856
  i0.ɵɵtext(4);
100831
100857
  i0.ɵɵelementEnd()();
100832
100858
  } if (rf & 2) {
100833
- const ctx_r0 = i0.ɵɵnextContext(2);
100859
+ const ctx_r0 = i0.ɵɵnextContext(3);
100834
100860
  i0.ɵɵproperty("ngClass", ctx_r0.sourceTypeClasses())("libSymphiqTooltip", "Metric Goals: Number of metric-based goals contributing to this unified goal");
100835
100861
  i0.ɵɵadvance(4);
100836
100862
  i0.ɵɵtextInterpolate(ctx_r0.sourceTypeCounts().metric);
100837
100863
  } }
100838
- function SourceSummaryComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
100839
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "span", 2);
100840
- 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);
100841
100871
  i0.ɵɵelementEnd();
100842
- i0.ɵɵconditionalCreate(4, SourceSummaryComponent_Conditional_0_Conditional_4_Template, 5, 3, "div", 3);
100843
- i0.ɵɵconditionalCreate(5, SourceSummaryComponent_Conditional_0_Conditional_5_Template, 5, 3, "div", 3);
100844
- i0.ɵɵconditionalCreate(6, SourceSummaryComponent_Conditional_0_Conditional_6_Template, 5, 3, "div", 3);
100845
- i0.ɵɵelementEnd()();
100846
100872
  } if (rf & 2) {
100847
- const ctx_r0 = i0.ɵɵnextContext();
100848
- i0.ɵɵproperty("ngClass", ctx_r0.borderClasses());
100873
+ const ctx_r0 = i0.ɵɵnextContext(2);
100874
+ i0.ɵɵadvance();
100875
+ i0.ɵɵproperty("ngClass", ctx_r0.sourceLabelClasses());
100849
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();
100850
100925
  i0.ɵɵproperty("ngClass", ctx_r0.sourceLabelClasses());
100851
100926
  i0.ɵɵadvance(2);
100852
- i0.ɵɵconditional(ctx_r0.sourceTypeCounts().shop > 0 ? 4 : -1);
100927
+ i0.ɵɵconditional(ctx_r0.contributingCounts().metrics > 0 ? 3 : -1);
100853
100928
  i0.ɵɵadvance();
100854
- 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);
100855
100941
  i0.ɵɵadvance();
100856
- i0.ɵɵconditional(ctx_r0.sourceTypeCounts().metric > 0 ? 6 : -1);
100942
+ i0.ɵɵconditional(ctx_r0.hasContributingData() ? 3 : -1);
100857
100943
  } }
100858
100944
  class SourceSummaryComponent {
100859
100945
  constructor() {
100860
100946
  this.sourceTypeCounts = input({ shop: 0, focusArea: 0, metric: 0 }, ...(ngDevMode ? [{ debugName: "sourceTypeCounts" }] : []));
100947
+ this.contributingCounts = input({ metrics: 0, focusAreas: 0 }, ...(ngDevMode ? [{ debugName: "contributingCounts" }] : []));
100861
100948
  this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
100862
100949
  this.isDark = computed(() => this.viewMode() === ViewModeEnum.DARK, ...(ngDevMode ? [{ debugName: "isDark" }] : []));
100863
100950
  this.hasSourceData = computed(() => {
100864
100951
  const counts = this.sourceTypeCounts();
100865
100952
  return counts.shop > 0 || counts.focusArea > 0 || counts.metric > 0;
100866
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" }] : []));
100867
100958
  this.borderClasses = computed(() => {
100868
100959
  return this.isDark() ? 'border-slate-700/50' : 'border-slate-200';
100869
100960
  }, ...(ngDevMode ? [{ debugName: "borderClasses" }] : []));
@@ -100875,10 +100966,10 @@ class SourceSummaryComponent {
100875
100966
  }, ...(ngDevMode ? [{ debugName: "sourceTypeClasses" }] : []));
100876
100967
  }
100877
100968
  static { this.ɵfac = function SourceSummaryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SourceSummaryComponent)(); }; }
100878
- 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) {
100879
- 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);
100880
100971
  } if (rf & 2) {
100881
- i0.ɵɵconditional(ctx.hasSourceData() ? 0 : -1);
100972
+ i0.ɵɵconditional(ctx.hasSourceData() || ctx.hasContributingData() ? 0 : -1);
100882
100973
  } }, dependencies: [CommonModule, i1$1.NgClass, TooltipDirective], encapsulation: 2, changeDetection: 0 }); }
100883
100974
  }
100884
100975
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SourceSummaryComponent, [{
@@ -100889,44 +100980,77 @@ class SourceSummaryComponent {
100889
100980
  imports: [CommonModule, TooltipDirective],
100890
100981
  changeDetection: ChangeDetectionStrategy.OnPush,
100891
100982
  template: `
100892
- @if (hasSourceData()) {
100983
+ @if (hasSourceData() || hasContributingData()) {
100893
100984
  <div class="mt-4 pt-4 border-t" [ngClass]="borderClasses()">
100894
- <div class="flex items-center gap-3 flex-wrap">
100895
- <span [ngClass]="sourceLabelClasses()" class="text-xs font-semibold uppercase tracking-wider">Source</span>
100896
- @if (sourceTypeCounts().shop > 0) {
100897
- <div
100898
- class="flex items-center gap-1.5 cursor-help"
100899
- [ngClass]="sourceTypeClasses()"
100900
- [libSymphiqTooltip]="'Shop Goals: Number of shop-level goals contributing to this unified goal'">
100901
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
100902
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100903
- 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>
100904
- </svg>
100905
- <span class="text-sm font-medium">{{ sourceTypeCounts().shop }}</span>
100906
- </div>
100907
- }
100908
- @if (sourceTypeCounts().focusArea > 0) {
100909
- <div
100910
- class="flex items-center gap-1.5 cursor-help"
100911
- [ngClass]="sourceTypeClasses()"
100912
- [libSymphiqTooltip]="'Focus Area Goals: Number of focus area goals contributing to this unified goal'">
100913
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
100914
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100915
- 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>
100916
- </svg>
100917
- <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
+ }
100918
101025
  </div>
100919
101026
  }
100920
- @if (sourceTypeCounts().metric > 0) {
100921
- <div
100922
- class="flex items-center gap-1.5 cursor-help"
100923
- [ngClass]="sourceTypeClasses()"
100924
- [libSymphiqTooltip]="'Metric Goals: Number of metric-based goals contributing to this unified goal'">
100925
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
100926
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
100927
- 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>
100928
- </svg>
100929
- <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
+ }
100930
101054
  </div>
100931
101055
  }
100932
101056
  </div>
@@ -100934,8 +101058,8 @@ class SourceSummaryComponent {
100934
101058
  }
100935
101059
  `
100936
101060
  }]
100937
- }], null, { sourceTypeCounts: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceTypeCounts", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }] }); })();
100938
- (() => { (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 }); })();
100939
101063
 
100940
101064
  function ThematicCategoryBadgeComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
100941
101065
  i0.ɵɵelementStart(0, "span", 0);
@@ -100995,7 +101119,7 @@ class ThematicCategoryBadgeComponent {
100995
101119
 
100996
101120
  function UnifiedGoalCardComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
100997
101121
  i0.ɵɵelementStart(0, "div", 8);
100998
- i0.ɵɵelement(1, "symphiq-thematic-category-badge", 18);
101122
+ i0.ɵɵelement(1, "symphiq-thematic-category-badge", 17);
100999
101123
  i0.ɵɵelementEnd();
101000
101124
  } if (rf & 2) {
101001
101125
  const ctx_r0 = i0.ɵɵnextContext();
@@ -101014,7 +101138,7 @@ function UnifiedGoalCardComponent_Conditional_11_Template(rf, ctx) { if (rf & 1)
101014
101138
  } }
101015
101139
  function UnifiedGoalCardComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
101016
101140
  i0.ɵɵelementStart(0, "div", 10);
101017
- i0.ɵɵelement(1, "symphiq-roadmap-metrics", 19);
101141
+ i0.ɵɵelement(1, "symphiq-roadmap-metrics", 18);
101018
101142
  i0.ɵɵelementEnd();
101019
101143
  } if (rf & 2) {
101020
101144
  const ctx_r0 = i0.ɵɵnextContext();
@@ -101037,23 +101161,7 @@ function UnifiedGoalCardComponent_Conditional_16_Template(rf, ctx) { if (rf & 1)
101037
101161
  i0.ɵɵelement(0, "symphiq-source-summary", 14);
101038
101162
  } if (rf & 2) {
101039
101163
  const ctx_r0 = i0.ɵɵnextContext();
101040
- i0.ɵɵproperty("sourceTypeCounts", ctx_r0.sourceTypeCounts())("viewMode", ctx_r0.viewMode());
101041
- } }
101042
- function UnifiedGoalCardComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
101043
- const _r2 = i0.ɵɵgetCurrentView();
101044
- i0.ɵɵelementStart(0, "div", 20);
101045
- 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)); });
101046
- i0.ɵɵnamespaceSVG();
101047
- i0.ɵɵelementStart(1, "svg", 21);
101048
- i0.ɵɵelement(2, "path", 22);
101049
- i0.ɵɵelementEnd();
101050
- i0.ɵɵtext(3);
101051
- i0.ɵɵelementEnd();
101052
- } if (rf & 2) {
101053
- const ctx_r0 = i0.ɵɵnextContext();
101054
- i0.ɵɵproperty("ngClass", ctx_r0.relatedContextButtonClasses());
101055
- i0.ɵɵadvance(3);
101056
- i0.ɵɵtextInterpolate1(" ", ctx_r0.relatedContextLabel(), " ");
101164
+ i0.ɵɵproperty("sourceTypeCounts", ctx_r0.sourceTypeCounts())("contributingCounts", ctx_r0.contributingCounts())("viewMode", ctx_r0.viewMode());
101057
101165
  } }
101058
101166
  class UnifiedGoalCardComponent {
101059
101167
  constructor() {
@@ -101116,18 +101224,12 @@ class UnifiedGoalCardComponent {
101116
101224
  const focusAreasCount = this.goal()?.contributingFocusAreaDomains?.length ?? 0;
101117
101225
  return metricsCount > 0 || focusAreasCount > 0;
101118
101226
  }, ...(ngDevMode ? [{ debugName: "hasRelatedContext" }] : []));
101119
- this.relatedContextLabel = computed(() => {
101120
- const metricsCount = this.goal()?.contributingMetrics?.length ?? 0;
101121
- const focusAreasCount = this.goal()?.contributingFocusAreaDomains?.length ?? 0;
101122
- const items = [];
101123
- if (metricsCount > 0) {
101124
- items.push(`${metricsCount} Metric${metricsCount === 1 ? '' : 's'}`);
101125
- }
101126
- if (focusAreasCount > 0) {
101127
- items.push(`${focusAreasCount} Focus Area${focusAreasCount === 1 ? '' : 's'}`);
101128
- }
101129
- return items.join(' · ');
101130
- }, ...(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" }] : []));
101131
101233
  this.roadmapMetrics = computed(() => {
101132
101234
  const g = this.goal();
101133
101235
  if (!g)
@@ -101173,12 +101275,6 @@ class UnifiedGoalCardComponent {
101173
101275
  this.descriptionClasses = computed(() => {
101174
101276
  return this.isDark() ? 'text-slate-300' : 'text-slate-600';
101175
101277
  }, ...(ngDevMode ? [{ debugName: "descriptionClasses" }] : []));
101176
- this.relatedContextButtonClasses = computed(() => {
101177
- if (this.isDark()) {
101178
- return 'bg-slate-700/50 hover:bg-slate-700/70 border border-slate-600/50 text-slate-300';
101179
- }
101180
- return 'bg-slate-100 hover:bg-slate-200 border border-slate-300 text-slate-700';
101181
- }, ...(ngDevMode ? [{ debugName: "relatedContextButtonClasses" }] : []));
101182
101278
  }
101183
101279
  getSourceBadgeClasses(analysisType) {
101184
101280
  if (this.isDark()) {
@@ -101211,14 +101307,6 @@ class UnifiedGoalCardComponent {
101211
101307
  this.sourceBadgeClick.emit({ source, goal: g });
101212
101308
  }
101213
101309
  }
101214
- onRelatedContextButtonClick(event) {
101215
- event.stopPropagation();
101216
- const g = this.goal();
101217
- if (g) {
101218
- this.relatedMetricsClick.emit(g);
101219
- this.relatedFocusAreasClick.emit(g);
101220
- }
101221
- }
101222
101310
  onLearnMoreClick() {
101223
101311
  const g = this.goal();
101224
101312
  if (g) {
@@ -101226,7 +101314,7 @@ class UnifiedGoalCardComponent {
101226
101314
  }
101227
101315
  }
101228
101316
  static { this.ɵfac = function UnifiedGoalCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedGoalCardComponent)(); }; }
101229
- 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) {
101230
101318
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
101231
101319
  i0.ɵɵnamespaceSVG();
101232
101320
  i0.ɵɵelementStart(3, "svg", 3);
@@ -101246,10 +101334,9 @@ class UnifiedGoalCardComponent {
101246
101334
  i0.ɵɵconditionalCreate(14, UnifiedGoalCardComponent_Conditional_14_Template, 1, 2, "symphiq-priority-badge", 12);
101247
101335
  i0.ɵɵconditionalCreate(15, UnifiedGoalCardComponent_Conditional_15_Template, 1, 2, "symphiq-timeframe-badge", 13);
101248
101336
  i0.ɵɵelementEnd();
101249
- i0.ɵɵconditionalCreate(16, UnifiedGoalCardComponent_Conditional_16_Template, 1, 2, "symphiq-source-summary", 14);
101250
- i0.ɵɵconditionalCreate(17, UnifiedGoalCardComponent_Conditional_17_Template, 4, 2, "div", 15);
101251
- i0.ɵɵelementStart(18, "div", 16)(19, "symphiq-learn-more-button", 17);
101252
- 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(); });
101253
101340
  i0.ɵɵelementEnd()()();
101254
101341
  } if (rf & 2) {
101255
101342
  let tmp_4_0;
@@ -101278,9 +101365,7 @@ class UnifiedGoalCardComponent {
101278
101365
  i0.ɵɵadvance();
101279
101366
  i0.ɵɵconditional(((tmp_9_0 = ctx.goal()) == null ? null : tmp_9_0.timeframe) ? 15 : -1);
101280
101367
  i0.ɵɵadvance();
101281
- i0.ɵɵconditional((((tmp_10_0 = ctx.goal()) == null ? null : tmp_10_0.sourceAnalyses == null ? null : tmp_10_0.sourceAnalyses.length) ?? 0) > 0 ? 16 : -1);
101282
- i0.ɵɵadvance();
101283
- 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);
101284
101369
  i0.ɵɵadvance(2);
101285
101370
  i0.ɵɵproperty("viewMode", ctx.viewMode())("variant", "button")("label", "Learn More");
101286
101371
  } }, dependencies: [CommonModule, i1$1.NgClass, PriorityBadgeComponent,
@@ -101364,26 +101449,14 @@ class UnifiedGoalCardComponent {
101364
101449
  }
101365
101450
  </div>
101366
101451
 
101367
- @if ((goal()?.sourceAnalyses?.length ?? 0) > 0) {
101452
+ @if ((goal()?.sourceAnalyses?.length ?? 0) > 0 || hasRelatedContext()) {
101368
101453
  <symphiq-source-summary
101369
101454
  [sourceTypeCounts]="sourceTypeCounts()"
101455
+ [contributingCounts]="contributingCounts()"
101370
101456
  [viewMode]="viewMode()"
101371
101457
  />
101372
101458
  }
101373
101459
 
101374
- @if (hasRelatedContext()) {
101375
- <div
101376
- [ngClass]="relatedContextButtonClasses()"
101377
- 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]"
101378
- (click)="onRelatedContextButtonClick($event)">
101379
- <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
101380
- <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
101381
- d="M13 10V3L4 14h7v7l9-11h-7z"></path>
101382
- </svg>
101383
- {{ relatedContextLabel() }}
101384
- </div>
101385
- }
101386
-
101387
101460
  <div class="mt-4">
101388
101461
  <symphiq-learn-more-button
101389
101462
  [viewMode]="viewMode()"
@@ -101396,7 +101469,7 @@ class UnifiedGoalCardComponent {
101396
101469
  `
101397
101470
  }]
101398
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"] }] }); })();
101399
- (() => { (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 }); })();
101400
101473
 
101401
101474
  const _c0$c = a0 => ({ name: "chevron-right", source: a0 });
101402
101475
  const _c1$5 = a0 => ({ name: "chevron-down", source: a0 });
@@ -101610,41 +101683,35 @@ function UnifiedExecutiveSummaryComponent_Conditional_0_Template(rf, ctx) { if (
101610
101683
  i0.ɵɵelementStart(15, "div", 11);
101611
101684
  i0.ɵɵtext(16);
101612
101685
  i0.ɵɵelementEnd()();
101613
- i0.ɵɵelementStart(17, "div", 12);
101614
- i0.ɵɵnamespaceSVG();
101615
- i0.ɵɵelementStart(18, "svg", 13);
101616
- i0.ɵɵelement(19, "path", 14);
101617
- i0.ɵɵelementEnd()()();
101618
- i0.ɵɵnamespaceHTML();
101619
- i0.ɵɵelementStart(20, "div", 15)(21, "div", 16)(22, "div", 17);
101620
- i0.ɵɵtext(23, "Shop");
101686
+ i0.ɵɵelementStart(17, "div", 12)(18, "div", 13)(19, "div", 14);
101687
+ i0.ɵɵtext(20, "Shop");
101621
101688
  i0.ɵɵelementEnd();
101622
- i0.ɵɵelementStart(24, "div", 18);
101623
- i0.ɵɵtext(25);
101689
+ i0.ɵɵelementStart(21, "div", 15);
101690
+ i0.ɵɵtext(22);
101624
101691
  i0.ɵɵelementEnd();
101625
- i0.ɵɵelementStart(26, "div", 18);
101626
- i0.ɵɵtext(27);
101692
+ i0.ɵɵelementStart(23, "div", 15);
101693
+ i0.ɵɵtext(24);
101627
101694
  i0.ɵɵelementEnd()();
101628
- i0.ɵɵelementStart(28, "div", 16)(29, "div", 17);
101629
- i0.ɵɵtext(30, "Focus Area");
101695
+ i0.ɵɵelementStart(25, "div", 13)(26, "div", 14);
101696
+ i0.ɵɵtext(27, "Focus Area");
101630
101697
  i0.ɵɵelementEnd();
101631
- i0.ɵɵelementStart(31, "div", 18);
101632
- i0.ɵɵtext(32);
101698
+ i0.ɵɵelementStart(28, "div", 15);
101699
+ i0.ɵɵtext(29);
101633
101700
  i0.ɵɵelementEnd();
101634
- i0.ɵɵelementStart(33, "div", 18);
101635
- i0.ɵɵtext(34);
101701
+ i0.ɵɵelementStart(30, "div", 15);
101702
+ i0.ɵɵtext(31);
101636
101703
  i0.ɵɵelementEnd()();
101637
- i0.ɵɵelementStart(35, "div", 16)(36, "div", 17);
101638
- i0.ɵɵtext(37, "Metric");
101704
+ i0.ɵɵelementStart(32, "div", 13)(33, "div", 14);
101705
+ i0.ɵɵtext(34, "Metric");
101639
101706
  i0.ɵɵelementEnd();
101640
- i0.ɵɵelementStart(38, "div", 18);
101641
- i0.ɵɵtext(39);
101707
+ i0.ɵɵelementStart(35, "div", 15);
101708
+ i0.ɵɵtext(36);
101642
101709
  i0.ɵɵelementEnd();
101643
- i0.ɵɵelementStart(40, "div", 18);
101644
- i0.ɵɵtext(41);
101645
- i0.ɵɵelementEnd()()();
101646
- i0.ɵɵelementStart(42, "symphiq-executive-summary-stats-grid", 19);
101647
- 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()); });
101648
101715
  i0.ɵɵelementEnd()()()();
101649
101716
  } if (rf & 2) {
101650
101717
  const summary_r2 = ctx;
@@ -101665,7 +101732,7 @@ function UnifiedExecutiveSummaryComponent_Conditional_0_Template(rf, ctx) { if (
101665
101732
  i0.ɵɵproperty("ngClass", ctx_r2.totalGoalsCardClasses());
101666
101733
  i0.ɵɵadvance(5);
101667
101734
  i0.ɵɵtextInterpolate(ctx_r2.totalSourceGoalsCount());
101668
- i0.ɵɵadvance(5);
101735
+ i0.ɵɵadvance(2);
101669
101736
  i0.ɵɵproperty("ngClass", ctx_r2.getSourceCountCardClasses("SHOP"));
101670
101737
  i0.ɵɵadvance(4);
101671
101738
  i0.ɵɵtextInterpolate2("", ctx_r2.shopCounts().analyses, " ", ctx_r2.shopCounts().analyses === 1 ? "analysis" : "analyses");
@@ -101715,8 +101782,8 @@ class UnifiedExecutiveSummaryComponent {
101715
101782
  this.textClasses = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-300', ...(ngDevMode ? [{ debugName: "textClasses" }] : []));
101716
101783
  this.totalGoalsCardClasses = computed(() => {
101717
101784
  return this.isLightMode()
101718
- ? 'bg-gradient-to-r from-indigo-50 to-purple-50 border border-indigo-200 text-indigo-900'
101719
- : 'bg-gradient-to-r from-indigo-900/40 to-purple-900/40 border border-indigo-700/50 text-indigo-100';
101785
+ ? 'bg-gradient-to-r from-indigo-50/80 via-purple-50/40 to-transparent border border-indigo-200 text-indigo-900'
101786
+ : 'bg-gradient-to-r from-indigo-900/30 via-purple-900/15 to-transparent border border-indigo-700/50 text-indigo-100';
101720
101787
  }, ...(ngDevMode ? [{ debugName: "totalGoalsCardClasses" }] : []));
101721
101788
  }
101722
101789
  getSourceCountCardClasses(type) {
@@ -101736,8 +101803,8 @@ class UnifiedExecutiveSummaryComponent {
101736
101803
  }
101737
101804
  }
101738
101805
  static { this.ɵfac = function UnifiedExecutiveSummaryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedExecutiveSummaryComponent)(); }; }
101739
- 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) {
101740
- 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);
101741
101808
  } if (rf & 2) {
101742
101809
  let tmp_0_0;
101743
101810
  i0.ɵɵconditional((tmp_0_0 = ctx.summary()) ? 0 : -1, tmp_0_0);
@@ -101792,30 +101859,25 @@ class UnifiedExecutiveSummaryComponent {
101792
101859
  <div class="text-xs font-semibold uppercase mb-1 opacity-80">Total Source Goals</div>
101793
101860
  <div class="text-4xl font-bold">{{ totalSourceGoalsCount() }}</div>
101794
101861
  </div>
101795
- <div class="text-6xl opacity-20">
101796
- <svg class="w-16 h-16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
101797
- <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"/>
101798
- </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>
101799
101878
  </div>
101800
101879
  </div>
101801
101880
 
101802
- <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
101803
- <div [ngClass]="getSourceCountCardClasses('SHOP')" class="p-4 rounded-xl">
101804
- <div class="text-xs font-semibold uppercase mb-2">Shop</div>
101805
- <div class="text-sm opacity-80">{{ shopCounts().analyses }} {{ shopCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101806
- <div class="text-sm opacity-80">{{ shopCounts().goals }} {{ shopCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101807
- </div>
101808
- <div [ngClass]="getSourceCountCardClasses('FOCUS_AREA')" class="p-4 rounded-xl">
101809
- <div class="text-xs font-semibold uppercase mb-2">Focus Area</div>
101810
- <div class="text-sm opacity-80">{{ focusAreaCounts().analyses }} {{ focusAreaCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101811
- <div class="text-sm opacity-80">{{ focusAreaCounts().goals }} {{ focusAreaCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101812
- </div>
101813
- <div [ngClass]="getSourceCountCardClasses('METRIC')" class="p-4 rounded-xl">
101814
- <div class="text-xs font-semibold uppercase mb-2">Metric</div>
101815
- <div class="text-sm opacity-80">{{ metricCounts().analyses }} {{ metricCounts().analyses === 1 ? 'analysis' : 'analyses' }}</div>
101816
- <div class="text-sm opacity-80">{{ metricCounts().goals }} {{ metricCounts().goals === 1 ? 'goal' : 'goals' }}</div>
101817
- </div>
101818
- </div>
101819
101881
 
101820
101882
  <symphiq-executive-summary-stats-grid
101821
101883
  [viewMode]="viewMode()"
@@ -101831,7 +101893,7 @@ class UnifiedExecutiveSummaryComponent {
101831
101893
  `
101832
101894
  }]
101833
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"] }] }); })();
101834
- (() => { (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 }); })();
101835
101897
 
101836
101898
  const _c0$b = a0 => ({ name: "calendar", source: a0 });
101837
101899
  const _forTrack0$b = ($index, $item) => $item.id;
@@ -102485,7 +102547,7 @@ class UnifiedPriorityMatrixComponent {
102485
102547
  this.goalClick.emit(goal);
102486
102548
  }
102487
102549
  static { this.ɵfac = function UnifiedPriorityMatrixComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedPriorityMatrixComponent)(); }; }
102488
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedPriorityMatrixComponent, selectors: [["symphiq-unified-priority-matrix"]], inputs: { matrix: [1, "matrix"], viewMode: [1, "viewMode"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-priority-matrix", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Priority Matrix", 3, "icon", "viewMode"], [1, "rounded-2xl", "p-6", "shadow-xl", 3, "ngClass"], [1, "flex", "gap-4"], [1, "flex", "flex-col", "items-center", "justify-center", "relative", "w-6"], [1, "absolute", "inset-y-0", "left-1/2", "-translate-x-1/2", "w-0.5", 3, "ngClass"], [1, "-rotate-90", "text-xs", "font-semibold", "uppercase", "tracking-wider", "whitespace-nowrap", "px-2", "py-1", "rounded-md", "z-10", 3, "ngClass"], [3, "ngClass"], [1, "flex-1", "flex", "flex-col", "gap-4"], [1, "grid", "grid-cols-2", "gap-4"], [1, "rounded-xl", "p-4", "min-h-[180px]", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mb-3"], [1, "w-3", "h-3", "rounded-full", "bg-green-500"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "text-xs", "mb-3", 3, "ngClass"], [1, "space-y-2"], ["type", "button", 1, "w-full", "text-left", "p-2", "rounded-lg", "text-sm", "transition-all", "hover:scale-[1.02]", 3, "ngClass"], [1, "text-xs", "text-center", "py-4", 3, "ngClass"], [1, "w-3", "h-3", "rounded-full", "bg-amber-500"], [1, "w-3", "h-3", "rounded-full", "bg-blue-500"], [1, "w-3", "h-3", "rounded-full", "bg-slate-400"], [1, "flex", "items-center", "justify-center", "relative", "h-6"], [1, "absolute", "inset-x-0", "top-1/2", "-translate-y-1/2", "h-0.5", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "px-2", "py-1", "rounded-md", "z-10", 3, "ngClass"], ["type", "button", 1, "w-full", "text-left", "p-2", "rounded-lg", "text-sm", "transition-all", "hover:scale-[1.02]", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "line-clamp-1", "flex-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0", "opacity-60"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"]], template: function UnifiedPriorityMatrixComponent_Template(rf, ctx) { if (rf & 1) {
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) {
102489
102551
  i0.ɵɵconditionalCreate(0, UnifiedPriorityMatrixComponent_Conditional_0_Template, 61, 31, "section", 0);
102490
102552
  } if (rf & 2) {
102491
102553
  i0.ɵɵconditional(ctx.hasGoals() ? 0 : -1);
@@ -102526,7 +102588,7 @@ class UnifiedPriorityMatrixComponent {
102526
102588
  <div [ngClass]="getQuadrantClasses('quick-wins')" class="rounded-xl p-4 min-h-[180px]">
102527
102589
  <div class="flex items-center gap-2 mb-3">
102528
102590
  <div class="w-3 h-3 rounded-full bg-green-500"></div>
102529
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Quick Wins</h4>
102591
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold mb-0!">Quick Wins</h4>
102530
102592
  </div>
102531
102593
  <p [ngClass]="subtitleClasses()" class="text-xs mb-3">High Impact / Low Effort</p>
102532
102594
  <div class="space-y-2">
@@ -102554,7 +102616,7 @@ class UnifiedPriorityMatrixComponent {
102554
102616
  <div [ngClass]="getQuadrantClasses('major-projects')" class="rounded-xl p-4 min-h-[180px]">
102555
102617
  <div class="flex items-center gap-2 mb-3">
102556
102618
  <div class="w-3 h-3 rounded-full bg-amber-500"></div>
102557
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Major Projects</h4>
102619
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold mb-0!">Major Projects</h4>
102558
102620
  </div>
102559
102621
  <p [ngClass]="subtitleClasses()" class="text-xs mb-3">High Impact / High Effort</p>
102560
102622
  <div class="space-y-2">
@@ -102582,7 +102644,7 @@ class UnifiedPriorityMatrixComponent {
102582
102644
  <div [ngClass]="getQuadrantClasses('fill-ins')" class="rounded-xl p-4 min-h-[180px]">
102583
102645
  <div class="flex items-center gap-2 mb-3">
102584
102646
  <div class="w-3 h-3 rounded-full bg-blue-500"></div>
102585
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Fill-Ins</h4>
102647
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold mb-0!">Fill-Ins</h4>
102586
102648
  </div>
102587
102649
  <p [ngClass]="subtitleClasses()" class="text-xs mb-3">Low Impact / Low Effort</p>
102588
102650
  <div class="space-y-2">
@@ -102610,7 +102672,7 @@ class UnifiedPriorityMatrixComponent {
102610
102672
  <div [ngClass]="getQuadrantClasses('time-permitting')" class="rounded-xl p-4 min-h-[180px]">
102611
102673
  <div class="flex items-center gap-2 mb-3">
102612
102674
  <div class="w-3 h-3 rounded-full bg-slate-400"></div>
102613
- <h4 [ngClass]="titleClasses()" class="text-sm font-semibold">Time Permitting</h4>
102675
+ <h4 [ngClass]="titleClasses()" class="text-sm font-semibold mb-0!">Time Permitting</h4>
102614
102676
  </div>
102615
102677
  <p [ngClass]="subtitleClasses()" class="text-xs mb-3">Low Impact / High Effort</p>
102616
102678
  <div class="space-y-2">
@@ -102724,19 +102786,13 @@ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_11_Template(r
102724
102786
  i0.ɵɵtextInterpolate(ctx_r1.getLinkedGoal(step_r1).title);
102725
102787
  } }
102726
102788
  function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_For_5_Template(rf, ctx) { if (rf & 1) {
102727
- i0.ɵɵelementStart(0, "div", 23)(1, "span", 24);
102728
- i0.ɵɵtext(2);
102729
- i0.ɵɵelementEnd();
102730
- i0.ɵɵtext(3);
102789
+ i0.ɵɵelementStart(0, "div", 23);
102790
+ i0.ɵɵtext(1);
102731
102791
  i0.ɵɵelementEnd();
102732
102792
  } if (rf & 2) {
102733
102793
  const domain_r5 = ctx.$implicit;
102734
102794
  const ctx_r1 = i0.ɵɵnextContext(4);
102735
- i0.ɵɵproperty("ngClass", ctx_r1.domainChipClasses());
102736
- i0.ɵɵadvance();
102737
- i0.ɵɵproperty("ngClass", ctx_r1.tooltipClasses());
102738
- i0.ɵɵadvance();
102739
- i0.ɵɵtextInterpolate(ctx_r1.getDomainSubtitle(domain_r5));
102795
+ i0.ɵɵproperty("ngClass", ctx_r1.domainChipClasses())("libSymphiqTooltip", ctx_r1.getDomainSubtitle(domain_r5));
102740
102796
  i0.ɵɵadvance();
102741
102797
  i0.ɵɵtextInterpolate1(" ", ctx_r1.getDomainTitle(domain_r5), " ");
102742
102798
  } }
@@ -102745,7 +102801,7 @@ function UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_Template(r
102745
102801
  i0.ɵɵtext(2, " Related Domains ");
102746
102802
  i0.ɵɵelementEnd();
102747
102803
  i0.ɵɵelementStart(3, "div", 22);
102748
- i0.ɵɵrepeaterCreate(4, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_For_5_Template, 4, 4, "div", 23, i0.ɵɵrepeaterTrackByIdentity);
102804
+ i0.ɵɵrepeaterCreate(4, UnifiedNextStepsComponent_Conditional_0_For_5_Conditional_12_For_5_Template, 2, 3, "div", 23, i0.ɵɵrepeaterTrackByIdentity);
102749
102805
  i0.ɵɵelementEnd()();
102750
102806
  } if (rf & 2) {
102751
102807
  const step_r1 = i0.ɵɵnextContext().$implicit;
@@ -102831,9 +102887,6 @@ class UnifiedNextStepsComponent {
102831
102887
  this.domainChipClasses = computed(() => this.isLightMode()
102832
102888
  ? 'bg-slate-100 text-slate-700 border border-slate-200 hover:bg-slate-200'
102833
102889
  : 'bg-slate-700/50 text-slate-300 border border-slate-600 hover:bg-slate-700', ...(ngDevMode ? [{ debugName: "domainChipClasses" }] : []));
102834
- this.tooltipClasses = computed(() => this.isLightMode()
102835
- ? 'bg-slate-800 text-white [&::after]:border-t-slate-800 [&::after]:border-x-transparent [&::after]:border-b-transparent'
102836
- : 'bg-slate-200 text-slate-900 [&::after]:border-t-slate-200 [&::after]:border-x-transparent [&::after]:border-b-transparent', ...(ngDevMode ? [{ debugName: "tooltipClasses" }] : []));
102837
102890
  }
102838
102891
  getCategory(idx) {
102839
102892
  if (idx === 0)
@@ -102905,15 +102958,15 @@ class UnifiedNextStepsComponent {
102905
102958
  return FocusAreaDomainEnumUtil.subtitle(domain);
102906
102959
  }
102907
102960
  static { this.ɵfac = function UnifiedNextStepsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedNextStepsComponent)(); }; }
102908
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedNextStepsComponent, selectors: [["symphiq-unified-next-steps"]], inputs: { steps: [1, "steps"], viewMode: [1, "viewMode"], goals: [1, "goals"] }, outputs: { goalClick: "goalClick" }, decls: 1, vars: 1, consts: [["id", "section-next-steps", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "sectionIcon"], ["title", "Next Steps", 3, "icon", "viewMode"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-3", "gap-6"], [1, "rounded-2xl", "p-6", "shadow-lg", "transition-all", "hover:shadow-xl", 3, "ngClass"], [1, "flex", "items-start", "gap-4", "mb-4"], [1, "w-10", "h-10", "rounded-full", "flex", "items-center", "justify-center", "text-lg", "font-bold", "flex-shrink-0", 3, "ngClass"], [1, "flex-1"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-base", "font-semibold", "line-clamp-2", 3, "ngClass"], [1, "text-sm", "mb-4", "line-clamp-3", 3, "ngClass"], [1, "mt-4", "pt-4", "border-t", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-2", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2", "text-sm", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "mt-0.5", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "line-clamp-2"], [1, "goal-chip", "flex", "items-center", "justify-between", "gap-2", "px-3", "py-2", "rounded-lg", "cursor-pointer", 3, "click", "ngClass"], [1, "text-sm", "font-medium", "line-clamp-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "flex-shrink-0"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "flex", "flex-wrap", "gap-2"], [1, "domain-chip", "px-2", "py-1", "rounded-md", "text-xs", "font-medium", 3, "ngClass"], [1, "tooltip", 3, "ngClass"]], template: function UnifiedNextStepsComponent_Template(rf, ctx) { if (rf & 1) {
102961
+ 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"], ["tooltipPosition", "top", 1, "px-2", "py-1", "rounded-md", "text-xs", "font-medium", 3, "ngClass", "libSymphiqTooltip"]], template: function UnifiedNextStepsComponent_Template(rf, ctx) { if (rf & 1) {
102909
102962
  i0.ɵɵconditionalCreate(0, UnifiedNextStepsComponent_Conditional_0_Template, 6, 8, "section", 0);
102910
102963
  } if (rf & 2) {
102911
102964
  i0.ɵɵconditional(ctx.steps().length > 0 ? 0 : -1);
102912
- } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent], styles: [".goal-chip[_ngcontent-%COMP%]{transition:all .3s ease}.goal-chip[_ngcontent-%COMP%]:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}.domain-chip[_ngcontent-%COMP%]{position:relative}.domain-chip[_ngcontent-%COMP%] .tooltip[_ngcontent-%COMP%]{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:50;transition:opacity .2s ease,visibility .2s ease;margin-bottom:6px}.domain-chip[_ngcontent-%COMP%] .tooltip[_ngcontent-%COMP%]:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid}.domain-chip[_ngcontent-%COMP%]:hover .tooltip[_ngcontent-%COMP%]{visibility:visible;opacity:1}"], changeDetection: 0 }); }
102965
+ } }, dependencies: [CommonModule, i1$1.NgClass, SectionDividerComponent, SectionHeaderComponent, TooltipDirective], 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}"], changeDetection: 0 }); }
102913
102966
  }
102914
102967
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnifiedNextStepsComponent, [{
102915
102968
  type: Component,
102916
- args: [{ selector: 'symphiq-unified-next-steps', standalone: true, imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
102969
+ args: [{ selector: 'symphiq-unified-next-steps', standalone: true, imports: [CommonModule, SectionDividerComponent, SectionHeaderComponent, TooltipDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: `
102917
102970
  @if (steps().length > 0) {
102918
102971
  <section id="section-next-steps" class="space-y-6 scroll-mt-24">
102919
102972
  <symphiq-section-divider
@@ -102991,8 +103044,11 @@ class UnifiedNextStepsComponent {
102991
103044
  </div>
102992
103045
  <div class="flex flex-wrap gap-2">
102993
103046
  @for (domain of step.relatedDomains; track domain) {
102994
- <div [ngClass]="domainChipClasses()" class="domain-chip px-2 py-1 rounded-md text-xs font-medium">
102995
- <span [ngClass]="tooltipClasses()" class="tooltip">{{ getDomainSubtitle(domain) }}</span>
103047
+ <div
103048
+ [ngClass]="domainChipClasses()"
103049
+ class="px-2 py-1 rounded-md text-xs font-medium"
103050
+ [libSymphiqTooltip]="getDomainSubtitle(domain)"
103051
+ tooltipPosition="top">
102996
103052
  {{ getDomainTitle(domain) }}
102997
103053
  </div>
102998
103054
  }
@@ -103004,20 +103060,10 @@ class UnifiedNextStepsComponent {
103004
103060
  </div>
103005
103061
  </section>
103006
103062
  }
103007
- `, styles: [".goal-chip{transition:all .3s ease}.goal-chip:hover{transform:scale(1.03) translate(4px);box-shadow:0 0 15px #8b5cf680,0 0 30px #8b5cf64d;border-color:#8b5cf6cc!important}.domain-chip{position:relative}.domain-chip .tooltip{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:50;transition:opacity .2s ease,visibility .2s ease;margin-bottom:6px}.domain-chip .tooltip:after{content:\"\";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid}.domain-chip:hover .tooltip{visibility:visible;opacity:1}\n"] }]
103063
+ `, 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}\n"] }]
103008
103064
  }], null, { steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: true }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], goals: [{ type: i0.Input, args: [{ isSignal: true, alias: "goals", required: false }] }], goalClick: [{ type: i0.Output, args: ["goalClick"] }] }); })();
103009
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedNextStepsComponent, { className: "UnifiedNextStepsComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-next-steps.component.ts", lineNumber: 155 }); })();
103065
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedNextStepsComponent, { className: "UnifiedNextStepsComponent", filePath: "lib/components/profile-analysis-unified-dashboard/cards/unified-next-steps.component.ts", lineNumber: 128 }); })();
103010
103066
 
103011
- function SynthesisConfidenceSectionComponent_Conditional_0_Conditional_10_Template(rf, ctx) { if (rf & 1) {
103012
- i0.ɵɵelementStart(0, "p", 8);
103013
- i0.ɵɵtext(1);
103014
- i0.ɵɵelementEnd();
103015
- } if (rf & 2) {
103016
- const ctx_r0 = i0.ɵɵnextContext(2);
103017
- i0.ɵɵproperty("ngClass", ctx_r0.textClasses());
103018
- i0.ɵɵadvance();
103019
- i0.ɵɵtextInterpolate1(" ", ctx_r0.explanation(), " ");
103020
- } }
103021
103067
  function SynthesisConfidenceSectionComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
103022
103068
  i0.ɵɵelementStart(0, "div", 0)(1, "h4", 1);
103023
103069
  i0.ɵɵnamespaceSVG();
@@ -103032,12 +103078,10 @@ function SynthesisConfidenceSectionComponent_Conditional_0_Template(rf, ctx) { i
103032
103078
  i0.ɵɵelementEnd();
103033
103079
  i0.ɵɵelementStart(8, "span", 7);
103034
103080
  i0.ɵɵtext(9);
103035
- i0.ɵɵelementEnd()();
103036
- i0.ɵɵconditionalCreate(10, SynthesisConfidenceSectionComponent_Conditional_0_Conditional_10_Template, 2, 2, "p", 8);
103037
- i0.ɵɵelementEnd();
103081
+ i0.ɵɵelementEnd()()();
103038
103082
  } if (rf & 2) {
103039
103083
  const ctx_r0 = i0.ɵɵnextContext();
103040
- i0.ɵɵproperty("ngClass", ctx_r0.sectionCardClasses());
103084
+ i0.ɵɵproperty("ngClass", ctx_r0.sectionCardClasses())("libSymphiqTooltip", ctx_r0.explanation() ?? "")("tooltipPosition", "top");
103041
103085
  i0.ɵɵadvance();
103042
103086
  i0.ɵɵproperty("ngClass", ctx_r0.sectionTitleClasses());
103043
103087
  i0.ɵɵadvance(5);
@@ -103049,8 +103093,6 @@ function SynthesisConfidenceSectionComponent_Conditional_0_Template(rf, ctx) { i
103049
103093
  i0.ɵɵproperty("ngClass", ctx_r0.textClasses());
103050
103094
  i0.ɵɵadvance();
103051
103095
  i0.ɵɵtextInterpolate1(" ", ctx_r0.scorePercentage().toFixed(0), "% ");
103052
- i0.ɵɵadvance();
103053
- i0.ɵɵconditional(ctx_r0.explanation() ? 10 : -1);
103054
103096
  } }
103055
103097
  class SynthesisConfidenceSectionComponent {
103056
103098
  constructor() {
@@ -103066,11 +103108,11 @@ class SynthesisConfidenceSectionComponent {
103066
103108
  this.progressBarFillClasses = computed(() => this.isLightMode() ? 'bg-gradient-to-r from-blue-500 to-cyan-500' : 'bg-gradient-to-r from-blue-400 to-cyan-400', ...(ngDevMode ? [{ debugName: "progressBarFillClasses" }] : []));
103067
103109
  }
103068
103110
  static { this.ɵfac = function SynthesisConfidenceSectionComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SynthesisConfidenceSectionComponent)(); }; }
103069
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SynthesisConfidenceSectionComponent, selectors: [["symphiq-synthesis-confidence-section"]], inputs: { score: [1, "score"], explanation: [1, "explanation"], viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [[1, "p-5", "rounded-xl", 3, "ngClass"], [1, "text-sm", "font-semibold", "mb-3", "flex", "items-center", "gap-2", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"], [1, "flex", "items-center", "gap-3"], [1, "flex-1", "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "rounded-full", "transition-all", "duration-500", 3, "ngClass"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "text-sm", "mt-3", 3, "ngClass"]], template: function SynthesisConfidenceSectionComponent_Template(rf, ctx) { if (rf & 1) {
103070
- i0.ɵɵconditionalCreate(0, SynthesisConfidenceSectionComponent_Conditional_0_Template, 11, 9, "div", 0);
103111
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SynthesisConfidenceSectionComponent, selectors: [["symphiq-synthesis-confidence-section"]], inputs: { score: [1, "score"], explanation: [1, "explanation"], viewMode: [1, "viewMode"] }, decls: 1, vars: 1, consts: [[1, "p-5", "rounded-xl", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "text-sm", "font-semibold", "mb-3", "flex", "items-center", "gap-2", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"], [1, "flex", "items-center", "gap-3"], [1, "flex-1", "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "rounded-full", "transition-all", "duration-500", 3, "ngClass"], [1, "text-sm", "font-semibold", 3, "ngClass"]], template: function SynthesisConfidenceSectionComponent_Template(rf, ctx) { if (rf & 1) {
103112
+ i0.ɵɵconditionalCreate(0, SynthesisConfidenceSectionComponent_Conditional_0_Template, 10, 10, "div", 0);
103071
103113
  } if (rf & 2) {
103072
103114
  i0.ɵɵconditional(ctx.score() ? 0 : -1);
103073
- } }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
103115
+ } }, dependencies: [CommonModule, i1$1.NgClass, TooltipDirective], encapsulation: 2, changeDetection: 0 }); }
103074
103116
  }
103075
103117
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SynthesisConfidenceSectionComponent, [{
103076
103118
  type: Component,
@@ -103078,10 +103120,14 @@ class SynthesisConfidenceSectionComponent {
103078
103120
  selector: 'symphiq-synthesis-confidence-section',
103079
103121
  standalone: true,
103080
103122
  changeDetection: ChangeDetectionStrategy.OnPush,
103081
- imports: [CommonModule],
103123
+ imports: [CommonModule, TooltipDirective],
103082
103124
  template: `
103083
103125
  @if (score()) {
103084
- <div [ngClass]="sectionCardClasses()" class="p-5 rounded-xl">
103126
+ <div
103127
+ [ngClass]="sectionCardClasses()"
103128
+ class="p-5 rounded-xl"
103129
+ [libSymphiqTooltip]="explanation() ?? ''"
103130
+ [tooltipPosition]="'top'">
103085
103131
  <h4 [ngClass]="sectionTitleClasses()" class="text-sm font-semibold mb-3 flex items-center gap-2">
103086
103132
  <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
103087
103133
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/>
@@ -103100,11 +103146,6 @@ class SynthesisConfidenceSectionComponent {
103100
103146
  {{ scorePercentage().toFixed(0) }}%
103101
103147
  </span>
103102
103148
  </div>
103103
- @if (explanation()) {
103104
- <p [ngClass]="textClasses()" class="text-sm mt-3">
103105
- {{ explanation() }}
103106
- </p>
103107
- }
103108
103149
  </div>
103109
103150
  }
103110
103151
  `
@@ -103413,7 +103454,7 @@ function UnifiedGoalDetailModalContentComponent_Conditional_8_Template(rf, ctx)
103413
103454
  const ctx_r0 = i0.ɵɵnextContext();
103414
103455
  i0.ɵɵproperty("count", ctx_r0.contributingFocusAreasCount())("svgPath", ctx_r0.focusAreaIconPath)("viewMode", ctx_r0.viewMode())("showChevron", false)("tooltipContent", ctx_r0.focusAreasTooltipContent());
103415
103456
  } }
103416
- function UnifiedGoalDetailModalContentComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
103457
+ function UnifiedGoalDetailModalContentComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
103417
103458
  i0.ɵɵelementStart(0, "div");
103418
103459
  i0.ɵɵelement(1, "symphiq-napkin-visual-placeholder", 13);
103419
103460
  i0.ɵɵelementEnd();
@@ -103422,10 +103463,10 @@ function UnifiedGoalDetailModalContentComponent_Conditional_9_Template(rf, ctx)
103422
103463
  i0.ɵɵadvance();
103423
103464
  i0.ɵɵproperty("visual", ctx_r0.goal().visual)("viewMode", ctx_r0.viewMode());
103424
103465
  } }
103425
- function UnifiedGoalDetailModalContentComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
103466
+ function UnifiedGoalDetailModalContentComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
103426
103467
  const _r3 = i0.ɵɵgetCurrentView();
103427
103468
  i0.ɵɵelementStart(0, "symphiq-show-objectives-button", 14);
103428
- i0.ɵɵlistener("buttonClick", function UnifiedGoalDetailModalContentComponent_Conditional_10_Template_symphiq_show_objectives_button_buttonClick_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.showObjectives.emit()); });
103469
+ i0.ɵɵlistener("buttonClick", function UnifiedGoalDetailModalContentComponent_Conditional_11_Template_symphiq_show_objectives_button_buttonClick_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.showObjectives.emit()); });
103429
103470
  i0.ɵɵelementEnd();
103430
103471
  } if (rf & 2) {
103431
103472
  const ctx_r0 = i0.ɵɵnextContext();
@@ -103487,7 +103528,7 @@ class UnifiedGoalDetailModalContentComponent {
103487
103528
  this.contributingMetricsClick.emit();
103488
103529
  }
103489
103530
  static { this.ɵfac = function UnifiedGoalDetailModalContentComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedGoalDetailModalContentComponent)(); }; }
103490
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedGoalDetailModalContentComponent, selectors: [["symphiq-unified-goal-detail-modal-content"]], inputs: { goal: [1, "goal"], allMetrics: [1, "allMetrics"], allCharts: [1, "allCharts"], loadedSourceAnalysisIds: [1, "loadedSourceAnalysisIds"], loadingSourceAnalysisId: [1, "loadingSourceAnalysisId"], viewMode: [1, "viewMode"], currentModalState: [1, "currentModalState"] }, outputs: { sourceAnalysisClick: "sourceAnalysisClick", metricClick: "metricClick", contributingMetricsClick: "contributingMetricsClick", showObjectives: "showObjectives", close: "close" }, decls: 12, vars: 14, consts: [[1, "flex", "flex-col", "gap-6"], [1, "flex", "flex-col", "lg:flex-row", "gap-6"], [1, "flex-1"], [1, "mb-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "lg:w-80", "flex-shrink-0", "flex", "flex-col", "gap-4"], ["layout", "vertical", 3, "expectedImpact", "viewMode", "showTitleIcon"], ["label", "CONTRIBUTING METRIC", "labelPlural", "CONTRIBUTING METRICS", 3, "count", "svgPath", "viewMode"], ["label", "CONTRIBUTING FOCUS AREA", "labelPlural", "CONTRIBUTING FOCUS AREAS", 3, "count", "svgPath", "viewMode", "showChevron", "tooltipContent"], [3, "viewMode", "subLabel"], [3, "sourceAnalysisClick", "sourceAnalyses", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "goal"], [3, "category", "viewMode"], ["label", "CONTRIBUTING METRIC", "labelPlural", "CONTRIBUTING METRICS", 3, "buttonClicked", "count", "svgPath", "viewMode"], [3, "visual", "viewMode"], [3, "buttonClick", "viewMode", "subLabel"]], template: function UnifiedGoalDetailModalContentComponent_Template(rf, ctx) { if (rf & 1) {
103531
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedGoalDetailModalContentComponent, selectors: [["symphiq-unified-goal-detail-modal-content"]], inputs: { goal: [1, "goal"], allMetrics: [1, "allMetrics"], allCharts: [1, "allCharts"], loadedSourceAnalysisIds: [1, "loadedSourceAnalysisIds"], loadingSourceAnalysisId: [1, "loadingSourceAnalysisId"], viewMode: [1, "viewMode"], currentModalState: [1, "currentModalState"] }, outputs: { sourceAnalysisClick: "sourceAnalysisClick", metricClick: "metricClick", contributingMetricsClick: "contributingMetricsClick", showObjectives: "showObjectives", close: "close" }, decls: 12, vars: 14, consts: [[1, "flex", "flex-col", "gap-6"], [1, "flex", "flex-col", "lg:flex-row", "gap-6"], [1, "flex-1"], [1, "mb-3"], [1, "text-base", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "lg:w-80", "flex-shrink-0", "flex", "flex-col", "gap-4"], ["layout", "vertical", 3, "expectedImpact", "viewMode", "showTitleIcon"], ["label", "CONTRIBUTING METRIC", "labelPlural", "CONTRIBUTING METRICS", 3, "count", "svgPath", "viewMode"], ["label", "CONTRIBUTING FOCUS AREA", "labelPlural", "CONTRIBUTING FOCUS AREAS", 3, "count", "svgPath", "viewMode", "showChevron", "tooltipContent"], [3, "sourceAnalysisClick", "sourceAnalyses", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "goal"], [3, "viewMode", "subLabel"], [3, "category", "viewMode"], ["label", "CONTRIBUTING METRIC", "labelPlural", "CONTRIBUTING METRICS", 3, "buttonClicked", "count", "svgPath", "viewMode"], [3, "visual", "viewMode"], [3, "buttonClick", "viewMode", "subLabel"]], template: function UnifiedGoalDetailModalContentComponent_Template(rf, ctx) { if (rf & 1) {
103491
103532
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
103492
103533
  i0.ɵɵconditionalCreate(3, UnifiedGoalDetailModalContentComponent_Conditional_3_Template, 2, 2, "div", 3);
103493
103534
  i0.ɵɵconditionalCreate(4, UnifiedGoalDetailModalContentComponent_Conditional_4_Template, 2, 2, "p", 4);
@@ -103496,12 +103537,12 @@ class UnifiedGoalDetailModalContentComponent {
103496
103537
  i0.ɵɵelement(6, "symphiq-expected-impact-section", 6);
103497
103538
  i0.ɵɵconditionalCreate(7, UnifiedGoalDetailModalContentComponent_Conditional_7_Template, 1, 3, "symphiq-related-content-button", 7);
103498
103539
  i0.ɵɵconditionalCreate(8, UnifiedGoalDetailModalContentComponent_Conditional_8_Template, 1, 5, "symphiq-related-content-button", 8);
103499
- i0.ɵɵelementEnd()();
103500
- i0.ɵɵconditionalCreate(9, UnifiedGoalDetailModalContentComponent_Conditional_9_Template, 2, 2, "div");
103501
- i0.ɵɵconditionalCreate(10, UnifiedGoalDetailModalContentComponent_Conditional_10_Template, 1, 2, "symphiq-show-objectives-button", 9);
103502
- i0.ɵɵelementStart(11, "symphiq-source-analysis-traceability", 10);
103503
- i0.ɵɵlistener("sourceAnalysisClick", function UnifiedGoalDetailModalContentComponent_Template_symphiq_source_analysis_traceability_sourceAnalysisClick_11_listener($event) { return ctx.onSourceAnalysisClick($event); });
103504
- i0.ɵɵelementEnd()();
103540
+ i0.ɵɵelementStart(9, "symphiq-source-analysis-traceability", 9);
103541
+ i0.ɵɵlistener("sourceAnalysisClick", function UnifiedGoalDetailModalContentComponent_Template_symphiq_source_analysis_traceability_sourceAnalysisClick_9_listener($event) { return ctx.onSourceAnalysisClick($event); });
103542
+ i0.ɵɵelementEnd()()();
103543
+ i0.ɵɵconditionalCreate(10, UnifiedGoalDetailModalContentComponent_Conditional_10_Template, 2, 2, "div");
103544
+ i0.ɵɵconditionalCreate(11, UnifiedGoalDetailModalContentComponent_Conditional_11_Template, 1, 2, "symphiq-show-objectives-button", 10);
103545
+ i0.ɵɵelementEnd();
103505
103546
  } if (rf & 2) {
103506
103547
  i0.ɵɵadvance(3);
103507
103548
  i0.ɵɵconditional(ctx.goal().thematicCategory ? 3 : -1);
@@ -103514,11 +103555,11 @@ class UnifiedGoalDetailModalContentComponent {
103514
103555
  i0.ɵɵadvance();
103515
103556
  i0.ɵɵconditional(ctx.contributingFocusAreasCount() > 0 ? 8 : -1);
103516
103557
  i0.ɵɵadvance();
103517
- i0.ɵɵconditional(ctx.goal().visual ? 9 : -1);
103558
+ i0.ɵɵproperty("sourceAnalyses", ctx.goal().sourceAnalyses)("loadedSourceAnalysisIds", ctx.loadedSourceAnalysisIds())("loadingSourceAnalysisId", ctx.loadingSourceAnalysisId())("viewMode", ctx.viewMode())("goal", ctx.goal());
103518
103559
  i0.ɵɵadvance();
103519
- i0.ɵɵconditional(ctx.goal().objectives && ctx.goal().objectives.length > 0 ? 10 : -1);
103560
+ i0.ɵɵconditional(ctx.goal().visual ? 10 : -1);
103520
103561
  i0.ɵɵadvance();
103521
- i0.ɵɵproperty("sourceAnalyses", ctx.goal().sourceAnalyses)("loadedSourceAnalysisIds", ctx.loadedSourceAnalysisIds())("loadingSourceAnalysisId", ctx.loadingSourceAnalysisId())("viewMode", ctx.viewMode())("goal", ctx.goal());
103562
+ i0.ɵɵconditional(ctx.goal().objectives && ctx.goal().objectives.length > 0 ? 11 : -1);
103522
103563
  } }, dependencies: [CommonModule, i1$1.NgClass, ExpectedImpactSectionComponent, NapkinVisualPlaceholderComponent, ShowObjectivesButtonComponent, SourceAnalysisTraceabilityComponent, RelatedContentButtonComponent, ThematicCategoryBadgeComponent], encapsulation: 2, changeDetection: 0 }); }
103523
103564
  }
103524
103565
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UnifiedGoalDetailModalContentComponent, [{
@@ -103542,7 +103583,7 @@ class UnifiedGoalDetailModalContentComponent {
103542
103583
  </div>
103543
103584
  }
103544
103585
  @if (goal().description) {
103545
- <p [ngClass]="descriptionClasses()" class="text-base leading-relaxed">
103586
+ <p [ngClass]="descriptionClasses()" class="text-base leading-relaxed whitespace-pre-line">
103546
103587
  {{ goal().description }}
103547
103588
  </p>
103548
103589
  }
@@ -103575,6 +103616,15 @@ class UnifiedGoalDetailModalContentComponent {
103575
103616
  [tooltipContent]="focusAreasTooltipContent()"
103576
103617
  />
103577
103618
  }
103619
+ <!-- Source Analysis Traceability -->
103620
+ <symphiq-source-analysis-traceability
103621
+ [sourceAnalyses]="goal().sourceAnalyses"
103622
+ [loadedSourceAnalysisIds]="loadedSourceAnalysisIds()"
103623
+ [loadingSourceAnalysisId]="loadingSourceAnalysisId()"
103624
+ [viewMode]="viewMode()"
103625
+ [goal]="goal()"
103626
+ (sourceAnalysisClick)="onSourceAnalysisClick($event)"
103627
+ />
103578
103628
  </div>
103579
103629
  </div>
103580
103630
 
@@ -103596,22 +103646,12 @@ class UnifiedGoalDetailModalContentComponent {
103596
103646
  (buttonClick)="showObjectives.emit()"
103597
103647
  />
103598
103648
  }
103599
-
103600
- <!-- Source Analysis Traceability -->
103601
- <symphiq-source-analysis-traceability
103602
- [sourceAnalyses]="goal().sourceAnalyses"
103603
- [loadedSourceAnalysisIds]="loadedSourceAnalysisIds()"
103604
- [loadingSourceAnalysisId]="loadingSourceAnalysisId()"
103605
- [viewMode]="viewMode()"
103606
- [goal]="goal()"
103607
- (sourceAnalysisClick)="onSourceAnalysisClick($event)"
103608
- />
103609
-
103649
+
103610
103650
  </div>
103611
103651
  `
103612
103652
  }]
103613
103653
  }], null, { goal: [{ type: i0.Input, args: [{ isSignal: true, alias: "goal", required: true }] }], allMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "allMetrics", required: false }] }], allCharts: [{ type: i0.Input, args: [{ isSignal: true, alias: "allCharts", required: false }] }], loadedSourceAnalysisIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadedSourceAnalysisIds", required: false }] }], loadingSourceAnalysisId: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingSourceAnalysisId", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], currentModalState: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentModalState", required: false }] }], sourceAnalysisClick: [{ type: i0.Output, args: ["sourceAnalysisClick"] }], metricClick: [{ type: i0.Output, args: ["metricClick"] }], contributingMetricsClick: [{ type: i0.Output, args: ["contributingMetricsClick"] }], showObjectives: [{ type: i0.Output, args: ["showObjectives"] }], close: [{ type: i0.Output, args: ["close"] }] }); })();
103614
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedGoalDetailModalContentComponent, { className: "UnifiedGoalDetailModalContentComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-goal-detail-modal-content.component.ts", lineNumber: 100 }); })();
103654
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedGoalDetailModalContentComponent, { className: "UnifiedGoalDetailModalContentComponent", filePath: "lib/components/profile-analysis-unified-dashboard/modals/unified-goal-detail-modal-content.component.ts", lineNumber: 99 }); })();
103615
103655
 
103616
103656
  const _forTrack0$7 = ($index, $item) => $item.metric;
103617
103657
  function UnifiedGoalRelatedMetricsModalContentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
@@ -104588,7 +104628,9 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104588
104628
  i0.ɵɵelementStart(16, "symphiq-unified-priority-matrix", 33);
104589
104629
  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)); });
104590
104630
  i0.ɵɵelementEnd();
104591
- i0.ɵɵelement(17, "symphiq-unified-next-steps", 34);
104631
+ i0.ɵɵelementStart(17, "symphiq-unified-next-steps", 34);
104632
+ 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)); });
104633
+ i0.ɵɵelementEnd();
104592
104634
  } if (rf & 2) {
104593
104635
  const ctx_r1 = i0.ɵɵnextContext(2);
104594
104636
  i0.ɵɵadvance();
@@ -104614,7 +104656,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104614
104656
  i0.ɵɵadvance();
104615
104657
  i0.ɵɵproperty("matrix", ctx_r1.priorityMatrix())("viewMode", ctx_r1.viewMode());
104616
104658
  i0.ɵɵadvance();
104617
- i0.ɵɵproperty("steps", ctx_r1.nextSteps())("viewMode", ctx_r1.viewMode());
104659
+ i0.ɵɵproperty("steps", ctx_r1.nextSteps())("viewMode", ctx_r1.viewMode())("goals", ctx_r1.unifiedGoals());
104618
104660
  } }
104619
104661
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
104620
104662
  i0.ɵɵelement(0, "symphiq-grade-badge", 46);
@@ -104656,7 +104698,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104656
104698
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
104657
104699
  i0.ɵɵelementStart(0, "main", 18);
104658
104700
  i0.ɵɵconditionalCreate(1, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_1_Template, 1, 2, "symphiq-loading-card", 19);
104659
- i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 18, 22);
104701
+ i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 18, 23);
104660
104702
  i0.ɵɵconditionalCreate(3, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Template, 1, 1);
104661
104703
  i0.ɵɵelementEnd();
104662
104704
  } if (rf & 2) {
@@ -104962,7 +105004,9 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
104962
105004
  return nextStepsData.forUser.slice(0, 5).map(step => ({
104963
105005
  title: step.action || '',
104964
105006
  description: step.timeframe ? `Timeframe: ${step.timeframe}` : '',
104965
- strategies: []
105007
+ strategies: [],
105008
+ linkedGoalId: step.linkedGoalId,
105009
+ relatedDomains: step.relatedDomains
104966
105010
  }));
104967
105011
  }, ...(ngDevMode ? [{ debugName: "nextSteps" }] : []));
104968
105012
  this.shouldShowReviewFooter = computed(() => {
@@ -105461,7 +105505,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105461
105505
  static { this.ɵfac = function SymphiqProfileAnalysisUnifiedDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileAnalysisUnifiedDashboardComponent)(); }; }
105462
105506
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileAnalysisUnifiedDashboardComponent, selectors: [["symphiq-profile-analysis-unified-dashboard"]], hostBindings: function SymphiqProfileAnalysisUnifiedDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
105463
105507
  i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisUnifiedDashboardComponent_scroll_HostBindingHandler() { return ctx.onScroll(); }, i0.ɵɵresolveWindow);
105464
- } }, 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) {
105508
+ } }, 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) {
105465
105509
  i0.ɵɵelementStart(0, "div", 0);
105466
105510
  i0.ɵɵelement(1, "div", 1)(2, "symphiq-scroll-progress-bar", 2);
105467
105511
  i0.ɵɵelementStart(3, "div", 3)(4, "symphiq-dashboard-header", 4);
@@ -105707,6 +105751,8 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105707
105751
  <symphiq-unified-next-steps
105708
105752
  [steps]="nextSteps()"
105709
105753
  [viewMode]="viewMode()"
105754
+ [goals]="unifiedGoals()"
105755
+ (goalClick)="onGoalClick($event)"
105710
105756
  />
105711
105757
  }
105712
105758
 
@@ -105828,7 +105874,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105828
105874
  type: HostListener,
105829
105875
  args: ['window:scroll']
105830
105876
  }] }); })();
105831
- (() => { (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 }); })();
105877
+ (() => { (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 }); })();
105832
105878
 
105833
105879
  function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
105834
105880
  const _r1 = i0.ɵɵgetCurrentView();