@eric-emg/symphiq-components 1.2.182 → 1.2.183

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.
@@ -56032,14 +56032,25 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_17_Template(rf, c
56032
56032
  i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(stage_r1.pacingInfo.projectedValue, stage_r1.stageMetric.metric), " ");
56033
56033
  } }
56034
56034
  function FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_5_Template(rf, ctx) { if (rf & 1) {
56035
+ i0.ɵɵelementStart(0, "button", 24);
56036
+ i0.ɵɵnamespaceSVG();
56037
+ i0.ɵɵelementStart(1, "svg", 29);
56038
+ i0.ɵɵelement(2, "path", 15);
56039
+ i0.ɵɵelementEnd()();
56040
+ } if (rf & 2) {
56041
+ const metric_r3 = i0.ɵɵnextContext().$implicit;
56042
+ const ctx_r1 = i0.ɵɵnextContext(3);
56043
+ i0.ɵɵproperty("ngClass", ctx_r1.infoIconClasses())("libSymphiqTooltip", ctx_r1.getMarkdownTooltipContent(metric_r3.calc.description, ctx_r1.getMetricTitle(metric_r3.calc)));
56044
+ } }
56045
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_7_Template(rf, ctx) { if (rf & 1) {
56035
56046
  i0.ɵɵelement(0, "symphiq-pacing-status-badge", 9);
56036
56047
  } if (rf & 2) {
56037
56048
  const metric_r3 = i0.ɵɵnextContext().$implicit;
56038
56049
  const ctx_r1 = i0.ɵɵnextContext(3);
56039
56050
  i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", metric_r3.pacingInfo.pacingPercentage)("status", metric_r3.pacingInfo.status);
56040
56051
  } }
56041
- function FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_12_Template(rf, ctx) { if (rf & 1) {
56042
- i0.ɵɵelementStart(0, "div")(1, "p", 26);
56052
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_14_Template(rf, ctx) { if (rf & 1) {
56053
+ i0.ɵɵelementStart(0, "div")(1, "p", 28);
56043
56054
  i0.ɵɵtext(2);
56044
56055
  i0.ɵɵelementEnd()();
56045
56056
  } if (rf & 2) {
@@ -56051,31 +56062,35 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditio
56051
56062
  i0.ɵɵtextInterpolate1("Proj: ", ctx_r1.formatMetricValue(metric_r3.pacingInfo.projectedValue, metric_r3.calc.metric));
56052
56063
  } }
56053
56064
  function FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Template(rf, ctx) { if (rf & 1) {
56054
- i0.ɵɵelementStart(0, "div", 20)(1, "div", 21)(2, "p", 22);
56055
- i0.ɵɵtext(3);
56065
+ i0.ɵɵelementStart(0, "div", 20)(1, "div", 21)(2, "div", 22)(3, "p", 23);
56066
+ i0.ɵɵtext(4);
56056
56067
  i0.ɵɵelementEnd();
56057
- i0.ɵɵelementStart(4, "div", 23);
56058
- i0.ɵɵconditionalCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_5_Template, 1, 3, "symphiq-pacing-status-badge", 9);
56059
- i0.ɵɵelementStart(6, "span", 24);
56060
- i0.ɵɵtext(7);
56068
+ i0.ɵɵconditionalCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_5_Template, 3, 2, "button", 24);
56069
+ i0.ɵɵelementEnd();
56070
+ i0.ɵɵelementStart(6, "div", 25);
56071
+ i0.ɵɵconditionalCreate(7, FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_7_Template, 1, 3, "symphiq-pacing-status-badge", 9);
56072
+ i0.ɵɵelementStart(8, "span", 26);
56073
+ i0.ɵɵtext(9);
56061
56074
  i0.ɵɵelementEnd()()();
56062
- i0.ɵɵelementStart(8, "div", 25)(9, "div")(10, "p", 26);
56063
- i0.ɵɵtext(11);
56075
+ i0.ɵɵelementStart(10, "div", 27)(11, "div")(12, "p", 28);
56076
+ i0.ɵɵtext(13);
56064
56077
  i0.ɵɵelementEnd()();
56065
- i0.ɵɵconditionalCreate(12, FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_12_Template, 3, 2, "div");
56066
- i0.ɵɵelementStart(13, "div")(14, "p", 26);
56067
- i0.ɵɵtext(15);
56078
+ i0.ɵɵconditionalCreate(14, FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_14_Template, 3, 2, "div");
56079
+ i0.ɵɵelementStart(15, "div")(16, "p", 28);
56080
+ i0.ɵɵtext(17);
56068
56081
  i0.ɵɵelementEnd()()()();
56069
56082
  } if (rf & 2) {
56070
56083
  const metric_r3 = ctx.$implicit;
56071
56084
  const ctx_r1 = i0.ɵɵnextContext(3);
56072
56085
  i0.ɵɵproperty("ngClass", ctx_r1.relatedMetricCardClasses());
56073
- i0.ɵɵadvance(2);
56086
+ i0.ɵɵadvance(3);
56074
56087
  i0.ɵɵproperty("ngClass", ctx_r1.relatedMetricNameClasses());
56075
56088
  i0.ɵɵadvance();
56076
56089
  i0.ɵɵtextInterpolate1(" ", ctx_r1.getMetricTitle(metric_r3.calc), " ");
56090
+ i0.ɵɵadvance();
56091
+ i0.ɵɵconditional(metric_r3.calc.description ? 5 : -1);
56077
56092
  i0.ɵɵadvance(2);
56078
- i0.ɵɵconditional(metric_r3.pacingInfo ? 5 : -1);
56093
+ i0.ɵɵconditional(metric_r3.pacingInfo ? 7 : -1);
56079
56094
  i0.ɵɵadvance();
56080
56095
  i0.ɵɵproperty("ngClass", ctx_r1.relatedPercentageBadgeClasses());
56081
56096
  i0.ɵɵadvance();
@@ -56087,7 +56102,7 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Template
56087
56102
  i0.ɵɵadvance();
56088
56103
  i0.ɵɵtextInterpolate2("", ctx_r1.priorYear(), ": ", ctx_r1.formatMetricValue(metric_r3.calc.currentValue, metric_r3.calc.metric));
56089
56104
  i0.ɵɵadvance();
56090
- i0.ɵɵconditional(metric_r3.pacingInfo ? 12 : -1);
56105
+ i0.ɵɵconditional(metric_r3.pacingInfo ? 14 : -1);
56091
56106
  i0.ɵɵadvance(2);
56092
56107
  i0.ɵɵproperty("ngClass", ctx_r1.relatedLabelClasses());
56093
56108
  i0.ɵɵadvance();
@@ -56099,7 +56114,7 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_Template(rf, c
56099
56114
  i0.ɵɵtext(3, " Related Metrics ");
56100
56115
  i0.ɵɵelementEnd();
56101
56116
  i0.ɵɵelementStart(4, "div", 19);
56102
- i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Template, 16, 13, "div", 20, _forTrack1$3);
56117
+ i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Template, 18, 14, "div", 20, _forTrack1$3);
56103
56118
  i0.ɵɵelementEnd()();
56104
56119
  } if (rf & 2) {
56105
56120
  const stage_r1 = i0.ɵɵnextContext().$implicit;
@@ -56305,7 +56320,7 @@ class FunnelMetricsVisualizationComponent {
56305
56320
  return { title, markdown };
56306
56321
  }
56307
56322
  static { this.ɵfac = function FunnelMetricsVisualizationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FunnelMetricsVisualizationComponent)(); }; }
56308
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelMetricsVisualizationComponent, selectors: [["symphiq-funnel-metrics-visualization"]], inputs: { viewMode: [1, "viewMode"], calculations: [1, "calculations"], pacingMetrics: [1, "pacingMetrics"] }, decls: 5, vars: 0, consts: [[1, "space-y-6"], [1, "space-y-3"], [1, "rounded-xl", "p-6", "border-2", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-4"], [1, "flex-1"], [1, "flex", "items-center", "gap-2", "mb-1"], [1, "text-lg", "font-bold", 3, "ngClass"], ["type", "button", "tooltipType", "markdown", "tooltipPosition", "right", 1, "flex-shrink-0", "w-6", "h-6", "rounded-full", "flex", "items-center", "justify-center", "transition-colors", "self-center", 3, "ngClass", "libSymphiqTooltip"], [1, "flex", "items-center", "gap-3"], [3, "viewMode", "pacingPercentage", "status"], [1, "px-4", "py-2", "rounded-lg", "font-bold", "text-sm", 3, "ngClass"], [1, "grid", "grid-cols-3", "gap-4", "mb-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "my-4", 3, "ngClass"], [1, "space-y-2"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-3", 3, "ngClass"], [1, "grid", "gap-2"], [1, "p-3", "rounded-lg", 3, "ngClass"], [1, "flex", "items-center", "justify-between", "mb-2"], [1, "text-sm", "font-semibold", "flex-1", 3, "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "px-2", "py-1", "rounded", "text-xs", "font-bold", 3, "ngClass"], [1, "grid", "gap-2", "text-xs", 3, "ngClass"], [3, "ngClass"]], template: function FunnelMetricsVisualizationComponent_Template(rf, ctx) { if (rf & 1) {
56323
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelMetricsVisualizationComponent, selectors: [["symphiq-funnel-metrics-visualization"]], inputs: { viewMode: [1, "viewMode"], calculations: [1, "calculations"], pacingMetrics: [1, "pacingMetrics"] }, decls: 5, vars: 0, consts: [[1, "space-y-6"], [1, "space-y-3"], [1, "rounded-xl", "p-6", "border-2", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-4"], [1, "flex-1"], [1, "flex", "items-center", "gap-2", "mb-1"], [1, "text-lg", "font-bold", "leading-tight", 3, "ngClass"], ["type", "button", "tooltipType", "markdown", "tooltipPosition", "right", 1, "flex-shrink-0", "w-6", "h-6", "rounded-full", "inline-flex", "items-center", "justify-center", "transition-colors", 3, "ngClass", "libSymphiqTooltip"], [1, "flex", "items-center", "gap-3"], [3, "viewMode", "pacingPercentage", "status"], [1, "px-4", "py-2", "rounded-lg", "font-bold", "text-sm", 3, "ngClass"], [1, "grid", "grid-cols-3", "gap-4", "mb-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "my-4", 3, "ngClass"], [1, "space-y-2"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-3", 3, "ngClass"], [1, "grid", "gap-2"], [1, "p-3", "rounded-lg", 3, "ngClass"], [1, "flex", "items-center", "justify-between", "mb-2"], [1, "flex", "items-center", "gap-2", "flex-1"], [1, "text-sm", "font-semibold", "leading-tight", 3, "ngClass"], ["type", "button", "tooltipType", "markdown", "tooltipPosition", "right", 1, "flex-shrink-0", "w-5", "h-5", "rounded-full", "inline-flex", "items-center", "justify-center", "transition-colors", 3, "ngClass", "libSymphiqTooltip"], [1, "flex", "items-center", "gap-2"], [1, "px-2", "py-1", "rounded", "text-xs", "font-bold", 3, "ngClass"], [1, "grid", "gap-2", "text-xs", 3, "ngClass"], [3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"]], template: function FunnelMetricsVisualizationComponent_Template(rf, ctx) { if (rf & 1) {
56309
56324
  i0.ɵɵelementStart(0, "div", 0);
56310
56325
  i0.ɵɵelement(1, "symphiq-tooltip-container");
56311
56326
  i0.ɵɵelementStart(2, "div", 1);
@@ -56332,14 +56347,14 @@ class FunnelMetricsVisualizationComponent {
56332
56347
  <div class="flex items-start justify-between mb-4">
56333
56348
  <div class="flex-1">
56334
56349
  <div class="flex items-center gap-2 mb-1">
56335
- <h3 [ngClass]="stageTitleClasses()" class="text-lg font-bold">
56350
+ <h3 [ngClass]="stageTitleClasses()" class="text-lg font-bold leading-tight">
56336
56351
  {{ getMetricTitle(stage.stageMetric) }}
56337
56352
  </h3>
56338
56353
  @if (stage.stageMetric.description) {
56339
56354
  <button
56340
56355
  type="button"
56341
56356
  [ngClass]="infoIconClasses()"
56342
- class="flex-shrink-0 w-6 h-6 rounded-full flex items-center justify-center transition-colors self-center"
56357
+ class="flex-shrink-0 w-6 h-6 rounded-full inline-flex items-center justify-center transition-colors"
56343
56358
  [libSymphiqTooltip]="getMarkdownTooltipContent(stage.stageMetric.description, getMetricTitle(stage.stageMetric))"
56344
56359
  tooltipType="markdown"
56345
56360
  tooltipPosition="right">
@@ -56404,9 +56419,24 @@ class FunnelMetricsVisualizationComponent {
56404
56419
  @for (metric of stage.relatedMetrics; track metric.calc.metric) {
56405
56420
  <div [ngClass]="relatedMetricCardClasses()" class="p-3 rounded-lg">
56406
56421
  <div class="flex items-center justify-between mb-2">
56407
- <p [ngClass]="relatedMetricNameClasses()" class="text-sm font-semibold flex-1">
56408
- {{ getMetricTitle(metric.calc) }}
56409
- </p>
56422
+ <div class="flex items-center gap-2 flex-1">
56423
+ <p [ngClass]="relatedMetricNameClasses()" class="text-sm font-semibold leading-tight">
56424
+ {{ getMetricTitle(metric.calc) }}
56425
+ </p>
56426
+ @if (metric.calc.description) {
56427
+ <button
56428
+ type="button"
56429
+ [ngClass]="infoIconClasses()"
56430
+ class="flex-shrink-0 w-5 h-5 rounded-full inline-flex items-center justify-center transition-colors"
56431
+ [libSymphiqTooltip]="getMarkdownTooltipContent(metric.calc.description, getMetricTitle(metric.calc))"
56432
+ tooltipType="markdown"
56433
+ tooltipPosition="right">
56434
+ <svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
56435
+ <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" />
56436
+ </svg>
56437
+ </button>
56438
+ }
56439
+ </div>
56410
56440
  <div class="flex items-center gap-2">
56411
56441
  @if (metric.pacingInfo) {
56412
56442
  <symphiq-pacing-status-badge
@@ -56445,7 +56475,7 @@ class FunnelMetricsVisualizationComponent {
56445
56475
  `
56446
56476
  }]
56447
56477
  }], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], calculations: [{ type: i0.Input, args: [{ isSignal: true, alias: "calculations", required: false }] }], pacingMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingMetrics", required: false }] }] }); })();
56448
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 137 }); })();
56478
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 152 }); })();
56449
56479
 
56450
56480
  function StickySubmitBarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
56451
56481
  i0.ɵɵelementStart(0, "div", 4);
@@ -57746,14 +57776,19 @@ class InitialTargetSettingComponent {
57746
57776
  }, ...(ngDevMode ? [{ debugName: "showMetricsVisualization" }] : []));
57747
57777
  this.revenueChartData = computed(() => {
57748
57778
  const trendData = this.trendUiData();
57779
+ console.log('[revenueChartData] trendData:', trendData);
57780
+ console.log('[revenueChartData] convertedDataResults:', trendData?.convertedDataResults);
57749
57781
  if (!trendData?.convertedDataResults) {
57782
+ console.log('[revenueChartData] No convertedDataResults, returning null');
57750
57783
  return null;
57751
57784
  }
57752
57785
  const series = transformTrendUiDataToChartSeries(trendData, MetricEnum.PURCHASE_REVENUE);
57786
+ console.log('[revenueChartData] series:', series);
57753
57787
  if (series.length === 0) {
57788
+ console.log('[revenueChartData] Empty series, returning null');
57754
57789
  return null;
57755
57790
  }
57756
- return {
57791
+ const result = {
57757
57792
  title: 'Revenue Trend',
57758
57793
  areaChartData: {
57759
57794
  series: series.map(s => ({
@@ -57765,6 +57800,8 @@ class InitialTargetSettingComponent {
57765
57800
  }))
57766
57801
  }
57767
57802
  };
57803
+ console.log('[revenueChartData] result:', result);
57804
+ return result;
57768
57805
  }, ...(ngDevMode ? [{ debugName: "revenueChartData" }] : []));
57769
57806
  this.currentYear = computed(() => new Date().getFullYear(), ...(ngDevMode ? [{ debugName: "currentYear" }] : []));
57770
57807
  this.priorYear = computed(() => new Date().getFullYear() - 1, ...(ngDevMode ? [{ debugName: "priorYear" }] : []));