@eric-emg/symphiq-components 1.3.57 → 1.3.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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 }); })();
@@ -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");
@@ -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">
@@ -104588,7 +104650,9 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104588
104650
  i0.ɵɵelementStart(16, "symphiq-unified-priority-matrix", 33);
104589
104651
  i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_priority_matrix_goalClick_16_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
104590
104652
  i0.ɵɵelementEnd();
104591
- i0.ɵɵelement(17, "symphiq-unified-next-steps", 34);
104653
+ i0.ɵɵelementStart(17, "symphiq-unified-next-steps", 34);
104654
+ i0.ɵɵlistener("goalClick", function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template_symphiq_unified_next_steps_goalClick_17_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onGoalClick($event)); });
104655
+ i0.ɵɵelementEnd();
104592
104656
  } if (rf & 2) {
104593
104657
  const ctx_r1 = i0.ɵɵnextContext(2);
104594
104658
  i0.ɵɵadvance();
@@ -104614,7 +104678,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104614
104678
  i0.ɵɵadvance();
104615
104679
  i0.ɵɵproperty("matrix", ctx_r1.priorityMatrix())("viewMode", ctx_r1.viewMode());
104616
104680
  i0.ɵɵadvance();
104617
- i0.ɵɵproperty("steps", ctx_r1.nextSteps())("viewMode", ctx_r1.viewMode());
104681
+ i0.ɵɵproperty("steps", ctx_r1.nextSteps())("viewMode", ctx_r1.viewMode())("goals", ctx_r1.unifiedGoals());
104618
104682
  } }
104619
104683
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
104620
104684
  i0.ɵɵelement(0, "symphiq-grade-badge", 46);
@@ -104656,7 +104720,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
104656
104720
  function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
104657
104721
  i0.ɵɵelementStart(0, "main", 18);
104658
104722
  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);
104723
+ i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 18, 23);
104660
104724
  i0.ɵɵconditionalCreate(3, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Template, 1, 1);
104661
104725
  i0.ɵɵelementEnd();
104662
104726
  } if (rf & 2) {
@@ -104962,7 +105026,9 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
104962
105026
  return nextStepsData.forUser.slice(0, 5).map(step => ({
104963
105027
  title: step.action || '',
104964
105028
  description: step.timeframe ? `Timeframe: ${step.timeframe}` : '',
104965
- strategies: []
105029
+ strategies: [],
105030
+ linkedGoalId: step.linkedGoalId,
105031
+ relatedDomains: step.relatedDomains
104966
105032
  }));
104967
105033
  }, ...(ngDevMode ? [{ debugName: "nextSteps" }] : []));
104968
105034
  this.shouldShowReviewFooter = computed(() => {
@@ -105461,7 +105527,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105461
105527
  static { this.ɵfac = function SymphiqProfileAnalysisUnifiedDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileAnalysisUnifiedDashboardComponent)(); }; }
105462
105528
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileAnalysisUnifiedDashboardComponent, selectors: [["symphiq-profile-analysis-unified-dashboard"]], hostBindings: function SymphiqProfileAnalysisUnifiedDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
105463
105529
  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) {
105530
+ } }, inputs: { viewMode: [1, "viewMode"], embedded: [1, "embedded"], isLoading: [1, "isLoading"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], unifiedProfileAnalysis: [1, "unifiedProfileAnalysis"], sourceProfileAnalyses: [1, "sourceProfileAnalyses"], isLoadingSourceAnalysis: [1, "isLoadingSourceAnalysis"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"], requestedByUser: [1, "requestedByUser"] }, outputs: { markAsReviewedClick: "markAsReviewedClick", generateGoalsClick: "generateGoalsClick", stepClick: "stepClick", nextStepClick: "nextStepClick", sourceAnalysisRequest: "sourceAnalysisRequest" }, features: [i0.ɵɵNgOnChangesFeature], decls: 18, vars: 37, consts: [[1, "relative"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [3, "viewMode", "progress", "embedded"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "showControls", "embedded", "scrollEvent"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12", 3, "pb-32"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "isLightMode", "isOpen"], [3, "viewMode", "currentMode", "isOpen"], [3, "viewMode", "selfContentStatus", "isLoading"], [3, "viewMode", "itemStatus", "currentStatus", "confettiIntensity", "title"], [3, "expandedChange", "scrollToTop", "toggleView", "isLightMode", "isCompactMode", "isExpanded"], [3, "navigate", "isLightMode", "sections", "activeSection"], [3, "viewMode"], [3, "isLightMode"], [3, "isLightMode", "allInsights", "allMetrics", "allCharts"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], ["title", "Loading Your Unified Analysis", "subtitle", "Please wait while we prepare your synthesized insights...", "size", "large", 3, "viewMode", "backdropBlur"], [1, "mb-12"], [1, "rounded-2xl", "p-8", "shadow-xl", "animate-fade-in-up", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "p-4", "rounded-xl", "flex-shrink-0", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [1, "text-lg", "mb-4", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [3, "keyStrengthsClick", "criticalGapsClick", "quickWinsClick", "summary", "viewMode", "shopCounts", "focusAreaCounts", "metricCounts", "quickWinsCount"], ["id", "section-unified-goals", 1, "space-y-6", "scroll-mt-24"], [3, "goalClick", "timeline", "viewMode", "goals"], [3, "goalClick", "matrix", "viewMode"], [3, "goalClick", "steps", "viewMode", "goals"], [3, "viewMode", "sectionIcon"], ["title", "Unified Goals", 3, "icon", "viewMode"], [1, "grid", "gap-6", 2, "grid-template-columns", "repeat(auto-fit, minmax(340px, 1fr))"], [3, "goal", "viewMode"], [3, "goalClick", "sourceBadgeClick", "relatedMetricsClick", "learnMoreClick", "goal", "viewMode"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [3, "close", "isLightMode", "isOpen"], [3, "close", "modeSelected", "viewMode", "currentMode", "isOpen"], [3, "markAsReviewed", "viewMode", "selfContentStatus", "isLoading"]], template: function SymphiqProfileAnalysisUnifiedDashboardComponent_Template(rf, ctx) { if (rf & 1) {
105465
105531
  i0.ɵɵelementStart(0, "div", 0);
105466
105532
  i0.ɵɵelement(1, "div", 1)(2, "symphiq-scroll-progress-bar", 2);
105467
105533
  i0.ɵɵelementStart(3, "div", 3)(4, "symphiq-dashboard-header", 4);
@@ -105707,6 +105773,8 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105707
105773
  <symphiq-unified-next-steps
105708
105774
  [steps]="nextSteps()"
105709
105775
  [viewMode]="viewMode()"
105776
+ [goals]="unifiedGoals()"
105777
+ (goalClick)="onGoalClick($event)"
105710
105778
  />
105711
105779
  }
105712
105780
 
@@ -105828,7 +105896,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
105828
105896
  type: HostListener,
105829
105897
  args: ['window:scroll']
105830
105898
  }] }); })();
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 }); })();
105899
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisUnifiedDashboardComponent, { className: "SymphiqProfileAnalysisUnifiedDashboardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/symphiq-profile-analysis-unified-dashboard.component.ts", lineNumber: 376 }); })();
105832
105900
 
105833
105901
  function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
105834
105902
  const _r1 = i0.ɵɵgetCurrentView();