@eric-emg/symphiq-components 1.2.229 → 1.2.231
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 +111 -74
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +7 -7
- package/package.json +1 -1
- package/styles.css +12 -6
|
@@ -54795,29 +54795,28 @@ function extractProjectedValue(pacingResponse, metricEnum) {
|
|
|
54795
54795
|
}
|
|
54796
54796
|
|
|
54797
54797
|
function PacingStatusBadgeComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
54798
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "div", 2);
|
|
54799
|
-
i0.ɵɵtext(
|
|
54798
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 2)(2, "span", 3);
|
|
54799
|
+
i0.ɵɵtext(3);
|
|
54800
54800
|
i0.ɵɵelementEnd();
|
|
54801
|
-
i0.ɵɵ
|
|
54802
|
-
i0.ɵɵtext(5);
|
|
54801
|
+
i0.ɵɵtext(4);
|
|
54803
54802
|
i0.ɵɵelementEnd();
|
|
54804
|
-
i0.ɵɵelementStart(6, "span");
|
|
54803
|
+
i0.ɵɵelementStart(5, "div")(6, "span");
|
|
54805
54804
|
i0.ɵɵtext(7);
|
|
54806
54805
|
i0.ɵɵelementEnd()()();
|
|
54807
54806
|
} if (rf & 2) {
|
|
54808
54807
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
54808
|
+
i0.ɵɵproperty("ngClass", ctx_r0.containerClasses());
|
|
54809
54809
|
i0.ɵɵadvance();
|
|
54810
54810
|
i0.ɵɵproperty("ngClass", ctx_r0.overlayBadgeClasses());
|
|
54811
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
54812
|
i0.ɵɵclassMap(ctx_r0.iconSizeClasses());
|
|
54818
54813
|
i0.ɵɵproperty("ngClass", ctx_r0.iconClasses());
|
|
54819
54814
|
i0.ɵɵadvance();
|
|
54820
54815
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.iconSymbol(), " ");
|
|
54816
|
+
i0.ɵɵadvance();
|
|
54817
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.extractPercentage(), " ");
|
|
54818
|
+
i0.ɵɵadvance();
|
|
54819
|
+
i0.ɵɵclassMap(ctx_r0.sizeClasses());
|
|
54821
54820
|
i0.ɵɵadvance(2);
|
|
54822
54821
|
i0.ɵɵtextInterpolate(ctx_r0.displayTextWithoutPercentage());
|
|
54823
54822
|
} }
|
|
@@ -54830,7 +54829,7 @@ function PacingStatusBadgeComponent_Conditional_1_Template(rf, ctx) { if (rf & 1
|
|
|
54830
54829
|
i0.ɵɵelementEnd()();
|
|
54831
54830
|
} if (rf & 2) {
|
|
54832
54831
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
54833
|
-
i0.ɵɵclassMap(ctx_r0.
|
|
54832
|
+
i0.ɵɵclassMap(ctx_r0.fullBadgeSizeClasses());
|
|
54834
54833
|
i0.ɵɵproperty("ngClass", ctx_r0.badgeClasses());
|
|
54835
54834
|
i0.ɵɵadvance();
|
|
54836
54835
|
i0.ɵɵclassMap(ctx_r0.iconSizeClasses());
|
|
@@ -54852,18 +54851,30 @@ class PacingStatusBadgeComponent {
|
|
|
54852
54851
|
const isDark = this.viewMode() === ViewModeEnum.DARK;
|
|
54853
54852
|
return getPacingDisplayInfo(this.pacingPercentage(), this.status(), isDark);
|
|
54854
54853
|
}, ...(ngDevMode ? [{ debugName: "displayInfo" }] : []));
|
|
54854
|
+
this.containerClasses = computed(() => {
|
|
54855
|
+
const info = this.displayInfo();
|
|
54856
|
+
return `${info.bgClass} ${info.borderClass} border`;
|
|
54857
|
+
}, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
|
|
54855
54858
|
this.badgeClasses = computed(() => {
|
|
54856
54859
|
const info = this.displayInfo();
|
|
54857
54860
|
return `${info.bgClass} ${info.colorClass} ${info.borderClass}`;
|
|
54858
54861
|
}, ...(ngDevMode ? [{ debugName: "badgeClasses" }] : []));
|
|
54859
54862
|
this.sizeClasses = computed(() => {
|
|
54860
54863
|
const isCompact = this.isCompact();
|
|
54861
|
-
const baseClasses = 'inline-flex items-center gap-1.5
|
|
54864
|
+
const baseClasses = 'inline-flex items-center gap-1.5 font-semibold transition-all';
|
|
54862
54865
|
if (isCompact) {
|
|
54863
54866
|
return `${baseClasses} px-2.5 py-1 text-xs`;
|
|
54864
54867
|
}
|
|
54865
54868
|
return `${baseClasses} px-3 py-1.5 text-xs`;
|
|
54866
54869
|
}, ...(ngDevMode ? [{ debugName: "sizeClasses" }] : []));
|
|
54870
|
+
this.fullBadgeSizeClasses = computed(() => {
|
|
54871
|
+
const isCompact = this.isCompact();
|
|
54872
|
+
const baseClasses = 'inline-flex items-center gap-1.5 rounded-lg border font-semibold transition-all';
|
|
54873
|
+
if (isCompact) {
|
|
54874
|
+
return `${baseClasses} px-2.5 py-1 text-xs`;
|
|
54875
|
+
}
|
|
54876
|
+
return `${baseClasses} px-3 py-1.5 text-xs`;
|
|
54877
|
+
}, ...(ngDevMode ? [{ debugName: "fullBadgeSizeClasses" }] : []));
|
|
54867
54878
|
this.iconClasses = computed(() => {
|
|
54868
54879
|
return this.displayInfo().colorClass;
|
|
54869
54880
|
}, ...(ngDevMode ? [{ debugName: "iconClasses" }] : []));
|
|
@@ -54912,7 +54923,7 @@ class PacingStatusBadgeComponent {
|
|
|
54912
54923
|
}, ...(ngDevMode ? [{ debugName: "overlayBadgeClasses" }] : []));
|
|
54913
54924
|
}
|
|
54914
54925
|
static { this.ɵfac = function PacingStatusBadgeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PacingStatusBadgeComponent)(); }; }
|
|
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-
|
|
54926
|
+
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-row", "items-center", "rounded-lg", 3, "ngClass"], [3, "ngClass", "class"], [1, "px-2.5", "py-0.5", "rounded-md", "font-extrabold", "tracking-tight", "border-2", "shadow-lg", "transition-all", "duration-200", "-my-1", "-mr-1", "z-10", "inline-flex", "items-center", "gap-1", 3, "ngClass"], [3, "ngClass"]], template: function PacingStatusBadgeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
54916
54927
|
i0.ɵɵconditionalCreate(0, PacingStatusBadgeComponent_Conditional_0_Template, 8, 10, "div", 0)(1, PacingStatusBadgeComponent_Conditional_1_Template, 5, 8, "div", 1);
|
|
54917
54928
|
} if (rf & 2) {
|
|
54918
54929
|
i0.ɵɵconditional(ctx.showEmphasizedPercentage() && ctx.hasPercentage() ? 0 : 1);
|
|
@@ -54927,25 +54938,24 @@ class PacingStatusBadgeComponent {
|
|
|
54927
54938
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
54928
54939
|
template: `
|
|
54929
54940
|
@if (showEmphasizedPercentage() && hasPercentage()) {
|
|
54930
|
-
<div class="inline-flex flex-
|
|
54941
|
+
<div [ngClass]="containerClasses()" class="inline-flex flex-row items-center rounded-lg">
|
|
54931
54942
|
<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 -
|
|
54943
|
+
class="px-2.5 py-0.5 rounded-md font-extrabold tracking-tight border-2 shadow-lg transition-all duration-200 -my-1 -mr-1 z-10 inline-flex items-center gap-1">
|
|
54944
|
+
<span [ngClass]="iconClasses()" [class]="iconSizeClasses()">
|
|
54945
|
+
{{ iconSymbol() }}
|
|
54946
|
+
</span>
|
|
54933
54947
|
{{ extractPercentage() }}
|
|
54934
54948
|
</div>
|
|
54935
54949
|
<div
|
|
54936
|
-
[ngClass]="badgeClasses()"
|
|
54937
54950
|
[class]="sizeClasses()"
|
|
54938
54951
|
>
|
|
54939
|
-
<span [ngClass]="iconClasses()" [class]="iconSizeClasses()">
|
|
54940
|
-
{{ iconSymbol() }}
|
|
54941
|
-
</span>
|
|
54942
54952
|
<span>{{ displayTextWithoutPercentage() }}</span>
|
|
54943
54953
|
</div>
|
|
54944
54954
|
</div>
|
|
54945
54955
|
} @else {
|
|
54946
54956
|
<div
|
|
54947
54957
|
[ngClass]="badgeClasses()"
|
|
54948
|
-
[class]="
|
|
54958
|
+
[class]="fullBadgeSizeClasses()"
|
|
54949
54959
|
>
|
|
54950
54960
|
<span [ngClass]="iconClasses()" [class]="iconSizeClasses()">
|
|
54951
54961
|
{{ iconSymbol() }}
|
|
@@ -54956,29 +54966,29 @@ class PacingStatusBadgeComponent {
|
|
|
54956
54966
|
`
|
|
54957
54967
|
}]
|
|
54958
54968
|
}], 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:
|
|
54969
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PacingStatusBadgeComponent, { className: "PacingStatusBadgeComponent", filePath: "lib/components/revenue-calculator-dashboard/pacing-status-badge.component.ts", lineNumber: 40 }); })();
|
|
54960
54970
|
|
|
54961
54971
|
const _forTrack0$i = ($index, $item) => $item.stageMetric.metric;
|
|
54962
54972
|
const _forTrack1$3 = ($index, $item) => $item.calc.metric;
|
|
54963
54973
|
function FunnelMetricsVisualizationComponent_For_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
54964
54974
|
i0.ɵɵelementStart(0, "button", 7);
|
|
54965
54975
|
i0.ɵɵnamespaceSVG();
|
|
54966
|
-
i0.ɵɵelementStart(1, "svg",
|
|
54967
|
-
i0.ɵɵelement(2, "path",
|
|
54976
|
+
i0.ɵɵelementStart(1, "svg", 16);
|
|
54977
|
+
i0.ɵɵelement(2, "path", 17);
|
|
54968
54978
|
i0.ɵɵelementEnd()();
|
|
54969
54979
|
} if (rf & 2) {
|
|
54970
54980
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
54971
54981
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
54972
54982
|
i0.ɵɵproperty("ngClass", ctx_r1.infoIconClasses())("libSymphiqTooltip", ctx_r1.getMarkdownTooltipContent(stage_r1.stageMetric.description, ctx_r1.getMetricTitle(stage_r1.stageMetric)));
|
|
54973
54983
|
} }
|
|
54974
|
-
function
|
|
54984
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
54975
54985
|
i0.ɵɵelementStart(0, "div")(1, "p", 9);
|
|
54976
54986
|
i0.ɵɵtext(2);
|
|
54977
54987
|
i0.ɵɵelementEnd();
|
|
54978
54988
|
i0.ɵɵelementStart(3, "p", 11);
|
|
54979
54989
|
i0.ɵɵtext(4);
|
|
54980
54990
|
i0.ɵɵelementEnd();
|
|
54981
|
-
i0.ɵɵelement(5, "symphiq-pacing-status-badge",
|
|
54991
|
+
i0.ɵɵelement(5, "symphiq-pacing-status-badge", 18);
|
|
54982
54992
|
i0.ɵɵelementEnd();
|
|
54983
54993
|
} if (rf & 2) {
|
|
54984
54994
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
@@ -54994,25 +55004,25 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_Template(rf, c
|
|
|
54994
55004
|
i0.ɵɵadvance();
|
|
54995
55005
|
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", stage_r1.pacingInfo.pacingPercentage)("status", stage_r1.pacingInfo.status)("showAsFullText", true)("showEmphasizedPercentage", true);
|
|
54996
55006
|
} }
|
|
54997
|
-
function
|
|
54998
|
-
i0.ɵɵelementStart(0, "button",
|
|
55007
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_26_For_6_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
55008
|
+
i0.ɵɵelementStart(0, "button", 26);
|
|
54999
55009
|
i0.ɵɵnamespaceSVG();
|
|
55000
|
-
i0.ɵɵelementStart(1, "svg",
|
|
55001
|
-
i0.ɵɵelement(2, "path",
|
|
55010
|
+
i0.ɵɵelementStart(1, "svg", 35);
|
|
55011
|
+
i0.ɵɵelement(2, "path", 17);
|
|
55002
55012
|
i0.ɵɵelementEnd()();
|
|
55003
55013
|
} if (rf & 2) {
|
|
55004
55014
|
const metric_r3 = i0.ɵɵnextContext().$implicit;
|
|
55005
55015
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
55006
55016
|
i0.ɵɵproperty("ngClass", ctx_r1.infoIconClasses())("libSymphiqTooltip", ctx_r1.getMarkdownTooltipContent(metric_r3.calc.description, ctx_r1.getMetricTitle(metric_r3.calc)));
|
|
55007
55017
|
} }
|
|
55008
|
-
function
|
|
55009
|
-
i0.ɵɵelementStart(0, "div")(1, "p",
|
|
55018
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_26_For_6_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
55019
|
+
i0.ɵɵelementStart(0, "div")(1, "p", 28);
|
|
55010
55020
|
i0.ɵɵtext(2);
|
|
55011
55021
|
i0.ɵɵelementEnd();
|
|
55012
|
-
i0.ɵɵelementStart(3, "p",
|
|
55022
|
+
i0.ɵɵelementStart(3, "p", 30);
|
|
55013
55023
|
i0.ɵɵtext(4);
|
|
55014
55024
|
i0.ɵɵelementEnd();
|
|
55015
|
-
i0.ɵɵelement(5, "symphiq-pacing-status-badge",
|
|
55025
|
+
i0.ɵɵelement(5, "symphiq-pacing-status-badge", 36);
|
|
55016
55026
|
i0.ɵɵelementEnd();
|
|
55017
55027
|
} if (rf & 2) {
|
|
55018
55028
|
const metric_r3 = i0.ɵɵnextContext().$implicit;
|
|
@@ -55028,31 +55038,33 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Conditio
|
|
|
55028
55038
|
i0.ɵɵadvance();
|
|
55029
55039
|
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", metric_r3.pacingInfo.pacingPercentage)("status", metric_r3.pacingInfo.status)("showAsFullText", true)("isCompact", true)("showEmphasizedPercentage", true);
|
|
55030
55040
|
} }
|
|
55031
|
-
function
|
|
55032
|
-
i0.ɵɵelementStart(0, "div",
|
|
55041
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_26_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
55042
|
+
i0.ɵɵelementStart(0, "div", 23)(1, "div", 24)(2, "p", 25);
|
|
55033
55043
|
i0.ɵɵtext(3);
|
|
55034
55044
|
i0.ɵɵelementEnd();
|
|
55035
|
-
i0.ɵɵconditionalCreate(4,
|
|
55045
|
+
i0.ɵɵconditionalCreate(4, FunnelMetricsVisualizationComponent_For_4_Conditional_26_For_6_Conditional_4_Template, 3, 2, "button", 26);
|
|
55036
55046
|
i0.ɵɵelementEnd();
|
|
55037
|
-
i0.ɵɵelementStart(5, "div",
|
|
55047
|
+
i0.ɵɵelementStart(5, "div", 27)(6, "div")(7, "p", 28);
|
|
55038
55048
|
i0.ɵɵtext(8);
|
|
55039
55049
|
i0.ɵɵelementEnd();
|
|
55040
|
-
i0.ɵɵelementStart(9, "p",
|
|
55050
|
+
i0.ɵɵelementStart(9, "p", 29);
|
|
55041
55051
|
i0.ɵɵtext(10);
|
|
55042
55052
|
i0.ɵɵelementEnd()();
|
|
55043
|
-
i0.ɵɵelementStart(11, "div")(12, "p",
|
|
55053
|
+
i0.ɵɵelementStart(11, "div")(12, "p", 28);
|
|
55044
55054
|
i0.ɵɵtext(13);
|
|
55045
55055
|
i0.ɵɵelementEnd();
|
|
55046
|
-
i0.ɵɵelementStart(14, "p",
|
|
55056
|
+
i0.ɵɵelementStart(14, "p", 30);
|
|
55047
55057
|
i0.ɵɵtext(15);
|
|
55048
55058
|
i0.ɵɵelementEnd();
|
|
55049
|
-
i0.ɵɵelementStart(16, "div",
|
|
55050
|
-
i0.ɵɵtext(
|
|
55059
|
+
i0.ɵɵelementStart(16, "div", 31)(17, "div", 32)(18, "span", 33);
|
|
55060
|
+
i0.ɵɵtext(19);
|
|
55051
55061
|
i0.ɵɵelementEnd();
|
|
55052
|
-
i0.ɵɵelementStart(19, "div", 31);
|
|
55053
55062
|
i0.ɵɵtext(20);
|
|
55063
|
+
i0.ɵɵelementEnd();
|
|
55064
|
+
i0.ɵɵelementStart(21, "div", 34);
|
|
55065
|
+
i0.ɵɵtext(22);
|
|
55054
55066
|
i0.ɵɵelementEnd()()();
|
|
55055
|
-
i0.ɵɵconditionalCreate(
|
|
55067
|
+
i0.ɵɵconditionalCreate(23, FunnelMetricsVisualizationComponent_For_4_Conditional_26_For_6_Conditional_23_Template, 6, 10, "div");
|
|
55056
55068
|
i0.ɵɵelementEnd()();
|
|
55057
55069
|
} if (rf & 2) {
|
|
55058
55070
|
const metric_r3 = ctx.$implicit;
|
|
@@ -55080,24 +55092,26 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Template
|
|
|
55080
55092
|
i0.ɵɵproperty("ngClass", ctx_r1.relatedTargetValueClasses());
|
|
55081
55093
|
i0.ɵɵadvance();
|
|
55082
55094
|
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
55095
|
i0.ɵɵadvance();
|
|
55086
|
-
i0.ɵɵ
|
|
55096
|
+
i0.ɵɵproperty("ngClass", ctx_r1.relatedContainerBadgeClasses());
|
|
55087
55097
|
i0.ɵɵadvance();
|
|
55088
|
-
i0.ɵɵproperty("ngClass", ctx_r1.
|
|
55098
|
+
i0.ɵɵproperty("ngClass", ctx_r1.overlayBadgeClasses(metric_r3.calc.percentageIncrease, metric_r3.calc.metric, true));
|
|
55099
|
+
i0.ɵɵadvance(2);
|
|
55100
|
+
i0.ɵɵtextInterpolate(ctx_r1.getGrowthIconSymbol(metric_r3.calc.percentageIncrease));
|
|
55089
55101
|
i0.ɵɵadvance();
|
|
55102
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getPercentageOnly(metric_r3.calc.percentageIncrease, metric_r3.calc.metric), " ");
|
|
55103
|
+
i0.ɵɵadvance(2);
|
|
55090
55104
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.getDescriptionOnly(metric_r3.calc.percentageIncrease, metric_r3.calc.metric), " ");
|
|
55091
55105
|
i0.ɵɵadvance();
|
|
55092
|
-
i0.ɵɵconditional(metric_r3.pacingInfo ?
|
|
55106
|
+
i0.ɵɵconditional(metric_r3.pacingInfo ? 23 : -1);
|
|
55093
55107
|
} }
|
|
55094
|
-
function
|
|
55095
|
-
i0.ɵɵelement(0, "div",
|
|
55096
|
-
i0.ɵɵelementStart(1, "div",
|
|
55108
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
55109
|
+
i0.ɵɵelement(0, "div", 19);
|
|
55110
|
+
i0.ɵɵelementStart(1, "div", 20)(2, "p", 21);
|
|
55097
55111
|
i0.ɵɵtext(3, " Related Metrics ");
|
|
55098
55112
|
i0.ɵɵelementEnd();
|
|
55099
|
-
i0.ɵɵelementStart(4, "div",
|
|
55100
|
-
i0.ɵɵrepeaterCreate(5,
|
|
55113
|
+
i0.ɵɵelementStart(4, "div", 22);
|
|
55114
|
+
i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_26_For_6_Template, 24, 18, "div", 23, _forTrack1$3);
|
|
55101
55115
|
i0.ɵɵelementEnd()();
|
|
55102
55116
|
} if (rf & 2) {
|
|
55103
55117
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
@@ -55126,15 +55140,17 @@ function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf &
|
|
|
55126
55140
|
i0.ɵɵelementStart(16, "p", 11);
|
|
55127
55141
|
i0.ɵɵtext(17);
|
|
55128
55142
|
i0.ɵɵelementEnd();
|
|
55129
|
-
i0.ɵɵelementStart(18, "div", 12)(19, "div", 13);
|
|
55130
|
-
i0.ɵɵtext(
|
|
55143
|
+
i0.ɵɵelementStart(18, "div", 12)(19, "div", 13)(20, "span", 14);
|
|
55144
|
+
i0.ɵɵtext(21);
|
|
55131
55145
|
i0.ɵɵelementEnd();
|
|
55132
|
-
i0.ɵɵelementStart(21, "div", 14);
|
|
55133
55146
|
i0.ɵɵtext(22);
|
|
55147
|
+
i0.ɵɵelementEnd();
|
|
55148
|
+
i0.ɵɵelementStart(23, "div", 15);
|
|
55149
|
+
i0.ɵɵtext(24);
|
|
55134
55150
|
i0.ɵɵelementEnd()()();
|
|
55135
|
-
i0.ɵɵconditionalCreate(
|
|
55151
|
+
i0.ɵɵconditionalCreate(25, FunnelMetricsVisualizationComponent_For_4_Conditional_25_Template, 6, 9, "div");
|
|
55136
55152
|
i0.ɵɵelementEnd();
|
|
55137
|
-
i0.ɵɵconditionalCreate(
|
|
55153
|
+
i0.ɵɵconditionalCreate(26, FunnelMetricsVisualizationComponent_For_4_Conditional_26_Template, 7, 2);
|
|
55138
55154
|
i0.ɵɵelementEnd();
|
|
55139
55155
|
} if (rf & 2) {
|
|
55140
55156
|
const stage_r1 = ctx.$implicit;
|
|
@@ -55162,18 +55178,20 @@ function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf &
|
|
|
55162
55178
|
i0.ɵɵproperty("ngClass", ctx_r1.targetValueClasses());
|
|
55163
55179
|
i0.ɵɵadvance();
|
|
55164
55180
|
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
55181
|
i0.ɵɵadvance();
|
|
55168
|
-
i0.ɵɵ
|
|
55182
|
+
i0.ɵɵproperty("ngClass", ctx_r1.containerBadgeClasses());
|
|
55169
55183
|
i0.ɵɵadvance();
|
|
55170
|
-
i0.ɵɵproperty("ngClass", ctx_r1.
|
|
55184
|
+
i0.ɵɵproperty("ngClass", ctx_r1.overlayBadgeClasses(stage_r1.stageMetric.percentageIncrease, stage_r1.stageMetric.metric));
|
|
55185
|
+
i0.ɵɵadvance(2);
|
|
55186
|
+
i0.ɵɵtextInterpolate(ctx_r1.getGrowthIconSymbol(stage_r1.stageMetric.percentageIncrease));
|
|
55171
55187
|
i0.ɵɵadvance();
|
|
55188
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.getPercentageOnly(stage_r1.stageMetric.percentageIncrease, stage_r1.stageMetric.metric), " ");
|
|
55189
|
+
i0.ɵɵadvance(2);
|
|
55172
55190
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.getDescriptionOnly(stage_r1.stageMetric.percentageIncrease, stage_r1.stageMetric.metric), " ");
|
|
55173
55191
|
i0.ɵɵadvance();
|
|
55174
|
-
i0.ɵɵconditional(stage_r1.pacingInfo ?
|
|
55192
|
+
i0.ɵɵconditional(stage_r1.pacingInfo ? 25 : -1);
|
|
55175
55193
|
i0.ɵɵadvance();
|
|
55176
|
-
i0.ɵɵconditional(stage_r1.relatedMetrics.length > 0 ?
|
|
55194
|
+
i0.ɵɵconditional(stage_r1.relatedMetrics.length > 0 ? 26 : -1);
|
|
55177
55195
|
} }
|
|
55178
55196
|
class FunnelMetricsVisualizationComponent {
|
|
55179
55197
|
constructor() {
|
|
@@ -55233,6 +55251,16 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55233
55251
|
? 'text-slate-300'
|
|
55234
55252
|
: 'text-slate-600';
|
|
55235
55253
|
}
|
|
55254
|
+
containerBadgeClasses() {
|
|
55255
|
+
return this.viewMode() === ViewModeEnum.DARK
|
|
55256
|
+
? 'bg-purple-500/30 border-purple-400/30'
|
|
55257
|
+
: 'bg-purple-100 border-purple-300';
|
|
55258
|
+
}
|
|
55259
|
+
relatedContainerBadgeClasses() {
|
|
55260
|
+
return this.viewMode() === ViewModeEnum.DARK
|
|
55261
|
+
? 'bg-purple-800/60 border-purple-700/50'
|
|
55262
|
+
: 'bg-purple-50 border-purple-200';
|
|
55263
|
+
}
|
|
55236
55264
|
percentageBadgeClasses() {
|
|
55237
55265
|
return this.viewMode() === ViewModeEnum.DARK
|
|
55238
55266
|
? 'bg-purple-500/30 text-purple-200 border border-purple-400/30'
|
|
@@ -55356,12 +55384,19 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55356
55384
|
getGrowthSign(metric) {
|
|
55357
55385
|
return MetricEnumUtil.increaseBad(metric) ? '-' : '+';
|
|
55358
55386
|
}
|
|
55387
|
+
getGrowthIconSymbol(percentageIncrease) {
|
|
55388
|
+
if (percentageIncrease > 0)
|
|
55389
|
+
return '↗';
|
|
55390
|
+
if (percentageIncrease < 0)
|
|
55391
|
+
return '↘';
|
|
55392
|
+
return '→';
|
|
55393
|
+
}
|
|
55359
55394
|
static { this.ɵfac = function FunnelMetricsVisualizationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FunnelMetricsVisualizationComponent)(); }; }
|
|
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-
|
|
55395
|
+
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-row", "items-center", "rounded-lg", "border", 3, "ngClass"], [1, "px-2.5", "py-0.5", "rounded-md", "font-extrabold", "text-sm", "tracking-tight", "border-2", "shadow-lg", "transition-all", "duration-200", "-my-1", "-mr-1", "z-10", "inline-flex", "items-center", "gap-1", 3, "ngClass"], [1, "text-sm"], [1, "px-3", "py-1.5", "font-semibold", "text-xs", "inline-block"], ["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, "inline-flex", "flex-row", "items-center", "rounded", "border", 3, "ngClass"], [1, "px-2", "py-0.5", "rounded", "text-xs", "font-extrabold", "tracking-tight", "border", "shadow-md", "transition-all", "duration-200", "-my-0.5", "-mr-1", "z-10", "inline-flex", "items-center", "gap-0.5", 3, "ngClass"], [1, "text-xs"], [1, "px-2.5", "py-1", "text-xs", "font-semibold", "inline-block"], ["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) {
|
|
55361
55396
|
i0.ɵɵelementStart(0, "div", 0);
|
|
55362
55397
|
i0.ɵɵelement(1, "symphiq-tooltip-container");
|
|
55363
55398
|
i0.ɵɵelementStart(2, "div", 1);
|
|
55364
|
-
i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template,
|
|
55399
|
+
i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 27, 19, "div", 2, _forTrack0$i);
|
|
55365
55400
|
i0.ɵɵelementEnd()();
|
|
55366
55401
|
} if (rf & 2) {
|
|
55367
55402
|
i0.ɵɵadvance(3);
|
|
@@ -55420,12 +55455,13 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55420
55455
|
<p [ngClass]="targetValueClasses()" class="text-2xl font-bold mb-3">
|
|
55421
55456
|
{{ formatMetricValue(stage.stageMetric.targetValue, stage.stageMetric.metric, false) }}
|
|
55422
55457
|
</p>
|
|
55423
|
-
<div class="inline-flex flex-
|
|
55458
|
+
<div [ngClass]="containerBadgeClasses()" class="inline-flex flex-row items-center rounded-lg border">
|
|
55424
55459
|
<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 -
|
|
55460
|
+
class="px-2.5 py-0.5 rounded-md font-extrabold text-sm tracking-tight border-2 shadow-lg transition-all duration-200 -my-1 -mr-1 z-10 inline-flex items-center gap-1">
|
|
55461
|
+
<span class="text-sm">{{ getGrowthIconSymbol(stage.stageMetric.percentageIncrease) }}</span>
|
|
55426
55462
|
{{ getPercentageOnly(stage.stageMetric.percentageIncrease, stage.stageMetric.metric) }}
|
|
55427
55463
|
</div>
|
|
55428
|
-
<div
|
|
55464
|
+
<div class="px-3 py-1.5 font-semibold text-xs inline-block">
|
|
55429
55465
|
{{ getDescriptionOnly(stage.stageMetric.percentageIncrease, stage.stageMetric.metric) }}
|
|
55430
55466
|
</div>
|
|
55431
55467
|
</div>
|
|
@@ -55493,12 +55529,13 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55493
55529
|
<p [ngClass]="relatedTargetValueClasses()" class="text-lg font-bold mb-2">
|
|
55494
55530
|
{{ formatMetricValue(metric.calc.targetValue, metric.calc.metric, false) }}
|
|
55495
55531
|
</p>
|
|
55496
|
-
<div class="inline-flex flex-
|
|
55532
|
+
<div [ngClass]="relatedContainerBadgeClasses()" class="inline-flex flex-row items-center rounded border">
|
|
55497
55533
|
<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 -
|
|
55534
|
+
class="px-2 py-0.5 rounded text-xs font-extrabold tracking-tight border shadow-md transition-all duration-200 -my-0.5 -mr-1 z-10 inline-flex items-center gap-0.5">
|
|
55535
|
+
<span class="text-xs">{{ getGrowthIconSymbol(metric.calc.percentageIncrease) }}</span>
|
|
55499
55536
|
{{ getPercentageOnly(metric.calc.percentageIncrease, metric.calc.metric) }}
|
|
55500
55537
|
</div>
|
|
55501
|
-
<div
|
|
55538
|
+
<div class="px-2.5 py-1 text-xs font-semibold inline-block">
|
|
55502
55539
|
{{ getDescriptionOnly(metric.calc.percentageIncrease, metric.calc.metric) }}
|
|
55503
55540
|
</div>
|
|
55504
55541
|
</div>
|
|
@@ -55534,7 +55571,7 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55534
55571
|
`
|
|
55535
55572
|
}]
|
|
55536
55573
|
}], 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 }] }] }); })();
|
|
55537
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber:
|
|
55574
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 176 }); })();
|
|
55538
55575
|
|
|
55539
55576
|
function StickySubmitBarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
55540
55577
|
i0.ɵɵelementStart(0, "div", 4);
|