@eric-emg/symphiq-components 1.2.216 → 1.2.217
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 +34 -151
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +11 -11
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -2920,18 +2920,9 @@ function calculateRelatedMetricRatios(funnelMetrics, baselineValues) {
|
|
|
2920
2920
|
return ratios;
|
|
2921
2921
|
}
|
|
2922
2922
|
function calculateMetricTargetsFromRevenueReverse(revenueTarget, priorYearRevenue, funnelMetrics, baselineValues) {
|
|
2923
|
-
console.log('\n🔄 === REVERSE REVENUE CALCULATOR START ===');
|
|
2924
|
-
console.log('📊 Inputs:');
|
|
2925
|
-
console.log(' - Revenue Target:', revenueTarget);
|
|
2926
|
-
console.log(' - Prior Year Revenue:', priorYearRevenue);
|
|
2927
|
-
console.log(' - Funnel Metrics Count:', funnelMetrics.length);
|
|
2928
|
-
console.log(' - Baseline Values:', Array.from(baselineValues.entries()));
|
|
2929
2923
|
const revenuePercentageIncrease = ((revenueTarget - priorYearRevenue) / priorYearRevenue) * 100;
|
|
2930
|
-
console.log(' - Revenue % Increase:', revenuePercentageIncrease.toFixed(2) + '%');
|
|
2931
2924
|
const funnelRatios = calculateFunnelRatios(funnelMetrics, baselineValues);
|
|
2932
|
-
console.log('\n📈 Funnel Ratios:', Array.from(funnelRatios.entries()));
|
|
2933
2925
|
const relatedRatios = calculateRelatedMetricRatios(funnelMetrics, baselineValues);
|
|
2934
|
-
console.log('📈 Related Metric Ratios:', Array.from(relatedRatios.entries()));
|
|
2935
2926
|
const sortedFunnelMetrics = [...funnelMetrics].sort((a, b) => {
|
|
2936
2927
|
const aFunnel = a.funnelInd ?? 999;
|
|
2937
2928
|
const bFunnel = b.funnelInd ?? 999;
|
|
@@ -2946,14 +2937,12 @@ function calculateMetricTargetsFromRevenueReverse(revenueTarget, priorYearRevenu
|
|
|
2946
2937
|
.map(fm => fm.relatedMetric)
|
|
2947
2938
|
.filter(Boolean);
|
|
2948
2939
|
const stageTargets = new Map();
|
|
2949
|
-
console.log('\n🎯 Calculating Stage Targets (Reverse Order):');
|
|
2950
2940
|
let currentRevenue = revenueTarget;
|
|
2951
2941
|
for (let i = stages.length - 1; i >= 0; i--) {
|
|
2952
2942
|
const stage = stages[i];
|
|
2953
2943
|
const baseline = baselineValues.get(stage) || 0;
|
|
2954
2944
|
if (i === stages.length - 1) {
|
|
2955
2945
|
stageTargets.set(stage, currentRevenue);
|
|
2956
|
-
console.log(` Stage ${i} (${stage}): ${currentRevenue.toFixed(2)} (Revenue Stage)`);
|
|
2957
2946
|
}
|
|
2958
2947
|
else {
|
|
2959
2948
|
const nextStage = stages[i + 1];
|
|
@@ -2963,17 +2952,14 @@ function calculateMetricTargetsFromRevenueReverse(revenueTarget, priorYearRevenu
|
|
|
2963
2952
|
const nextStageTarget = stageTargets.get(nextStage) || 0;
|
|
2964
2953
|
currentRevenue = nextStageTarget / ratio;
|
|
2965
2954
|
stageTargets.set(stage, currentRevenue);
|
|
2966
|
-
console.log(` Stage ${i} (${stage}): ${currentRevenue.toFixed(2)} (calculated from ${nextStage} with ratio ${ratio.toFixed(4)})`);
|
|
2967
2955
|
}
|
|
2968
2956
|
else {
|
|
2969
2957
|
const increaseNeeded = revenueTarget / baseline;
|
|
2970
2958
|
const calculatedValue = baseline * increaseNeeded;
|
|
2971
2959
|
stageTargets.set(stage, calculatedValue);
|
|
2972
|
-
console.log(` Stage ${i} (${stage}): ${calculatedValue.toFixed(2)} (fallback: baseline * ${increaseNeeded.toFixed(4)})`);
|
|
2973
2960
|
}
|
|
2974
2961
|
}
|
|
2975
2962
|
}
|
|
2976
|
-
console.log('🎯 Final Stage Targets:', Array.from(stageTargets.entries()));
|
|
2977
2963
|
const metricCalculations = [];
|
|
2978
2964
|
const stageGroups = new Map();
|
|
2979
2965
|
sortedFunnelMetrics.forEach(fm => {
|
|
@@ -2984,49 +2970,36 @@ function calculateMetricTargetsFromRevenueReverse(revenueTarget, priorYearRevenu
|
|
|
2984
2970
|
stageGroups.get(fm.funnelMetric).push(fm);
|
|
2985
2971
|
}
|
|
2986
2972
|
});
|
|
2987
|
-
console.log('\n📊 Calculating Individual Metric Targets:');
|
|
2988
2973
|
stageGroups.forEach((metrics, funnelStage) => {
|
|
2989
2974
|
const stageTarget = stageTargets.get(funnelStage);
|
|
2990
2975
|
const stageBaseline = baselineValues.get(funnelStage) || 0;
|
|
2991
2976
|
const stageIncrease = stageTarget ? stageTarget - stageBaseline : 0;
|
|
2992
|
-
console.log(`\n 📍 Funnel Stage: ${funnelStage}`);
|
|
2993
|
-
console.log(` - Stage Target: ${stageTarget?.toFixed(2)}`);
|
|
2994
|
-
console.log(` - Stage Baseline: ${stageBaseline.toFixed(2)}`);
|
|
2995
|
-
console.log(` - Stage Increase: ${stageIncrease.toFixed(2)}`);
|
|
2996
2977
|
metrics.forEach(fm => {
|
|
2997
2978
|
if (!fm.relatedMetric)
|
|
2998
2979
|
return;
|
|
2999
2980
|
const currentValue = baselineValues.get(fm.relatedMetric) || 0;
|
|
3000
2981
|
const isFunnelStage = fm.funnelMetric === fm.relatedMetric;
|
|
3001
|
-
console.log(`\n 🔹 Metric: ${fm.relatedMetric}${isFunnelStage ? ' (STAGE)' : ''}`);
|
|
3002
|
-
console.log(` Current Value: ${currentValue.toFixed(2)}`);
|
|
3003
2982
|
let targetValue;
|
|
3004
2983
|
let percentageIncrease;
|
|
3005
2984
|
if (isFunnelStage && stageTarget !== undefined) {
|
|
3006
2985
|
targetValue = stageTarget;
|
|
3007
2986
|
percentageIncrease = currentValue > 0 ? ((targetValue - currentValue) / currentValue) * 100 : 0;
|
|
3008
|
-
console.log(` Method: Direct Stage Target`);
|
|
3009
2987
|
}
|
|
3010
2988
|
else if (fm.relatedMetric === MetricEnum.BOUNCE_RATE) {
|
|
3011
2989
|
const stageTargetValue = stageTargets.get(funnelStage) || stageBaseline;
|
|
3012
2990
|
const stageIncreaseRatio = stageBaseline > 0 ? stageTargetValue / stageBaseline : 1;
|
|
3013
2991
|
targetValue = currentValue / stageIncreaseRatio;
|
|
3014
2992
|
percentageIncrease = currentValue > 0 ? ((targetValue - currentValue) / currentValue) * 100 : 0;
|
|
3015
|
-
console.log(` Method: Bounce Rate (inverse)`);
|
|
3016
|
-
console.log(` Stage Increase Ratio: ${stageIncreaseRatio.toFixed(4)}`);
|
|
3017
2993
|
}
|
|
3018
2994
|
else if (isDerivedMetric(fm.relatedMetric)) {
|
|
3019
2995
|
targetValue = currentValue;
|
|
3020
2996
|
percentageIncrease = 0;
|
|
3021
|
-
console.log(` Method: Derived Metric (no change)`);
|
|
3022
2997
|
}
|
|
3023
2998
|
else if (isRateMetric(fm.relatedMetric)) {
|
|
3024
2999
|
const stageTargetValue = stageTargets.get(funnelStage) || stageBaseline;
|
|
3025
3000
|
const stageIncreaseRatio = stageBaseline > 0 ? stageTargetValue / stageBaseline : 1;
|
|
3026
3001
|
targetValue = currentValue * stageIncreaseRatio;
|
|
3027
3002
|
percentageIncrease = currentValue > 0 ? ((targetValue - currentValue) / currentValue) * 100 : 0;
|
|
3028
|
-
console.log(` Method: Rate Metric (proportional scaling)`);
|
|
3029
|
-
console.log(` Stage Increase Ratio: ${stageIncreaseRatio.toFixed(4)}`);
|
|
3030
3003
|
}
|
|
3031
3004
|
else {
|
|
3032
3005
|
const ratioKey = `${fm.relatedMetric}_to_${funnelStage}`;
|
|
@@ -3042,23 +3015,14 @@ function calculateMetricTargetsFromRevenueReverse(revenueTarget, priorYearRevenu
|
|
|
3042
3015
|
const metricIncreaseNeeded = impactRatio > 0 ? avgIncreaseNeeded / impactRatio : avgIncreaseNeeded;
|
|
3043
3016
|
targetValue = currentValue + metricIncreaseNeeded;
|
|
3044
3017
|
percentageIncrease = currentValue > 0 ? ((targetValue - currentValue) / currentValue) * 100 : 0;
|
|
3045
|
-
console.log(` Method: Related Metric with Impact Ratio`);
|
|
3046
|
-
console.log(` Num Related Metrics: ${numRelatedMetrics}`);
|
|
3047
|
-
console.log(` Avg Increase Needed: ${avgIncreaseNeeded.toFixed(2)}`);
|
|
3048
|
-
console.log(` Impact Ratio: ${impactRatio.toFixed(4)}`);
|
|
3049
|
-
console.log(` Metric Increase Needed: ${metricIncreaseNeeded.toFixed(2)}`);
|
|
3050
3018
|
}
|
|
3051
3019
|
else {
|
|
3052
3020
|
const stageTargetValue = stageTargets.get(funnelStage) || stageBaseline;
|
|
3053
3021
|
const stageIncreaseRatio = stageBaseline > 0 ? stageTargetValue / stageBaseline : 1;
|
|
3054
3022
|
targetValue = currentValue * stageIncreaseRatio;
|
|
3055
3023
|
percentageIncrease = currentValue > 0 ? ((targetValue - currentValue) / currentValue) * 100 : 0;
|
|
3056
|
-
console.log(` Method: Proportional to Stage`);
|
|
3057
|
-
console.log(` Stage Increase Ratio: ${stageIncreaseRatio.toFixed(4)}`);
|
|
3058
3024
|
}
|
|
3059
3025
|
}
|
|
3060
|
-
console.log(` ✅ Target Value: ${targetValue.toFixed(2)}`);
|
|
3061
|
-
console.log(` ✅ % Increase: ${percentageIncrease.toFixed(2)}%`);
|
|
3062
3026
|
metricCalculations.push({
|
|
3063
3027
|
metric: fm.relatedMetric,
|
|
3064
3028
|
funnelMetric: fm.funnelMetric,
|
|
@@ -3072,34 +3036,19 @@ function calculateMetricTargetsFromRevenueReverse(revenueTarget, priorYearRevenu
|
|
|
3072
3036
|
});
|
|
3073
3037
|
});
|
|
3074
3038
|
});
|
|
3075
|
-
console.log('\n✅ Total Metric Calculations:', metricCalculations.length);
|
|
3076
3039
|
const validation = validateRevenueTarget(revenueTarget, metricCalculations, baselineValues, funnelRatios);
|
|
3077
|
-
console.log('\n🔍 Validation Results:');
|
|
3078
|
-
console.log(' - Target Revenue:', revenueTarget.toFixed(2));
|
|
3079
|
-
console.log(' - Calculated Revenue:', validation.calculatedRevenue.toFixed(2));
|
|
3080
|
-
console.log(' - Difference:', validation.difference.toFixed(2));
|
|
3081
|
-
console.log(' - % Difference:', validation.percentageDifference.toFixed(4) + '%');
|
|
3082
|
-
console.log(' - Within Tolerance:', validation.withinTolerance);
|
|
3083
3040
|
let adjustmentApplied = 0;
|
|
3084
3041
|
if (Math.abs(validation.difference) > 0.01) {
|
|
3085
|
-
console.log('\n⚙️ Applying Precision Adjustment...');
|
|
3086
3042
|
metricCalculations.forEach(calc => {
|
|
3087
3043
|
if (calc.isFunnelStage && calc.metric !== MetricEnum.BOUNCE_RATE) {
|
|
3088
|
-
const oldValue = calc.targetValue;
|
|
3089
3044
|
calc.targetValue += validation.difference / stages.length;
|
|
3090
3045
|
calc.percentageIncrease = calc.currentValue > 0
|
|
3091
3046
|
? ((calc.targetValue - calc.currentValue) / calc.currentValue) * 100
|
|
3092
3047
|
: 0;
|
|
3093
|
-
console.log(` Adjusted ${calc.metric}: ${oldValue.toFixed(2)} → ${calc.targetValue.toFixed(2)}`);
|
|
3094
3048
|
}
|
|
3095
3049
|
});
|
|
3096
3050
|
adjustmentApplied = validation.difference;
|
|
3097
|
-
console.log(' Total Adjustment Applied:', adjustmentApplied.toFixed(2));
|
|
3098
3051
|
}
|
|
3099
|
-
else {
|
|
3100
|
-
console.log('\n✅ No adjustment needed - within tolerance');
|
|
3101
|
-
}
|
|
3102
|
-
console.log('\n🏁 === REVERSE REVENUE CALCULATOR END ===\n');
|
|
3103
3052
|
return {
|
|
3104
3053
|
revenueTarget,
|
|
3105
3054
|
revenuePercentageIncrease,
|
|
@@ -54809,8 +54758,6 @@ function getPacingDisplayInfo(pacingPercentage, status, isDark) {
|
|
|
54809
54758
|
};
|
|
54810
54759
|
}
|
|
54811
54760
|
function calculateMetricPacing(projectedValue, targetValue, increaseBad = false) {
|
|
54812
|
-
console.group(`[PACING] calculateMetricPacing`);
|
|
54813
|
-
console.log('[PACING] Input:', { projectedValue, targetValue, increaseBad });
|
|
54814
54761
|
let pacingPercentage = targetValue > 0
|
|
54815
54762
|
? ((projectedValue - targetValue) / targetValue) * 100
|
|
54816
54763
|
: 0;
|
|
@@ -54818,8 +54765,6 @@ function calculateMetricPacing(projectedValue, targetValue, increaseBad = false)
|
|
|
54818
54765
|
pacingPercentage = -pacingPercentage;
|
|
54819
54766
|
}
|
|
54820
54767
|
const status = calculatePacingStatus(projectedValue, targetValue, increaseBad);
|
|
54821
|
-
console.log('[PACING] Result:', { pacingPercentage, status, projectedValue });
|
|
54822
|
-
console.groupEnd();
|
|
54823
54768
|
return {
|
|
54824
54769
|
pacingPercentage,
|
|
54825
54770
|
status,
|
|
@@ -54827,27 +54772,15 @@ function calculateMetricPacing(projectedValue, targetValue, increaseBad = false)
|
|
|
54827
54772
|
};
|
|
54828
54773
|
}
|
|
54829
54774
|
function extractProjectedValue(pacingResponse, metricEnum) {
|
|
54830
|
-
console.group(`[PACING] extractProjectedValue for ${metricEnum}`);
|
|
54831
54775
|
if (!pacingResponse) {
|
|
54832
|
-
console.log('[PACING] No pacingResponse provided - returning null');
|
|
54833
|
-
console.groupEnd();
|
|
54834
54776
|
return null;
|
|
54835
54777
|
}
|
|
54836
54778
|
const resp = pacingResponse;
|
|
54837
|
-
console.log('[PACING] pacingResponse structure:', {
|
|
54838
|
-
hasProjectedMetricValues: !!resp.projectedMetricValues,
|
|
54839
|
-
projectedMetricValuesCount: resp.projectedMetricValues?.length ?? 0
|
|
54840
|
-
});
|
|
54841
54779
|
const projectedMetric = resp.projectedMetricValues?.find((m) => m.metric === metricEnum);
|
|
54842
|
-
console.log('[PACING] Found projectedMetric for', metricEnum, ':', projectedMetric ? { metric: projectedMetric.metric, value: projectedMetric.value } : null);
|
|
54843
54780
|
if (!projectedMetric?.value) {
|
|
54844
|
-
console.log('[PACING] No projectedMetric found - returning null');
|
|
54845
|
-
console.groupEnd();
|
|
54846
54781
|
return null;
|
|
54847
54782
|
}
|
|
54848
54783
|
const projectedValue = parseFloat(projectedMetric.value);
|
|
54849
|
-
console.log('[PACING] Returning projectedValue:', projectedValue);
|
|
54850
|
-
console.groupEnd();
|
|
54851
54784
|
return projectedValue;
|
|
54852
54785
|
}
|
|
54853
54786
|
|
|
@@ -55126,29 +55059,16 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55126
55059
|
this.funnelStages = computed(() => {
|
|
55127
55060
|
const calcs = this.calculations();
|
|
55128
55061
|
const pacingResponse = this.pacingMetrics();
|
|
55129
|
-
console.group('[PACING] funnelStages computed');
|
|
55130
|
-
console.log('[PACING] calculations count:', calcs.length);
|
|
55131
|
-
console.log('[PACING] calculations:', calcs.map(c => ({ metric: c.metric, isFunnelStage: c.isFunnelStage, funnelMetric: c.funnelMetric })));
|
|
55132
|
-
console.log('[PACING] pacingResponse exists:', !!pacingResponse);
|
|
55133
|
-
if (pacingResponse) {
|
|
55134
|
-
console.log('[PACING] pacingResponse raw:', JSON.stringify(pacingResponse, null, 2));
|
|
55135
|
-
}
|
|
55136
55062
|
const grouped = new Map();
|
|
55137
55063
|
const stageMetrics = calcs.filter(c => c.isFunnelStage);
|
|
55138
55064
|
const relatedMetrics = calcs.filter(c => !c.isFunnelStage);
|
|
55139
|
-
console.log('[PACING] stageMetrics count:', stageMetrics.length);
|
|
55140
|
-
console.log('[PACING] stageMetrics:', stageMetrics.map(s => s.metric));
|
|
55141
|
-
console.log('[PACING] relatedMetrics count:', relatedMetrics.length);
|
|
55142
55065
|
stageMetrics.forEach(stageMetric => {
|
|
55143
55066
|
const related = relatedMetrics.filter(rm => rm.funnelMetric === stageMetric.metric);
|
|
55144
|
-
console.log(`[PACING] Processing stage: ${stageMetric.metric}`);
|
|
55145
55067
|
const stageProjectedValue = extractProjectedValue(pacingResponse, stageMetric.metric);
|
|
55146
|
-
console.log(`[PACING] stageProjectedValue for ${stageMetric.metric}:`, stageProjectedValue);
|
|
55147
55068
|
const stageIncreaseBad = MetricEnumUtil.increaseBad(stageMetric.metric);
|
|
55148
55069
|
const stagePacingInfo = stageProjectedValue !== null
|
|
55149
55070
|
? calculateMetricPacing(stageProjectedValue, stageMetric.targetValue, stageIncreaseBad)
|
|
55150
55071
|
: null;
|
|
55151
|
-
console.log(`[PACING] stagePacingInfo for ${stageMetric.metric}:`, stagePacingInfo);
|
|
55152
55072
|
const relatedWithPacing = related.map(relMetric => {
|
|
55153
55073
|
const relProjectedValue = extractProjectedValue(pacingResponse, relMetric.metric);
|
|
55154
55074
|
const relIncreaseBad = MetricEnumUtil.increaseBad(relMetric.metric);
|
|
@@ -55168,12 +55088,6 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55168
55088
|
const bInd = b.stageMetric.funnelInd ?? 999;
|
|
55169
55089
|
return aInd - bInd;
|
|
55170
55090
|
});
|
|
55171
|
-
console.log('[PACING] Final funnelStages result:', result.map(r => ({
|
|
55172
|
-
stage: r.stageMetric.metric,
|
|
55173
|
-
hasPacingInfo: !!r.pacingInfo,
|
|
55174
|
-
pacingPercentage: r.pacingInfo?.pacingPercentage
|
|
55175
|
-
})));
|
|
55176
|
-
console.groupEnd();
|
|
55177
55091
|
return result;
|
|
55178
55092
|
}, ...(ngDevMode ? [{ debugName: "funnelStages" }] : []));
|
|
55179
55093
|
}
|
|
@@ -56405,7 +56319,7 @@ function InitialTargetSettingComponent_Conditional_36_Conditional_8_Template(rf,
|
|
|
56405
56319
|
} }
|
|
56406
56320
|
function InitialTargetSettingComponent_Conditional_36_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
56407
56321
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
56408
|
-
i0.ɵɵelementStart(0, "button",
|
|
56322
|
+
i0.ɵɵelementStart(0, "button", 60);
|
|
56409
56323
|
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_36_Conditional_9_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(2); ctx_r0.handleAdjustTarget(); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
56410
56324
|
i0.ɵɵtext(1, " Adjust Revenue Target ");
|
|
56411
56325
|
i0.ɵɵelementEnd();
|
|
@@ -56428,14 +56342,14 @@ function InitialTargetSettingComponent_Conditional_36_Conditional_29_Template(rf
|
|
|
56428
56342
|
i0.ɵɵelementStart(10, "p", 59);
|
|
56429
56343
|
i0.ɵɵtext(11);
|
|
56430
56344
|
i0.ɵɵelementEnd()();
|
|
56431
|
-
i0.ɵɵelementStart(12, "div")(13, "div",
|
|
56345
|
+
i0.ɵɵelementStart(12, "div")(13, "div", 61)(14, "p", 15);
|
|
56432
56346
|
i0.ɵɵtext(15, " Additional Growth Needed ");
|
|
56433
56347
|
i0.ɵɵelementEnd();
|
|
56434
|
-
i0.ɵɵelementStart(16, "button",
|
|
56348
|
+
i0.ɵɵelementStart(16, "button", 62);
|
|
56435
56349
|
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_36_Conditional_29_Template_button_click_16_listener($event) { i0.ɵɵrestoreView(_r7); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
56436
56350
|
i0.ɵɵnamespaceSVG();
|
|
56437
|
-
i0.ɵɵelementStart(17, "svg",
|
|
56438
|
-
i0.ɵɵelement(18, "path",
|
|
56351
|
+
i0.ɵɵelementStart(17, "svg", 63);
|
|
56352
|
+
i0.ɵɵelement(18, "path", 64);
|
|
56439
56353
|
i0.ɵɵelementEnd()()();
|
|
56440
56354
|
i0.ɵɵnamespaceHTML();
|
|
56441
56355
|
i0.ɵɵelementStart(19, "p", 59);
|
|
@@ -56466,17 +56380,6 @@ function InitialTargetSettingComponent_Conditional_36_Conditional_29_Template(rf
|
|
|
56466
56380
|
i0.ɵɵadvance();
|
|
56467
56381
|
i0.ɵɵtextInterpolate2(" ", ctx_r0.gapToClose().amount > 0 ? "+" : "", "", ctx_r0.formatPercentage(ctx_r0.gapToClose().percentage, 1), " ");
|
|
56468
56382
|
} }
|
|
56469
|
-
function InitialTargetSettingComponent_Conditional_36_Conditional_30_Template(rf, ctx) { if (rf & 1) {
|
|
56470
|
-
const _r8 = i0.ɵɵgetCurrentView();
|
|
56471
|
-
i0.ɵɵelementStart(0, "div", 60)(1, "button", 66);
|
|
56472
|
-
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_36_Conditional_30_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r0 = i0.ɵɵnextContext(2); ctx_r0.toggleDetails(); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
56473
|
-
i0.ɵɵtext(2, " Show Less ");
|
|
56474
|
-
i0.ɵɵelementEnd()();
|
|
56475
|
-
} if (rf & 2) {
|
|
56476
|
-
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
56477
|
-
i0.ɵɵadvance();
|
|
56478
|
-
i0.ɵɵproperty("ngClass", ctx_r0.learnMoreButtonClasses());
|
|
56479
|
-
} }
|
|
56480
56383
|
function InitialTargetSettingComponent_Conditional_36_Template(rf, ctx) { if (rf & 1) {
|
|
56481
56384
|
i0.ɵɵelementStart(0, "div", 28)(1, "div")(2, "div", 48)(3, "div")(4, "p", 49);
|
|
56482
56385
|
i0.ɵɵtext(5);
|
|
@@ -56506,7 +56409,6 @@ function InitialTargetSettingComponent_Conditional_36_Template(rf, ctx) { if (rf
|
|
|
56506
56409
|
i0.ɵɵtext(28);
|
|
56507
56410
|
i0.ɵɵelementEnd()()()();
|
|
56508
56411
|
i0.ɵɵconditionalCreate(29, InitialTargetSettingComponent_Conditional_36_Conditional_29_Template, 21, 13, "div", 54);
|
|
56509
|
-
i0.ɵɵconditionalCreate(30, InitialTargetSettingComponent_Conditional_36_Conditional_30_Template, 3, 1, "div", 60);
|
|
56510
56412
|
i0.ɵɵelementEnd()()()();
|
|
56511
56413
|
} if (rf & 2) {
|
|
56512
56414
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -56547,19 +56449,24 @@ function InitialTargetSettingComponent_Conditional_36_Template(rf, ctx) { if (rf
|
|
|
56547
56449
|
i0.ɵɵtextInterpolate1(" +", ctx_r0.formatPercentage(ctx_r0.percentageIncrease(), 1), " ");
|
|
56548
56450
|
i0.ɵɵadvance();
|
|
56549
56451
|
i0.ɵɵconditional(ctx_r0.currentPaceProjection() > 0 && ctx_r0.gapToClose().amount !== 0 ? 29 : -1);
|
|
56550
|
-
i0.ɵɵadvance();
|
|
56551
|
-
i0.ɵɵconditional(ctx_r0.calculationState() === "results" && ctx_r0.detailsExpanded() ? 30 : -1);
|
|
56552
56452
|
} }
|
|
56553
56453
|
function InitialTargetSettingComponent_Conditional_37_Template(rf, ctx) { if (rf & 1) {
|
|
56554
|
-
const
|
|
56555
|
-
i0.ɵɵelementStart(0, "div", 29)(1, "button",
|
|
56556
|
-
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_37_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(
|
|
56557
|
-
i0.ɵɵtext(2
|
|
56558
|
-
i0.ɵɵ
|
|
56454
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
56455
|
+
i0.ɵɵelementStart(0, "div", 29)(1, "button", 65);
|
|
56456
|
+
i0.ɵɵlistener("click", function InitialTargetSettingComponent_Conditional_37_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r0 = i0.ɵɵnextContext(); ctx_r0.toggleDetails(); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
56457
|
+
i0.ɵɵtext(2);
|
|
56458
|
+
i0.ɵɵnamespaceSVG();
|
|
56459
|
+
i0.ɵɵelementStart(3, "svg", 66);
|
|
56460
|
+
i0.ɵɵelement(4, "path", 36);
|
|
56461
|
+
i0.ɵɵelementEnd()()();
|
|
56559
56462
|
} if (rf & 2) {
|
|
56560
56463
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
56561
56464
|
i0.ɵɵadvance();
|
|
56562
56465
|
i0.ɵɵproperty("ngClass", ctx_r0.learnMoreButtonClasses());
|
|
56466
|
+
i0.ɵɵadvance();
|
|
56467
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.detailsExpanded() ? "Show Less" : "Learn More", " ");
|
|
56468
|
+
i0.ɵɵadvance();
|
|
56469
|
+
i0.ɵɵclassProp("chevron-rotate-expanded", ctx_r0.detailsExpanded());
|
|
56563
56470
|
} }
|
|
56564
56471
|
function InitialTargetSettingComponent_Conditional_38_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
56565
56472
|
i0.ɵɵelement(0, "symphiq-area-chart", 24);
|
|
@@ -56674,33 +56581,16 @@ class InitialTargetSettingComponent {
|
|
|
56674
56581
|
}, ...(ngDevMode ? [{ debugName: "percentageIncrease" }] : []));
|
|
56675
56582
|
this.displayedMetricCalculations = computed(() => {
|
|
56676
56583
|
const response = this.storedResponse();
|
|
56677
|
-
const pacingData = this.pacingMetrics();
|
|
56678
|
-
console.group('[PACING] displayedMetricCalculations computed');
|
|
56679
|
-
console.log('[PACING] storedResponse exists:', !!response);
|
|
56680
|
-
console.log('[PACING] pacingMetrics exists:', !!pacingData);
|
|
56681
|
-
if (pacingData) {
|
|
56682
|
-
console.log('[PACING] pacingMetrics summary:', {
|
|
56683
|
-
soFarMetricValuesCount: pacingData.soFarMetricValues?.length ?? 0,
|
|
56684
|
-
soFarMetrics: pacingData.soFarMetricValues?.map(m => ({ metric: m.metric, value: m.value })),
|
|
56685
|
-
projectedMetricValuesCount: pacingData.projectedMetricValues?.length ?? 0,
|
|
56686
|
-
lastYearMetricValuesMonthlyCount: pacingData.lastYearMetricValuesMonthly?.length ?? 0,
|
|
56687
|
-
lastYearUniqueMetrics: [...new Set(pacingData.lastYearMetricValuesMonthly?.map(m => m.metric))]
|
|
56688
|
-
});
|
|
56689
|
-
}
|
|
56690
56584
|
if (!response) {
|
|
56691
|
-
console.log('[PACING] No storedResponse - returning empty array');
|
|
56692
|
-
console.groupEnd();
|
|
56693
56585
|
return [];
|
|
56694
56586
|
}
|
|
56695
56587
|
const results = [];
|
|
56696
56588
|
if (response.funnelMetricValues) {
|
|
56697
|
-
console.log('[PACING] Processing funnelMetricValues:', response.funnelMetricValues.length);
|
|
56698
56589
|
response.funnelMetricValues.forEach((metricValue) => {
|
|
56699
56590
|
const metric = metricValue.metric;
|
|
56700
56591
|
const funnelMetric = this.funnelMetrics().find(fm => fm.funnelMetric === metric && fm.funnelMetric === fm.relatedMetric);
|
|
56701
56592
|
const currentValue = sumMetricFromUiData(this.mainUiData(), metric, 'priorYear');
|
|
56702
56593
|
const { targetValue, percentageIncrease } = this.parseMetricValue(metricValue.value);
|
|
56703
|
-
console.log(`[PACING] Stage metric ${metric}:`, { currentValue, targetValue, percentageIncrease, funnelInd: funnelMetric?.funnelInd });
|
|
56704
56594
|
results.push({
|
|
56705
56595
|
metric,
|
|
56706
56596
|
funnelMetric: metric,
|
|
@@ -56715,7 +56605,6 @@ class InitialTargetSettingComponent {
|
|
|
56715
56605
|
});
|
|
56716
56606
|
}
|
|
56717
56607
|
if (response.relatedMetricTargets) {
|
|
56718
|
-
console.log('[PACING] Processing relatedMetricTargets:', response.relatedMetricTargets.length);
|
|
56719
56608
|
response.relatedMetricTargets.forEach((metricValue) => {
|
|
56720
56609
|
const metric = metricValue.metric;
|
|
56721
56610
|
const funnelMetric = this.funnelMetrics().find(fm => fm.relatedMetric === metric);
|
|
@@ -56734,10 +56623,6 @@ class InitialTargetSettingComponent {
|
|
|
56734
56623
|
});
|
|
56735
56624
|
});
|
|
56736
56625
|
}
|
|
56737
|
-
console.log('[PACING] Final results count:', results.length);
|
|
56738
|
-
console.log('[PACING] Stage metrics:', results.filter(r => r.isFunnelStage).map(r => r.metric));
|
|
56739
|
-
console.log('[PACING] Related metrics:', results.filter(r => !r.isFunnelStage).map(r => r.metric));
|
|
56740
|
-
console.groupEnd();
|
|
56741
56626
|
return results;
|
|
56742
56627
|
}, ...(ngDevMode ? [{ debugName: "displayedMetricCalculations" }] : []));
|
|
56743
56628
|
this.displayedTargetRevenue = computed(() => {
|
|
@@ -57112,7 +56997,7 @@ class InitialTargetSettingComponent {
|
|
|
57112
56997
|
let _t;
|
|
57113
56998
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.absoluteInputRef = _t.first);
|
|
57114
56999
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.percentageInputRef = _t.first);
|
|
57115
|
-
} }, inputs: { viewMode: [1, "viewMode"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], trendUiData: [1, "trendUiData"], shopId: [1, "shopId"], pacingMetrics: [1, "pacingMetrics"], dataResults: [1, "dataResults"], reverseCalculationResponse: [1, "reverseCalculationResponse"], targets: [1, "targets"] }, outputs: { targetsCreated: "targetsCreated", calculateRevenueRequest: "calculateRevenueRequest" }, decls: 43, vars: 37, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [1, "space-y-8", "pb-32"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", 3, "click", "ngClass"], [1, "flex", "items-center", "justify-between", "mb-6"], [1, "text-2xl", "font-bold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "chevron-rotate", 3, "chevron-rotate-expanded", "ngClass"], [1, "flex", "flex-col", "gap-8"], [1, "grid", "lg:grid-cols-2", "gap-8"], [1, "flex", "flex-col", "gap-4"], [1, "p-6", "rounded-xl", "border-2", 3, "click", "ngClass"], [1, "flex", "flex-wrap", "gap-4", "place-content-between"], [1, "flex", "items-center", "gap-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", 3, "ngClass"], [1, "text-lg", "font-bold", 3, "ngClass"], [1, "form-area-collapse"], [1, "form-area-content"], [1, "space-y-6"], [1, "chart-in-column"], [1, "chart-in-column-content"], [1, "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "rounded-xl", "border", "p-4", 3, "ngClass"], [3, "chart", "showAxisLabels", "viewMode", "currencySymbol", "height"], [1, "h-64", "flex", "items-center", "justify-center"], [1, "calculated-card-enter", "order-first", "lg:order-last"], [1, "calculated-card-content"], [1, "p-6", "rounded-xl", "border-2", "h-full", 3, "ngClass"], [1, "flex", "justify-center"], [1, "w-full"], [1, "metrics-section-enter"], [1, "metrics-section-content"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", 3, "ngClass"], [3, "submitClick", "cancelClick", "viewMode", "isValid", "isSubmitting", "validationMessage", "buttonText", "showCancelButton"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "chevron-rotate", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"], [1, "flex", "gap-2"], [1, "flex-1", "py-2", "px-4", "rounded-lg", "text-sm", "font-semibold", "transition-all", 3, "click", "ngClass"], [1, "relative"], [1, "flex", "justify-end"], [1, "absolute", "left-4", "top-1/2", "-translate-y-1/2", "text-xl", "font-bold", 3, "ngClass"], ["type", "number", "placeholder", "0", "min", "0", "step", "1000", 1, "w-full", "pl-10", "pr-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModelChange", "ngModel", "ngClass"], ["type", "number", "placeholder", "0", "min", "0", "max", "1000", "step", "0.1", 1, "w-full", "pr-10", "pl-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModelChange", "ngModel", "ngClass"], [1, "absolute", "right-4", "top-1/2", "-translate-y-1/2", "text-xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", 3, "click", "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "ngClass"], [1, "details-collapse"], [1, "details-collapse-content"], [1, "relative", "pt-6", "mt-6"], [1, "absolute", "top-0", "left-0", "right-0", "flex", "items-center", "-translate-y-1/2"], [1, "flex-1", "h-px", 3, "ngClass"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-4", "pt-2"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "
|
|
57000
|
+
} }, inputs: { viewMode: [1, "viewMode"], funnelMetrics: [1, "funnelMetrics"], mainUiData: [1, "mainUiData"], trendUiData: [1, "trendUiData"], shopId: [1, "shopId"], pacingMetrics: [1, "pacingMetrics"], dataResults: [1, "dataResults"], reverseCalculationResponse: [1, "reverseCalculationResponse"], targets: [1, "targets"] }, outputs: { targetsCreated: "targetsCreated", calculateRevenueRequest: "calculateRevenueRequest" }, decls: 43, vars: 37, consts: [["absoluteInputRef", ""], ["percentageInputRef", ""], [1, "space-y-8", "pb-32"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", 3, "click", "ngClass"], [1, "flex", "items-center", "justify-between", "mb-6"], [1, "text-2xl", "font-bold", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "chevron-rotate", 3, "chevron-rotate-expanded", "ngClass"], [1, "flex", "flex-col", "gap-8"], [1, "grid", "lg:grid-cols-2", "gap-8"], [1, "flex", "flex-col", "gap-4"], [1, "p-6", "rounded-xl", "border-2", 3, "click", "ngClass"], [1, "flex", "flex-wrap", "gap-4", "place-content-between"], [1, "flex", "items-center", "gap-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", 3, "ngClass"], [1, "text-lg", "font-bold", 3, "ngClass"], [1, "form-area-collapse"], [1, "form-area-content"], [1, "space-y-6"], [1, "chart-in-column"], [1, "chart-in-column-content"], [1, "text-sm", "font-semibold", "mb-3", 3, "ngClass"], [1, "rounded-xl", "border", "p-4", 3, "ngClass"], [3, "chart", "showAxisLabels", "viewMode", "currencySymbol", "height"], [1, "h-64", "flex", "items-center", "justify-center"], [1, "calculated-card-enter", "order-first", "lg:order-last"], [1, "calculated-card-content"], [1, "p-6", "rounded-xl", "border-2", "h-full", 3, "ngClass"], [1, "flex", "justify-center"], [1, "w-full"], [1, "metrics-section-enter"], [1, "metrics-section-content"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", 3, "ngClass"], [3, "submitClick", "cancelClick", "viewMode", "isValid", "isSubmitting", "validationMessage", "buttonText", "showCancelButton"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "chevron-rotate", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"], [1, "flex", "gap-2"], [1, "flex-1", "py-2", "px-4", "rounded-lg", "text-sm", "font-semibold", "transition-all", 3, "click", "ngClass"], [1, "relative"], [1, "flex", "justify-end"], [1, "absolute", "left-4", "top-1/2", "-translate-y-1/2", "text-xl", "font-bold", 3, "ngClass"], ["type", "number", "placeholder", "0", "min", "0", "step", "1000", 1, "w-full", "pl-10", "pr-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModelChange", "ngModel", "ngClass"], ["type", "number", "placeholder", "0", "min", "0", "max", "1000", "step", "0.1", 1, "w-full", "pr-10", "pl-4", "py-4", "rounded-xl", "text-2xl", "font-bold", "border-2", "transition-all", 3, "ngModelChange", "ngModel", "ngClass"], [1, "absolute", "right-4", "top-1/2", "-translate-y-1/2", "text-xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", 3, "click", "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "ngClass"], [1, "details-collapse"], [1, "details-collapse-content"], [1, "relative", "pt-6", "mt-6"], [1, "absolute", "top-0", "left-0", "right-0", "flex", "items-center", "-translate-y-1/2"], [1, "flex-1", "h-px", 3, "ngClass"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [1, "grid", "grid-cols-2", "gap-4", "pt-2"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "whitespace-nowrap", 3, "click", "ngClass"], [1, "flex", "items-center", "gap-1", "mb-1"], ["type", "button", "tooltipType", "markdown", "tooltipPosition", "top", 1, "flex-shrink-0", "w-4", "h-4", "rounded-full", "inline-flex", "items-center", "justify-center", "transition-colors", 3, "click", "ngClass", "libSymphiqTooltip"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["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, "text-sm", "font-semibold", "transition-all", "inline-flex", "items-center", "gap-1", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "chevron-rotate"], [1, "mb-6"], [1, "text-2xl", "font-bold", "mb-2", 3, "ngClass"], [3, "viewMode", "calculations", "pacingMetrics"]], template: function InitialTargetSettingComponent_Template(rf, ctx) { if (rf & 1) {
|
|
57116
57001
|
i0.ɵɵelementStart(0, "div", 2);
|
|
57117
57002
|
i0.ɵɵelement(1, "symphiq-tooltip-container");
|
|
57118
57003
|
i0.ɵɵelementStart(2, "div", 3);
|
|
@@ -57148,9 +57033,9 @@ class InitialTargetSettingComponent {
|
|
|
57148
57033
|
i0.ɵɵconditionalCreate(32, InitialTargetSettingComponent_Conditional_32_Template, 1, 5, "symphiq-area-chart", 24)(33, InitialTargetSettingComponent_Conditional_33_Template, 3, 1, "div", 25);
|
|
57149
57034
|
i0.ɵɵelementEnd()()()()();
|
|
57150
57035
|
i0.ɵɵelementStart(34, "div", 26)(35, "div", 27);
|
|
57151
|
-
i0.ɵɵconditionalCreate(36, InitialTargetSettingComponent_Conditional_36_Template,
|
|
57036
|
+
i0.ɵɵconditionalCreate(36, InitialTargetSettingComponent_Conditional_36_Template, 30, 21, "div", 28);
|
|
57152
57037
|
i0.ɵɵelementEnd()()();
|
|
57153
|
-
i0.ɵɵconditionalCreate(37, InitialTargetSettingComponent_Conditional_37_Template,
|
|
57038
|
+
i0.ɵɵconditionalCreate(37, InitialTargetSettingComponent_Conditional_37_Template, 5, 4, "div", 29);
|
|
57154
57039
|
i0.ɵɵconditionalCreate(38, InitialTargetSettingComponent_Conditional_38_Template, 6, 3, "div", 30);
|
|
57155
57040
|
i0.ɵɵelementEnd()();
|
|
57156
57041
|
i0.ɵɵelementStart(39, "div", 31)(40, "div", 32);
|
|
@@ -57202,7 +57087,7 @@ class InitialTargetSettingComponent {
|
|
|
57202
57087
|
i0.ɵɵadvance(2);
|
|
57203
57088
|
i0.ɵɵconditional(ctx.calculatedRevenue() > 0 ? 36 : -1);
|
|
57204
57089
|
i0.ɵɵadvance();
|
|
57205
|
-
i0.ɵɵconditional(ctx.calculationState() === "results"
|
|
57090
|
+
i0.ɵɵconditional(ctx.calculationState() === "results" ? 37 : -1);
|
|
57206
57091
|
i0.ɵɵadvance();
|
|
57207
57092
|
i0.ɵɵconditional(ctx.calculationState() !== "results" ? 38 : -1);
|
|
57208
57093
|
i0.ɵɵadvance();
|
|
@@ -57489,17 +57374,7 @@ class InitialTargetSettingComponent {
|
|
|
57489
57374
|
</div>
|
|
57490
57375
|
}
|
|
57491
57376
|
|
|
57492
|
-
|
|
57493
|
-
<div class="mt-6 flex justify-center">
|
|
57494
|
-
<button
|
|
57495
|
-
(click)="toggleDetails(); $event.stopPropagation()"
|
|
57496
|
-
[ngClass]="learnMoreButtonClasses()"
|
|
57497
|
-
class="text-sm font-semibold transition-all">
|
|
57498
|
-
Show Less
|
|
57499
|
-
</button>
|
|
57500
|
-
</div>
|
|
57501
|
-
}
|
|
57502
|
-
</div>
|
|
57377
|
+
</div>
|
|
57503
57378
|
</div>
|
|
57504
57379
|
</div>
|
|
57505
57380
|
</div>
|
|
@@ -57508,13 +57383,21 @@ class InitialTargetSettingComponent {
|
|
|
57508
57383
|
</div>
|
|
57509
57384
|
</div>
|
|
57510
57385
|
|
|
57511
|
-
@if (calculationState() === 'results'
|
|
57386
|
+
@if (calculationState() === 'results') {
|
|
57512
57387
|
<div class="flex justify-center">
|
|
57513
57388
|
<button
|
|
57514
57389
|
(click)="toggleDetails(); $event.stopPropagation()"
|
|
57515
57390
|
[ngClass]="learnMoreButtonClasses()"
|
|
57516
|
-
class="text-sm font-semibold transition-all">
|
|
57517
|
-
Learn More
|
|
57391
|
+
class="text-sm font-semibold transition-all inline-flex items-center gap-1">
|
|
57392
|
+
{{ detailsExpanded() ? 'Show Less' : 'Learn More' }}
|
|
57393
|
+
<svg
|
|
57394
|
+
class="w-4 h-4 chevron-rotate"
|
|
57395
|
+
[class.chevron-rotate-expanded]="detailsExpanded()"
|
|
57396
|
+
fill="none"
|
|
57397
|
+
stroke="currentColor"
|
|
57398
|
+
viewBox="0 0 24 24">
|
|
57399
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" />
|
|
57400
|
+
</svg>
|
|
57518
57401
|
</button>
|
|
57519
57402
|
</div>
|
|
57520
57403
|
}
|
|
@@ -57588,7 +57471,7 @@ class InitialTargetSettingComponent {
|
|
|
57588
57471
|
type: ViewChild,
|
|
57589
57472
|
args: ['percentageInputRef']
|
|
57590
57473
|
}], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], funnelMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "funnelMetrics", required: false }] }], mainUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainUiData", required: false }] }], trendUiData: [{ type: i0.Input, args: [{ isSignal: true, alias: "trendUiData", required: false }] }], shopId: [{ type: i0.Input, args: [{ isSignal: true, alias: "shopId", required: false }] }], pacingMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingMetrics", required: false }] }], dataResults: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataResults", required: false }] }], reverseCalculationResponse: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseCalculationResponse", required: false }] }], targets: [{ type: i0.Input, args: [{ isSignal: true, alias: "targets", required: false }] }], targetsCreated: [{ type: i0.Output, args: ["targetsCreated"] }], calculateRevenueRequest: [{ type: i0.Output, args: ["calculateRevenueRequest"] }] }); })();
|
|
57591
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber:
|
|
57474
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(InitialTargetSettingComponent, { className: "InitialTargetSettingComponent", filePath: "lib/components/revenue-calculator-dashboard/initial-target-setting.component.ts", lineNumber: 499 }); })();
|
|
57592
57475
|
|
|
57593
57476
|
function IndeterminateSpinnerComponent_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
57594
57477
|
i0.ɵɵelement(0, "div", 5);
|