@eric-emg/symphiq-components 1.2.235 → 1.2.237
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 +197 -93
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +10 -10
- package/package.json +1 -1
- package/styles.css +21 -0
|
@@ -2562,14 +2562,27 @@ function isCurrentYearTarget(target) {
|
|
|
2562
2562
|
return (targetStart.getTime() === currentYearStart.getTime() &&
|
|
2563
2563
|
targetEnd.getTime() === currentYearEnd.getTime());
|
|
2564
2564
|
}
|
|
2565
|
+
function getMinFractionDigitsForSignificantFigures(value, minSigFigs) {
|
|
2566
|
+
if (value === 0)
|
|
2567
|
+
return 0;
|
|
2568
|
+
const absValue = Math.abs(value);
|
|
2569
|
+
if (absValue >= 1) {
|
|
2570
|
+
return 2;
|
|
2571
|
+
}
|
|
2572
|
+
const magnitude = Math.floor(Math.log10(absValue));
|
|
2573
|
+
return Math.max(0, -magnitude + minSigFigs - 1);
|
|
2574
|
+
}
|
|
2565
2575
|
function formatCurrency(value, currencySymbol = '$') {
|
|
2576
|
+
const fractionDigits = getMinFractionDigitsForSignificantFigures(value, 2);
|
|
2566
2577
|
return `${currencySymbol}${value.toLocaleString('en-US', {
|
|
2567
|
-
minimumFractionDigits:
|
|
2568
|
-
maximumFractionDigits:
|
|
2578
|
+
minimumFractionDigits: fractionDigits,
|
|
2579
|
+
maximumFractionDigits: fractionDigits
|
|
2569
2580
|
})}`;
|
|
2570
2581
|
}
|
|
2571
2582
|
function formatPercentage(value, decimals = 1) {
|
|
2572
|
-
|
|
2583
|
+
const minDecimals = getMinFractionDigitsForSignificantFigures(value, 2);
|
|
2584
|
+
const finalDecimals = Math.max(decimals, minDecimals);
|
|
2585
|
+
return `${value.toFixed(finalDecimals)}%`;
|
|
2573
2586
|
}
|
|
2574
2587
|
function formatNumber(value) {
|
|
2575
2588
|
return value.toLocaleString('en-US', {
|
|
@@ -55112,13 +55125,13 @@ const _forTrack1$3 = ($index, $item) => $item.calc.metric;
|
|
|
55112
55125
|
function FunnelMetricsVisualizationComponent_For_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
55113
55126
|
i0.ɵɵelementStart(0, "button", 7);
|
|
55114
55127
|
i0.ɵɵnamespaceSVG();
|
|
55115
|
-
i0.ɵɵelementStart(1, "svg",
|
|
55116
|
-
i0.ɵɵelement(2, "path",
|
|
55128
|
+
i0.ɵɵelementStart(1, "svg", 15);
|
|
55129
|
+
i0.ɵɵelement(2, "path", 19);
|
|
55117
55130
|
i0.ɵɵelementEnd()();
|
|
55118
55131
|
} if (rf & 2) {
|
|
55119
|
-
const
|
|
55120
|
-
const
|
|
55121
|
-
i0.ɵɵproperty("ngClass",
|
|
55132
|
+
const stage_r2 = i0.ɵɵnextContext().$implicit;
|
|
55133
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
55134
|
+
i0.ɵɵproperty("ngClass", ctx_r2.infoIconClasses())("libSymphiqTooltip", ctx_r2.getMarkdownTooltipContent(stage_r2.stageMetric.description, ctx_r2.getMetricTitle(stage_r2.stageMetric)));
|
|
55122
55135
|
} }
|
|
55123
55136
|
function FunnelMetricsVisualizationComponent_For_4_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
55124
55137
|
i0.ɵɵelementStart(0, "div")(1, "p", 9);
|
|
@@ -55127,127 +55140,145 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_19_Template(rf, c
|
|
|
55127
55140
|
i0.ɵɵelementStart(3, "p", 11);
|
|
55128
55141
|
i0.ɵɵtext(4);
|
|
55129
55142
|
i0.ɵɵelementEnd();
|
|
55130
|
-
i0.ɵɵelement(5, "symphiq-pacing-status-badge",
|
|
55143
|
+
i0.ɵɵelement(5, "symphiq-pacing-status-badge", 20);
|
|
55131
55144
|
i0.ɵɵelementEnd();
|
|
55132
55145
|
} if (rf & 2) {
|
|
55133
|
-
const
|
|
55134
|
-
const
|
|
55146
|
+
const stage_r2 = i0.ɵɵnextContext().$implicit;
|
|
55147
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
55135
55148
|
i0.ɵɵadvance();
|
|
55136
|
-
i0.ɵɵproperty("ngClass",
|
|
55149
|
+
i0.ɵɵproperty("ngClass", ctx_r2.labelClasses());
|
|
55137
55150
|
i0.ɵɵadvance();
|
|
55138
|
-
i0.ɵɵtextInterpolate1(" Pace for ",
|
|
55151
|
+
i0.ɵɵtextInterpolate1(" Pace for ", ctx_r2.currentYear(), " ");
|
|
55139
55152
|
i0.ɵɵadvance();
|
|
55140
|
-
i0.ɵɵproperty("ngClass",
|
|
55153
|
+
i0.ɵɵproperty("ngClass", ctx_r2.projectedValueClasses());
|
|
55141
55154
|
i0.ɵɵadvance();
|
|
55142
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
55155
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.formatMetricValue(stage_r2.pacingInfo.projectedValue, stage_r2.stageMetric.metric, false), " ");
|
|
55143
55156
|
i0.ɵɵadvance();
|
|
55144
|
-
i0.ɵɵproperty("viewMode",
|
|
55157
|
+
i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("pacingPercentage", stage_r2.pacingInfo.pacingPercentage)("status", stage_r2.pacingInfo.status)("showAsFullText", true)("showEmphasizedPercentage", true);
|
|
55145
55158
|
} }
|
|
55146
|
-
function
|
|
55147
|
-
i0.ɵɵelementStart(0, "button",
|
|
55159
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
55160
|
+
i0.ɵɵelementStart(0, "button", 28);
|
|
55148
55161
|
i0.ɵɵnamespaceSVG();
|
|
55149
|
-
i0.ɵɵelementStart(1, "svg",
|
|
55150
|
-
i0.ɵɵelement(2, "path",
|
|
55162
|
+
i0.ɵɵelementStart(1, "svg", 36);
|
|
55163
|
+
i0.ɵɵelement(2, "path", 19);
|
|
55151
55164
|
i0.ɵɵelementEnd()();
|
|
55152
55165
|
} if (rf & 2) {
|
|
55153
|
-
const
|
|
55154
|
-
const
|
|
55155
|
-
i0.ɵɵproperty("ngClass",
|
|
55166
|
+
const metric_r5 = i0.ɵɵnextContext().$implicit;
|
|
55167
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
55168
|
+
i0.ɵɵproperty("ngClass", ctx_r2.infoIconClasses())("libSymphiqTooltip", ctx_r2.getMarkdownTooltipContent(metric_r5.calc.description, ctx_r2.getMetricTitle(metric_r5.calc)));
|
|
55156
55169
|
} }
|
|
55157
|
-
function
|
|
55158
|
-
i0.ɵɵelementStart(0, "div")(1, "p",
|
|
55170
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
55171
|
+
i0.ɵɵelementStart(0, "div")(1, "p", 30);
|
|
55159
55172
|
i0.ɵɵtext(2);
|
|
55160
55173
|
i0.ɵɵelementEnd();
|
|
55161
|
-
i0.ɵɵelementStart(3, "p",
|
|
55174
|
+
i0.ɵɵelementStart(3, "p", 32);
|
|
55162
55175
|
i0.ɵɵtext(4);
|
|
55163
55176
|
i0.ɵɵelementEnd();
|
|
55164
|
-
i0.ɵɵelement(5, "symphiq-pacing-status-badge",
|
|
55177
|
+
i0.ɵɵelement(5, "symphiq-pacing-status-badge", 37);
|
|
55165
55178
|
i0.ɵɵelementEnd();
|
|
55166
55179
|
} if (rf & 2) {
|
|
55167
|
-
const
|
|
55168
|
-
const
|
|
55180
|
+
const metric_r5 = i0.ɵɵnextContext().$implicit;
|
|
55181
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
55169
55182
|
i0.ɵɵadvance();
|
|
55170
|
-
i0.ɵɵproperty("ngClass",
|
|
55183
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedLabelClasses());
|
|
55171
55184
|
i0.ɵɵadvance();
|
|
55172
|
-
i0.ɵɵtextInterpolate1(" Pace for ",
|
|
55185
|
+
i0.ɵɵtextInterpolate1(" Pace for ", ctx_r2.currentYear(), " ");
|
|
55173
55186
|
i0.ɵɵadvance();
|
|
55174
|
-
i0.ɵɵproperty("ngClass",
|
|
55187
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedProjectedValueClasses());
|
|
55175
55188
|
i0.ɵɵadvance();
|
|
55176
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
55189
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.formatMetricValue(metric_r5.pacingInfo.projectedValue, metric_r5.calc.metric, false), " ");
|
|
55177
55190
|
i0.ɵɵadvance();
|
|
55178
|
-
i0.ɵɵproperty("viewMode",
|
|
55191
|
+
i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("pacingPercentage", metric_r5.pacingInfo.pacingPercentage)("status", metric_r5.pacingInfo.status)("showAsFullText", true)("isCompact", true)("showEmphasizedPercentage", true);
|
|
55179
55192
|
} }
|
|
55180
|
-
function
|
|
55181
|
-
|
|
55193
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
55194
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
55195
|
+
i0.ɵɵelementStart(0, "div", 25)(1, "div", 26)(2, "p", 27);
|
|
55182
55196
|
i0.ɵɵtext(3);
|
|
55183
55197
|
i0.ɵɵelementEnd();
|
|
55184
|
-
i0.ɵɵconditionalCreate(4,
|
|
55198
|
+
i0.ɵɵconditionalCreate(4, FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_4_Template, 3, 2, "button", 28);
|
|
55185
55199
|
i0.ɵɵelementEnd();
|
|
55186
|
-
i0.ɵɵelementStart(5, "div",
|
|
55200
|
+
i0.ɵɵelementStart(5, "div", 29)(6, "div")(7, "p", 30);
|
|
55187
55201
|
i0.ɵɵtext(8);
|
|
55188
55202
|
i0.ɵɵelementEnd();
|
|
55189
|
-
i0.ɵɵelementStart(9, "p",
|
|
55203
|
+
i0.ɵɵelementStart(9, "p", 31);
|
|
55190
55204
|
i0.ɵɵtext(10);
|
|
55191
55205
|
i0.ɵɵelementEnd()();
|
|
55192
|
-
i0.ɵɵelementStart(11, "div")(12, "p",
|
|
55206
|
+
i0.ɵɵelementStart(11, "div")(12, "p", 30);
|
|
55193
55207
|
i0.ɵɵtext(13);
|
|
55194
55208
|
i0.ɵɵelementEnd();
|
|
55195
|
-
i0.ɵɵelementStart(14, "p",
|
|
55209
|
+
i0.ɵɵelementStart(14, "p", 32);
|
|
55196
55210
|
i0.ɵɵtext(15);
|
|
55197
55211
|
i0.ɵɵelementEnd();
|
|
55198
|
-
i0.ɵɵelement(16, "symphiq-target-change-badge",
|
|
55212
|
+
i0.ɵɵelement(16, "symphiq-target-change-badge", 33);
|
|
55199
55213
|
i0.ɵɵelementEnd();
|
|
55200
|
-
i0.ɵɵconditionalCreate(17,
|
|
55201
|
-
i0.ɵɵelementEnd()
|
|
55214
|
+
i0.ɵɵconditionalCreate(17, FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Conditional_17_Template, 6, 10, "div");
|
|
55215
|
+
i0.ɵɵelementEnd();
|
|
55216
|
+
i0.ɵɵelementStart(18, "div", 34)(19, "button", 35);
|
|
55217
|
+
i0.ɵɵlistener("click", function FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Template_button_click_19_listener() { const metric_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onViewRelatedMetricReport(metric_r5.calc.metric)); });
|
|
55218
|
+
i0.ɵɵnamespaceSVG();
|
|
55219
|
+
i0.ɵɵelementStart(20, "svg", 15);
|
|
55220
|
+
i0.ɵɵelement(21, "path", 16);
|
|
55221
|
+
i0.ɵɵelementEnd();
|
|
55222
|
+
i0.ɵɵnamespaceHTML();
|
|
55223
|
+
i0.ɵɵelementStart(22, "span", 17);
|
|
55224
|
+
i0.ɵɵtext(23, "View Report");
|
|
55225
|
+
i0.ɵɵelementEnd();
|
|
55226
|
+
i0.ɵɵelementStart(24, "span", 18);
|
|
55227
|
+
i0.ɵɵtext(25, "Report");
|
|
55228
|
+
i0.ɵɵelementEnd()()()();
|
|
55202
55229
|
} if (rf & 2) {
|
|
55203
|
-
const
|
|
55204
|
-
const
|
|
55205
|
-
i0.ɵɵproperty("ngClass",
|
|
55230
|
+
const metric_r5 = ctx.$implicit;
|
|
55231
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
55232
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedMetricCardClasses());
|
|
55206
55233
|
i0.ɵɵadvance(2);
|
|
55207
|
-
i0.ɵɵproperty("ngClass",
|
|
55234
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedMetricNameClasses());
|
|
55208
55235
|
i0.ɵɵadvance();
|
|
55209
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
55236
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.getMetricTitle(metric_r5.calc), " ");
|
|
55210
55237
|
i0.ɵɵadvance();
|
|
55211
|
-
i0.ɵɵconditional(
|
|
55238
|
+
i0.ɵɵconditional(metric_r5.calc.description ? 4 : -1);
|
|
55212
55239
|
i0.ɵɵadvance(3);
|
|
55213
|
-
i0.ɵɵproperty("ngClass",
|
|
55240
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedLabelClasses());
|
|
55214
55241
|
i0.ɵɵadvance();
|
|
55215
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
55242
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.priorYear(), " Actual ");
|
|
55216
55243
|
i0.ɵɵadvance();
|
|
55217
|
-
i0.ɵɵproperty("ngClass",
|
|
55244
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedValueClasses());
|
|
55218
55245
|
i0.ɵɵadvance();
|
|
55219
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
55246
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.formatMetricValue(metric_r5.calc.currentValue, metric_r5.calc.metric), " ");
|
|
55220
55247
|
i0.ɵɵadvance(2);
|
|
55221
|
-
i0.ɵɵproperty("ngClass",
|
|
55248
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedLabelClasses());
|
|
55249
|
+
i0.ɵɵadvance();
|
|
55250
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.currentYear(), " Target ");
|
|
55222
55251
|
i0.ɵɵadvance();
|
|
55223
|
-
i0.ɵɵ
|
|
55252
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedTargetValueClasses());
|
|
55224
55253
|
i0.ɵɵadvance();
|
|
55225
|
-
i0.ɵɵ
|
|
55254
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.formatMetricValue(metric_r5.calc.targetValue, metric_r5.calc.metric, false), " ");
|
|
55226
55255
|
i0.ɵɵadvance();
|
|
55227
|
-
i0.ɵɵ
|
|
55256
|
+
i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("percentageChange", metric_r5.calc.percentageIncrease)("metric", metric_r5.calc.metric)("priorYear", ctx_r2.priorYear())("isCompact", true);
|
|
55228
55257
|
i0.ɵɵadvance();
|
|
55229
|
-
i0.ɵɵ
|
|
55258
|
+
i0.ɵɵconditional(metric_r5.pacingInfo ? 17 : -1);
|
|
55230
55259
|
i0.ɵɵadvance();
|
|
55231
|
-
i0.ɵɵ
|
|
55260
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedActionBarClasses());
|
|
55261
|
+
i0.ɵɵadvance();
|
|
55262
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedActionButtonClasses());
|
|
55232
55263
|
} }
|
|
55233
|
-
function
|
|
55234
|
-
i0.ɵɵelement(0, "div",
|
|
55235
|
-
i0.ɵɵelementStart(1, "div",
|
|
55264
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
55265
|
+
i0.ɵɵelement(0, "div", 21);
|
|
55266
|
+
i0.ɵɵelementStart(1, "div", 22)(2, "p", 23);
|
|
55236
55267
|
i0.ɵɵtext(3, " Related Metrics ");
|
|
55237
55268
|
i0.ɵɵelementEnd();
|
|
55238
|
-
i0.ɵɵelementStart(4, "div",
|
|
55239
|
-
i0.ɵɵrepeaterCreate(5,
|
|
55269
|
+
i0.ɵɵelementStart(4, "div", 24);
|
|
55270
|
+
i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_28_For_6_Template, 26, 20, "div", 25, _forTrack1$3);
|
|
55240
55271
|
i0.ɵɵelementEnd()();
|
|
55241
55272
|
} if (rf & 2) {
|
|
55242
|
-
const
|
|
55243
|
-
const
|
|
55244
|
-
i0.ɵɵproperty("ngClass", ctx_r1.dividerClasses());
|
|
55273
|
+
const stage_r2 = i0.ɵɵnextContext().$implicit;
|
|
55274
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
55245
55275
|
i0.ɵɵadvance(2);
|
|
55246
|
-
i0.ɵɵproperty("ngClass",
|
|
55276
|
+
i0.ɵɵproperty("ngClass", ctx_r2.relatedTitleClasses());
|
|
55247
55277
|
i0.ɵɵadvance(3);
|
|
55248
|
-
i0.ɵɵrepeater(
|
|
55278
|
+
i0.ɵɵrepeater(stage_r2.relatedMetrics);
|
|
55249
55279
|
} }
|
|
55250
55280
|
function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
55281
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
55251
55282
|
i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "div", 5)(4, "h3", 6);
|
|
55252
55283
|
i0.ɵɵtext(5);
|
|
55253
55284
|
i0.ɵɵelementEnd();
|
|
@@ -55269,46 +55300,65 @@ function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf &
|
|
|
55269
55300
|
i0.ɵɵelementEnd();
|
|
55270
55301
|
i0.ɵɵconditionalCreate(19, FunnelMetricsVisualizationComponent_For_4_Conditional_19_Template, 6, 9, "div");
|
|
55271
55302
|
i0.ɵɵelementEnd();
|
|
55272
|
-
i0.ɵɵ
|
|
55303
|
+
i0.ɵɵelementStart(20, "div", 13)(21, "button", 14);
|
|
55304
|
+
i0.ɵɵlistener("click", function FunnelMetricsVisualizationComponent_For_4_Template_button_click_21_listener() { const stage_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onViewStageReport(stage_r2.stageMetric.metric)); });
|
|
55305
|
+
i0.ɵɵnamespaceSVG();
|
|
55306
|
+
i0.ɵɵelementStart(22, "svg", 15);
|
|
55307
|
+
i0.ɵɵelement(23, "path", 16);
|
|
55308
|
+
i0.ɵɵelementEnd();
|
|
55309
|
+
i0.ɵɵnamespaceHTML();
|
|
55310
|
+
i0.ɵɵelementStart(24, "span", 17);
|
|
55311
|
+
i0.ɵɵtext(25, "View Report");
|
|
55312
|
+
i0.ɵɵelementEnd();
|
|
55313
|
+
i0.ɵɵelementStart(26, "span", 18);
|
|
55314
|
+
i0.ɵɵtext(27, "Report");
|
|
55315
|
+
i0.ɵɵelementEnd()()();
|
|
55316
|
+
i0.ɵɵconditionalCreate(28, FunnelMetricsVisualizationComponent_For_4_Conditional_28_Template, 7, 1);
|
|
55273
55317
|
i0.ɵɵelementEnd();
|
|
55274
55318
|
} if (rf & 2) {
|
|
55275
|
-
const
|
|
55276
|
-
const
|
|
55277
|
-
i0.ɵɵproperty("ngClass",
|
|
55319
|
+
const stage_r2 = ctx.$implicit;
|
|
55320
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
55321
|
+
i0.ɵɵproperty("ngClass", ctx_r2.stageCardClasses());
|
|
55278
55322
|
i0.ɵɵadvance(4);
|
|
55279
|
-
i0.ɵɵproperty("ngClass",
|
|
55323
|
+
i0.ɵɵproperty("ngClass", ctx_r2.stageTitleClasses());
|
|
55280
55324
|
i0.ɵɵadvance();
|
|
55281
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
55325
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.getMetricTitle(stage_r2.stageMetric), " ");
|
|
55282
55326
|
i0.ɵɵadvance();
|
|
55283
|
-
i0.ɵɵconditional(
|
|
55327
|
+
i0.ɵɵconditional(stage_r2.stageMetric.description ? 6 : -1);
|
|
55284
55328
|
i0.ɵɵadvance(3);
|
|
55285
|
-
i0.ɵɵproperty("ngClass",
|
|
55329
|
+
i0.ɵɵproperty("ngClass", ctx_r2.labelClasses());
|
|
55286
55330
|
i0.ɵɵadvance();
|
|
55287
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
55331
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.priorYear(), " Actual ");
|
|
55288
55332
|
i0.ɵɵadvance();
|
|
55289
|
-
i0.ɵɵproperty("ngClass",
|
|
55333
|
+
i0.ɵɵproperty("ngClass", ctx_r2.valueClasses());
|
|
55290
55334
|
i0.ɵɵadvance();
|
|
55291
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
55335
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.formatMetricValue(stage_r2.stageMetric.currentValue, stage_r2.stageMetric.metric), " ");
|
|
55292
55336
|
i0.ɵɵadvance(2);
|
|
55293
|
-
i0.ɵɵproperty("ngClass",
|
|
55337
|
+
i0.ɵɵproperty("ngClass", ctx_r2.labelClasses());
|
|
55294
55338
|
i0.ɵɵadvance();
|
|
55295
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
55339
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.currentYear(), " Target ");
|
|
55296
55340
|
i0.ɵɵadvance();
|
|
55297
|
-
i0.ɵɵproperty("ngClass",
|
|
55341
|
+
i0.ɵɵproperty("ngClass", ctx_r2.targetValueClasses());
|
|
55298
55342
|
i0.ɵɵadvance();
|
|
55299
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
55343
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.formatMetricValue(stage_r2.stageMetric.targetValue, stage_r2.stageMetric.metric, false), " ");
|
|
55300
55344
|
i0.ɵɵadvance();
|
|
55301
|
-
i0.ɵɵproperty("viewMode",
|
|
55345
|
+
i0.ɵɵproperty("viewMode", ctx_r2.viewMode())("percentageChange", stage_r2.stageMetric.percentageIncrease)("metric", stage_r2.stageMetric.metric)("priorYear", ctx_r2.priorYear());
|
|
55302
55346
|
i0.ɵɵadvance();
|
|
55303
|
-
i0.ɵɵconditional(
|
|
55347
|
+
i0.ɵɵconditional(stage_r2.pacingInfo ? 19 : -1);
|
|
55304
55348
|
i0.ɵɵadvance();
|
|
55305
|
-
i0.ɵɵ
|
|
55349
|
+
i0.ɵɵproperty("ngClass", ctx_r2.stageActionBarClasses());
|
|
55350
|
+
i0.ɵɵadvance();
|
|
55351
|
+
i0.ɵɵproperty("ngClass", ctx_r2.actionButtonClasses());
|
|
55352
|
+
i0.ɵɵadvance(7);
|
|
55353
|
+
i0.ɵɵconditional(stage_r2.relatedMetrics.length > 0 ? 28 : -1);
|
|
55306
55354
|
} }
|
|
55307
55355
|
class FunnelMetricsVisualizationComponent {
|
|
55308
55356
|
constructor() {
|
|
55309
55357
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
55310
55358
|
this.calculations = input([], ...(ngDevMode ? [{ debugName: "calculations" }] : []));
|
|
55311
55359
|
this.pacingMetrics = input(undefined, ...(ngDevMode ? [{ debugName: "pacingMetrics" }] : []));
|
|
55360
|
+
this.viewStageReport = output();
|
|
55361
|
+
this.viewRelatedMetricReport = output();
|
|
55312
55362
|
this.Math = Math;
|
|
55313
55363
|
this.currentYear = computed(() => new Date().getFullYear(), ...(ngDevMode ? [{ debugName: "currentYear" }] : []));
|
|
55314
55364
|
this.priorYear = computed(() => new Date().getFullYear() - 1, ...(ngDevMode ? [{ debugName: "priorYear" }] : []));
|
|
@@ -55450,12 +55500,38 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55450
55500
|
getMarkdownTooltipContent(markdown, title) {
|
|
55451
55501
|
return { title, markdown };
|
|
55452
55502
|
}
|
|
55503
|
+
stageActionBarClasses() {
|
|
55504
|
+
return this.viewMode() === ViewModeEnum.DARK
|
|
55505
|
+
? 'border-purple-500/20'
|
|
55506
|
+
: 'border-purple-200/50';
|
|
55507
|
+
}
|
|
55508
|
+
actionButtonClasses() {
|
|
55509
|
+
return this.viewMode() === ViewModeEnum.DARK
|
|
55510
|
+
? 'bg-purple-500/20 text-purple-300 hover:bg-purple-500/30 hover:text-purple-200 border border-purple-400/30 hover:border-purple-400/50'
|
|
55511
|
+
: 'bg-purple-50 text-purple-700 hover:bg-purple-100 hover:text-purple-800 border border-purple-200 hover:border-purple-300';
|
|
55512
|
+
}
|
|
55513
|
+
relatedActionBarClasses() {
|
|
55514
|
+
return this.viewMode() === ViewModeEnum.DARK
|
|
55515
|
+
? 'border-slate-700/50'
|
|
55516
|
+
: 'border-slate-200';
|
|
55517
|
+
}
|
|
55518
|
+
relatedActionButtonClasses() {
|
|
55519
|
+
return this.viewMode() === ViewModeEnum.DARK
|
|
55520
|
+
? 'bg-slate-700/50 text-slate-300 hover:bg-slate-600/50 hover:text-slate-200 border border-slate-600/50 hover:border-slate-500/50'
|
|
55521
|
+
: 'bg-slate-50 text-slate-700 hover:bg-slate-100 hover:text-slate-800 border border-slate-200 hover:border-slate-300';
|
|
55522
|
+
}
|
|
55523
|
+
onViewStageReport(metric) {
|
|
55524
|
+
this.viewStageReport.emit(metric);
|
|
55525
|
+
}
|
|
55526
|
+
onViewRelatedMetricReport(metric) {
|
|
55527
|
+
this.viewRelatedMetricReport.emit(metric);
|
|
55528
|
+
}
|
|
55453
55529
|
static { this.ɵfac = function FunnelMetricsVisualizationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FunnelMetricsVisualizationComponent)(); }; }
|
|
55454
|
-
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-8"], [1, "rounded-xl", "p-6", "border-2", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "flex-1"], [1, "flex", "items-center", "gap-2", "mb-1"], [1, "text-lg", "sm:text-xl", "font-bold", "leading-tight", "m-0", 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, "grid", "grid-cols-1", "sm:grid-cols-2", "lg:grid-cols-3", "gap-6", "mb-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-2", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [3, "viewMode", "percentageChange", "metric", "priorYear"], ["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"], [3, "viewMode", "pacingPercentage", "status", "showAsFullText", "showEmphasizedPercentage"], [1, "my-4"
|
|
55530
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelMetricsVisualizationComponent, selectors: [["symphiq-funnel-metrics-visualization"]], inputs: { viewMode: [1, "viewMode"], calculations: [1, "calculations"], pacingMetrics: [1, "pacingMetrics"] }, outputs: { viewStageReport: "viewStageReport", viewRelatedMetricReport: "viewRelatedMetricReport" }, decls: 5, vars: 0, consts: [[1, "space-y-6"], [1, "space-y-8"], [1, "rounded-xl", "p-6", "border-2", "transition-all", "duration-200", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "mb-6"], [1, "flex-1"], [1, "flex", "items-center", "gap-2", "mb-1"], [1, "text-lg", "sm:text-xl", "font-bold", "leading-tight", "m-0", 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, "grid", "grid-cols-1", "sm:grid-cols-2", "lg:grid-cols-3", "gap-6", "mb-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-2", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [3, "viewMode", "percentageChange", "metric", "priorYear"], [1, "mt-4", "pt-6", "border-t", "flex", "justify-start", 3, "ngClass"], ["type", "button", 1, "inline-flex", "items-center", "gap-2", "px-4", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "click", "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", "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "hidden", "sm:inline"], [1, "sm:hidden"], ["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"], [3, "viewMode", "pacingPercentage", "status", "showAsFullText", "showEmphasizedPercentage"], [1, "my-4"], [1, "space-y-3"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-3", 3, "ngClass"], [1, "grid", "gap-3"], [1, "p-4", "rounded-lg", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mb-4"], [1, "text-sm", "sm:text-base", "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, "grid", "grid-cols-1", "sm:grid-cols-2", "lg:grid-cols-3", "gap-4"], [1, "text-xs", "font-medium", "uppercase", "tracking-wider", "mb-1.5", 3, "ngClass"], [1, "text-lg", "font-bold", 3, "ngClass"], [1, "text-lg", "font-bold", "mb-2", 3, "ngClass"], [3, "viewMode", "percentageChange", "metric", "priorYear", "isCompact"], [1, "mt-3", "pt-6", "border-t", "flex", "justify-start", 3, "ngClass"], ["type", "button", 1, "inline-flex", "items-center", "gap-2", "px-3", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"], [3, "viewMode", "pacingPercentage", "status", "showAsFullText", "isCompact", "showEmphasizedPercentage"]], template: function FunnelMetricsVisualizationComponent_Template(rf, ctx) { if (rf & 1) {
|
|
55455
55531
|
i0.ɵɵelementStart(0, "div", 0);
|
|
55456
55532
|
i0.ɵɵelement(1, "symphiq-tooltip-container");
|
|
55457
55533
|
i0.ɵɵelementStart(2, "div", 1);
|
|
55458
|
-
i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template,
|
|
55534
|
+
i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 29, 20, "div", 2, _forTrack0$i);
|
|
55459
55535
|
i0.ɵɵelementEnd()();
|
|
55460
55536
|
} if (rf & 2) {
|
|
55461
55537
|
i0.ɵɵadvance(3);
|
|
@@ -55540,8 +55616,22 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55540
55616
|
}
|
|
55541
55617
|
</div>
|
|
55542
55618
|
|
|
55619
|
+
<div [ngClass]="stageActionBarClasses()" class="mt-4 pt-6 border-t flex justify-start">
|
|
55620
|
+
<button
|
|
55621
|
+
type="button"
|
|
55622
|
+
(click)="onViewStageReport(stage.stageMetric.metric)"
|
|
55623
|
+
[ngClass]="actionButtonClasses()"
|
|
55624
|
+
class="inline-flex items-center gap-2 px-4 py-2.5 rounded-lg font-medium text-sm transition-all duration-200">
|
|
55625
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55626
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
|
|
55627
|
+
</svg>
|
|
55628
|
+
<span class="hidden sm:inline">View Report</span>
|
|
55629
|
+
<span class="sm:hidden">Report</span>
|
|
55630
|
+
</button>
|
|
55631
|
+
</div>
|
|
55632
|
+
|
|
55543
55633
|
@if (stage.relatedMetrics.length > 0) {
|
|
55544
|
-
<div
|
|
55634
|
+
<div class="my-4"></div>
|
|
55545
55635
|
|
|
55546
55636
|
<div class="space-y-3">
|
|
55547
55637
|
<p [ngClass]="relatedTitleClasses()" class="text-xs font-semibold uppercase tracking-wider mb-3">
|
|
@@ -55611,6 +55701,20 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55611
55701
|
</div>
|
|
55612
55702
|
}
|
|
55613
55703
|
</div>
|
|
55704
|
+
|
|
55705
|
+
<div [ngClass]="relatedActionBarClasses()" class="mt-3 pt-6 border-t flex justify-start">
|
|
55706
|
+
<button
|
|
55707
|
+
type="button"
|
|
55708
|
+
(click)="onViewRelatedMetricReport(metric.calc.metric)"
|
|
55709
|
+
[ngClass]="relatedActionButtonClasses()"
|
|
55710
|
+
class="inline-flex items-center gap-2 px-3 py-2 rounded-lg font-medium text-sm transition-all duration-200">
|
|
55711
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55712
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
|
|
55713
|
+
</svg>
|
|
55714
|
+
<span class="hidden sm:inline">View Report</span>
|
|
55715
|
+
<span class="sm:hidden">Report</span>
|
|
55716
|
+
</button>
|
|
55717
|
+
</div>
|
|
55614
55718
|
</div>
|
|
55615
55719
|
}
|
|
55616
55720
|
</div>
|
|
@@ -55622,8 +55726,8 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55622
55726
|
</div>
|
|
55623
55727
|
`
|
|
55624
55728
|
}]
|
|
55625
|
-
}], 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 }] }] }); })();
|
|
55626
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber:
|
|
55729
|
+
}], 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 }] }], viewStageReport: [{ type: i0.Output, args: ["viewStageReport"] }], viewRelatedMetricReport: [{ type: i0.Output, args: ["viewRelatedMetricReport"] }] }); })();
|
|
55730
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 198 }); })();
|
|
55627
55731
|
|
|
55628
55732
|
function StickySubmitBarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
55629
55733
|
i0.ɵɵelementStart(0, "div", 4);
|