@eric-emg/symphiq-components 1.2.180 → 1.2.182

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.
@@ -55994,7 +55994,7 @@ class PacingStatusBadgeComponent {
55994
55994
 
55995
55995
  const _forTrack0$i = ($index, $item) => $item.stageMetric.metric;
55996
55996
  const _forTrack1$3 = ($index, $item) => $item.calc.metric;
55997
- function FunnelMetricsVisualizationComponent_For_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
55997
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
55998
55998
  i0.ɵɵelementStart(0, "button", 7);
55999
55999
  i0.ɵɵnamespaceSVG();
56000
56000
  i0.ɵɵelementStart(1, "svg", 14);
@@ -56003,16 +56003,16 @@ function FunnelMetricsVisualizationComponent_For_3_Conditional_6_Template(rf, ct
56003
56003
  } if (rf & 2) {
56004
56004
  const stage_r1 = i0.ɵɵnextContext().$implicit;
56005
56005
  const ctx_r1 = i0.ɵɵnextContext();
56006
- i0.ɵɵproperty("ngClass", ctx_r1.infoIconClasses())("libSymphiqTooltip", ctx_r1.getMarkdownTooltipContent(stage_r1.stageMetric.description, ctx_r1.getMetricTitle(stage_r1.stageMetric)))("tooltipPosition", "right");
56006
+ i0.ɵɵproperty("ngClass", ctx_r1.infoIconClasses())("libSymphiqTooltip", ctx_r1.getMarkdownTooltipContent(stage_r1.stageMetric.description, ctx_r1.getMetricTitle(stage_r1.stageMetric)));
56007
56007
  } }
56008
- function FunnelMetricsVisualizationComponent_For_3_Conditional_8_Template(rf, ctx) { if (rf & 1) {
56008
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_8_Template(rf, ctx) { if (rf & 1) {
56009
56009
  i0.ɵɵelement(0, "symphiq-pacing-status-badge", 9);
56010
56010
  } if (rf & 2) {
56011
56011
  const stage_r1 = i0.ɵɵnextContext().$implicit;
56012
56012
  const ctx_r1 = i0.ɵɵnextContext();
56013
56013
  i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", stage_r1.pacingInfo.pacingPercentage)("status", stage_r1.pacingInfo.status);
56014
56014
  } }
56015
- function FunnelMetricsVisualizationComponent_For_3_Conditional_17_Template(rf, ctx) { if (rf & 1) {
56015
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_17_Template(rf, ctx) { if (rf & 1) {
56016
56016
  i0.ɵɵelementStart(0, "div")(1, "p", 12);
56017
56017
  i0.ɵɵtext(2);
56018
56018
  i0.ɵɵelementEnd();
@@ -56031,14 +56031,14 @@ function FunnelMetricsVisualizationComponent_For_3_Conditional_17_Template(rf, c
56031
56031
  i0.ɵɵadvance();
56032
56032
  i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(stage_r1.pacingInfo.projectedValue, stage_r1.stageMetric.metric), " ");
56033
56033
  } }
56034
- function FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditional_5_Template(rf, ctx) { if (rf & 1) {
56034
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_5_Template(rf, ctx) { if (rf & 1) {
56035
56035
  i0.ɵɵelement(0, "symphiq-pacing-status-badge", 9);
56036
56036
  } if (rf & 2) {
56037
56037
  const metric_r3 = i0.ɵɵnextContext().$implicit;
56038
56038
  const ctx_r1 = i0.ɵɵnextContext(3);
56039
56039
  i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", metric_r3.pacingInfo.pacingPercentage)("status", metric_r3.pacingInfo.status);
56040
56040
  } }
56041
- function FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditional_12_Template(rf, ctx) { if (rf & 1) {
56041
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_12_Template(rf, ctx) { if (rf & 1) {
56042
56042
  i0.ɵɵelementStart(0, "div")(1, "p", 26);
56043
56043
  i0.ɵɵtext(2);
56044
56044
  i0.ɵɵelementEnd()();
@@ -56050,19 +56050,19 @@ function FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditio
56050
56050
  i0.ɵɵadvance();
56051
56051
  i0.ɵɵtextInterpolate1("Proj: ", ctx_r1.formatMetricValue(metric_r3.pacingInfo.projectedValue, metric_r3.calc.metric));
56052
56052
  } }
56053
- function FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Template(rf, ctx) { if (rf & 1) {
56053
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Template(rf, ctx) { if (rf & 1) {
56054
56054
  i0.ɵɵelementStart(0, "div", 20)(1, "div", 21)(2, "p", 22);
56055
56055
  i0.ɵɵtext(3);
56056
56056
  i0.ɵɵelementEnd();
56057
56057
  i0.ɵɵelementStart(4, "div", 23);
56058
- i0.ɵɵconditionalCreate(5, FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditional_5_Template, 1, 3, "symphiq-pacing-status-badge", 9);
56058
+ i0.ɵɵconditionalCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_5_Template, 1, 3, "symphiq-pacing-status-badge", 9);
56059
56059
  i0.ɵɵelementStart(6, "span", 24);
56060
56060
  i0.ɵɵtext(7);
56061
56061
  i0.ɵɵelementEnd()()();
56062
56062
  i0.ɵɵelementStart(8, "div", 25)(9, "div")(10, "p", 26);
56063
56063
  i0.ɵɵtext(11);
56064
56064
  i0.ɵɵelementEnd()();
56065
- i0.ɵɵconditionalCreate(12, FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Conditional_12_Template, 3, 2, "div");
56065
+ i0.ɵɵconditionalCreate(12, FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Conditional_12_Template, 3, 2, "div");
56066
56066
  i0.ɵɵelementStart(13, "div")(14, "p", 26);
56067
56067
  i0.ɵɵtext(15);
56068
56068
  i0.ɵɵelementEnd()()()();
@@ -56093,13 +56093,13 @@ function FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Template
56093
56093
  i0.ɵɵadvance();
56094
56094
  i0.ɵɵtextInterpolate1("Target: ", ctx_r1.formatMetricValue(metric_r3.calc.targetValue, metric_r3.calc.metric));
56095
56095
  } }
56096
- function FunnelMetricsVisualizationComponent_For_3_Conditional_23_Template(rf, ctx) { if (rf & 1) {
56096
+ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_Template(rf, ctx) { if (rf & 1) {
56097
56097
  i0.ɵɵelement(0, "div", 16);
56098
56098
  i0.ɵɵelementStart(1, "div", 17)(2, "p", 18);
56099
56099
  i0.ɵɵtext(3, " Related Metrics ");
56100
56100
  i0.ɵɵelementEnd();
56101
56101
  i0.ɵɵelementStart(4, "div", 19);
56102
- i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_3_Conditional_23_For_6_Template, 16, 13, "div", 20, _forTrack1$3);
56102
+ i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_23_For_6_Template, 16, 13, "div", 20, _forTrack1$3);
56103
56103
  i0.ɵɵelementEnd()();
56104
56104
  } if (rf & 2) {
56105
56105
  const stage_r1 = i0.ɵɵnextContext().$implicit;
@@ -56110,14 +56110,14 @@ function FunnelMetricsVisualizationComponent_For_3_Conditional_23_Template(rf, c
56110
56110
  i0.ɵɵadvance(3);
56111
56111
  i0.ɵɵrepeater(stage_r1.relatedMetrics);
56112
56112
  } }
56113
- function FunnelMetricsVisualizationComponent_For_3_Template(rf, ctx) { if (rf & 1) {
56113
+ function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf & 1) {
56114
56114
  i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "div", 5)(4, "h3", 6);
56115
56115
  i0.ɵɵtext(5);
56116
56116
  i0.ɵɵelementEnd();
56117
- i0.ɵɵconditionalCreate(6, FunnelMetricsVisualizationComponent_For_3_Conditional_6_Template, 3, 3, "button", 7);
56117
+ i0.ɵɵconditionalCreate(6, FunnelMetricsVisualizationComponent_For_4_Conditional_6_Template, 3, 2, "button", 7);
56118
56118
  i0.ɵɵelementEnd()();
56119
56119
  i0.ɵɵelementStart(7, "div", 8);
56120
- i0.ɵɵconditionalCreate(8, FunnelMetricsVisualizationComponent_For_3_Conditional_8_Template, 1, 3, "symphiq-pacing-status-badge", 9);
56120
+ i0.ɵɵconditionalCreate(8, FunnelMetricsVisualizationComponent_For_4_Conditional_8_Template, 1, 3, "symphiq-pacing-status-badge", 9);
56121
56121
  i0.ɵɵelementStart(9, "div", 10);
56122
56122
  i0.ɵɵtext(10);
56123
56123
  i0.ɵɵelementEnd()()();
@@ -56127,14 +56127,14 @@ function FunnelMetricsVisualizationComponent_For_3_Template(rf, ctx) { if (rf &
56127
56127
  i0.ɵɵelementStart(15, "p", 13);
56128
56128
  i0.ɵɵtext(16);
56129
56129
  i0.ɵɵelementEnd()();
56130
- i0.ɵɵconditionalCreate(17, FunnelMetricsVisualizationComponent_For_3_Conditional_17_Template, 5, 4, "div");
56130
+ i0.ɵɵconditionalCreate(17, FunnelMetricsVisualizationComponent_For_4_Conditional_17_Template, 5, 4, "div");
56131
56131
  i0.ɵɵelementStart(18, "div")(19, "p", 12);
56132
56132
  i0.ɵɵtext(20);
56133
56133
  i0.ɵɵelementEnd();
56134
56134
  i0.ɵɵelementStart(21, "p", 13);
56135
56135
  i0.ɵɵtext(22);
56136
56136
  i0.ɵɵelementEnd()()();
56137
- i0.ɵɵconditionalCreate(23, FunnelMetricsVisualizationComponent_For_3_Conditional_23_Template, 7, 2);
56137
+ i0.ɵɵconditionalCreate(23, FunnelMetricsVisualizationComponent_For_4_Conditional_23_Template, 7, 2);
56138
56138
  i0.ɵɵelementEnd();
56139
56139
  } if (rf & 2) {
56140
56140
  const stage_r1 = ctx.$implicit;
@@ -56305,24 +56305,27 @@ class FunnelMetricsVisualizationComponent {
56305
56305
  return { title, markdown };
56306
56306
  }
56307
56307
  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: 4, 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", 1, "flex-shrink-0", "w-5", "h-5", "rounded-full", "flex", "items-center", "justify-center", "transition-colors", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [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-3.5", "h-3.5"], ["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) {
56309
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
56310
- i0.ɵɵrepeaterCreate(2, FunnelMetricsVisualizationComponent_For_3_Template, 24, 17, "div", 2, _forTrack0$i);
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) {
56309
+ i0.ɵɵelementStart(0, "div", 0);
56310
+ i0.ɵɵelement(1, "symphiq-tooltip-container");
56311
+ i0.ɵɵelementStart(2, "div", 1);
56312
+ i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 24, 17, "div", 2, _forTrack0$i);
56311
56313
  i0.ɵɵelementEnd()();
56312
56314
  } if (rf & 2) {
56313
- i0.ɵɵadvance(2);
56315
+ i0.ɵɵadvance(3);
56314
56316
  i0.ɵɵrepeater(ctx.funnelStages());
56315
- } }, dependencies: [CommonModule, i1$1.NgClass, PacingStatusBadgeComponent, TooltipDirective], encapsulation: 2, changeDetection: 0 }); }
56317
+ } }, dependencies: [CommonModule, i1$1.NgClass, PacingStatusBadgeComponent, TooltipDirective, TooltipContainerComponent], encapsulation: 2, changeDetection: 0 }); }
56316
56318
  }
56317
56319
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FunnelMetricsVisualizationComponent, [{
56318
56320
  type: Component,
56319
56321
  args: [{
56320
56322
  selector: 'symphiq-funnel-metrics-visualization',
56321
56323
  standalone: true,
56322
- imports: [CommonModule, PacingStatusBadgeComponent, TooltipDirective],
56324
+ imports: [CommonModule, PacingStatusBadgeComponent, TooltipDirective, TooltipContainerComponent],
56323
56325
  changeDetection: ChangeDetectionStrategy.OnPush,
56324
56326
  template: `
56325
56327
  <div class="space-y-6">
56328
+ <symphiq-tooltip-container />
56326
56329
  <div class="space-y-3">
56327
56330
  @for (stage of funnelStages(); track stage.stageMetric.metric) {
56328
56331
  <div [ngClass]="stageCardClasses()" class="rounded-xl p-6 border-2 transition-all duration-200">
@@ -56336,11 +56339,11 @@ class FunnelMetricsVisualizationComponent {
56336
56339
  <button
56337
56340
  type="button"
56338
56341
  [ngClass]="infoIconClasses()"
56339
- class="flex-shrink-0 w-5 h-5 rounded-full flex items-center justify-center transition-colors"
56342
+ class="flex-shrink-0 w-6 h-6 rounded-full flex items-center justify-center transition-colors self-center"
56340
56343
  [libSymphiqTooltip]="getMarkdownTooltipContent(stage.stageMetric.description, getMetricTitle(stage.stageMetric))"
56341
56344
  tooltipType="markdown"
56342
- [tooltipPosition]="'right'">
56343
- <svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
56345
+ tooltipPosition="right">
56346
+ <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
56344
56347
  <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" />
56345
56348
  </svg>
56346
56349
  </button>
@@ -56442,7 +56445,7 @@ class FunnelMetricsVisualizationComponent {
56442
56445
  `
56443
56446
  }]
56444
56447
  }], 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 }] }] }); })();
56445
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 135 }); })();
56448
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 137 }); })();
56446
56449
 
56447
56450
  function StickySubmitBarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
56448
56451
  i0.ɵɵelementStart(0, "div", 4);
@@ -57377,12 +57380,16 @@ function transformTrendUiDataToChartSeries(trendUiData, metricToExtract) {
57377
57380
  const priorYear = currentYear - 1;
57378
57381
  const priorYearPoints = [];
57379
57382
  const currentYearPoints = [];
57383
+ console.log('[transformTrendUiDataToChartSeries] dimensions:', convertedData.dimensions);
57384
+ console.log('[transformTrendUiDataToChartSeries] dateIndex:', dateIndex, 'monthIndex:', monthIndex);
57385
+ console.log('[transformTrendUiDataToChartSeries] sample rows:', convertedData.rows?.slice(0, 3));
57380
57386
  convertedData.rows?.forEach((row) => {
57381
57387
  const dateValue = row.dimensionValues?.[dateIndex];
57382
57388
  const metricValue = parseFloat(row.metricValues?.[metricIndex] || '0');
57383
57389
  if (dateValue) {
57384
57390
  const year = parseInt(dateValue.substring(0, 4), 10);
57385
57391
  const month = parseInt(dateValue.substring(4, 6) || dateValue.substring(5, 7), 10);
57392
+ console.log('[transformTrendUiDataToChartSeries] dateValue:', dateValue, '→ year:', year, 'month:', month);
57386
57393
  const point = {
57387
57394
  category: String(month),
57388
57395
  value: metricValue,
@@ -57752,7 +57759,7 @@ class InitialTargetSettingComponent {
57752
57759
  series: series.map(s => ({
57753
57760
  name: s.name,
57754
57761
  data: s.data.map(d => ({
57755
- category: d.displayLabel || d.category,
57762
+ month: parseInt(d.category, 10),
57756
57763
  value: d.value
57757
57764
  }))
57758
57765
  }))