@eric-emg/symphiq-components 1.2.0
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.
- package/README.md +179 -0
- package/fesm2022/symphiq-components.mjs +3036 -0
- package/fesm2022/symphiq-components.mjs.map +1 -0
- package/index.d.ts +166 -0
- package/index.d.ts.map +1 -0
- package/package.json +55 -0
- package/src/styles.css +1 -0
- package/styles.css +1403 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symphiq-components.mjs","sources":["../../../projects/symphiq-components/src/lib/services/funnel-order.service.ts","../../../projects/symphiq-components/src/lib/services/modal.service.ts","../../../projects/symphiq-components/src/lib/components/overall-assessment.component.ts","../../../projects/symphiq-components/src/lib/components/insight-card.component.ts","../../../projects/symphiq-components/src/lib/components/metric-card.component.ts","../../../projects/symphiq-components/src/lib/components/breakdown-section.component.ts","../../../projects/symphiq-components/src/lib/components/modal.component.ts","../../../projects/symphiq-components/src/lib/data/funnel-data.ts","../../../projects/symphiq-components/src/lib/components/symphiq-funnel-analysis-dashboard.component.ts","../../../projects/symphiq-components/src/public-api.ts","../../../projects/symphiq-components/src/symphiq-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\nexport interface FunnelMetricOrder {\r\n metric: string;\r\n funnelMetric: string;\r\n funnelInd: number;\r\n relatedInd: number;\r\n isFunnelStage: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FunnelOrderService {\r\n private readonly funnelOrder: FunnelMetricOrder[] = [\r\n { metric: 'PURCHASE_REVENUE', funnelMetric: 'PURCHASE_REVENUE', funnelInd: 5, relatedInd: 20, isFunnelStage: true },\r\n { metric: 'REVENUE_PER_PRODUCT_VIEW', funnelMetric: 'PURCHASE_REVENUE', funnelInd: 5, relatedInd: 21, isFunnelStage: false },\r\n { metric: 'REVENUE_PER_ADD_TO_CART', funnelMetric: 'PURCHASE_REVENUE', funnelInd: 5, relatedInd: 22, isFunnelStage: false },\r\n { metric: 'REVENUE_PER_CHECKOUT', funnelMetric: 'PURCHASE_REVENUE', funnelInd: 5, relatedInd: 23, isFunnelStage: false },\r\n { metric: 'AVERAGE_ORDER_VALUE', funnelMetric: 'PURCHASE_REVENUE', funnelInd: 5, relatedInd: 24, isFunnelStage: false },\r\n { metric: 'ECOMMERCE_PURCHASES', funnelMetric: 'ECOMMERCE_PURCHASES', funnelInd: 4, relatedInd: 15, isFunnelStage: true },\r\n { metric: 'PRODUCT_VIEW_CONVERSION_RATE', funnelMetric: 'ECOMMERCE_PURCHASES', funnelInd: 4, relatedInd: 16, isFunnelStage: false },\r\n { metric: 'ADD_TO_CART_CONVERSION_RATE', funnelMetric: 'ECOMMERCE_PURCHASES', funnelInd: 4, relatedInd: 17, isFunnelStage: false },\r\n { metric: 'CHECKOUT_CONVERSION_RATE', funnelMetric: 'ECOMMERCE_PURCHASES', funnelInd: 4, relatedInd: 18, isFunnelStage: false },\r\n { metric: 'ECOMMERCE_CONVERSION_RATE', funnelMetric: 'ECOMMERCE_PURCHASES', funnelInd: 4, relatedInd: 19, isFunnelStage: false },\r\n { metric: 'CHECKOUTS', funnelMetric: 'CHECKOUTS', funnelInd: 3, relatedInd: 12, isFunnelStage: true },\r\n { metric: 'ACTIVE_USER_CHECKOUT_RATE', funnelMetric: 'CHECKOUTS', funnelInd: 3, relatedInd: 13, isFunnelStage: false },\r\n { metric: 'CART_TO_CHECKOUT_CONVERSION_RATE', funnelMetric: 'CHECKOUTS', funnelInd: 3, relatedInd: 14, isFunnelStage: false },\r\n { metric: 'ADD_TO_CARTS', funnelMetric: 'ADD_TO_CARTS', funnelInd: 2, relatedInd: 8, isFunnelStage: true },\r\n { metric: 'ACTIVE_USER_ADD_TO_CART_RATE', funnelMetric: 'ADD_TO_CARTS', funnelInd: 2, relatedInd: 9, isFunnelStage: false },\r\n { metric: 'ADD_TO_CART_RATE', funnelMetric: 'ADD_TO_CARTS', funnelInd: 2, relatedInd: 10, isFunnelStage: false },\r\n { metric: 'PRODUCT_VIEW_TO_CART_CONVERSION_RATE', funnelMetric: 'ADD_TO_CARTS', funnelInd: 2, relatedInd: 11, isFunnelStage: false },\r\n { metric: 'ITEM_VIEW_EVENTS', funnelMetric: 'ITEM_VIEW_EVENTS', funnelInd: 1, relatedInd: 5, isFunnelStage: true },\r\n { metric: 'PRODUCT_VIEW_RATE', funnelMetric: 'ITEM_VIEW_EVENTS', funnelInd: 1, relatedInd: 6, isFunnelStage: false },\r\n { metric: 'VIEW_TO_PRODUCT_VIEW_CONVERSION_RATE', funnelMetric: 'ITEM_VIEW_EVENTS', funnelInd: 1, relatedInd: 7, isFunnelStage: false },\r\n { metric: 'SCREEN_PAGE_VIEWS', funnelMetric: 'SCREEN_PAGE_VIEWS', funnelInd: 0, relatedInd: 0, isFunnelStage: true },\r\n { metric: 'ACTIVE_USERS', funnelMetric: 'SCREEN_PAGE_VIEWS', funnelInd: 0, relatedInd: 1, isFunnelStage: false },\r\n { metric: 'BOUNCE_RATE', funnelMetric: 'SCREEN_PAGE_VIEWS', funnelInd: 0, relatedInd: 2, isFunnelStage: false },\r\n { metric: 'NEW_USERS', funnelMetric: 'SCREEN_PAGE_VIEWS', funnelInd: 0, relatedInd: 3, isFunnelStage: false },\r\n { metric: 'SESSIONS', funnelMetric: 'SCREEN_PAGE_VIEWS', funnelInd: 0, relatedInd: 4, isFunnelStage: false },\r\n ];\r\n\r\n private readonly funnelStageNames: Record<number, string> = {\r\n 5: 'REVENUE',\r\n 4: 'PURCHASES',\r\n 3: 'CHECKOUTS',\r\n 2: 'ADD TO CARTS',\r\n 1: 'PRODUCT VIEWS',\r\n 0: 'VIEWS'\r\n };\r\n\r\n getMetricOrder(metricName: string): FunnelMetricOrder | undefined {\r\n return this.funnelOrder.find(m => m.metric === metricName);\r\n }\r\n\r\n isFunnelStage(metricName: string): boolean {\r\n const order = this.getMetricOrder(metricName);\r\n return order?.isFunnelStage ?? false;\r\n }\r\n\r\n getFunnelStageName(funnelInd: number): string {\r\n return this.funnelStageNames[funnelInd] || 'UNKNOWN';\r\n }\r\n\r\n getFunnelStageForMetric(metricName: string): string | null {\r\n const order = this.getMetricOrder(metricName);\r\n return order ? this.getFunnelStageName(order.funnelInd) : null;\r\n }\r\n\r\n sortMetricsByFunnelOrder(metrics: any[]): any[] {\r\n return [...metrics].sort((a, b) => {\r\n const orderA = this.getMetricOrder(a.metric);\r\n const orderB = this.getMetricOrder(b.metric);\r\n\r\n if (!orderA && !orderB) return 0;\r\n if (!orderA) return 1;\r\n if (!orderB) return -1;\r\n\r\n if (orderA.funnelInd !== orderB.funnelInd) {\r\n return orderA.funnelInd - orderB.funnelInd;\r\n }\r\n\r\n return orderA.relatedInd - orderB.relatedInd;\r\n });\r\n }\r\n\r\n getMetricsForFunnelStage(metrics: any[], funnelStageName: string): any[] {\r\n const funnelInd = Object.entries(this.funnelStageNames)\r\n .find(([_, name]) => name === funnelStageName)?.[0];\r\n\r\n if (!funnelInd) return [];\r\n\r\n const funnelIndNum = parseInt(funnelInd);\r\n return metrics.filter(metric => {\r\n const order = this.getMetricOrder(metric.metric);\r\n return order?.funnelInd === funnelIndNum;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { InsightBlockInterface, PerformanceMetricInterface } from '@jebgem/model';\r\n\r\nexport interface ModalState {\r\n type: 'insight' | 'metric' | null;\r\n data: InsightBlockInterface | PerformanceMetricInterface | null;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n private modalState = new BehaviorSubject<ModalState>({ type: null, data: null });\r\n public modalState$ = this.modalState.asObservable();\r\n\r\n openInsightModal(insight: InsightBlockInterface) {\r\n this.modalState.next({ type: 'insight', data: insight });\r\n }\r\n\r\n openMetricModal(metric: PerformanceMetricInterface) {\r\n this.modalState.next({ type: 'metric', data: metric });\r\n }\r\n\r\n closeModal() {\r\n this.modalState.next({ type: null, data: null });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { OverallAssessmentInterface, PerformanceMetricInterface } from '@jebgem/model';\r\n\r\n@Component({\r\n selector: 'symphiq-funnel-analysis-overall-assessment',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <div class=\"bg-gradient-to-br from-slate-800 to-slate-900 rounded-2xl p-8 border border-slate-700 shadow-xl\">\r\n <div class=\"flex items-start justify-between mb-6\">\r\n <div>\r\n <h2 class=\"text-3xl font-bold text-white mb-2\">Overall Performance</h2>\r\n <p class=\"text-slate-400\">{{ assessment.targetPacingStatus }}</p>\r\n </div>\r\n <div class=\"flex items-center gap-4\">\r\n <div [class]=\"getStatusBadgeClass()\" class=\"text-center\">\r\n <div class=\"text-xs font-semibold text-slate-400 uppercase tracking-wider mb-1\">Status</div>\r\n <div class=\"text-lg font-bold\">{{ getStatusLabel() }}</div>\r\n </div>\r\n <div [class]=\"getGradeBadgeClass()\">\r\n <div class=\"text-xs font-semibold text-slate-400 uppercase tracking-wider mb-1\">Grade</div>\r\n <div class=\"text-4xl font-bold\">{{ assessment.grade }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n @if (revenueMetric) {\r\n <div class=\"bg-gradient-to-r from-emerald-500/20 to-blue-500/20 rounded-xl p-6 mb-6 border-2 border-emerald-500/40\">\r\n <div class=\"flex items-center justify-between\">\r\n <div class=\"flex-1\">\r\n <div class=\"flex items-center gap-3 mb-2\">\r\n <div class=\"w-12 h-12 bg-emerald-500/30 rounded-lg flex items-center justify-center\">\r\n <svg class=\"w-7 h-7 text-emerald-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\r\n </svg>\r\n </div>\r\n <div>\r\n <h3 class=\"text-sm font-semibold text-slate-400 uppercase tracking-wider\">Your Revenue</h3>\r\n <p class=\"text-4xl font-bold text-white\">{{ formatRevenue(revenueMetric.currentValue || 0) }}</p>\r\n </div>\r\n </div>\r\n <div class=\"flex items-center gap-4 mt-3\">\r\n <div class=\"flex items-center gap-2\">\r\n <svg class=\"w-5 h-5 text-emerald-400\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n <path 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\" />\r\n </svg>\r\n <span class=\"text-emerald-400 font-semibold text-lg\">{{ formatPercent(revenueMetric.trendPercent || 0) }}%</span>\r\n <span class=\"text-slate-400 text-sm\">vs last year</span>\r\n </div>\r\n <div class=\"h-6 w-px bg-slate-600\"></div>\r\n <div>\r\n <span class=\"text-slate-400 text-sm\">Target: </span>\r\n <span class=\"text-white font-semibold\">{{ formatRevenue(revenueMetric.targetValue || 0) }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-right\">\r\n <div class=\"text-xs font-semibold text-slate-400 uppercase tracking-wider mb-1\">Status</div>\r\n <div [class]=\"getRevenueStatusClass()\" class=\"inline-block px-4 py-2 rounded-lg font-bold text-lg\">\r\n {{ (revenueMetric.status || 'ON_TRACK').replace('_', ' ') }}\r\n </div>\r\n <div class=\"mt-2 text-sm text-slate-400\">{{ revenueMetric.description }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"bg-slate-900/50 rounded-xl p-6 mb-6 border border-slate-700\">\r\n <p class=\"text-slate-300 leading-relaxed\">{{ assessment.narrative }}</p>\r\n </div>\r\n\r\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\r\n <div class=\"bg-emerald-500/10 rounded-xl p-6 border border-emerald-500/30\">\r\n <div class=\"flex items-center gap-3 mb-3\">\r\n <div class=\"w-10 h-10 bg-emerald-500/20 rounded-lg flex items-center justify-center\">\r\n <svg class=\"w-6 h-6 text-emerald-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path 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\" />\r\n </svg>\r\n </div>\r\n <h3 class=\"text-lg font-semibold text-emerald-400\">Key Strengths</h3>\r\n </div>\r\n <p class=\"text-sm text-slate-300 leading-relaxed\">{{ assessment.keyStrengths }}</p>\r\n </div>\r\n\r\n <div class=\"bg-amber-500/10 rounded-xl p-6 border border-amber-500/30\">\r\n <div class=\"flex items-center gap-3 mb-3\">\r\n <div class=\"w-10 h-10 bg-amber-500/20 rounded-lg flex items-center justify-center\">\r\n <svg class=\"w-6 h-6 text-amber-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\" />\r\n </svg>\r\n </div>\r\n <h3 class=\"text-lg font-semibold text-amber-400\">Areas for Improvement</h3>\r\n </div>\r\n <p class=\"text-sm text-slate-300 leading-relaxed\">{{ assessment.areasForImprovement }}</p>\r\n </div>\r\n\r\n <div class=\"bg-blue-500/10 rounded-xl p-6 border border-blue-500/30\">\r\n <div class=\"flex items-center gap-3 mb-3\">\r\n <div class=\"w-10 h-10 bg-blue-500/20 rounded-lg flex items-center justify-center\">\r\n <svg class=\"w-6 h-6 text-blue-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13 7h8m0 0v8m0-8l-8 8-4-4-6 6\" />\r\n </svg>\r\n </div>\r\n <h3 class=\"text-lg font-semibold text-blue-400\">Prior Year Trend</h3>\r\n </div>\r\n <p class=\"text-sm text-slate-300 leading-relaxed\">{{ assessment.priorYearTrend }}</p>\r\n </div>\r\n\r\n <div class=\"bg-purple-500/10 rounded-xl p-6 border border-purple-500/30\">\r\n <div class=\"flex items-center gap-3 mb-3\">\r\n <div class=\"w-10 h-10 bg-purple-500/20 rounded-lg flex items-center justify-center\">\r\n <svg class=\"w-6 h-6 text-purple-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\" />\r\n </svg>\r\n </div>\r\n <h3 class=\"text-lg font-semibold text-purple-400\">Recommended Actions</h3>\r\n </div>\r\n <p class=\"text-sm text-slate-300 leading-relaxed\">{{ assessment.recommendedActions }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class OverallAssessmentComponent {\r\n @Input() assessment!: OverallAssessmentInterface;\r\n @Input() revenueMetric?: PerformanceMetricInterface;\r\n\r\n formatRevenue(value: number): string {\r\n return '$' + value.toLocaleString('en-US', { maximumFractionDigits: 0 });\r\n }\r\n\r\n formatPercent(value: number): string {\r\n return value > 0 ? '+' + value.toFixed(1) : value.toFixed(1);\r\n }\r\n\r\n getRevenueStatusClass(): string {\r\n if (!this.revenueMetric) return 'bg-slate-500/20 text-slate-400';\r\n\r\n switch (this.revenueMetric.status || 'ON_TRACK') {\r\n case 'OVERACHIEVING':\r\n return 'bg-emerald-500/20 text-emerald-400';\r\n case 'ON_TRACK':\r\n return 'bg-blue-500/20 text-blue-400';\r\n case 'AT_RISK':\r\n return 'bg-amber-500/20 text-amber-400';\r\n default:\r\n return 'bg-slate-500/20 text-slate-400';\r\n }\r\n }\r\n\r\n getStatusBadgeClass(): string {\r\n const baseClass = 'px-4 py-2 rounded-xl';\r\n const status = this.assessment.overallStatus || 'ON_TRACK';\r\n switch (status) {\r\n case 'ON_TRACK':\r\n return `${baseClass} bg-blue-500/20 text-blue-400 border border-blue-500/30`;\r\n case 'OVERACHIEVING':\r\n return `${baseClass} bg-emerald-500/20 text-emerald-400 border border-emerald-500/30`;\r\n case 'AT_RISK':\r\n return `${baseClass} bg-amber-500/20 text-amber-400 border border-amber-500/30`;\r\n default:\r\n return `${baseClass} bg-slate-500/20 text-slate-400 border border-slate-500/30`;\r\n }\r\n }\r\n\r\n getStatusLabel(): string {\r\n return (this.assessment.overallStatus || '').replace(/_/g, ' ');\r\n }\r\n\r\n getGradeBadgeClass(): string {\r\n const grade = this.assessment.grade || 'B';\r\n const baseClass = 'px-6 py-3 rounded-xl text-center border-2';\r\n switch (grade) {\r\n case 'A':\r\n return `${baseClass} bg-emerald-500/20 text-emerald-400 border-emerald-500/50`;\r\n case 'B':\r\n return `${baseClass} bg-blue-500/20 text-blue-400 border-blue-500/50`;\r\n case 'C':\r\n return `${baseClass} bg-amber-500/20 text-amber-400 border-amber-500/50`;\r\n case 'D':\r\n case 'F':\r\n default:\r\n return `${baseClass} bg-red-500/20 text-red-400 border-red-500/50`;\r\n }\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { InsightBlockInterface, PerformanceMetricInterface } from '@jebgem/model';\r\nimport { ModalService } from '../services/modal.service';\r\n\r\n@Component({\r\n selector: 'symphiq-funnel-analysis-insight-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <div class=\"bg-slate-800 rounded-xl p-6 border border-slate-700 hover:border-slate-600 transition-all duration-300\">\r\n <div class=\"flex items-start justify-between mb-4\">\r\n <div class=\"flex items-center gap-3\">\r\n <div [class]=\"getPriorityBadgeClass()\">\r\n P{{ insight.priority }}\r\n </div>\r\n <h3 class=\"text-lg font-semibold text-white\">{{ insight.title }}</h3>\r\n </div>\r\n </div>\r\n\r\n <div class=\"space-y-4\">\r\n <div>\r\n <h4 class=\"text-sm font-medium text-slate-400 mb-2\">Context</h4>\r\n <p class=\"text-sm text-slate-300 leading-relaxed\">{{ insight.businessContext }}</p>\r\n </div>\r\n\r\n <div>\r\n <h4 class=\"text-sm font-medium text-slate-400 mb-2\">Description</h4>\r\n <p class=\"text-sm text-slate-300 leading-relaxed\">{{ insight.description }}</p>\r\n </div>\r\n\r\n <div>\r\n <h4 class=\"text-sm font-medium text-slate-400 mb-2\">Related Metrics</h4>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <button\r\n *ngFor=\"let metricName of insight.relatedMetrics\"\r\n (click)=\"openMetricModal(metricName)\"\r\n class=\"px-3 py-1 bg-slate-700 hover:bg-slate-600 text-slate-300 hover:text-white text-xs font-medium rounded-full border border-slate-600 hover:border-blue-500 transition-all cursor-pointer\">\r\n {{ formatMetricName(metricName) }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"(insight.recommendations?.length || 0) > 0\">\r\n <h4 class=\"text-sm font-medium text-slate-400 mb-3\">Recommendations</h4>\r\n <ul class=\"space-y-2\">\r\n <li *ngFor=\"let rec of (insight.recommendations || [])\" class=\"flex items-start gap-2 text-sm text-slate-300\">\r\n <svg class=\"w-5 h-5 text-blue-400 flex-shrink-0 mt-0.5\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path 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\" />\r\n </svg>\r\n <span class=\"leading-relaxed\">{{ rec }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class InsightCardComponent {\r\n @Input() insight!: InsightBlockInterface;\r\n @Input() allMetrics: PerformanceMetricInterface[] = [];\r\n\r\n constructor(private modalService: ModalService) {}\r\n\r\n formatMetricName(name: string): string {\r\n return name.replace(/_/g, ' ').toLowerCase().replace(/\\b\\w/g, l => l.toUpperCase());\r\n }\r\n\r\n openMetricModal(metricName: string) {\r\n const metric = this.allMetrics.find(m => m.metric === metricName);\r\n if (metric) {\r\n this.modalService.openMetricModal(metric);\r\n }\r\n }\r\n\r\n getPriorityBadgeClass(): string {\r\n const baseClass = 'w-8 h-8 flex items-center justify-center rounded-full text-xs font-bold';\r\n const priority = this.insight.priority || 0;\r\n switch (priority) {\r\n case 1:\r\n return `${baseClass} bg-red-500/20 text-red-400 border-2 border-red-500/50`;\r\n case 2:\r\n return `${baseClass} bg-amber-500/20 text-amber-400 border-2 border-amber-500/50`;\r\n case 3:\r\n return `${baseClass} bg-blue-500/20 text-blue-400 border-2 border-blue-500/50`;\r\n default:\r\n return `${baseClass} bg-slate-500/20 text-slate-400 border-2 border-slate-500/50`;\r\n }\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PerformanceMetricInterface, InsightBlockInterface } from '@jebgem/model';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { FunnelOrderService } from '../services/funnel-order.service';\r\n\r\n@Component({\r\n selector: 'symphiq-funnel-analysis-metric-card',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <div [class]=\"getCardClass()\">\r\n <div class=\"flex items-start justify-between mb-4\">\r\n <div class=\"flex-1\">\r\n <div class=\"flex items-center gap-2 mb-1\">\r\n <h3 class=\"text-sm font-medium text-slate-400\">{{ formatMetricName(metric.metric || 'UNKNOWN') }}</h3>\r\n <span *ngIf=\"isFunnelStage\" class=\"px-2 py-0.5 bg-purple-500/20 text-purple-300 text-xs font-semibold rounded border border-purple-500/30\">\r\n FUNNEL STAGE\r\n </span>\r\n </div>\r\n <div class=\"flex items-baseline gap-2\">\r\n <span class=\"text-3xl font-bold text-white\">{{ formatValue(metric.currentValue || 0) }}</span>\r\n <span [class]=\"getTrendClass()\" class=\"text-sm font-semibold flex items-center gap-1\">\r\n <svg *ngIf=\"metric.trendDirection === 'UP'\" class=\"w-4 h-4\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n <path 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\" />\r\n </svg>\r\n <svg *ngIf=\"metric.trendDirection === 'DOWN'\" class=\"w-4 h-4\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n <path 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\" />\r\n </svg>\r\n {{ Math.abs(metric.trendPercent || 0).toFixed(1) }}%\r\n </span>\r\n </div>\r\n </div>\r\n <div [class]=\"getStatusBadgeClass()\">\r\n {{ getStatusLabel() }}\r\n </div>\r\n </div>\r\n\r\n <div class=\"space-y-3\">\r\n <div class=\"flex justify-between items-center text-sm\">\r\n <span class=\"text-slate-400\">Target</span>\r\n <span class=\"text-white font-medium\">{{ formatValue(metric.targetValue || 0) }}</span>\r\n </div>\r\n\r\n <div class=\"w-full bg-slate-700 rounded-full h-2.5 overflow-hidden\">\r\n <div\r\n [style.width.%]=\"getPacingPercentage()\"\r\n [class]=\"getPacingBarClass()\"\r\n class=\"h-2.5 rounded-full transition-all duration-500\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"flex justify-between items-center text-xs\">\r\n <span class=\"text-slate-500\">Pacing: {{ (metric.pacingPercentage || 0) > 0 ? '+' : '' }}{{ (metric.pacingPercentage || 0).toFixed(1) }}%</span>\r\n <span class=\"text-slate-500\">Priority: {{ metric.priority || 0 }}</span>\r\n </div>\r\n </div>\r\n\r\n <p class=\"mt-4 text-sm text-slate-400 leading-relaxed flex-grow\">{{ metric.description }}</p>\r\n\r\n <div *ngIf=\"relatedInsights.length > 0\" class=\"mt-6 flex-shrink-0\">\r\n <div class=\"flex items-center gap-2 mb-3\">\r\n <svg class=\"w-4 h-4 text-blue-400\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path 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\"></path>\r\n </svg>\r\n <h4 class=\"text-xs font-semibold text-slate-300 uppercase tracking-wide\">Related Insights</h4>\r\n </div>\r\n <div class=\"space-y-2\">\r\n <button\r\n *ngFor=\"let insight of relatedInsights\"\r\n (click)=\"openInsightModal(insight)\"\r\n class=\"w-full text-left flex items-center gap-2 p-3 bg-slate-900/30 hover:bg-slate-900/50 rounded-lg border border-slate-700/50 hover:border-blue-500/50 transition-all cursor-pointer group\">\r\n <span class=\"inline-flex items-center justify-center w-6 h-6 rounded-full bg-blue-500/20 text-blue-400 text-xs font-bold flex-shrink-0 group-hover:bg-blue-500/30\">{{ insight.priority }}</span>\r\n <span class=\"text-sm text-slate-300 group-hover:text-white transition-colors flex-1\">{{ insight.title }}</span>\r\n <svg class=\"w-4 h-4 text-slate-500 group-hover:text-blue-400 transition-colors\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9 5l7 7-7 7\"></path>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class MetricCardComponent {\r\n @Input() metric!: PerformanceMetricInterface;\r\n @Input() insights: InsightBlockInterface[] = [];\r\n Math = Math;\r\n\r\n constructor(\r\n private modalService: ModalService,\r\n private funnelOrderService: FunnelOrderService\r\n ) {}\r\n\r\n get isFunnelStage(): boolean {\r\n return this.funnelOrderService.isFunnelStage(this.metric.metric || '');\r\n }\r\n\r\n getCardClass(): string {\r\n const baseClass = 'rounded-xl p-6 border transition-all duration-300 flex flex-col h-full';\r\n if (this.isFunnelStage) {\r\n return `${baseClass} bg-gradient-to-br from-purple-900/20 to-slate-800 border-purple-700/50 hover:border-purple-600/70`;\r\n }\r\n return `${baseClass} bg-slate-800 border-slate-700 hover:border-slate-600`;\r\n }\r\n\r\n get relatedInsights(): InsightBlockInterface[] {\r\n if (!this.metric.metric) return [];\r\n return this.insights.filter(insight =>\r\n insight.relatedMetrics?.includes(this.metric.metric as any)\r\n ).sort((a, b) => (a.priority || 0) - (b.priority || 0));\r\n }\r\n\r\n openInsightModal(insight: InsightBlockInterface) {\r\n this.modalService.openInsightModal(insight);\r\n }\r\n\r\n formatMetricName(name: string): string {\r\n return name.replace(/_/g, ' ').toLowerCase().replace(/\\b\\w/g, l => l.toUpperCase());\r\n }\r\n\r\n formatValue(value: number): string {\r\n if (this.metric.category === 'REVENUE') {\r\n if (value > 1000) {\r\n return '$' + value.toLocaleString('en-US', { maximumFractionDigits: 0 });\r\n }\r\n return '$' + value.toFixed(2);\r\n }\r\n if ((this.metric.metric || '').includes('RATE') || (this.metric.metric || '').includes('CONVERSION')) {\r\n return value.toFixed(2) + '%';\r\n }\r\n if (value < 100 && value % 1 !== 0) {\r\n return value.toFixed(2);\r\n }\r\n return value.toLocaleString('en-US', { maximumFractionDigits: 0 });\r\n }\r\n\r\n getTrendClass(): string {\r\n const isGoodTrend = this.isGoodTrend();\r\n if (isGoodTrend) {\r\n return 'text-emerald-400';\r\n }\r\n return 'text-red-400';\r\n }\r\n\r\n isGoodTrend(): boolean {\r\n if (this.metric.metric === 'BOUNCE_RATE') {\r\n return (this.metric.trendDirection || '') === 'DOWN';\r\n }\r\n return (this.metric.trendDirection || '') === 'UP';\r\n }\r\n\r\n getStatusBadgeClass(): string {\r\n const baseClass = 'px-3 py-1 rounded-full text-xs font-semibold whitespace-nowrap';\r\n switch (this.metric.status || 'ON_TRACK') {\r\n case 'OVERACHIEVING':\r\n return `${baseClass} bg-emerald-500/20 text-emerald-400 border border-emerald-500/30`;\r\n case 'ON_TRACK':\r\n return `${baseClass} bg-blue-500/20 text-blue-400 border border-blue-500/30`;\r\n case 'AT_RISK':\r\n return `${baseClass} bg-amber-500/20 text-amber-400 border border-amber-500/30`;\r\n default:\r\n return `${baseClass} bg-slate-500/20 text-slate-400 border border-slate-500/30`;\r\n }\r\n }\r\n\r\n getStatusLabel(): string {\r\n return (this.metric.status || 'ON_TRACK').replace(/_/g, ' ');\r\n }\r\n\r\n getPacingPercentage(): number {\r\n const currentValue = this.metric.currentValue || 0;\r\n const targetValue = this.metric.targetValue || 1;\r\n const percentage = ((currentValue / targetValue) * 100);\r\n return Math.min(percentage, 100);\r\n }\r\n\r\n getPacingBarClass(): string {\r\n if ((this.metric.status || '') === 'OVERACHIEVING') {\r\n return 'bg-gradient-to-r from-emerald-500 to-emerald-400';\r\n }\r\n if ((this.metric.status || '') === 'AT_RISK') {\r\n return 'bg-gradient-to-r from-amber-500 to-amber-400';\r\n }\r\n return 'bg-gradient-to-r from-blue-500 to-blue-400';\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreakdownMetricInterface, PerformanceMetricInterface } from '@jebgem/model';\r\n\r\ninterface MetricGroup {\r\n metric: string;\r\n metricLabel: string;\r\n category: string;\r\n values: PerformanceMetricInterface[];\r\n}\r\n\r\n@Component({\r\n selector: 'symphiq-funnel-analysis-breakdown-section',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <div class=\"bg-slate-800 rounded-xl p-6 border border-slate-700\" style=\"margin-bottom: 2rem;\">\r\n <div class=\"mb-6\">\r\n <h3 class=\"text-xl font-bold text-white mb-2\">{{ breakdown.dimensionLabel }} Analysis</h3>\r\n <p class=\"text-sm text-slate-400 leading-relaxed\">{{ breakdown.summaryAnalysis }}</p>\r\n </div>\r\n\r\n <div class=\"space-y-8\">\r\n <div *ngFor=\"let group of metricGroups\" class=\"border-t border-slate-700 pt-6 first:border-t-0 first:pt-0\">\r\n <h4 class=\"text-base font-semibold text-white mb-4 flex items-center gap-2\">\r\n {{ group.metricLabel }}\r\n <span class=\"text-xs font-normal text-slate-500 px-2 py-1 bg-slate-700/50 rounded\">{{ group.category }}</span>\r\n </h4>\r\n\r\n <div class=\"overflow-x-auto\">\r\n <table class=\"w-full\">\r\n <thead>\r\n <tr class=\"border-b border-slate-700\">\r\n <th class=\"text-left py-3 px-4 text-xs font-semibold text-slate-400 uppercase tracking-wider\">{{ breakdown.dimensionLabel }}</th>\r\n <th class=\"text-right py-3 px-4 text-xs font-semibold text-slate-400 uppercase tracking-wider\">Current</th>\r\n <th class=\"text-right py-3 px-4 text-xs font-semibold text-slate-400 uppercase tracking-wider\">Trend</th>\r\n <th class=\"text-right py-3 px-4 text-xs font-semibold text-slate-400 uppercase tracking-wider\">Status</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let metric of group.values; let i = index\">\r\n <tr class=\"hover:bg-slate-700/30 transition-colors\">\r\n <td class=\"py-3 px-4 pb-1\">\r\n <div>\r\n <div class=\"text-sm font-medium text-white\">{{ formatDimensionValue(metric.dimensionValue) }}</div>\r\n <div class=\"text-xs text-slate-500 mt-1\">Priority {{ metric.priority }}</div>\r\n </div>\r\n </td>\r\n <td class=\"text-right py-3 px-4 pb-1\">\r\n <div class=\"text-sm font-semibold text-white\">{{ formatValue(metric.currentValue || 0, metric.category, metric.metric) }}</div>\r\n </td>\r\n <td class=\"text-right py-3 px-4 pb-1\">\r\n <div [class]=\"getTrendClass(metric)\" class=\"text-sm font-semibold flex items-center justify-end gap-1\">\r\n <svg *ngIf=\"metric.trendDirection === 'UP'\" class=\"w-4 h-4\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n <path 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\" />\r\n </svg>\r\n <svg *ngIf=\"metric.trendDirection === 'DOWN'\" class=\"w-4 h-4\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n <path 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\" />\r\n </svg>\r\n {{ Math.abs(metric.trendPercent || 0).toFixed(1) }}%\r\n </div>\r\n </td>\r\n <td class=\"text-right py-3 px-4 pb-1\">\r\n <span [class]=\"getStatusBadgeClass(metric.status || 'ON_TRACK')\" class=\"inline-block\">\r\n {{ getStatusLabel(metric.status || 'ON_TRACK') }}\r\n </span>\r\n </td>\r\n </tr>\r\n <tr [class.border-b]=\"i < group.values.length - 1\" class=\"border-slate-700\">\r\n <td colspan=\"4\" class=\"px-4 pt-0 pb-4\">\r\n <div class=\"bg-slate-900/50 rounded-lg p-3 border border-slate-700/50\">\r\n <p class=\"text-xs text-slate-400 leading-relaxed\">{{ metric.description }}</p>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class BreakdownSectionComponent implements OnInit {\r\n @Input() breakdown!: BreakdownMetricInterface;\r\n Math = Math;\r\n metricGroups: MetricGroup[] = [];\r\n\r\n ngOnInit() {\r\n this.metricGroups = this.groupMetrics();\r\n }\r\n\r\n groupMetrics(): MetricGroup[] {\r\n const grouped = new Map<string, MetricGroup>();\r\n\r\n if (!this.breakdown.subMetrics) {\r\n return [];\r\n }\r\n\r\n for (const metric of this.breakdown.subMetrics) {\r\n if (!metric.metric) continue;\r\n \r\n if (!grouped.has(metric.metric)) {\r\n grouped.set(metric.metric, {\r\n metric: metric.metric,\r\n metricLabel: this.formatMetricLabel(metric.metric),\r\n category: metric.category || '',\r\n values: []\r\n });\r\n }\r\n grouped.get(metric.metric)!.values.push(metric);\r\n }\r\n\r\n return Array.from(grouped.values());\r\n }\r\n\r\n formatMetricLabel(metric: string): string {\r\n return metric\r\n .split('_')\r\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\r\n .join(' ');\r\n }\r\n\r\n formatDimensionValue(value?: string): string {\r\n if (!value || value === '(none)') return 'Direct';\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n\r\n formatValue(value: number, category: string | undefined, metric?: string): string {\r\n if ((category || '') === 'REVENUE') {\r\n return '$' + value.toLocaleString('en-US', { maximumFractionDigits: 0 });\r\n }\r\n if (metric?.includes('RATE') || metric?.includes('CONVERSION')) {\r\n if (value < 1) {\r\n return (value * 100).toFixed(2) + '%';\r\n }\r\n return value.toFixed(2) + '%';\r\n }\r\n return value.toLocaleString('en-US', { maximumFractionDigits: 0 });\r\n }\r\n\r\n getTrendClass(metric: any): string {\r\n return metric.trendDirection === 'UP' ? 'text-emerald-400' : 'text-red-400';\r\n }\r\n\r\n getStatusBadgeClass(status: string | undefined): string {\r\n const baseClass = 'px-2 py-1 rounded-full text-xs font-semibold';\r\n switch (status || 'ON_TRACK') {\r\n case 'OVERACHIEVING':\r\n return `${baseClass} bg-emerald-500/20 text-emerald-400`;\r\n case 'ON_TRACK':\r\n return `${baseClass} bg-blue-500/20 text-blue-400`;\r\n case 'AT_RISK':\r\n return `${baseClass} bg-amber-500/20 text-amber-400`;\r\n default:\r\n return `${baseClass} bg-slate-500/20 text-slate-400`;\r\n }\r\n }\r\n\r\n getStatusLabel(status: string | undefined): string {\r\n return (status || '').replace(/_/g, ' ');\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModalService } from '../services/modal.service';\r\nimport { InsightBlockInterface, PerformanceMetricInterface } from '@jebgem/model';\r\n\r\n@Component({\r\n selector: 'symphiq-funnel-analysis-modal',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <div *ngIf=\"isOpen\" class=\"fixed inset-0 z-50 overflow-y-auto\" (click)=\"closeModal()\">\r\n <div class=\"flex items-center justify-center min-h-screen px-4 pt-4 pb-20 text-center sm:block sm:p-0\">\r\n <div class=\"fixed inset-0 transition-opacity bg-slate-950/80 backdrop-blur-sm\" aria-hidden=\"true\"></div>\r\n\r\n <span class=\"hidden sm:inline-block sm:align-middle sm:h-screen\" aria-hidden=\"true\">​</span>\r\n\r\n <div\r\n (click)=\"$event.stopPropagation()\"\r\n class=\"inline-block align-bottom bg-slate-800 rounded-2xl text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-3xl sm:w-full border border-slate-700\">\r\n\r\n <div class=\"bg-slate-800 px-6 py-5 border-b border-slate-700\">\r\n <div class=\"flex items-start justify-between\">\r\n <h3 class=\"text-xl font-bold text-white\">\r\n {{ modalTitle }}\r\n </h3>\r\n <button\r\n (click)=\"closeModal()\"\r\n class=\"text-slate-400 hover:text-white transition-colors rounded-lg p-1 hover:bg-slate-700\">\r\n <svg class=\"w-6 h-6\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\"></path>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-slate-800 px-6 py-6 max-h-[70vh] overflow-y-auto\">\r\n <div *ngIf=\"modalType === 'insight' && insightData\">\r\n <div class=\"flex items-center gap-3 mb-4\">\r\n <span class=\"inline-flex items-center justify-center w-8 h-8 rounded-full bg-blue-500/20 text-blue-400 text-sm font-bold\">\r\n {{ insightData.priority }}\r\n </span>\r\n <div class=\"text-sm text-slate-400\">Priority {{ insightData.priority }}</div>\r\n </div>\r\n\r\n <div class=\"space-y-6\">\r\n <div>\r\n <h4 class=\"text-sm font-semibold text-slate-300 uppercase tracking-wide mb-2\">Description</h4>\r\n <p class=\"text-slate-300 leading-relaxed\">{{ insightData.description }}</p>\r\n </div>\r\n\r\n <div>\r\n <h4 class=\"text-sm font-semibold text-slate-300 uppercase tracking-wide mb-2\">Business Context</h4>\r\n <p class=\"text-slate-400 leading-relaxed\">{{ insightData.businessContext }}</p>\r\n </div>\r\n\r\n <div>\r\n <h4 class=\"text-sm font-semibold text-slate-300 uppercase tracking-wide mb-3\">Recommendations</h4>\r\n <ul class=\"space-y-3\">\r\n <li *ngFor=\"let rec of insightData.recommendations\" class=\"flex items-start gap-3 p-3 bg-slate-900/50 rounded-lg border border-slate-700/50\">\r\n <svg class=\"w-5 h-5 text-emerald-400 mt-0.5 flex-shrink-0\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n <path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\"></path>\r\n </svg>\r\n <span class=\"text-slate-300 leading-relaxed\">{{ rec }}</span>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <div>\r\n <h4 class=\"text-sm font-semibold text-slate-300 uppercase tracking-wide mb-3\">Related Metrics</h4>\r\n <div class=\"flex flex-wrap gap-2\">\r\n <span *ngFor=\"let metric of insightData.relatedMetrics\"\r\n class=\"px-3 py-1.5 bg-slate-700/50 text-slate-300 rounded-lg text-sm font-medium border border-slate-600\">\r\n {{ formatMetricName(metric) }}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"modalType === 'metric' && metricData\">\r\n <div class=\"space-y-6\">\r\n <div class=\"flex items-start justify-between\">\r\n <div class=\"flex-1\">\r\n <div class=\"flex items-baseline gap-3 mb-2\">\r\n <span class=\"text-4xl font-bold text-white\">{{ formatValue(metricData.currentValue || 0) }}</span>\r\n <span [class]=\"getTrendClass()\" class=\"text-lg font-semibold flex items-center gap-1\">\r\n <svg *ngIf=\"metricData.trendDirection === 'UP'\" class=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n <path 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\" />\r\n </svg>\r\n <svg *ngIf=\"metricData.trendDirection === 'DOWN'\" class=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n <path 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\" />\r\n </svg>\r\n {{ Math.abs(metricData.trendPercent || 0).toFixed(1) }}%\r\n </span>\r\n </div>\r\n <div [class]=\"getStatusBadgeClass()\" class=\"inline-block\">\r\n {{ getStatusLabel() }}\r\n </div>\r\n </div>\r\n <div class=\"text-sm text-slate-400\">\r\n <div>Priority: <span class=\"text-white font-medium\">{{ metricData.priority }}</span></div>\r\n <div>Category: <span class=\"text-white font-medium\">{{ metricData.category }}</span></div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-slate-900/50 rounded-lg p-4 border border-slate-700/50\">\r\n <div class=\"grid grid-cols-2 gap-4\">\r\n <div>\r\n <div class=\"text-xs text-slate-500 mb-1\">Target</div>\r\n <div class=\"text-lg font-semibold text-white\">{{ formatValue(metricData.targetValue || 0) }}</div>\r\n </div>\r\n <div>\r\n <div class=\"text-xs text-slate-500 mb-1\">Pacing</div>\r\n <div class=\"text-lg font-semibold\" [class.text-emerald-400]=\"(metricData.pacingPercentage || 0) > 0\" [class.text-red-400]=\"(metricData.pacingPercentage || 0) < 0\">\r\n {{ (metricData.pacingPercentage || 0) > 0 ? '+' : '' }}{{ (metricData.pacingPercentage || 0).toFixed(1) }}%\r\n </div>\r\n </div>\r\n <div>\r\n <div class=\"text-xs text-slate-500 mb-1\">Prior YTD</div>\r\n <div class=\"text-lg font-semibold text-slate-300\">{{ formatValue(metricData.priorYtdValue || 0) }}</div>\r\n </div>\r\n <div>\r\n <div class=\"text-xs text-slate-500 mb-1\">Projected</div>\r\n <div class=\"text-lg font-semibold text-slate-300\">{{ formatValue(metricData.projectedValue || 0) }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"w-full bg-slate-700 rounded-full h-3 overflow-hidden\">\r\n <div\r\n [style.width.%]=\"getPacingPercentage()\"\r\n [class]=\"getPacingBarClass()\"\r\n class=\"h-3 rounded-full transition-all duration-500\">\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <h4 class=\"text-sm font-semibold text-slate-300 uppercase tracking-wide mb-2\">Analysis</h4>\r\n <p class=\"text-slate-300 leading-relaxed\">{{ metricData.description }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bg-slate-900/50 px-6 py-4 border-t border-slate-700\">\r\n <button\r\n (click)=\"closeModal()\"\r\n class=\"w-full px-4 py-2 bg-slate-700 hover:bg-slate-600 text-white rounded-lg transition-colors font-medium\">\r\n Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n})\r\nexport class ModalComponent implements OnInit {\r\n isOpen = false;\r\n modalType: 'insight' | 'metric' | null = null;\r\n insightData: InsightBlockInterface | null = null;\r\n metricData: PerformanceMetricInterface | null = null;\r\n Math = Math;\r\n\r\n constructor(private modalService: ModalService) {}\r\n\r\n ngOnInit() {\r\n this.modalService.modalState$.subscribe(state => {\r\n this.isOpen = state.type !== null;\r\n this.modalType = state.type;\r\n\r\n if (state.type === 'insight') {\r\n this.insightData = state.data as InsightBlockInterface;\r\n this.metricData = null;\r\n } else if (state.type === 'metric') {\r\n this.metricData = state.data as PerformanceMetricInterface;\r\n this.insightData = null;\r\n } else {\r\n this.insightData = null;\r\n this.metricData = null;\r\n }\r\n });\r\n }\r\n\r\n get modalTitle(): string {\r\n if (this.modalType === 'insight' && this.insightData) {\r\n return this.insightData.title || 'Insight';\r\n }\r\n if (this.modalType === 'metric' && this.metricData) {\r\n return this.formatMetricName(this.metricData.metric || 'UNKNOWN');\r\n }\r\n return '';\r\n }\r\n\r\n closeModal() {\r\n this.modalService.closeModal();\r\n }\r\n\r\n formatMetricName(name: string): string {\r\n return name.replace(/_/g, ' ').toLowerCase().replace(/\\b\\w/g, l => l.toUpperCase());\r\n }\r\n\r\n formatValue(value: number): string {\r\n if (!this.metricData) return value.toString();\r\n\r\n if ((this.metricData.category || '') === 'REVENUE') {\r\n if (value > 1000) {\r\n return '$' + value.toLocaleString('en-US', { maximumFractionDigits: 0 });\r\n }\r\n return '$' + value.toFixed(2);\r\n }\r\n const metricName = this.metricData.metric || '';\r\n if (metricName.includes('RATE') || metricName.includes('CONVERSION')) {\r\n return value.toFixed(2) + '%';\r\n }\r\n if (value < 100 && value % 1 !== 0) {\r\n return value.toFixed(2);\r\n }\r\n return value.toLocaleString('en-US', { maximumFractionDigits: 0 });\r\n }\r\n\r\n getTrendClass(): string {\r\n if (!this.metricData) return '';\r\n\r\n const isGoodTrend = (this.metricData.metric || '') === 'BOUNCE_RATE'\r\n ? (this.metricData.trendDirection || '') === 'DOWN'\r\n : (this.metricData.trendDirection || '') === 'UP';\r\n\r\n return isGoodTrend ? 'text-emerald-400' : 'text-red-400';\r\n }\r\n\r\n getStatusBadgeClass(): string {\r\n if (!this.metricData) return '';\r\n\r\n const baseClass = 'px-3 py-1.5 rounded-full text-xs font-semibold';\r\n switch (this.metricData.status || 'ON_TRACK') {\r\n case 'OVERACHIEVING':\r\n return `${baseClass} bg-emerald-500/20 text-emerald-400 border border-emerald-500/30`;\r\n case 'ON_TRACK':\r\n return `${baseClass} bg-blue-500/20 text-blue-400 border border-blue-500/30`;\r\n case 'AT_RISK':\r\n return `${baseClass} bg-amber-500/20 text-amber-400 border border-amber-500/30`;\r\n default:\r\n return `${baseClass} bg-slate-500/20 text-slate-400 border border-slate-500/30`;\r\n }\r\n }\r\n\r\n getStatusLabel(): string {\r\n return (this.metricData?.status || '').replace(/_/g, ' ');\r\n }\r\n\r\n getPacingPercentage(): number {\r\n if (!this.metricData) return 0;\r\n const currentValue = this.metricData.currentValue || 0;\r\n const targetValue = this.metricData.targetValue || 1;\r\n const percentage = ((currentValue / targetValue) * 100);\r\n return Math.min(percentage, 100);\r\n }\r\n\r\n getPacingBarClass(): string {\r\n if (!this.metricData) return '';\r\n\r\n if (this.metricData.status === 'OVERACHIEVING') {\r\n return 'bg-gradient-to-r from-emerald-500 to-emerald-400';\r\n }\r\n if (this.metricData.status === 'AT_RISK') {\r\n return 'bg-gradient-to-r from-amber-500 to-amber-400';\r\n }\r\n return 'bg-gradient-to-r from-blue-500 to-blue-400';\r\n }\r\n}\r\n","import { PerformanceOverviewStructuredV3Interface } from '@jebgem/model';\r\n\r\nexport const PERFORMANCE_DATA: PerformanceOverviewStructuredV3Interface = ({\r\n schemaVersion: 3,\r\n \"overallAssessment\": {\r\n \"priorYearTrend\": \"Strong growth compared to prior year, with revenue up 33% and traffic nearly doubling, but conversion rates and engagement efficiency have declined.\",\r\n \"keyStrengths\": \"Exceptional top-of-funnel growth, high average order value, and strong desktop and organic/direct channel performance.\",\r\n \"areasForImprovement\": \"Conversion rates, add to cart efficiency, and mobile/tablet engagement are underperforming; bounce rate is elevated, especially on non-desktop devices and paid/email channels.\",\r\n \"grade\": \"B\",\r\n \"narrative\": \"The business is experiencing robust growth in traffic and revenue, driven by strong brand awareness and high-value transactions, particularly among trade and luxury buyers. However, conversion rates and engagement efficiency have declined, with mobile and paid channels underperforming and bounce rates rising. To achieve 2025 targets, the shop must address conversion friction, optimize mobile/tablet experiences, and refine channel strategies to better capture high-intent buyers.\",\r\n \"recommendedActions\": \"Prioritize conversion optimization (especially on mobile/tablet), streamline checkout, refine paid and email targeting, and leverage segmentation to tailor engagement for trade and homeowner segments.\",\r\n \"overallStatus\": \"ON_TRACK\",\r\n \"targetPacingStatus\": \"Falling slightly behind target pace; revenue and purchases are close to target but conversion rates and engagement metrics need improvement.\"\r\n },\r\n \"insights\": [\r\n {\r\n \"relatedMetrics\": [\r\n \"ECOMMERCE_CONVERSION_RATE\",\r\n \"ADD_TO_CART_RATE\",\r\n \"ACTIVE_USER_ADD_TO_CART_RATE\",\r\n \"BOUNCE_RATE\",\r\n \"PURCHASE_REVENUE\"\r\n ],\r\n \"businessContext\": \"Artisan decorative lighting with high AOV, project-based sales cycles, and a mix of trade and homeowner customers. Desktop dominates revenue, but mobile/tablet are growing in volume.\",\r\n \"description\": \"Conversion rates have declined significantly YoY and are pacing well below target, despite strong top-of-funnel growth. The largest leakage points are from product views to add to cart and from add to cart to checkout, especially on mobile and paid channels. High bounce rates further indicate friction in the user journey.\",\r\n \"title\": \"Conversion Friction Is Limiting Revenue Growth Despite Strong Traffic\",\r\n \"priority\": 1,\r\n \"recommendations\": [\r\n \"Conduct a UX audit focused on mobile/tablet to identify and remove friction in add to cart and checkout flows.\",\r\n \"Streamline checkout steps and highlight trust signals (testimonials, artisan stories) to reduce abandonment.\",\r\n \"Implement persistent cart and save-for-later features to capture more mid-funnel intent.\"\r\n ]\r\n },\r\n {\r\n \"relatedMetrics\": [\r\n \"SESSIONS\",\r\n \"SCREEN_PAGE_VIEWS\",\r\n \"NEW_USERS\",\r\n \"ACTIVE_USERS\"\r\n ],\r\n \"businessContext\": \"Brand awareness and organic reach are strong, with significant YoY growth in sessions and new users. Trade and design professionals are key segments.\",\r\n \"description\": \"Top-of-funnel metrics have nearly doubled YoY, driven by organic and direct channels. However, this growth is not translating into proportional increases in purchases or revenue, indicating a need to better qualify and engage high-intent visitors.\",\r\n \"title\": \"Top-of-Funnel Growth Outpaces Lower-Funnel Performance\",\r\n \"priority\": 2,\r\n \"recommendations\": [\r\n \"Refine paid and organic campaigns to focus on high-intent, project-based keywords and audiences.\",\r\n \"Personalize landing pages and product recommendations based on traffic source and customer segment.\",\r\n \"Expand organic content around industry trends, customization, and project case studies.\"\r\n ]\r\n },\r\n {\r\n \"relatedMetrics\": [\r\n \"BOUNCE_RATE\",\r\n \"PRODUCT_VIEW_RATE\",\r\n \"PRODUCT_VIEW_CONVERSION_RATE\"\r\n ],\r\n \"businessContext\": \"Mobile and tablet segments are growing in volume but have high bounce rates and low conversion efficiency, especially among homeowners and specifiers.\",\r\n \"description\": \"Bounce rate has increased 7 points YoY and is 18% above target, with mobile/tablet and paid/email channels most affected. Product view rates are also below target, indicating missed engagement opportunities.\",\r\n \"title\": \"Elevated Bounce Rate and Low Engagement on Mobile/Tablet\",\r\n \"priority\": 2,\r\n \"recommendations\": [\r\n \"Simplify mobile navigation and prioritize key content for mobile/tablet users.\",\r\n \"Implement engagement tactics such as exit-intent popups and live chat.\",\r\n \"Test mobile-specific landing pages and offers for quick-ship and ready-to-ship products.\"\r\n ]\r\n },\r\n {\r\n \"relatedMetrics\": [\r\n \"REVENUE_PER_ADD_TO_CART\",\r\n \"REVENUE_PER_CHECKOUT\",\r\n \"AVERAGE_ORDER_VALUE\"\r\n ],\r\n \"businessContext\": \"High-value transactions are driven by trade and luxury buyers, with desktop and organic/direct channels leading in revenue efficiency.\",\r\n \"description\": \"Revenue per add to cart, per checkout, and average order value are all above target, reflecting strong appeal to high-value segments. However, low conversion rates limit the impact of these strengths.\",\r\n \"title\": \"High-Value Transactions Highlight Brand Strength, But Volume Is Lacking\",\r\n \"priority\": 3,\r\n \"recommendations\": [\r\n \"Deepen partnerships with design professionals and hospitality clients through referral and organic channels.\",\r\n \"Leverage storytelling and behind-the-scenes content to reinforce artisan craftsmanship.\",\r\n \"Offer incentives or exclusive previews to trade and repeat buyers to increase purchase frequency.\"\r\n ]\r\n },\r\n {\r\n \"relatedMetrics\": [\r\n \"ECOMMERCE_CONVERSION_RATE\",\r\n \"ADD_TO_CART_RATE\",\r\n \"CHECKOUT_CONVERSION_RATE\"\r\n ],\r\n \"businessContext\": \"Data quality is strong, with no missing or zero values detected. Seasonal and project-based cycles drive expected volatility.\",\r\n \"description\": \"Data integrity is high, supporting reliable analysis and targeted optimization. Volatility in conversion rates aligns with project-based sales cycles.\",\r\n \"title\": \"Data Quality Supports Reliable Optimization\",\r\n \"priority\": 4,\r\n \"recommendations\": [\r\n \"Continue regular data audits, especially when launching new campaigns or site features.\",\r\n \"Validate tracking for new product launches and custom order flows.\",\r\n \"Monitor segment-specific metrics to measure the impact of targeted initiatives.\"\r\n ]\r\n }\r\n ],\r\n \"breakdowns\": [\r\n {\r\n \"dimensionType\": \"device\",\r\n \"dimensionLabel\": \"Device\",\r\n \"summaryAnalysis\": \"Desktop dominates revenue (87%) and conversions, with the highest engagement and lowest bounce rate. Mobile and tablet segments are growing in traffic but underperform in conversion and revenue efficiency, with high bounce rates and low add to cart rates. Tablet, while small in volume, shows occasional high-value orders. Optimizing mobile/tablet experiences is critical to capturing more value from these segments.\",\r\n \"subMetrics\": [\r\n {\r\n \"priorYtdValue\": 270776,\r\n \"pacingPercentage\": 55.6,\r\n \"trendPercent\": 35.6,\r\n \"description\": \"Drives the most sessions and engagement, supporting strong revenue growth.\",\r\n \"ytdVariancePercent\": 35.6,\r\n \"priority\": 1,\r\n \"projectedValue\": 563000,\r\n \"dimensionValue\": \"DESKTOP\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 0,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 0,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 367051,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 440110,\r\n \"pacingPercentage\": 5,\r\n \"trendPercent\": 30.3,\r\n \"description\": \"Dominates revenue and conversions, reflecting strong appeal to trade and luxury buyers.\",\r\n \"ytdVariancePercent\": 30.3,\r\n \"priority\": 1,\r\n \"projectedValue\": 573262,\r\n \"dimensionValue\": \"DESKTOP\",\r\n \"metric\": \"PURCHASE_REVENUE\",\r\n \"variance\": 273262,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 0,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 573262,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.03545,\r\n \"pacingPercentage\": -28.6,\r\n \"trendPercent\": -30,\r\n \"description\": \"Strongest conversion rate among devices, but down YoY and below target.\",\r\n \"ytdVariancePercent\": -30,\r\n \"priority\": 2,\r\n \"projectedValue\": 0.02479,\r\n \"dimensionValue\": \"DESKTOP\",\r\n \"metric\": \"ECOMMERCE_CONVERSION_RATE\",\r\n \"variance\": -0.01066,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 0.03545,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 0.02479,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 48.5,\r\n \"pacingPercentage\": -1,\r\n \"trendPercent\": 14.5,\r\n \"description\": \"Lowest bounce rate, supporting high engagement and conversion.\",\r\n \"ytdVariancePercent\": 14.5,\r\n \"priority\": 2,\r\n \"projectedValue\": 55.5,\r\n \"dimensionValue\": \"DESKTOP\",\r\n \"metric\": \"BOUNCE_RATE\",\r\n \"variance\": 7,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 48.5,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 55.5,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 3504.3,\r\n \"pacingPercentage\": 19,\r\n \"trendPercent\": 80,\r\n \"description\": \"Highest average order value, reflecting high-value transactions.\",\r\n \"ytdVariancePercent\": 80,\r\n \"priority\": 1,\r\n \"projectedValue\": 6299.6,\r\n \"dimensionValue\": \"DESKTOP\",\r\n \"metric\": \"AVERAGE_ORDER_VALUE\",\r\n \"variance\": 2795.3,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 3504.3,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 6299.6,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 247011,\r\n \"pacingPercentage\": 103,\r\n \"trendPercent\": 103,\r\n \"description\": \"Mobile traffic is up significantly, but conversion and revenue efficiency lag.\",\r\n \"ytdVariancePercent\": 103,\r\n \"priority\": 2,\r\n \"projectedValue\": 501561,\r\n \"dimensionValue\": \"MOBILE\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 254550,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 247011,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 501561,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 56069,\r\n \"pacingPercentage\": 16,\r\n \"trendPercent\": 16,\r\n \"description\": \"Revenue is up, but mobile remains a small share of total revenue.\",\r\n \"ytdVariancePercent\": 16,\r\n \"priority\": 2,\r\n \"projectedValue\": 65009,\r\n \"dimensionValue\": \"MOBILE\",\r\n \"metric\": \"PURCHASE_REVENUE\",\r\n \"variance\": 8940,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 56069,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 65009,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.00648,\r\n \"pacingPercentage\": -35,\r\n \"trendPercent\": -35,\r\n \"description\": \"Conversion rate is well below desktop and target, indicating friction.\",\r\n \"ytdVariancePercent\": -35,\r\n \"priority\": 3,\r\n \"projectedValue\": 0.00419,\r\n \"dimensionValue\": \"MOBILE\",\r\n \"metric\": \"ECOMMERCE_CONVERSION_RATE\",\r\n \"variance\": -0.00229,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 0.00648,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 0.00419,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 66.3,\r\n \"pacingPercentage\": 6.2,\r\n \"trendPercent\": 6.2,\r\n \"description\": \"Bounce rate is high, limiting engagement and conversion.\",\r\n \"ytdVariancePercent\": 6.2,\r\n \"priority\": 3,\r\n \"projectedValue\": 70.4,\r\n \"dimensionValue\": \"MOBILE\",\r\n \"metric\": \"BOUNCE_RATE\",\r\n \"variance\": 4.1,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 66.3,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 70.4,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 3504.3,\r\n \"pacingPercentage\": -11.7,\r\n \"trendPercent\": -11.7,\r\n \"description\": \"Average order value is down YoY, reflecting lower-value mobile transactions.\",\r\n \"ytdVariancePercent\": -11.7,\r\n \"priority\": 3,\r\n \"projectedValue\": 3095.7,\r\n \"dimensionValue\": \"MOBILE\",\r\n \"metric\": \"AVERAGE_ORDER_VALUE\",\r\n \"variance\": -408.6,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 3504.3,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 3095.7,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 66,\r\n \"pacingPercentage\": 76,\r\n \"trendPercent\": 76,\r\n \"description\": \"Tablet traffic is up, but conversion and revenue are volatile due to low volume.\",\r\n \"ytdVariancePercent\": 76,\r\n \"priority\": 4,\r\n \"projectedValue\": 116,\r\n \"dimensionValue\": \"TABLET\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 50,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 66,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 57033,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 0,\r\n \"pacingPercentage\": 0,\r\n \"trendPercent\": 0,\r\n \"description\": \"Tablet revenue is up, with occasional high-value orders.\",\r\n \"ytdVariancePercent\": 0,\r\n \"priority\": 4,\r\n \"projectedValue\": 21467,\r\n \"dimensionValue\": \"TABLET\",\r\n \"metric\": \"PURCHASE_REVENUE\",\r\n \"variance\": 21467,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 0,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 21467,\r\n \"status\": \"ON_TRACK\"\r\n }\r\n ]\r\n },\r\n {\r\n \"dimensionType\": \"medium\",\r\n \"dimensionLabel\": \"Channel/Medium\",\r\n \"summaryAnalysis\": \"Organic and direct channels deliver the highest engagement and revenue efficiency, with strong product view rates and revenue per product view. Paid (CPC) drives the most sessions but underperforms in conversion and revenue per visit. Referral and email channels show high value per transaction but low volume and high bounce rates. Optimizing paid and email for high-intent, trade-focused campaigns is critical.\",\r\n \"subMetrics\": [\r\n {\r\n \"priorYtdValue\": 79525,\r\n \"pacingPercentage\": 0,\r\n \"trendPercent\": 0,\r\n \"description\": \"Organic sessions are stable YoY, supporting strong engagement and revenue.\",\r\n \"ytdVariancePercent\": 0,\r\n \"priority\": 1,\r\n \"projectedValue\": 79232,\r\n \"dimensionValue\": \"organic\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 0,\r\n \"trendDirection\": \"STABLE\",\r\n \"targetValue\": 0,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 79232,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 218557,\r\n \"pacingPercentage\": 10.2,\r\n \"trendPercent\": 10.2,\r\n \"description\": \"Paid (CPC) sessions are up YoY, but conversion and revenue efficiency lag.\",\r\n \"ytdVariancePercent\": 10.2,\r\n \"priority\": 2,\r\n \"projectedValue\": 310395,\r\n \"dimensionValue\": \"cpc\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 91838,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 218557,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 310395,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 23335,\r\n \"pacingPercentage\": 4,\r\n \"trendPercent\": 4,\r\n \"description\": \"Referral sessions are up slightly, with high value per transaction but low volume.\",\r\n \"ytdVariancePercent\": 4,\r\n \"priority\": 3,\r\n \"projectedValue\": 243207,\r\n \"dimensionValue\": \"referral\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 9872,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 23335,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 243207,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 25160,\r\n \"pacingPercentage\": 228.9,\r\n \"trendPercent\": 228.9,\r\n \"description\": \"Email sessions have increased dramatically, but conversion rates are low.\",\r\n \"ytdVariancePercent\": 228.9,\r\n \"priority\": 3,\r\n \"projectedValue\": 82801,\r\n \"dimensionValue\": \"email\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 57641,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 25160,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 82801,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 98217,\r\n \"pacingPercentage\": 9.7,\r\n \"trendPercent\": 9.7,\r\n \"description\": \"Direct sessions are up, supporting strong engagement and revenue efficiency.\",\r\n \"ytdVariancePercent\": 9.7,\r\n \"priority\": 2,\r\n \"projectedValue\": 197563,\r\n \"dimensionValue\": \"(none)\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 99346,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 98217,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 197563,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.705,\r\n \"pacingPercentage\": 14.5,\r\n \"trendPercent\": 14.5,\r\n \"description\": \"Organic revenue per product view is highest among channels, supporting efficient revenue growth.\",\r\n \"ytdVariancePercent\": 14.5,\r\n \"priority\": 1,\r\n \"projectedValue\": 0.807,\r\n \"dimensionValue\": \"organic\",\r\n \"metric\": \"REVENUE_PER_PRODUCT_VIEW\",\r\n \"variance\": 0.102,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 0.705,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 0.807,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.277,\r\n \"pacingPercentage\": 6.3,\r\n \"trendPercent\": 6.3,\r\n \"description\": \"Paid (CPC) revenue per product view is up slightly, but remains below organic and referral.\",\r\n \"ytdVariancePercent\": 6.3,\r\n \"priority\": 2,\r\n \"projectedValue\": 0.295,\r\n \"dimensionValue\": \"cpc\",\r\n \"metric\": \"REVENUE_PER_PRODUCT_VIEW\",\r\n \"variance\": 0.018,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 0.277,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 0.295,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.828,\r\n \"pacingPercentage\": 139.2,\r\n \"trendPercent\": 139.2,\r\n \"description\": \"Referral revenue per product view is up sharply, reflecting high-value transactions.\",\r\n \"ytdVariancePercent\": 139.2,\r\n \"priority\": 2,\r\n \"projectedValue\": 1.982,\r\n \"dimensionValue\": \"referral\",\r\n \"metric\": \"REVENUE_PER_PRODUCT_VIEW\",\r\n \"variance\": 1.154,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 0.828,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 1.982,\r\n \"status\": \"OVERACHIEVING\"\r\n }\r\n ]\r\n },\r\n {\r\n \"dimensionType\": \"source\",\r\n \"dimensionLabel\": \"Traffic Source\",\r\n \"summaryAnalysis\": \"Google is the largest source of traffic and revenue, but conversion rates are below target and declining YoY. Direct and organic sources deliver the highest engagement and revenue efficiency. Bing and Yahoo, while small in volume, show very high revenue per add to cart and per product view. Facebook and email underperform in both engagement and revenue, with high bounce rates and low conversion rates. Strategic focus should be on expanding high-value sources and optimizing underperforming channels.\",\r\n \"subMetrics\": [\r\n {\r\n \"priorYtdValue\": 231224,\r\n \"pacingPercentage\": 24.7,\r\n \"trendPercent\": 24.7,\r\n \"description\": \"Google drives the most sessions and revenue, but conversion rates are below target.\",\r\n \"ytdVariancePercent\": 24.7,\r\n \"priority\": 1,\r\n \"projectedValue\": 288335,\r\n \"dimensionValue\": \"google\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 57111,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 231224,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 288335,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 98217,\r\n \"pacingPercentage\": 101.5,\r\n \"trendPercent\": 101.5,\r\n \"description\": \"Direct sessions are up, supporting strong engagement and revenue efficiency.\",\r\n \"ytdVariancePercent\": 101.5,\r\n \"priority\": 2,\r\n \"projectedValue\": 197563,\r\n \"dimensionValue\": \"(direct)\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 99346,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 98217,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 197563,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 34396,\r\n \"pacingPercentage\": 80.9,\r\n \"trendPercent\": 80.9,\r\n \"description\": \"Bing revenue is up sharply, with high revenue per add to cart and per product view.\",\r\n \"ytdVariancePercent\": 80.9,\r\n \"priority\": 2,\r\n \"projectedValue\": 62258,\r\n \"dimensionValue\": \"bing\",\r\n \"metric\": \"PURCHASE_REVENUE\",\r\n \"variance\": 27862,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 34396,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 62258,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 267408,\r\n \"pacingPercentage\": 17.1,\r\n \"trendPercent\": 17.1,\r\n \"description\": \"Google revenue is up, but conversion rates are below target.\",\r\n \"ytdVariancePercent\": 17.1,\r\n \"priority\": 1,\r\n \"projectedValue\": 313196,\r\n \"dimensionValue\": \"google\",\r\n \"metric\": \"PURCHASE_REVENUE\",\r\n \"variance\": 45788,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 267408,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 313196,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 57628,\r\n \"pacingPercentage\": -52,\r\n \"trendPercent\": -52,\r\n \"description\": \"Klaviyo (email) revenue is down, with low volume and conversion rates.\",\r\n \"ytdVariancePercent\": -52,\r\n \"priority\": 3,\r\n \"projectedValue\": 27659,\r\n \"dimensionValue\": \"Klaviyo\",\r\n \"metric\": \"PURCHASE_REVENUE\",\r\n \"variance\": -29969,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 57628,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 27659,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.4618,\r\n \"pacingPercentage\": -8.2,\r\n \"trendPercent\": -8.2,\r\n \"description\": \"Google revenue per product view is slightly down YoY, reflecting lower efficiency.\",\r\n \"ytdVariancePercent\": -8.2,\r\n \"priority\": 2,\r\n \"projectedValue\": 0.424,\r\n \"dimensionValue\": \"google\",\r\n \"metric\": \"REVENUE_PER_PRODUCT_VIEW\",\r\n \"variance\": -0.0378,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 0.4618,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 0.424,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.4551,\r\n \"pacingPercentage\": -10.1,\r\n \"trendPercent\": -10.1,\r\n \"description\": \"Direct revenue per product view is slightly down YoY, but remains above paid and social.\",\r\n \"ytdVariancePercent\": -10.1,\r\n \"priority\": 2,\r\n \"projectedValue\": 0.409,\r\n \"dimensionValue\": \"(direct)\",\r\n \"metric\": \"REVENUE_PER_PRODUCT_VIEW\",\r\n \"variance\": -0.0461,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 0.4551,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 0.409,\r\n \"status\": \"ON_TRACK\"\r\n }\r\n ]\r\n }\r\n ],\r\n \"generatedAt\": \"2025-11-30T23:59:59Z\",\r\n \"metrics\": [\r\n {\r\n \"priorYtdValue\": 549415,\r\n \"pacingPercentage\": 60.3,\r\n \"trendPercent\": 68.4,\r\n \"description\": \"Sessions are up significantly YoY, reflecting strong brand awareness and top-of-funnel growth.\",\r\n \"ytdVariancePercent\": 68.4,\r\n \"priority\": 1,\r\n \"projectedValue\": 1056358,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"SESSIONS\",\r\n \"variance\": 265796,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 659278.2,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 925074,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 458580,\r\n \"pacingPercentage\": 69.9,\r\n \"trendPercent\": 78.6,\r\n \"description\": \"Active users have nearly doubled YoY, supporting strong engagement and reach.\",\r\n \"ytdVariancePercent\": 78.6,\r\n \"priority\": 1,\r\n \"projectedValue\": 936295,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"ACTIVE_USERS\",\r\n \"variance\": 367900,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 551075.7,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 818976,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 496179,\r\n \"pacingPercentage\": -0.2,\r\n \"trendPercent\": 33,\r\n \"description\": \"Revenue is up 33% YoY and pacing just below the 2025 target.\",\r\n \"ytdVariancePercent\": 33,\r\n \"priority\": 1,\r\n \"projectedValue\": 708898,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"PURCHASE_REVENUE\",\r\n \"variance\": -17740,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 710637.85,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 659742,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 389639,\r\n \"pacingPercentage\": 80.3,\r\n \"trendPercent\": 89.7,\r\n \"description\": \"New user acquisition is up sharply YoY, reflecting strong brand reach.\",\r\n \"ytdVariancePercent\": 89.7,\r\n \"priority\": 2,\r\n \"projectedValue\": 848043,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"NEW_USERS\",\r\n \"variance\": 268332,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 470660.4,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 738992,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 1343076,\r\n \"pacingPercentage\": 21.8,\r\n \"trendPercent\": 29.6,\r\n \"description\": \"Page views are up nearly 30% YoY, supporting strong engagement.\",\r\n \"ytdVariancePercent\": 29.6,\r\n \"priority\": 2,\r\n \"projectedValue\": 1957736,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"SCREEN_PAGE_VIEWS\",\r\n \"variance\": 133736,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 1606999.87,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 1740174,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 57.55,\r\n \"pacingPercentage\": 18.2,\r\n \"trendPercent\": 12.4,\r\n \"description\": \"Bounce rate has increased YoY and is pacing 18% above target, especially on mobile/tablet and paid/email channels.\",\r\n \"ytdVariancePercent\": 12.4,\r\n \"priority\": 1,\r\n \"projectedValue\": 65.09,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"BOUNCE_RATE\",\r\n \"variance\": 9.67,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 55.02,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 64.69,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 7389,\r\n \"pacingPercentage\": -0.2,\r\n \"trendPercent\": 20.8,\r\n \"description\": \"Add to carts are up 21% YoY and pacing at target, reflecting strong product interest but not translating into increased purchases.\",\r\n \"ytdVariancePercent\": 20.8,\r\n \"priority\": 2,\r\n \"projectedValue\": 9912,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"ADD_TO_CARTS\",\r\n \"variance\": -21,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 9932.71,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 8926,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 795,\r\n \"pacingPercentage\": -6.6,\r\n \"trendPercent\": 16.1,\r\n \"description\": \"Checkouts are up 16% YoY but pacing 7% below target.\",\r\n \"ytdVariancePercent\": 16.1,\r\n \"priority\": 2,\r\n \"projectedValue\": 1023,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"CHECKOUTS\",\r\n \"variance\": -72,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 1094.72,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 923,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 112,\r\n \"pacingPercentage\": -21.2,\r\n \"trendPercent\": 2.7,\r\n \"description\": \"Purchases are flat YoY and projected to end the year 21% below target.\",\r\n \"ytdVariancePercent\": 2.7,\r\n \"priority\": 1,\r\n \"projectedValue\": 126,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"ECOMMERCE_PURCHASES\",\r\n \"variance\": -34,\r\n \"trendDirection\": \"STABLE\",\r\n \"targetValue\": 160.41,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 115,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.0204,\r\n \"pacingPercentage\": -40.2,\r\n \"trendPercent\": -39,\r\n \"description\": \"Ecommerce conversion rate is down 39% YoY and pacing 40% below target.\",\r\n \"ytdVariancePercent\": -39,\r\n \"priority\": 1,\r\n \"projectedValue\": 0.012,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"ECOMMERCE_CONVERSION_RATE\",\r\n \"variance\": -0.008,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 0.02,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 0.0124,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 4430.17,\r\n \"pacingPercentage\": 25.2,\r\n \"trendPercent\": 29.5,\r\n \"description\": \"Average order value is up 29.5% YoY and pacing 25% above target, reflecting high-value transactions.\",\r\n \"ytdVariancePercent\": 29.5,\r\n \"priority\": 1,\r\n \"projectedValue\": 5608.85,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"AVERAGE_ORDER_VALUE\",\r\n \"variance\": 1256.55,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 4480.33,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 5736.89,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 985900,\r\n \"pacingPercentage\": 12.5,\r\n \"trendPercent\": 26,\r\n \"description\": \"Product views are up 26% YoY, supporting strong engagement.\",\r\n \"ytdVariancePercent\": 26,\r\n \"priority\": 2,\r\n \"projectedValue\": 1383667,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"ITEM_VIEW_EVENTS\",\r\n \"variance\": 152941,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 1229726.49,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 1242036,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.01136,\r\n \"pacingPercentage\": -8.7,\r\n \"trendPercent\": -18.5,\r\n \"description\": \"Product view conversion rate is down YoY and pacing below target.\",\r\n \"ytdVariancePercent\": -18.5,\r\n \"priority\": 2,\r\n \"projectedValue\": 0.00913,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"PRODUCT_VIEW_CONVERSION_RATE\",\r\n \"variance\": -0.0011,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 0.01,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 0.00926,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 1.3449,\r\n \"pacingPercentage\": -34.4,\r\n \"trendPercent\": -28.2,\r\n \"description\": \"Add to cart rate is down 28% YoY and pacing 34% below target.\",\r\n \"ytdVariancePercent\": -28.2,\r\n \"priority\": 2,\r\n \"projectedValue\": 0.938,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"ADD_TO_CART_RATE\",\r\n \"variance\": -0.491,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 1.43,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 0.9649,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 1.6113,\r\n \"pacingPercentage\": -38.1,\r\n \"trendPercent\": -32.4,\r\n \"description\": \"Active user add to cart rate is down 32% YoY and pacing 38% below target.\",\r\n \"ytdVariancePercent\": -32.4,\r\n \"priority\": 2,\r\n \"projectedValue\": 1.059,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"ACTIVE_USER_ADD_TO_CART_RATE\",\r\n \"variance\": -0.651,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 1.71,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 1.0899,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.1734,\r\n \"pacingPercentage\": -39.3,\r\n \"trendPercent\": -35,\r\n \"description\": \"Active user checkout rate is down 35% YoY and pacing 39% below target.\",\r\n \"ytdVariancePercent\": -35,\r\n \"priority\": 2,\r\n \"projectedValue\": 0.1092,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"ACTIVE_USER_CHECKOUT_RATE\",\r\n \"variance\": -0.0708,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 0.18,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 0.1127,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.5033,\r\n \"pacingPercentage\": 1.2,\r\n \"trendPercent\": 5.5,\r\n \"description\": \"Revenue per product view is up 5.5% YoY and pacing just below target.\",\r\n \"ytdVariancePercent\": 5.5,\r\n \"priority\": 1,\r\n \"projectedValue\": 0.5123,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"REVENUE_PER_PRODUCT_VIEW\",\r\n \"variance\": -0.0077,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 0.52,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 0.5312,\r\n \"status\": \"ON_TRACK\"\r\n },\r\n {\r\n \"priorYtdValue\": 67.15,\r\n \"pacingPercentage\": 5.7,\r\n \"trendPercent\": 10.1,\r\n \"description\": \"Revenue per add to cart is up 10% YoY and pacing 5.7% above target.\",\r\n \"ytdVariancePercent\": 10.1,\r\n \"priority\": 2,\r\n \"projectedValue\": 71.52,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"REVENUE_PER_ADD_TO_CART\",\r\n \"variance\": 3.83,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 67.69,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 73.91,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 624.12,\r\n \"pacingPercentage\": 7.8,\r\n \"trendPercent\": 14.5,\r\n \"description\": \"Revenue per checkout is up 14.5% YoY and pacing 7.8% above target.\",\r\n \"ytdVariancePercent\": 14.5,\r\n \"priority\": 2,\r\n \"projectedValue\": 693.14,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"REVENUE_PER_CHECKOUT\",\r\n \"variance\": 50.24,\r\n \"trendDirection\": \"UP\",\r\n \"targetValue\": 642.9,\r\n \"category\": \"REVENUE\",\r\n \"currentValue\": 714.78,\r\n \"status\": \"OVERACHIEVING\"\r\n },\r\n {\r\n \"priorYtdValue\": 73.41,\r\n \"pacingPercentage\": -7.9,\r\n \"trendPercent\": -3.6,\r\n \"description\": \"View to product view conversion rate is down YoY and pacing below target.\",\r\n \"ytdVariancePercent\": -3.6,\r\n \"priority\": 3,\r\n \"projectedValue\": 70.68,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"VIEW_TO_PRODUCT_VIEW_CONVERSION_RATE\",\r\n \"variance\": -6.07,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 76.75,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 71.37,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 0.7495,\r\n \"pacingPercentage\": -11.6,\r\n \"trendPercent\": -4.1,\r\n \"description\": \"Product view to cart conversion rate is down YoY and pacing below target.\",\r\n \"ytdVariancePercent\": -4.1,\r\n \"priority\": 3,\r\n \"projectedValue\": 0.7163,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"PRODUCT_VIEW_TO_CART_CONVERSION_RATE\",\r\n \"variance\": -0.0937,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 0.81,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 0.7187,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 10.76,\r\n \"pacingPercentage\": -6.7,\r\n \"trendPercent\": -3.9,\r\n \"description\": \"Cart to checkout conversion rate is down YoY and pacing 6.7% below target.\",\r\n \"ytdVariancePercent\": -3.9,\r\n \"priority\": 2,\r\n \"projectedValue\": 10.32,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"CART_TO_CHECKOUT_CONVERSION_RATE\",\r\n \"variance\": -0.74,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 11.06,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 10.34,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 179.45,\r\n \"pacingPercentage\": -28.8,\r\n \"trendPercent\": -25.2,\r\n \"description\": \"Product view rate is down 25% YoY and pacing 29% below target.\",\r\n \"ytdVariancePercent\": -25.2,\r\n \"priority\": 2,\r\n \"projectedValue\": 130.98,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"PRODUCT_VIEW_RATE\",\r\n \"variance\": -53.14,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 184.12,\r\n \"category\": \"ENGAGEMENT\",\r\n \"currentValue\": 134.26,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 1.5158,\r\n \"pacingPercentage\": -19.8,\r\n \"trendPercent\": -15,\r\n \"description\": \"Add to cart conversion rate is down 15% YoY and pacing 20% below target.\",\r\n \"ytdVariancePercent\": -15,\r\n \"priority\": 2,\r\n \"projectedValue\": 1.275,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"ADD_TO_CART_CONVERSION_RATE\",\r\n \"variance\": -0.315,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 1.59,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 1.288,\r\n \"status\": \"AT_RISK\"\r\n },\r\n {\r\n \"priorYtdValue\": 14.09,\r\n \"pacingPercentage\": -18,\r\n \"trendPercent\": -11.6,\r\n \"description\": \"Checkout conversion rate is down 11.6% YoY and pacing 18% below target.\",\r\n \"ytdVariancePercent\": -11.6,\r\n \"priority\": 2,\r\n \"projectedValue\": 12.36,\r\n \"dimensionValue\": \"\",\r\n \"metric\": \"CHECKOUT_CONVERSION_RATE\",\r\n \"variance\": -2.71,\r\n \"trendDirection\": \"DOWN\",\r\n \"targetValue\": 15.07,\r\n \"category\": \"CONVERSION\",\r\n \"currentValue\": 12.46,\r\n \"status\": \"AT_RISK\"\r\n }\r\n ]\r\n}) as unknown as PerformanceOverviewStructuredV3Interface;\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { OverallAssessmentComponent } from './overall-assessment.component';\r\nimport { InsightCardComponent } from './insight-card.component';\r\nimport { MetricCardComponent } from './metric-card.component';\r\nimport { BreakdownSectionComponent } from './breakdown-section.component';\r\nimport { ModalComponent } from './modal.component';\r\nimport { PerformanceOverviewStructured, PerformanceOverviewStructuredV3Interface, InsightBlockInterface, BreakdownMetricInterface, PerformanceMetricInterface, normalizeToV3 } from '@jebgem/model';\r\nimport { PERFORMANCE_DATA } from '../data/funnel-data';\r\nimport { FunnelOrderService } from '../services/funnel-order.service';\r\n\r\n@Component({\r\n selector: 'symphiq-funnel-analysis-dashboard',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n OverallAssessmentComponent,\r\n InsightCardComponent,\r\n MetricCardComponent,\r\n BreakdownSectionComponent,\r\n ModalComponent,\r\n ],\r\n template: `\r\n <div class=\"min-h-screen bg-gradient-to-br from-slate-950 via-slate-900 to-slate-950\">\r\n <header class=\"bg-slate-900/50 backdrop-blur-sm border-b border-slate-800 sticky top-0 z-50\">\r\n <div class=\"max-w-7xl mx-auto px-6 py-6\">\r\n <div class=\"flex items-center justify-between\">\r\n <div>\r\n <h1 class=\"text-3xl font-bold text-white mb-1\">Symphiq Dashboard</h1>\r\n <p class=\"text-slate-400\">Revenue Orchestration & Funnel Analysis</p>\r\n </div>\r\n <div class=\"text-right\">\r\n <div class=\"text-sm text-slate-500\">Generated At</div>\r\n <div class=\"text-white font-medium\">{{ formatDate(data.generatedAt || '2025-11-30') }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </header>\r\n\r\n <main class=\"max-w-7xl mx-auto px-6 py-8\">\r\n <div class=\"space-y-8\">\r\n <symphiq-funnel-analysis-overall-assessment\r\n [assessment]=\"data.overallAssessment || {}\"\r\n [revenueMetric]=\"revenueMetric\" />\r\n\r\n <section>\r\n <div class=\"flex items-center justify-between mb-6\">\r\n <h2 class=\"text-2xl font-bold text-white\">Key Insights</h2>\r\n <span class=\"text-sm text-slate-400\">{{ insights.length }} insights</span>\r\n </div>\r\n <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-6\">\r\n <symphiq-funnel-analysis-insight-card *ngFor=\"let insight of insights\" [insight]=\"insight\" [allMetrics]=\"allMetrics\" />\r\n </div>\r\n </section>\r\n\r\n <section>\r\n <div class=\"flex items-center justify-between mb-6\">\r\n <h2 class=\"text-2xl font-bold text-white\">Performance Metrics</h2>\r\n <div class=\"flex gap-3 items-center\">\r\n <select\r\n [(ngModel)]=\"selectedCategory\"\r\n class=\"px-4 py-2 rounded-lg text-sm font-medium bg-slate-700 text-white border border-slate-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all cursor-pointer\">\r\n <option *ngFor=\"let cat of categories\" [value]=\"cat.value\">{{ cat.label }}</option>\r\n </select>\r\n <button\r\n (click)=\"reverseSortOrder = !reverseSortOrder\"\r\n class=\"px-4 py-2 rounded-lg text-sm font-medium bg-slate-700 text-white border border-slate-600 hover:bg-slate-600 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-all flex items-center gap-2\"\r\n [title]=\"reverseSortOrder ? 'Sort: Revenue to Views' : 'Sort: Views to Revenue'\">\r\n <svg class=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path *ngIf=\"!reverseSortOrder\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12\"></path>\r\n <path *ngIf=\"reverseSortOrder\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 4h13M3 8h9m-9 4h9m5-4v12m0 0l-4-4m4 4l4-4\"></path>\r\n </svg>\r\n <span class=\"hidden sm:inline\">Sort</span>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"space-y-6\">\r\n <ng-container *ngFor=\"let funnelGroup of getGroupedMetrics()\">\r\n <div class=\"w-full\">\r\n <symphiq-funnel-analysis-metric-card [metric]=\"funnelGroup.funnelMetric\" [insights]=\"insights\" />\r\n </div>\r\n <div *ngIf=\"funnelGroup.relatedMetrics.length > 0\" class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 items-stretch\">\r\n <div *ngFor=\"let metric of funnelGroup.relatedMetrics\" class=\"flex\">\r\n <symphiq-funnel-analysis-metric-card class=\"flex-1\" [metric]=\"metric\" [insights]=\"insights\" />\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </section>\r\n\r\n <section>\r\n <h2 class=\"text-2xl font-bold text-white mb-6\">Performance Breakdowns</h2>\r\n <div>\r\n <symphiq-funnel-analysis-breakdown-section *ngFor=\"let breakdown of breakdowns\" [breakdown]=\"breakdown\" />\r\n </div>\r\n </section>\r\n </div>\r\n </main>\r\n\r\n <symphiq-funnel-analysis-modal></symphiq-funnel-analysis-modal>\r\n\r\n <footer class=\"bg-slate-900/50 backdrop-blur-sm border-t border-slate-800 mt-12\">\r\n <div class=\"max-w-7xl mx-auto px-6 py-8\">\r\n <div class=\"text-center text-slate-500 text-sm\">\r\n <p>Symphiq Revenue Orchestration Workspace</p>\r\n <p class=\"mt-1\">© 2025 Symphiq. All rights reserved.</p>\r\n </div>\r\n </div>\r\n </footer>\r\n </div>\r\n `,\r\n})\r\nexport class SymphiqFunnelAnalysisDashboardComponent implements OnInit {\r\n @Input() set data(value: PerformanceOverviewStructured) {\r\n this._data = normalizeToV3(value);\r\n }\r\n get data(): PerformanceOverviewStructuredV3Interface {\r\n return this._data;\r\n }\r\n private _data: PerformanceOverviewStructuredV3Interface = normalizeToV3(PERFORMANCE_DATA);\r\n\r\n insights: InsightBlockInterface[] = [];\r\n breakdowns: BreakdownMetricInterface[] = [];\r\n allMetrics: PerformanceMetricInterface[] = [];\r\n revenueMetric: PerformanceMetricInterface | undefined = undefined;\r\n\r\n categories = [\r\n { value: 'ALL', label: 'All' },\r\n { value: 'REVENUE', label: 'Revenue' },\r\n { value: 'PURCHASES', label: 'Purchases' },\r\n { value: 'CHECKOUTS', label: 'Checkouts' },\r\n { value: 'ADD TO CARTS', label: 'Add to Carts' },\r\n { value: 'PRODUCT VIEWS', label: 'Product Views' },\r\n { value: 'VIEWS', label: 'Views' }\r\n ];\r\n selectedCategory = 'ALL';\r\n reverseSortOrder = false;\r\n\r\n constructor(private funnelOrderService: FunnelOrderService) {}\r\n\r\n ngOnInit(): void {\r\n this.initializeDerivedProperties();\r\n }\r\n\r\n private initializeDerivedProperties(): void {\r\n this.insights = (this.data.insights || []).sort((a, b) => (a.priority || 0) - (b.priority || 0));\r\n this.breakdowns = this.data.breakdowns || [];\r\n this.allMetrics = this.data.metrics || [];\r\n this.revenueMetric = (this.data.metrics || []).find(m => m.metric === 'PURCHASE_REVENUE');\r\n }\r\n\r\n getFilteredMetrics() {\r\n const metrics = this.data.metrics || [];\r\n let filteredMetrics = metrics;\r\n\r\n if (this.selectedCategory !== 'ALL') {\r\n filteredMetrics = this.funnelOrderService.getMetricsForFunnelStage(metrics, this.selectedCategory);\r\n }\r\n\r\n return this.funnelOrderService.sortMetricsByFunnelOrder(filteredMetrics);\r\n }\r\n\r\n getGroupedMetrics() {\r\n const sortedMetrics = this.getFilteredMetrics();\r\n const groups: { funnelMetric: PerformanceMetricInterface, relatedMetrics: PerformanceMetricInterface[] }[] = [];\r\n\r\n let currentGroup: { funnelMetric: PerformanceMetricInterface, relatedMetrics: PerformanceMetricInterface[] } | null = null;\r\n\r\n for (const metric of sortedMetrics) {\r\n if (this.isFunnelStage(metric.metric || '')) {\r\n if (currentGroup) {\r\n groups.push(currentGroup);\r\n }\r\n currentGroup = {\r\n funnelMetric: metric,\r\n relatedMetrics: []\r\n };\r\n } else if (currentGroup) {\r\n currentGroup.relatedMetrics.push(metric);\r\n }\r\n }\r\n\r\n if (currentGroup) {\r\n groups.push(currentGroup);\r\n }\r\n\r\n return this.reverseSortOrder ? groups.reverse() : groups;\r\n }\r\n\r\n isFunnelStage(metricName: string): boolean {\r\n return this.funnelOrderService.isFunnelStage(metricName);\r\n }\r\n\r\n formatDate(dateString: string): string {\r\n return new Date(dateString).toLocaleDateString('en-US', {\r\n year: 'numeric',\r\n month: 'long',\r\n day: 'numeric',\r\n });\r\n }\r\n}\r\n","/*\r\n * Public API Surface of symphiq-components\r\n */\r\n\r\n// Export all models from @jebgem/model\r\nexport * from '@jebgem/model';\r\n\r\n// Export all services\r\nexport * from './lib/services/funnel-order.service';\r\nexport * from './lib/services/modal.service';\r\n\r\n// Export all components\r\nexport * from './lib/components/symphiq-funnel-analysis-dashboard.component';\r\nexport * from './lib/components/modal.component';\r\nexport * from './lib/components/metric-card.component';\r\nexport * from './lib/components/insight-card.component';\r\nexport * from './lib/components/breakdown-section.component';\r\nexport * from './lib/components/overall-assessment.component';\r\n\r\n// Export data\r\nexport * from './lib/data/funnel-data';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_c0","i1.ModalService","i2.FunnelOrderService","i3","i1","i1.FunnelOrderService"],"mappings":"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"}
|