@eric-emg/symphiq-components 1.2.227 → 1.2.229
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 +199 -76
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +7 -7
- package/package.json +1 -1
- package/styles.css +16 -0
|
@@ -54794,6 +54794,52 @@ function extractProjectedValue(pacingResponse, metricEnum) {
|
|
|
54794
54794
|
return projectedValue;
|
|
54795
54795
|
}
|
|
54796
54796
|
|
|
54797
|
+
function PacingStatusBadgeComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
54798
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 2);
|
|
54799
|
+
i0.ɵɵtext(2);
|
|
54800
|
+
i0.ɵɵelementEnd();
|
|
54801
|
+
i0.ɵɵelementStart(3, "div", 3)(4, "span", 3);
|
|
54802
|
+
i0.ɵɵtext(5);
|
|
54803
|
+
i0.ɵɵelementEnd();
|
|
54804
|
+
i0.ɵɵelementStart(6, "span");
|
|
54805
|
+
i0.ɵɵtext(7);
|
|
54806
|
+
i0.ɵɵelementEnd()()();
|
|
54807
|
+
} if (rf & 2) {
|
|
54808
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
54809
|
+
i0.ɵɵadvance();
|
|
54810
|
+
i0.ɵɵproperty("ngClass", ctx_r0.overlayBadgeClasses());
|
|
54811
|
+
i0.ɵɵadvance();
|
|
54812
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.extractPercentage(), " ");
|
|
54813
|
+
i0.ɵɵadvance();
|
|
54814
|
+
i0.ɵɵclassMap(ctx_r0.sizeClasses());
|
|
54815
|
+
i0.ɵɵproperty("ngClass", ctx_r0.badgeClasses());
|
|
54816
|
+
i0.ɵɵadvance();
|
|
54817
|
+
i0.ɵɵclassMap(ctx_r0.iconSizeClasses());
|
|
54818
|
+
i0.ɵɵproperty("ngClass", ctx_r0.iconClasses());
|
|
54819
|
+
i0.ɵɵadvance();
|
|
54820
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.iconSymbol(), " ");
|
|
54821
|
+
i0.ɵɵadvance(2);
|
|
54822
|
+
i0.ɵɵtextInterpolate(ctx_r0.displayTextWithoutPercentage());
|
|
54823
|
+
} }
|
|
54824
|
+
function PacingStatusBadgeComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
54825
|
+
i0.ɵɵelementStart(0, "div", 3)(1, "span", 3);
|
|
54826
|
+
i0.ɵɵtext(2);
|
|
54827
|
+
i0.ɵɵelementEnd();
|
|
54828
|
+
i0.ɵɵelementStart(3, "span");
|
|
54829
|
+
i0.ɵɵtext(4);
|
|
54830
|
+
i0.ɵɵelementEnd()();
|
|
54831
|
+
} if (rf & 2) {
|
|
54832
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
54833
|
+
i0.ɵɵclassMap(ctx_r0.sizeClasses());
|
|
54834
|
+
i0.ɵɵproperty("ngClass", ctx_r0.badgeClasses());
|
|
54835
|
+
i0.ɵɵadvance();
|
|
54836
|
+
i0.ɵɵclassMap(ctx_r0.iconSizeClasses());
|
|
54837
|
+
i0.ɵɵproperty("ngClass", ctx_r0.iconClasses());
|
|
54838
|
+
i0.ɵɵadvance();
|
|
54839
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.iconSymbol(), " ");
|
|
54840
|
+
i0.ɵɵadvance(2);
|
|
54841
|
+
i0.ɵɵtextInterpolate(ctx_r0.displayText());
|
|
54842
|
+
} }
|
|
54797
54843
|
class PacingStatusBadgeComponent {
|
|
54798
54844
|
constructor() {
|
|
54799
54845
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
@@ -54801,6 +54847,7 @@ class PacingStatusBadgeComponent {
|
|
|
54801
54847
|
this.status = input('on-pace', ...(ngDevMode ? [{ debugName: "status" }] : []));
|
|
54802
54848
|
this.showAsFullText = input(false, ...(ngDevMode ? [{ debugName: "showAsFullText" }] : []));
|
|
54803
54849
|
this.isCompact = input(false, ...(ngDevMode ? [{ debugName: "isCompact" }] : []));
|
|
54850
|
+
this.showEmphasizedPercentage = input(false, ...(ngDevMode ? [{ debugName: "showEmphasizedPercentage" }] : []));
|
|
54804
54851
|
this.displayInfo = computed(() => {
|
|
54805
54852
|
const isDark = this.viewMode() === ViewModeEnum.DARK;
|
|
54806
54853
|
return getPacingDisplayInfo(this.pacingPercentage(), this.status(), isDark);
|
|
@@ -54837,25 +54884,38 @@ class PacingStatusBadgeComponent {
|
|
|
54837
54884
|
}
|
|
54838
54885
|
return this.displayInfo().displayText;
|
|
54839
54886
|
}, ...(ngDevMode ? [{ debugName: "displayText" }] : []));
|
|
54887
|
+
this.hasPercentage = computed(() => {
|
|
54888
|
+
const fullText = this.showAsFullText()
|
|
54889
|
+
? formatPacingDisplayFullText(this.pacingPercentage(), this.status())
|
|
54890
|
+
: this.displayInfo().displayText;
|
|
54891
|
+
return /\d+\.?\d*%/.test(fullText);
|
|
54892
|
+
}, ...(ngDevMode ? [{ debugName: "hasPercentage" }] : []));
|
|
54893
|
+
this.extractPercentage = computed(() => {
|
|
54894
|
+
const fullText = this.showAsFullText()
|
|
54895
|
+
? formatPacingDisplayFullText(this.pacingPercentage(), this.status())
|
|
54896
|
+
: this.displayInfo().displayText;
|
|
54897
|
+
const match = fullText.match(/(\d+\.?\d*%)/);
|
|
54898
|
+
return match ? match[1] : '';
|
|
54899
|
+
}, ...(ngDevMode ? [{ debugName: "extractPercentage" }] : []));
|
|
54900
|
+
this.displayTextWithoutPercentage = computed(() => {
|
|
54901
|
+
const fullText = this.showAsFullText()
|
|
54902
|
+
? formatPacingDisplayFullText(this.pacingPercentage(), this.status())
|
|
54903
|
+
: this.displayInfo().displayText;
|
|
54904
|
+
const textWithoutPercentage = fullText.replace(/\s*at\s*\d+\.?\d*%\s*/, ' ').replace(/\s+/, ' ');
|
|
54905
|
+
return textWithoutPercentage;
|
|
54906
|
+
}, ...(ngDevMode ? [{ debugName: "displayTextWithoutPercentage" }] : []));
|
|
54907
|
+
this.overlayBadgeClasses = computed(() => {
|
|
54908
|
+
const info = this.displayInfo();
|
|
54909
|
+
const isCompact = this.isCompact();
|
|
54910
|
+
const sizeClass = isCompact ? 'text-xs' : 'text-sm';
|
|
54911
|
+
return `${info.bgClass} ${info.colorClass} ${info.borderClass} ${sizeClass}`;
|
|
54912
|
+
}, ...(ngDevMode ? [{ debugName: "overlayBadgeClasses" }] : []));
|
|
54840
54913
|
}
|
|
54841
54914
|
static { this.ɵfac = function PacingStatusBadgeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PacingStatusBadgeComponent)(); }; }
|
|
54842
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PacingStatusBadgeComponent, selectors: [["symphiq-pacing-status-badge"]], inputs: { viewMode: [1, "viewMode"], pacingPercentage: [1, "pacingPercentage"], status: [1, "status"], showAsFullText: [1, "showAsFullText"], isCompact: [1, "isCompact"] }, decls:
|
|
54843
|
-
i0.ɵɵ
|
|
54844
|
-
i0.ɵɵtext(2);
|
|
54845
|
-
i0.ɵɵelementEnd();
|
|
54846
|
-
i0.ɵɵelementStart(3, "span");
|
|
54847
|
-
i0.ɵɵtext(4);
|
|
54848
|
-
i0.ɵɵelementEnd()();
|
|
54915
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PacingStatusBadgeComponent, selectors: [["symphiq-pacing-status-badge"]], inputs: { viewMode: [1, "viewMode"], pacingPercentage: [1, "pacingPercentage"], status: [1, "status"], showAsFullText: [1, "showAsFullText"], isCompact: [1, "isCompact"], showEmphasizedPercentage: [1, "showEmphasizedPercentage"] }, decls: 2, vars: 1, consts: [[1, "inline-flex", "flex-col", "items-start"], [3, "ngClass", "class"], [1, "px-2.5", "py-0.5", "rounded-md", "font-extrabold", "tracking-tight", "border-2", "shadow-lg", "transition-all", "duration-200", "-mb-1", "ml-2", "z-10", 3, "ngClass"], [3, "ngClass"]], template: function PacingStatusBadgeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
54916
|
+
i0.ɵɵconditionalCreate(0, PacingStatusBadgeComponent_Conditional_0_Template, 8, 10, "div", 0)(1, PacingStatusBadgeComponent_Conditional_1_Template, 5, 8, "div", 1);
|
|
54849
54917
|
} if (rf & 2) {
|
|
54850
|
-
i0.ɵɵ
|
|
54851
|
-
i0.ɵɵproperty("ngClass", ctx.badgeClasses());
|
|
54852
|
-
i0.ɵɵadvance();
|
|
54853
|
-
i0.ɵɵclassMap(ctx.iconSizeClasses());
|
|
54854
|
-
i0.ɵɵproperty("ngClass", ctx.iconClasses());
|
|
54855
|
-
i0.ɵɵadvance();
|
|
54856
|
-
i0.ɵɵtextInterpolate1(" ", ctx.iconSymbol(), " ");
|
|
54857
|
-
i0.ɵɵadvance(2);
|
|
54858
|
-
i0.ɵɵtextInterpolate(ctx.displayText());
|
|
54918
|
+
i0.ɵɵconditional(ctx.showEmphasizedPercentage() && ctx.hasPercentage() ? 0 : 1);
|
|
54859
54919
|
} }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
|
|
54860
54920
|
}
|
|
54861
54921
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PacingStatusBadgeComponent, [{
|
|
@@ -54866,41 +54926,59 @@ class PacingStatusBadgeComponent {
|
|
|
54866
54926
|
imports: [CommonModule],
|
|
54867
54927
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
54868
54928
|
template: `
|
|
54869
|
-
|
|
54870
|
-
|
|
54871
|
-
|
|
54872
|
-
|
|
54873
|
-
|
|
54874
|
-
|
|
54875
|
-
|
|
54876
|
-
|
|
54877
|
-
|
|
54929
|
+
@if (showEmphasizedPercentage() && hasPercentage()) {
|
|
54930
|
+
<div class="inline-flex flex-col items-start">
|
|
54931
|
+
<div [ngClass]="overlayBadgeClasses()"
|
|
54932
|
+
class="px-2.5 py-0.5 rounded-md font-extrabold tracking-tight border-2 shadow-lg transition-all duration-200 -mb-1 ml-2 z-10">
|
|
54933
|
+
{{ extractPercentage() }}
|
|
54934
|
+
</div>
|
|
54935
|
+
<div
|
|
54936
|
+
[ngClass]="badgeClasses()"
|
|
54937
|
+
[class]="sizeClasses()"
|
|
54938
|
+
>
|
|
54939
|
+
<span [ngClass]="iconClasses()" [class]="iconSizeClasses()">
|
|
54940
|
+
{{ iconSymbol() }}
|
|
54941
|
+
</span>
|
|
54942
|
+
<span>{{ displayTextWithoutPercentage() }}</span>
|
|
54943
|
+
</div>
|
|
54944
|
+
</div>
|
|
54945
|
+
} @else {
|
|
54946
|
+
<div
|
|
54947
|
+
[ngClass]="badgeClasses()"
|
|
54948
|
+
[class]="sizeClasses()"
|
|
54949
|
+
>
|
|
54950
|
+
<span [ngClass]="iconClasses()" [class]="iconSizeClasses()">
|
|
54951
|
+
{{ iconSymbol() }}
|
|
54952
|
+
</span>
|
|
54953
|
+
<span>{{ displayText() }}</span>
|
|
54954
|
+
</div>
|
|
54955
|
+
}
|
|
54878
54956
|
`
|
|
54879
54957
|
}]
|
|
54880
|
-
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], pacingPercentage: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingPercentage", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], showAsFullText: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAsFullText", required: false }] }], isCompact: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompact", required: false }] }] }); })();
|
|
54881
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PacingStatusBadgeComponent, { className: "PacingStatusBadgeComponent", filePath: "lib/components/revenue-calculator-dashboard/pacing-status-badge.component.ts", lineNumber:
|
|
54958
|
+
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], pacingPercentage: [{ type: i0.Input, args: [{ isSignal: true, alias: "pacingPercentage", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], showAsFullText: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAsFullText", required: false }] }], isCompact: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompact", required: false }] }], showEmphasizedPercentage: [{ type: i0.Input, args: [{ isSignal: true, alias: "showEmphasizedPercentage", required: false }] }] }); })();
|
|
54959
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PacingStatusBadgeComponent, { className: "PacingStatusBadgeComponent", filePath: "lib/components/revenue-calculator-dashboard/pacing-status-badge.component.ts", lineNumber: 41 }); })();
|
|
54882
54960
|
|
|
54883
54961
|
const _forTrack0$i = ($index, $item) => $item.stageMetric.metric;
|
|
54884
54962
|
const _forTrack1$3 = ($index, $item) => $item.calc.metric;
|
|
54885
54963
|
function FunnelMetricsVisualizationComponent_For_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
54886
54964
|
i0.ɵɵelementStart(0, "button", 7);
|
|
54887
54965
|
i0.ɵɵnamespaceSVG();
|
|
54888
|
-
i0.ɵɵelementStart(1, "svg",
|
|
54889
|
-
i0.ɵɵelement(2, "path",
|
|
54966
|
+
i0.ɵɵelementStart(1, "svg", 15);
|
|
54967
|
+
i0.ɵɵelement(2, "path", 16);
|
|
54890
54968
|
i0.ɵɵelementEnd()();
|
|
54891
54969
|
} if (rf & 2) {
|
|
54892
54970
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
54893
54971
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
54894
54972
|
i0.ɵɵproperty("ngClass", ctx_r1.infoIconClasses())("libSymphiqTooltip", ctx_r1.getMarkdownTooltipContent(stage_r1.stageMetric.description, ctx_r1.getMetricTitle(stage_r1.stageMetric)));
|
|
54895
54973
|
} }
|
|
54896
|
-
function
|
|
54974
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
54897
54975
|
i0.ɵɵelementStart(0, "div")(1, "p", 9);
|
|
54898
54976
|
i0.ɵɵtext(2);
|
|
54899
54977
|
i0.ɵɵelementEnd();
|
|
54900
54978
|
i0.ɵɵelementStart(3, "p", 11);
|
|
54901
54979
|
i0.ɵɵtext(4);
|
|
54902
54980
|
i0.ɵɵelementEnd();
|
|
54903
|
-
i0.ɵɵelement(5, "symphiq-pacing-status-badge",
|
|
54981
|
+
i0.ɵɵelement(5, "symphiq-pacing-status-badge", 17);
|
|
54904
54982
|
i0.ɵɵelementEnd();
|
|
54905
54983
|
} if (rf & 2) {
|
|
54906
54984
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
@@ -54914,27 +54992,27 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_20_Template(rf, c
|
|
|
54914
54992
|
i0.ɵɵadvance();
|
|
54915
54993
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(stage_r1.pacingInfo.projectedValue, stage_r1.stageMetric.metric, false), " ");
|
|
54916
54994
|
i0.ɵɵadvance();
|
|
54917
|
-
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", stage_r1.pacingInfo.pacingPercentage)("status", stage_r1.pacingInfo.status)("showAsFullText", true);
|
|
54995
|
+
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", stage_r1.pacingInfo.pacingPercentage)("status", stage_r1.pacingInfo.status)("showAsFullText", true)("showEmphasizedPercentage", true);
|
|
54918
54996
|
} }
|
|
54919
|
-
function
|
|
54920
|
-
i0.ɵɵelementStart(0, "button",
|
|
54997
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
54998
|
+
i0.ɵɵelementStart(0, "button", 25);
|
|
54921
54999
|
i0.ɵɵnamespaceSVG();
|
|
54922
|
-
i0.ɵɵelementStart(1, "svg",
|
|
54923
|
-
i0.ɵɵelement(2, "path",
|
|
55000
|
+
i0.ɵɵelementStart(1, "svg", 32);
|
|
55001
|
+
i0.ɵɵelement(2, "path", 16);
|
|
54924
55002
|
i0.ɵɵelementEnd()();
|
|
54925
55003
|
} if (rf & 2) {
|
|
54926
55004
|
const metric_r3 = i0.ɵɵnextContext().$implicit;
|
|
54927
55005
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
54928
55006
|
i0.ɵɵproperty("ngClass", ctx_r1.infoIconClasses())("libSymphiqTooltip", ctx_r1.getMarkdownTooltipContent(metric_r3.calc.description, ctx_r1.getMetricTitle(metric_r3.calc)));
|
|
54929
55007
|
} }
|
|
54930
|
-
function
|
|
54931
|
-
i0.ɵɵelementStart(0, "div")(1, "p",
|
|
55008
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
55009
|
+
i0.ɵɵelementStart(0, "div")(1, "p", 27);
|
|
54932
55010
|
i0.ɵɵtext(2);
|
|
54933
55011
|
i0.ɵɵelementEnd();
|
|
54934
|
-
i0.ɵɵelementStart(3, "p",
|
|
55012
|
+
i0.ɵɵelementStart(3, "p", 29);
|
|
54935
55013
|
i0.ɵɵtext(4);
|
|
54936
55014
|
i0.ɵɵelementEnd();
|
|
54937
|
-
i0.ɵɵelement(5, "symphiq-pacing-status-badge",
|
|
55015
|
+
i0.ɵɵelement(5, "symphiq-pacing-status-badge", 33);
|
|
54938
55016
|
i0.ɵɵelementEnd();
|
|
54939
55017
|
} if (rf & 2) {
|
|
54940
55018
|
const metric_r3 = i0.ɵɵnextContext().$implicit;
|
|
@@ -54948,30 +55026,33 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_21_For_6_Conditio
|
|
|
54948
55026
|
i0.ɵɵadvance();
|
|
54949
55027
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(metric_r3.pacingInfo.projectedValue, metric_r3.calc.metric, false), " ");
|
|
54950
55028
|
i0.ɵɵadvance();
|
|
54951
|
-
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", metric_r3.pacingInfo.pacingPercentage)("status", metric_r3.pacingInfo.status)("showAsFullText", true)("isCompact", true);
|
|
55029
|
+
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", metric_r3.pacingInfo.pacingPercentage)("status", metric_r3.pacingInfo.status)("showAsFullText", true)("isCompact", true)("showEmphasizedPercentage", true);
|
|
54952
55030
|
} }
|
|
54953
|
-
function
|
|
54954
|
-
i0.ɵɵelementStart(0, "div",
|
|
55031
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
55032
|
+
i0.ɵɵelementStart(0, "div", 22)(1, "div", 23)(2, "p", 24);
|
|
54955
55033
|
i0.ɵɵtext(3);
|
|
54956
55034
|
i0.ɵɵelementEnd();
|
|
54957
|
-
i0.ɵɵconditionalCreate(4,
|
|
55035
|
+
i0.ɵɵconditionalCreate(4, FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Conditional_4_Template, 3, 2, "button", 25);
|
|
54958
55036
|
i0.ɵɵelementEnd();
|
|
54959
|
-
i0.ɵɵelementStart(5, "div",
|
|
55037
|
+
i0.ɵɵelementStart(5, "div", 26)(6, "div")(7, "p", 27);
|
|
54960
55038
|
i0.ɵɵtext(8);
|
|
54961
55039
|
i0.ɵɵelementEnd();
|
|
54962
|
-
i0.ɵɵelementStart(9, "p",
|
|
55040
|
+
i0.ɵɵelementStart(9, "p", 28);
|
|
54963
55041
|
i0.ɵɵtext(10);
|
|
54964
55042
|
i0.ɵɵelementEnd()();
|
|
54965
|
-
i0.ɵɵelementStart(11, "div")(12, "p",
|
|
55043
|
+
i0.ɵɵelementStart(11, "div")(12, "p", 27);
|
|
54966
55044
|
i0.ɵɵtext(13);
|
|
54967
55045
|
i0.ɵɵelementEnd();
|
|
54968
|
-
i0.ɵɵelementStart(14, "p",
|
|
55046
|
+
i0.ɵɵelementStart(14, "p", 29);
|
|
54969
55047
|
i0.ɵɵtext(15);
|
|
54970
55048
|
i0.ɵɵelementEnd();
|
|
54971
|
-
i0.ɵɵelementStart(16, "div",
|
|
54972
|
-
i0.ɵɵtext(
|
|
54973
|
-
i0.ɵɵelementEnd()
|
|
54974
|
-
i0.ɵɵ
|
|
55049
|
+
i0.ɵɵelementStart(16, "div", 12)(17, "div", 30);
|
|
55050
|
+
i0.ɵɵtext(18);
|
|
55051
|
+
i0.ɵɵelementEnd();
|
|
55052
|
+
i0.ɵɵelementStart(19, "div", 31);
|
|
55053
|
+
i0.ɵɵtext(20);
|
|
55054
|
+
i0.ɵɵelementEnd()()();
|
|
55055
|
+
i0.ɵɵconditionalCreate(21, FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Conditional_21_Template, 6, 10, "div");
|
|
54975
55056
|
i0.ɵɵelementEnd()();
|
|
54976
55057
|
} if (rf & 2) {
|
|
54977
55058
|
const metric_r3 = ctx.$implicit;
|
|
@@ -54999,20 +55080,24 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_21_For_6_Template
|
|
|
54999
55080
|
i0.ɵɵproperty("ngClass", ctx_r1.relatedTargetValueClasses());
|
|
55000
55081
|
i0.ɵɵadvance();
|
|
55001
55082
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(metric_r3.calc.targetValue, metric_r3.calc.metric, false), " ");
|
|
55083
|
+
i0.ɵɵadvance(2);
|
|
55084
|
+
i0.ɵɵproperty("ngClass", ctx_r1.overlayBadgeClasses(metric_r3.calc.percentageIncrease, metric_r3.calc.metric, true));
|
|
55085
|
+
i0.ɵɵadvance();
|
|
55086
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getPercentageOnly(metric_r3.calc.percentageIncrease, metric_r3.calc.metric), " ");
|
|
55002
55087
|
i0.ɵɵadvance();
|
|
55003
55088
|
i0.ɵɵproperty("ngClass", ctx_r1.relatedPercentageBadgeClasses());
|
|
55004
55089
|
i0.ɵɵadvance();
|
|
55005
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.
|
|
55090
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getDescriptionOnly(metric_r3.calc.percentageIncrease, metric_r3.calc.metric), " ");
|
|
55006
55091
|
i0.ɵɵadvance();
|
|
55007
|
-
i0.ɵɵconditional(metric_r3.pacingInfo ?
|
|
55092
|
+
i0.ɵɵconditional(metric_r3.pacingInfo ? 21 : -1);
|
|
55008
55093
|
} }
|
|
55009
|
-
function
|
|
55010
|
-
i0.ɵɵelement(0, "div",
|
|
55011
|
-
i0.ɵɵelementStart(1, "div",
|
|
55094
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
55095
|
+
i0.ɵɵelement(0, "div", 18);
|
|
55096
|
+
i0.ɵɵelementStart(1, "div", 19)(2, "p", 20);
|
|
55012
55097
|
i0.ɵɵtext(3, " Related Metrics ");
|
|
55013
55098
|
i0.ɵɵelementEnd();
|
|
55014
|
-
i0.ɵɵelementStart(4, "div",
|
|
55015
|
-
i0.ɵɵrepeaterCreate(5,
|
|
55099
|
+
i0.ɵɵelementStart(4, "div", 21);
|
|
55100
|
+
i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Template, 22, 17, "div", 22, _forTrack1$3);
|
|
55016
55101
|
i0.ɵɵelementEnd()();
|
|
55017
55102
|
} if (rf & 2) {
|
|
55018
55103
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
@@ -55041,12 +55126,15 @@ function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf &
|
|
|
55041
55126
|
i0.ɵɵelementStart(16, "p", 11);
|
|
55042
55127
|
i0.ɵɵtext(17);
|
|
55043
55128
|
i0.ɵɵelementEnd();
|
|
55044
|
-
i0.ɵɵelementStart(18, "div", 12);
|
|
55045
|
-
i0.ɵɵtext(
|
|
55046
|
-
i0.ɵɵelementEnd()
|
|
55047
|
-
i0.ɵɵ
|
|
55129
|
+
i0.ɵɵelementStart(18, "div", 12)(19, "div", 13);
|
|
55130
|
+
i0.ɵɵtext(20);
|
|
55131
|
+
i0.ɵɵelementEnd();
|
|
55132
|
+
i0.ɵɵelementStart(21, "div", 14);
|
|
55133
|
+
i0.ɵɵtext(22);
|
|
55134
|
+
i0.ɵɵelementEnd()()();
|
|
55135
|
+
i0.ɵɵconditionalCreate(23, FunnelMetricsVisualizationComponent_For_4_Conditional_23_Template, 6, 9, "div");
|
|
55048
55136
|
i0.ɵɵelementEnd();
|
|
55049
|
-
i0.ɵɵconditionalCreate(
|
|
55137
|
+
i0.ɵɵconditionalCreate(24, FunnelMetricsVisualizationComponent_For_4_Conditional_24_Template, 7, 2);
|
|
55050
55138
|
i0.ɵɵelementEnd();
|
|
55051
55139
|
} if (rf & 2) {
|
|
55052
55140
|
const stage_r1 = ctx.$implicit;
|
|
@@ -55074,14 +55162,18 @@ function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf &
|
|
|
55074
55162
|
i0.ɵɵproperty("ngClass", ctx_r1.targetValueClasses());
|
|
55075
55163
|
i0.ɵɵadvance();
|
|
55076
55164
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.formatMetricValue(stage_r1.stageMetric.targetValue, stage_r1.stageMetric.metric, false), " ");
|
|
55165
|
+
i0.ɵɵadvance(2);
|
|
55166
|
+
i0.ɵɵproperty("ngClass", ctx_r1.overlayBadgeClasses(stage_r1.stageMetric.percentageIncrease, stage_r1.stageMetric.metric));
|
|
55167
|
+
i0.ɵɵadvance();
|
|
55168
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getPercentageOnly(stage_r1.stageMetric.percentageIncrease, stage_r1.stageMetric.metric), " ");
|
|
55077
55169
|
i0.ɵɵadvance();
|
|
55078
55170
|
i0.ɵɵproperty("ngClass", ctx_r1.percentageBadgeClasses());
|
|
55079
55171
|
i0.ɵɵadvance();
|
|
55080
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.
|
|
55172
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getDescriptionOnly(stage_r1.stageMetric.percentageIncrease, stage_r1.stageMetric.metric), " ");
|
|
55081
55173
|
i0.ɵɵadvance();
|
|
55082
|
-
i0.ɵɵconditional(stage_r1.pacingInfo ?
|
|
55174
|
+
i0.ɵɵconditional(stage_r1.pacingInfo ? 23 : -1);
|
|
55083
55175
|
i0.ɵɵadvance();
|
|
55084
|
-
i0.ɵɵconditional(stage_r1.relatedMetrics.length > 0 ?
|
|
55176
|
+
i0.ɵɵconditional(stage_r1.relatedMetrics.length > 0 ? 24 : -1);
|
|
55085
55177
|
} }
|
|
55086
55178
|
class FunnelMetricsVisualizationComponent {
|
|
55087
55179
|
constructor() {
|
|
@@ -55219,6 +55311,23 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55219
55311
|
const absValue = Math.abs(percentageIncrease);
|
|
55220
55312
|
return `${sign}${formatPercentage(absValue, 1)} increase over ${this.priorYear()}`;
|
|
55221
55313
|
}
|
|
55314
|
+
getPercentageOnly(percentageIncrease, metric) {
|
|
55315
|
+
const sign = MetricEnumUtil.increaseBad(metric) ? '' : '+';
|
|
55316
|
+
const absValue = Math.abs(percentageIncrease);
|
|
55317
|
+
return `${sign}${formatPercentage(absValue, 1)}`;
|
|
55318
|
+
}
|
|
55319
|
+
getDescriptionOnly(percentageIncrease, metric) {
|
|
55320
|
+
return `increase over ${this.priorYear()}`;
|
|
55321
|
+
}
|
|
55322
|
+
overlayBadgeClasses(percentageIncrease, metric, isCompact = false) {
|
|
55323
|
+
const isDark = this.viewMode() === ViewModeEnum.DARK;
|
|
55324
|
+
if (isDark) {
|
|
55325
|
+
return 'bg-purple-500/30 text-purple-200 border-purple-400/30';
|
|
55326
|
+
}
|
|
55327
|
+
else {
|
|
55328
|
+
return 'bg-purple-100 text-purple-700 border-purple-300';
|
|
55329
|
+
}
|
|
55330
|
+
}
|
|
55222
55331
|
formatMetricValue(value, metric, fromUiData = true) {
|
|
55223
55332
|
if (metric.includes('REVENUE')) {
|
|
55224
55333
|
return formatCurrency(value);
|
|
@@ -55248,11 +55357,11 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55248
55357
|
return MetricEnumUtil.increaseBad(metric) ? '-' : '+';
|
|
55249
55358
|
}
|
|
55250
55359
|
static { this.ɵfac = function FunnelMetricsVisualizationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FunnelMetricsVisualizationComponent)(); }; }
|
|
55251
|
-
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", "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-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"], [1, "px-3", "py-1.5", "rounded-lg", "font-semibold", "text-xs", "inline-block", 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"], [3, "viewMode", "pacingPercentage", "status", "showAsFullText"], [1, "my-4", 3, "ngClass"], [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-xs", "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-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"], [1, "px-2.5", "py-1", "rounded", "text-xs", "font-semibold", "inline-block", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"], [3, "viewMode", "pacingPercentage", "status", "showAsFullText", "isCompact"]], template: function FunnelMetricsVisualizationComponent_Template(rf, ctx) { if (rf & 1) {
|
|
55360
|
+
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", "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-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"], [1, "inline-flex", "flex-col", "items-start"], [1, "px-2.5", "py-0.5", "rounded-md", "font-extrabold", "text-sm", "tracking-tight", "border-2", "shadow-lg", "transition-all", "duration-200", "-mb-1", "ml-2", "z-10", 3, "ngClass"], [1, "px-3", "py-1.5", "rounded-lg", "font-semibold", "text-xs", "inline-block", 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"], [3, "viewMode", "pacingPercentage", "status", "showAsFullText", "showEmphasizedPercentage"], [1, "my-4", 3, "ngClass"], [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-xs", "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-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"], [1, "px-2", "py-0.5", "rounded", "text-xs", "font-extrabold", "tracking-tight", "border", "shadow-md", "transition-all", "duration-200", "-mb-1", "ml-1.5", "z-10", 3, "ngClass"], [1, "px-2.5", "py-1", "rounded", "text-xs", "font-semibold", "inline-block", 3, "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) {
|
|
55252
55361
|
i0.ɵɵelementStart(0, "div", 0);
|
|
55253
55362
|
i0.ɵɵelement(1, "symphiq-tooltip-container");
|
|
55254
55363
|
i0.ɵɵelementStart(2, "div", 1);
|
|
55255
|
-
i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template,
|
|
55364
|
+
i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 25, 18, "div", 2, _forTrack0$i);
|
|
55256
55365
|
i0.ɵɵelementEnd()();
|
|
55257
55366
|
} if (rf & 2) {
|
|
55258
55367
|
i0.ɵɵadvance(3);
|
|
@@ -55295,7 +55404,7 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55295
55404
|
</div>
|
|
55296
55405
|
</div>
|
|
55297
55406
|
|
|
55298
|
-
<div class="grid grid-cols-3 gap-6 mb-4">
|
|
55407
|
+
<div class="grid grid-cols-2 lg:grid-cols-3 gap-6 mb-4">
|
|
55299
55408
|
<div>
|
|
55300
55409
|
<p [ngClass]="labelClasses()" class="text-xs font-medium uppercase tracking-wider mb-2">
|
|
55301
55410
|
{{ priorYear() }} Actual
|
|
@@ -55311,8 +55420,14 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55311
55420
|
<p [ngClass]="targetValueClasses()" class="text-2xl font-bold mb-3">
|
|
55312
55421
|
{{ formatMetricValue(stage.stageMetric.targetValue, stage.stageMetric.metric, false) }}
|
|
55313
55422
|
</p>
|
|
55314
|
-
<div
|
|
55315
|
-
|
|
55423
|
+
<div class="inline-flex flex-col items-start">
|
|
55424
|
+
<div [ngClass]="overlayBadgeClasses(stage.stageMetric.percentageIncrease, stage.stageMetric.metric)"
|
|
55425
|
+
class="px-2.5 py-0.5 rounded-md font-extrabold text-sm tracking-tight border-2 shadow-lg transition-all duration-200 -mb-1 ml-2 z-10">
|
|
55426
|
+
{{ getPercentageOnly(stage.stageMetric.percentageIncrease, stage.stageMetric.metric) }}
|
|
55427
|
+
</div>
|
|
55428
|
+
<div [ngClass]="percentageBadgeClasses()" class="px-3 py-1.5 rounded-lg font-semibold text-xs inline-block">
|
|
55429
|
+
{{ getDescriptionOnly(stage.stageMetric.percentageIncrease, stage.stageMetric.metric) }}
|
|
55430
|
+
</div>
|
|
55316
55431
|
</div>
|
|
55317
55432
|
</div>
|
|
55318
55433
|
@if (stage.pacingInfo) {
|
|
@@ -55328,6 +55443,7 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55328
55443
|
[pacingPercentage]="stage.pacingInfo.pacingPercentage"
|
|
55329
55444
|
[status]="stage.pacingInfo.status"
|
|
55330
55445
|
[showAsFullText]="true"
|
|
55446
|
+
[showEmphasizedPercentage]="true"
|
|
55331
55447
|
/>
|
|
55332
55448
|
</div>
|
|
55333
55449
|
}
|
|
@@ -55361,7 +55477,7 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55361
55477
|
</button>
|
|
55362
55478
|
}
|
|
55363
55479
|
</div>
|
|
55364
|
-
<div class="grid grid-cols-3 gap-4">
|
|
55480
|
+
<div class="grid grid-cols-2 lg:grid-cols-3 gap-4">
|
|
55365
55481
|
<div>
|
|
55366
55482
|
<p [ngClass]="relatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1.5">
|
|
55367
55483
|
{{ priorYear() }} Actual
|
|
@@ -55377,8 +55493,14 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55377
55493
|
<p [ngClass]="relatedTargetValueClasses()" class="text-lg font-bold mb-2">
|
|
55378
55494
|
{{ formatMetricValue(metric.calc.targetValue, metric.calc.metric, false) }}
|
|
55379
55495
|
</p>
|
|
55380
|
-
<div
|
|
55381
|
-
|
|
55496
|
+
<div class="inline-flex flex-col items-start">
|
|
55497
|
+
<div [ngClass]="overlayBadgeClasses(metric.calc.percentageIncrease, metric.calc.metric, true)"
|
|
55498
|
+
class="px-2 py-0.5 rounded text-xs font-extrabold tracking-tight border shadow-md transition-all duration-200 -mb-1 ml-1.5 z-10">
|
|
55499
|
+
{{ getPercentageOnly(metric.calc.percentageIncrease, metric.calc.metric) }}
|
|
55500
|
+
</div>
|
|
55501
|
+
<div [ngClass]="relatedPercentageBadgeClasses()" class="px-2.5 py-1 rounded text-xs font-semibold inline-block">
|
|
55502
|
+
{{ getDescriptionOnly(metric.calc.percentageIncrease, metric.calc.metric) }}
|
|
55503
|
+
</div>
|
|
55382
55504
|
</div>
|
|
55383
55505
|
</div>
|
|
55384
55506
|
@if (metric.pacingInfo) {
|
|
@@ -55395,6 +55517,7 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55395
55517
|
[status]="metric.pacingInfo.status"
|
|
55396
55518
|
[showAsFullText]="true"
|
|
55397
55519
|
[isCompact]="true"
|
|
55520
|
+
[showEmphasizedPercentage]="true"
|
|
55398
55521
|
/>
|
|
55399
55522
|
</div>
|
|
55400
55523
|
}
|
|
@@ -55411,7 +55534,7 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55411
55534
|
`
|
|
55412
55535
|
}]
|
|
55413
55536
|
}], 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 }] }] }); })();
|
|
55414
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber:
|
|
55537
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 174 }); })();
|
|
55415
55538
|
|
|
55416
55539
|
function StickySubmitBarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
55417
55540
|
i0.ɵɵelementStart(0, "div", 4);
|