@eric-emg/symphiq-components 1.2.246 → 1.2.247
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/fesm2022/symphiq-components.mjs +33 -8
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +37 -36
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -56705,7 +56705,8 @@ class LineChartComponent {
|
|
|
56705
56705
|
// Check for explicit keywords
|
|
56706
56706
|
if (name.includes('last year') ||
|
|
56707
56707
|
name.includes('prior year') ||
|
|
56708
|
-
name.includes('previous year')
|
|
56708
|
+
name.includes('previous year') ||
|
|
56709
|
+
name.includes('comparison')) {
|
|
56709
56710
|
return true;
|
|
56710
56711
|
}
|
|
56711
56712
|
// Check for year patterns - extract any 4-digit year and compare to current year
|
|
@@ -56716,6 +56717,13 @@ class LineChartComponent {
|
|
|
56716
56717
|
}
|
|
56717
56718
|
return false;
|
|
56718
56719
|
}
|
|
56720
|
+
isProjectionSeries(seriesData) {
|
|
56721
|
+
if (!seriesData || !seriesData.name) {
|
|
56722
|
+
return false;
|
|
56723
|
+
}
|
|
56724
|
+
const name = seriesData.name.toLowerCase();
|
|
56725
|
+
return name.includes('projection') || name.includes('projected') || name.includes('target');
|
|
56726
|
+
}
|
|
56719
56727
|
extractMetricName(seriesName) {
|
|
56720
56728
|
// Extract metric name from series name by removing year patterns
|
|
56721
56729
|
// e.g., "Purchase Revenue (2025)" -> "Purchase Revenue"
|
|
@@ -56916,6 +56924,8 @@ class LineChartComponent {
|
|
|
56916
56924
|
const seriesColor = color(seriesColorValue);
|
|
56917
56925
|
// Check if this is a prior year series for YoY charts
|
|
56918
56926
|
const isPriorYear = isYoYChart && this.isPriorYearSeries(seriesData);
|
|
56927
|
+
const isProjection = this.isProjectionSeries(seriesData);
|
|
56928
|
+
console.log('[LineChart] Series:', seriesData.name, { isPriorYear, isProjection, isYoYChart, dataPoints: parsedData.length });
|
|
56919
56929
|
if (!this.chartElement || !this.root)
|
|
56920
56930
|
return;
|
|
56921
56931
|
const series = this.chartElement.series.push(LineSeries.new(this.root, {
|
|
@@ -56927,23 +56937,32 @@ class LineChartComponent {
|
|
|
56927
56937
|
stroke: seriesColor
|
|
56928
56938
|
}));
|
|
56929
56939
|
// Store valueFormat and prior year flag in userData for tooltip formatting
|
|
56930
|
-
series.set('userData', { valueFormat: seriesData.valueFormat, isPriorYear });
|
|
56940
|
+
series.set('userData', { valueFormat: seriesData.valueFormat, isPriorYear, isProjection });
|
|
56931
56941
|
// Disable individual series tooltips - use floating tooltip instead
|
|
56932
56942
|
series.set('tooltip', undefined);
|
|
56933
|
-
// Configure stroke styling based on
|
|
56943
|
+
// Configure stroke styling based on series type
|
|
56934
56944
|
series.strokes.template.setAll({
|
|
56935
|
-
strokeWidth: 2
|
|
56945
|
+
strokeWidth: isPriorYear ? 2 : 3
|
|
56936
56946
|
});
|
|
56937
56947
|
if (isPriorYear) {
|
|
56938
56948
|
// Apply dashed line and reduced opacity for prior year data
|
|
56939
56949
|
series.strokes.template.setAll({
|
|
56940
56950
|
strokeDasharray: [5, 5],
|
|
56941
|
-
strokeOpacity: 0.
|
|
56951
|
+
strokeOpacity: 0.5
|
|
56942
56952
|
});
|
|
56943
|
-
// Also set on each individual stroke
|
|
56944
56953
|
series.strokes.each((stroke) => {
|
|
56945
56954
|
stroke.set('strokeDasharray', [5, 5]);
|
|
56946
|
-
stroke.set('strokeOpacity', 0.
|
|
56955
|
+
stroke.set('strokeOpacity', 0.5);
|
|
56956
|
+
});
|
|
56957
|
+
}
|
|
56958
|
+
else if (isProjection) {
|
|
56959
|
+
// Apply dotted line for projection data
|
|
56960
|
+
series.strokes.template.setAll({
|
|
56961
|
+
strokeDasharray: [10, 5],
|
|
56962
|
+
strokeWidth: 3
|
|
56963
|
+
});
|
|
56964
|
+
series.strokes.each((stroke) => {
|
|
56965
|
+
stroke.set('strokeDasharray', [10, 5]);
|
|
56947
56966
|
});
|
|
56948
56967
|
}
|
|
56949
56968
|
// Add bullets with larger hit area for better hover detection
|
|
@@ -56953,7 +56972,7 @@ class LineChartComponent {
|
|
|
56953
56972
|
fill: seriesColor
|
|
56954
56973
|
};
|
|
56955
56974
|
if (isPriorYear) {
|
|
56956
|
-
bulletConfig['fillOpacity'] = 0.
|
|
56975
|
+
bulletConfig['fillOpacity'] = 0.5;
|
|
56957
56976
|
}
|
|
56958
56977
|
if (!this.root)
|
|
56959
56978
|
return Bullet.new({}, { sprite: Circle.new({}, {}) });
|
|
@@ -57064,6 +57083,7 @@ class ProgressToTargetChartComponent {
|
|
|
57064
57083
|
paddingRight: 0
|
|
57065
57084
|
}));
|
|
57066
57085
|
this.chart.zoomOutButton.set('forceHidden', true);
|
|
57086
|
+
this.chart.plotContainer.set('maskContent', false);
|
|
57067
57087
|
const xRenderer = AxisRendererX.new(this.root, {
|
|
57068
57088
|
strokeOpacity: 0.1
|
|
57069
57089
|
});
|
|
@@ -57788,6 +57808,11 @@ class MetricReportModalComponent {
|
|
|
57788
57808
|
const currentYearData = this.generateCurrentYearData(pacingResponse, metric.metric);
|
|
57789
57809
|
const priorYearData = this.generatePriorYearData(pacingResponse, metric.metric);
|
|
57790
57810
|
const projectionData = this.generateProjectionData(pacingResponse, metric.metric);
|
|
57811
|
+
console.log('[PaceChart] Metric:', metric.metric);
|
|
57812
|
+
console.log('[PaceChart] Current Year Data:', currentYearData);
|
|
57813
|
+
console.log('[PaceChart] Prior Year Data:', priorYearData);
|
|
57814
|
+
console.log('[PaceChart] Projection Data:', projectionData);
|
|
57815
|
+
console.log('[PaceChart] Pacing Response:', pacingResponse);
|
|
57791
57816
|
return {
|
|
57792
57817
|
chartType: 'LINE',
|
|
57793
57818
|
title: 'Pace',
|