@eric-emg/symphiq-components 1.2.230 → 1.2.232
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 +388 -299
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +65 -8
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/styles.css +41 -9
|
@@ -54795,34 +54795,35 @@ 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",
|
|
54799
|
-
i0.ɵɵtext(
|
|
54798
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "div", 1)(2, "span", 1);
|
|
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.ɵɵclassMap(ctx_r0.containerSizeClasses());
|
|
54809
|
+
i0.ɵɵproperty("ngClass", ctx_r0.containerClasses());
|
|
54809
54810
|
i0.ɵɵadvance();
|
|
54811
|
+
i0.ɵɵclassMap(ctx_r0.overlaySizeClasses());
|
|
54810
54812
|
i0.ɵɵproperty("ngClass", ctx_r0.overlayBadgeClasses());
|
|
54811
54813
|
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
54814
|
i0.ɵɵclassMap(ctx_r0.iconSizeClasses());
|
|
54818
54815
|
i0.ɵɵproperty("ngClass", ctx_r0.iconClasses());
|
|
54819
54816
|
i0.ɵɵadvance();
|
|
54820
54817
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.iconSymbol(), " ");
|
|
54818
|
+
i0.ɵɵadvance();
|
|
54819
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.extractPercentage(), " ");
|
|
54820
|
+
i0.ɵɵadvance();
|
|
54821
|
+
i0.ɵɵclassMap(ctx_r0.sizeClasses());
|
|
54821
54822
|
i0.ɵɵadvance(2);
|
|
54822
54823
|
i0.ɵɵtextInterpolate(ctx_r0.displayTextWithoutPercentage());
|
|
54823
54824
|
} }
|
|
54824
54825
|
function PacingStatusBadgeComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
54825
|
-
i0.ɵɵelementStart(0, "div",
|
|
54826
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "span", 1);
|
|
54826
54827
|
i0.ɵɵtext(2);
|
|
54827
54828
|
i0.ɵɵelementEnd();
|
|
54828
54829
|
i0.ɵɵelementStart(3, "span");
|
|
@@ -54830,7 +54831,7 @@ function PacingStatusBadgeComponent_Conditional_1_Template(rf, ctx) { if (rf & 1
|
|
|
54830
54831
|
i0.ɵɵelementEnd()();
|
|
54831
54832
|
} if (rf & 2) {
|
|
54832
54833
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
54833
|
-
i0.ɵɵclassMap(ctx_r0.
|
|
54834
|
+
i0.ɵɵclassMap(ctx_r0.fullBadgeSizeClasses());
|
|
54834
54835
|
i0.ɵɵproperty("ngClass", ctx_r0.badgeClasses());
|
|
54835
54836
|
i0.ɵɵadvance();
|
|
54836
54837
|
i0.ɵɵclassMap(ctx_r0.iconSizeClasses());
|
|
@@ -54852,18 +54853,36 @@ class PacingStatusBadgeComponent {
|
|
|
54852
54853
|
const isDark = this.viewMode() === ViewModeEnum.DARK;
|
|
54853
54854
|
return getPacingDisplayInfo(this.pacingPercentage(), this.status(), isDark);
|
|
54854
54855
|
}, ...(ngDevMode ? [{ debugName: "displayInfo" }] : []));
|
|
54856
|
+
this.containerClasses = computed(() => {
|
|
54857
|
+
const info = this.displayInfo();
|
|
54858
|
+
return `${info.bgClass} ${info.borderClass} border`;
|
|
54859
|
+
}, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
|
|
54860
|
+
this.containerSizeClasses = computed(() => {
|
|
54861
|
+
const compact = this.isCompact();
|
|
54862
|
+
return compact
|
|
54863
|
+
? 'inline-flex flex-row items-center rounded-full pl-1.5 overflow-visible'
|
|
54864
|
+
: 'inline-flex flex-row items-center rounded-full pl-2 overflow-visible';
|
|
54865
|
+
}, ...(ngDevMode ? [{ debugName: "containerSizeClasses" }] : []));
|
|
54855
54866
|
this.badgeClasses = computed(() => {
|
|
54856
54867
|
const info = this.displayInfo();
|
|
54857
54868
|
return `${info.bgClass} ${info.colorClass} ${info.borderClass}`;
|
|
54858
54869
|
}, ...(ngDevMode ? [{ debugName: "badgeClasses" }] : []));
|
|
54859
54870
|
this.sizeClasses = computed(() => {
|
|
54871
|
+
const isCompact = this.isCompact();
|
|
54872
|
+
const baseClasses = 'inline-flex items-center gap-1.5 font-semibold transition-all';
|
|
54873
|
+
if (isCompact) {
|
|
54874
|
+
return `${baseClasses} px-2.5 py-0.5 text-xs`;
|
|
54875
|
+
}
|
|
54876
|
+
return `${baseClasses} px-3 py-0.5 text-xs`;
|
|
54877
|
+
}, ...(ngDevMode ? [{ debugName: "sizeClasses" }] : []));
|
|
54878
|
+
this.fullBadgeSizeClasses = computed(() => {
|
|
54860
54879
|
const isCompact = this.isCompact();
|
|
54861
54880
|
const baseClasses = 'inline-flex items-center gap-1.5 rounded-lg border font-semibold transition-all';
|
|
54862
54881
|
if (isCompact) {
|
|
54863
54882
|
return `${baseClasses} px-2.5 py-1 text-xs`;
|
|
54864
54883
|
}
|
|
54865
54884
|
return `${baseClasses} px-3 py-1.5 text-xs`;
|
|
54866
|
-
}, ...(ngDevMode ? [{ debugName: "
|
|
54885
|
+
}, ...(ngDevMode ? [{ debugName: "fullBadgeSizeClasses" }] : []));
|
|
54867
54886
|
this.iconClasses = computed(() => {
|
|
54868
54887
|
return this.displayInfo().colorClass;
|
|
54869
54888
|
}, ...(ngDevMode ? [{ debugName: "iconClasses" }] : []));
|
|
@@ -54905,15 +54924,32 @@ class PacingStatusBadgeComponent {
|
|
|
54905
54924
|
return textWithoutPercentage;
|
|
54906
54925
|
}, ...(ngDevMode ? [{ debugName: "displayTextWithoutPercentage" }] : []));
|
|
54907
54926
|
this.overlayBadgeClasses = computed(() => {
|
|
54908
|
-
const
|
|
54909
|
-
const
|
|
54910
|
-
|
|
54911
|
-
|
|
54927
|
+
const status = this.status();
|
|
54928
|
+
const isDark = this.viewMode() === ViewModeEnum.DARK;
|
|
54929
|
+
if (status === 'ahead') {
|
|
54930
|
+
return isDark
|
|
54931
|
+
? 'bg-gradient-to-r from-emerald-700 to-emerald-600 text-emerald-100 border-emerald-500'
|
|
54932
|
+
: 'bg-gradient-to-r from-emerald-600 to-emerald-500 text-white border-emerald-400';
|
|
54933
|
+
}
|
|
54934
|
+
if (status === 'on-pace') {
|
|
54935
|
+
return isDark
|
|
54936
|
+
? 'bg-gradient-to-r from-amber-700 to-amber-600 text-amber-100 border-amber-500'
|
|
54937
|
+
: 'bg-gradient-to-r from-amber-600 to-amber-500 text-white border-amber-400';
|
|
54938
|
+
}
|
|
54939
|
+
return isDark
|
|
54940
|
+
? 'bg-gradient-to-r from-red-700 to-red-600 text-red-100 border-red-500'
|
|
54941
|
+
: 'bg-gradient-to-r from-red-600 to-red-500 text-white border-red-400';
|
|
54912
54942
|
}, ...(ngDevMode ? [{ debugName: "overlayBadgeClasses" }] : []));
|
|
54943
|
+
this.overlaySizeClasses = computed(() => {
|
|
54944
|
+
const compact = this.isCompact();
|
|
54945
|
+
return compact
|
|
54946
|
+
? 'px-2 py-1.5 rounded text-sm font-extrabold tracking-tight border shadow-md transition-all duration-200 -my-1 -mr-1 z-10 inline-flex items-center gap-0.5'
|
|
54947
|
+
: 'px-2.5 py-2 rounded-md text-sm font-extrabold tracking-tight border-2 shadow-lg transition-all duration-200 -my-1.5 -mr-1 z-10 inline-flex items-center gap-1';
|
|
54948
|
+
}, ...(ngDevMode ? [{ debugName: "overlaySizeClasses" }] : []));
|
|
54913
54949
|
}
|
|
54914
54950
|
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: [[
|
|
54916
|
-
i0.ɵɵconditionalCreate(0, PacingStatusBadgeComponent_Conditional_0_Template, 8,
|
|
54951
|
+
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: [[3, "ngClass", "class"], [3, "ngClass"]], template: function PacingStatusBadgeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
54952
|
+
i0.ɵɵconditionalCreate(0, PacingStatusBadgeComponent_Conditional_0_Template, 8, 14, "div", 0)(1, PacingStatusBadgeComponent_Conditional_1_Template, 5, 8, "div", 0);
|
|
54917
54953
|
} if (rf & 2) {
|
|
54918
54954
|
i0.ɵɵconditional(ctx.showEmphasizedPercentage() && ctx.hasPercentage() ? 0 : 1);
|
|
54919
54955
|
} }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
|
|
@@ -54925,60 +54961,173 @@ class PacingStatusBadgeComponent {
|
|
|
54925
54961
|
standalone: true,
|
|
54926
54962
|
imports: [CommonModule],
|
|
54927
54963
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
54928
|
-
template: `
|
|
54929
|
-
@if (showEmphasizedPercentage() && hasPercentage()) {
|
|
54930
|
-
<div
|
|
54931
|
-
<div [ngClass]="overlayBadgeClasses()"
|
|
54932
|
-
|
|
54933
|
-
|
|
54934
|
-
|
|
54935
|
-
|
|
54936
|
-
|
|
54937
|
-
|
|
54938
|
-
|
|
54939
|
-
|
|
54940
|
-
|
|
54941
|
-
|
|
54942
|
-
|
|
54943
|
-
|
|
54944
|
-
|
|
54945
|
-
|
|
54946
|
-
|
|
54947
|
-
|
|
54948
|
-
[class]="
|
|
54949
|
-
|
|
54950
|
-
|
|
54951
|
-
|
|
54952
|
-
|
|
54953
|
-
|
|
54954
|
-
</div>
|
|
54955
|
-
}
|
|
54964
|
+
template: `
|
|
54965
|
+
@if (showEmphasizedPercentage() && hasPercentage()) {
|
|
54966
|
+
<div [ngClass]="containerClasses()" [class]="containerSizeClasses()">
|
|
54967
|
+
<div [ngClass]="overlayBadgeClasses()" [class]="overlaySizeClasses()">
|
|
54968
|
+
<span [ngClass]="iconClasses()" [class]="iconSizeClasses()">
|
|
54969
|
+
{{ iconSymbol() }}
|
|
54970
|
+
</span>
|
|
54971
|
+
{{ extractPercentage() }}
|
|
54972
|
+
</div>
|
|
54973
|
+
<div
|
|
54974
|
+
[class]="sizeClasses()"
|
|
54975
|
+
>
|
|
54976
|
+
<span>{{ displayTextWithoutPercentage() }}</span>
|
|
54977
|
+
</div>
|
|
54978
|
+
</div>
|
|
54979
|
+
} @else {
|
|
54980
|
+
<div
|
|
54981
|
+
[ngClass]="badgeClasses()"
|
|
54982
|
+
[class]="fullBadgeSizeClasses()"
|
|
54983
|
+
>
|
|
54984
|
+
<span [ngClass]="iconClasses()" [class]="iconSizeClasses()">
|
|
54985
|
+
{{ iconSymbol() }}
|
|
54986
|
+
</span>
|
|
54987
|
+
<span>{{ displayText() }}</span>
|
|
54988
|
+
</div>
|
|
54989
|
+
}
|
|
54956
54990
|
`
|
|
54957
54991
|
}]
|
|
54958
54992
|
}], 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:
|
|
54993
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PacingStatusBadgeComponent, { className: "PacingStatusBadgeComponent", filePath: "lib/components/revenue-calculator-dashboard/pacing-status-badge.component.ts", lineNumber: 39 }); })();
|
|
54994
|
+
|
|
54995
|
+
class TargetChangeBadgeComponent {
|
|
54996
|
+
constructor() {
|
|
54997
|
+
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
54998
|
+
this.percentageChange = input(0, ...(ngDevMode ? [{ debugName: "percentageChange" }] : []));
|
|
54999
|
+
this.metric = input('', ...(ngDevMode ? [{ debugName: "metric" }] : []));
|
|
55000
|
+
this.priorYear = input(new Date().getFullYear() - 1, ...(ngDevMode ? [{ debugName: "priorYear" }] : []));
|
|
55001
|
+
this.isCompact = input(false, ...(ngDevMode ? [{ debugName: "isCompact" }] : []));
|
|
55002
|
+
this.isDark = computed(() => this.viewMode() === ViewModeEnum.DARK, ...(ngDevMode ? [{ debugName: "isDark" }] : []));
|
|
55003
|
+
this.isIncreaseBad = computed(() => {
|
|
55004
|
+
const metricStr = this.metric();
|
|
55005
|
+
if (!metricStr)
|
|
55006
|
+
return false;
|
|
55007
|
+
return MetricEnumUtil.increaseBad(metricStr);
|
|
55008
|
+
}, ...(ngDevMode ? [{ debugName: "isIncreaseBad" }] : []));
|
|
55009
|
+
this.iconSymbol = computed(() => {
|
|
55010
|
+
const change = this.percentageChange();
|
|
55011
|
+
if (change > 0)
|
|
55012
|
+
return '↗';
|
|
55013
|
+
if (change < 0)
|
|
55014
|
+
return '↘';
|
|
55015
|
+
return '→';
|
|
55016
|
+
}, ...(ngDevMode ? [{ debugName: "iconSymbol" }] : []));
|
|
55017
|
+
this.percentageText = computed(() => {
|
|
55018
|
+
const sign = this.isIncreaseBad() ? '' : '+';
|
|
55019
|
+
const absValue = Math.abs(this.percentageChange());
|
|
55020
|
+
return `${sign}${formatPercentage(absValue, 1)}`;
|
|
55021
|
+
}, ...(ngDevMode ? [{ debugName: "percentageText" }] : []));
|
|
55022
|
+
this.descriptionText = computed(() => {
|
|
55023
|
+
const action = this.isIncreaseBad() ? 'decrease from' : 'increase over';
|
|
55024
|
+
return `${action} ${this.priorYear()}`;
|
|
55025
|
+
}, ...(ngDevMode ? [{ debugName: "descriptionText" }] : []));
|
|
55026
|
+
this.containerClasses = computed(() => {
|
|
55027
|
+
const dark = this.isDark();
|
|
55028
|
+
return dark
|
|
55029
|
+
? 'bg-purple-500/30 border-purple-400/30'
|
|
55030
|
+
: 'bg-purple-100 border-purple-300';
|
|
55031
|
+
}, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
|
|
55032
|
+
this.containerSizeClasses = computed(() => {
|
|
55033
|
+
const compact = this.isCompact();
|
|
55034
|
+
return compact
|
|
55035
|
+
? 'inline-flex flex-row items-center rounded-full border pl-1.5 overflow-visible'
|
|
55036
|
+
: 'inline-flex flex-row items-center rounded-full border pl-2 overflow-visible';
|
|
55037
|
+
}, ...(ngDevMode ? [{ debugName: "containerSizeClasses" }] : []));
|
|
55038
|
+
this.overlayClasses = computed(() => {
|
|
55039
|
+
const dark = this.isDark();
|
|
55040
|
+
return dark
|
|
55041
|
+
? 'bg-gradient-to-r from-purple-700 to-purple-600 text-purple-100 border-purple-500'
|
|
55042
|
+
: 'bg-gradient-to-r from-purple-600 to-purple-500 text-white border-purple-400';
|
|
55043
|
+
}, ...(ngDevMode ? [{ debugName: "overlayClasses" }] : []));
|
|
55044
|
+
this.overlaySizeClasses = computed(() => {
|
|
55045
|
+
const compact = this.isCompact();
|
|
55046
|
+
return compact
|
|
55047
|
+
? 'px-2 py-1.5 rounded text-sm font-extrabold tracking-tight border shadow-md transition-all duration-200 -my-1 -mr-1 z-10 inline-flex items-center gap-0.5'
|
|
55048
|
+
: 'px-2.5 py-2 rounded-md font-extrabold text-base tracking-tight border-2 shadow-lg transition-all duration-200 -my-1.5 -mr-1 z-10 inline-flex items-center gap-1';
|
|
55049
|
+
}, ...(ngDevMode ? [{ debugName: "overlaySizeClasses" }] : []));
|
|
55050
|
+
this.iconSizeClass = computed(() => {
|
|
55051
|
+
return this.isCompact() ? 'text-sm' : 'text-base';
|
|
55052
|
+
}, ...(ngDevMode ? [{ debugName: "iconSizeClass" }] : []));
|
|
55053
|
+
this.descriptionSizeClasses = computed(() => {
|
|
55054
|
+
const compact = this.isCompact();
|
|
55055
|
+
return compact
|
|
55056
|
+
? 'px-2.5 py-0.5 text-xs font-semibold inline-block'
|
|
55057
|
+
: 'px-3 py-0.5 font-semibold text-xs inline-block';
|
|
55058
|
+
}, ...(ngDevMode ? [{ debugName: "descriptionSizeClasses" }] : []));
|
|
55059
|
+
}
|
|
55060
|
+
static { this.ɵfac = function TargetChangeBadgeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TargetChangeBadgeComponent)(); }; }
|
|
55061
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TargetChangeBadgeComponent, selectors: [["symphiq-target-change-badge"]], inputs: { viewMode: [1, "viewMode"], percentageChange: [1, "percentageChange"], metric: [1, "metric"], priorYear: [1, "priorYear"], isCompact: [1, "isCompact"] }, decls: 7, vars: 13, consts: [[3, "ngClass"]], template: function TargetChangeBadgeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
55062
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 0)(2, "span");
|
|
55063
|
+
i0.ɵɵtext(3);
|
|
55064
|
+
i0.ɵɵelementEnd();
|
|
55065
|
+
i0.ɵɵtext(4);
|
|
55066
|
+
i0.ɵɵelementEnd();
|
|
55067
|
+
i0.ɵɵelementStart(5, "div");
|
|
55068
|
+
i0.ɵɵtext(6);
|
|
55069
|
+
i0.ɵɵelementEnd()();
|
|
55070
|
+
} if (rf & 2) {
|
|
55071
|
+
i0.ɵɵclassMap(ctx.containerSizeClasses());
|
|
55072
|
+
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
55073
|
+
i0.ɵɵadvance();
|
|
55074
|
+
i0.ɵɵclassMap(ctx.overlaySizeClasses());
|
|
55075
|
+
i0.ɵɵproperty("ngClass", ctx.overlayClasses());
|
|
55076
|
+
i0.ɵɵadvance();
|
|
55077
|
+
i0.ɵɵclassMap(ctx.iconSizeClass());
|
|
55078
|
+
i0.ɵɵadvance();
|
|
55079
|
+
i0.ɵɵtextInterpolate(ctx.iconSymbol());
|
|
55080
|
+
i0.ɵɵadvance();
|
|
55081
|
+
i0.ɵɵtextInterpolate1(" ", ctx.percentageText(), " ");
|
|
55082
|
+
i0.ɵɵadvance();
|
|
55083
|
+
i0.ɵɵclassMap(ctx.descriptionSizeClasses());
|
|
55084
|
+
i0.ɵɵadvance();
|
|
55085
|
+
i0.ɵɵtextInterpolate1(" ", ctx.descriptionText(), " ");
|
|
55086
|
+
} }, dependencies: [CommonModule, i1$1.NgClass], encapsulation: 2, changeDetection: 0 }); }
|
|
55087
|
+
}
|
|
55088
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TargetChangeBadgeComponent, [{
|
|
55089
|
+
type: Component,
|
|
55090
|
+
args: [{
|
|
55091
|
+
selector: 'symphiq-target-change-badge',
|
|
55092
|
+
standalone: true,
|
|
55093
|
+
imports: [CommonModule],
|
|
55094
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
55095
|
+
template: `
|
|
55096
|
+
<div [ngClass]="containerClasses()" [class]="containerSizeClasses()">
|
|
55097
|
+
<div [ngClass]="overlayClasses()" [class]="overlaySizeClasses()">
|
|
55098
|
+
<span [class]="iconSizeClass()">{{ iconSymbol() }}</span>
|
|
55099
|
+
{{ percentageText() }}
|
|
55100
|
+
</div>
|
|
55101
|
+
<div [class]="descriptionSizeClasses()">
|
|
55102
|
+
{{ descriptionText() }}
|
|
55103
|
+
</div>
|
|
55104
|
+
</div>
|
|
55105
|
+
`
|
|
55106
|
+
}]
|
|
55107
|
+
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], percentageChange: [{ type: i0.Input, args: [{ isSignal: true, alias: "percentageChange", required: false }] }], metric: [{ type: i0.Input, args: [{ isSignal: true, alias: "metric", required: false }] }], priorYear: [{ type: i0.Input, args: [{ isSignal: true, alias: "priorYear", required: false }] }], isCompact: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompact", required: false }] }] }); })();
|
|
55108
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TargetChangeBadgeComponent, { className: "TargetChangeBadgeComponent", filePath: "lib/components/revenue-calculator-dashboard/target-change-badge.component.ts", lineNumber: 23 }); })();
|
|
54960
55109
|
|
|
54961
55110
|
const _forTrack0$i = ($index, $item) => $item.stageMetric.metric;
|
|
54962
55111
|
const _forTrack1$3 = ($index, $item) => $item.calc.metric;
|
|
54963
55112
|
function FunnelMetricsVisualizationComponent_For_4_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
54964
55113
|
i0.ɵɵelementStart(0, "button", 7);
|
|
54965
55114
|
i0.ɵɵnamespaceSVG();
|
|
54966
|
-
i0.ɵɵelementStart(1, "svg",
|
|
54967
|
-
i0.ɵɵelement(2, "path",
|
|
55115
|
+
i0.ɵɵelementStart(1, "svg", 13);
|
|
55116
|
+
i0.ɵɵelement(2, "path", 14);
|
|
54968
55117
|
i0.ɵɵelementEnd()();
|
|
54969
55118
|
} if (rf & 2) {
|
|
54970
55119
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
54971
55120
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
54972
55121
|
i0.ɵɵproperty("ngClass", ctx_r1.infoIconClasses())("libSymphiqTooltip", ctx_r1.getMarkdownTooltipContent(stage_r1.stageMetric.description, ctx_r1.getMetricTitle(stage_r1.stageMetric)));
|
|
54973
55122
|
} }
|
|
54974
|
-
function
|
|
55123
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
54975
55124
|
i0.ɵɵelementStart(0, "div")(1, "p", 9);
|
|
54976
55125
|
i0.ɵɵtext(2);
|
|
54977
55126
|
i0.ɵɵelementEnd();
|
|
54978
55127
|
i0.ɵɵelementStart(3, "p", 11);
|
|
54979
55128
|
i0.ɵɵtext(4);
|
|
54980
55129
|
i0.ɵɵelementEnd();
|
|
54981
|
-
i0.ɵɵelement(5, "symphiq-pacing-status-badge",
|
|
55130
|
+
i0.ɵɵelement(5, "symphiq-pacing-status-badge", 15);
|
|
54982
55131
|
i0.ɵɵelementEnd();
|
|
54983
55132
|
} if (rf & 2) {
|
|
54984
55133
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
@@ -54994,25 +55143,25 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_23_Template(rf, c
|
|
|
54994
55143
|
i0.ɵɵadvance();
|
|
54995
55144
|
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", stage_r1.pacingInfo.pacingPercentage)("status", stage_r1.pacingInfo.status)("showAsFullText", true)("showEmphasizedPercentage", true);
|
|
54996
55145
|
} }
|
|
54997
|
-
function
|
|
54998
|
-
i0.ɵɵelementStart(0, "button",
|
|
55146
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_20_For_6_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
55147
|
+
i0.ɵɵelementStart(0, "button", 23);
|
|
54999
55148
|
i0.ɵɵnamespaceSVG();
|
|
55000
|
-
i0.ɵɵelementStart(1, "svg",
|
|
55001
|
-
i0.ɵɵelement(2, "path",
|
|
55149
|
+
i0.ɵɵelementStart(1, "svg", 29);
|
|
55150
|
+
i0.ɵɵelement(2, "path", 14);
|
|
55002
55151
|
i0.ɵɵelementEnd()();
|
|
55003
55152
|
} if (rf & 2) {
|
|
55004
55153
|
const metric_r3 = i0.ɵɵnextContext().$implicit;
|
|
55005
55154
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
55006
55155
|
i0.ɵɵproperty("ngClass", ctx_r1.infoIconClasses())("libSymphiqTooltip", ctx_r1.getMarkdownTooltipContent(metric_r3.calc.description, ctx_r1.getMetricTitle(metric_r3.calc)));
|
|
55007
55156
|
} }
|
|
55008
|
-
function
|
|
55009
|
-
i0.ɵɵelementStart(0, "div")(1, "p",
|
|
55157
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_20_For_6_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
55158
|
+
i0.ɵɵelementStart(0, "div")(1, "p", 25);
|
|
55010
55159
|
i0.ɵɵtext(2);
|
|
55011
55160
|
i0.ɵɵelementEnd();
|
|
55012
|
-
i0.ɵɵelementStart(3, "p",
|
|
55161
|
+
i0.ɵɵelementStart(3, "p", 27);
|
|
55013
55162
|
i0.ɵɵtext(4);
|
|
55014
55163
|
i0.ɵɵelementEnd();
|
|
55015
|
-
i0.ɵɵelement(5, "symphiq-pacing-status-badge",
|
|
55164
|
+
i0.ɵɵelement(5, "symphiq-pacing-status-badge", 30);
|
|
55016
55165
|
i0.ɵɵelementEnd();
|
|
55017
55166
|
} if (rf & 2) {
|
|
55018
55167
|
const metric_r3 = i0.ɵɵnextContext().$implicit;
|
|
@@ -55028,31 +55177,27 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Conditio
|
|
|
55028
55177
|
i0.ɵɵadvance();
|
|
55029
55178
|
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("pacingPercentage", metric_r3.pacingInfo.pacingPercentage)("status", metric_r3.pacingInfo.status)("showAsFullText", true)("isCompact", true)("showEmphasizedPercentage", true);
|
|
55030
55179
|
} }
|
|
55031
|
-
function
|
|
55032
|
-
i0.ɵɵelementStart(0, "div",
|
|
55180
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_20_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
55181
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "div", 21)(2, "p", 22);
|
|
55033
55182
|
i0.ɵɵtext(3);
|
|
55034
55183
|
i0.ɵɵelementEnd();
|
|
55035
|
-
i0.ɵɵconditionalCreate(4,
|
|
55184
|
+
i0.ɵɵconditionalCreate(4, FunnelMetricsVisualizationComponent_For_4_Conditional_20_For_6_Conditional_4_Template, 3, 2, "button", 23);
|
|
55036
55185
|
i0.ɵɵelementEnd();
|
|
55037
|
-
i0.ɵɵelementStart(5, "div",
|
|
55186
|
+
i0.ɵɵelementStart(5, "div", 24)(6, "div")(7, "p", 25);
|
|
55038
55187
|
i0.ɵɵtext(8);
|
|
55039
55188
|
i0.ɵɵelementEnd();
|
|
55040
|
-
i0.ɵɵelementStart(9, "p",
|
|
55189
|
+
i0.ɵɵelementStart(9, "p", 26);
|
|
55041
55190
|
i0.ɵɵtext(10);
|
|
55042
55191
|
i0.ɵɵelementEnd()();
|
|
55043
|
-
i0.ɵɵelementStart(11, "div")(12, "p",
|
|
55192
|
+
i0.ɵɵelementStart(11, "div")(12, "p", 25);
|
|
55044
55193
|
i0.ɵɵtext(13);
|
|
55045
55194
|
i0.ɵɵelementEnd();
|
|
55046
|
-
i0.ɵɵelementStart(14, "p",
|
|
55195
|
+
i0.ɵɵelementStart(14, "p", 27);
|
|
55047
55196
|
i0.ɵɵtext(15);
|
|
55048
55197
|
i0.ɵɵelementEnd();
|
|
55049
|
-
i0.ɵɵ
|
|
55050
|
-
i0.ɵɵtext(18);
|
|
55198
|
+
i0.ɵɵelement(16, "symphiq-target-change-badge", 28);
|
|
55051
55199
|
i0.ɵɵelementEnd();
|
|
55052
|
-
i0.ɵɵ
|
|
55053
|
-
i0.ɵɵtext(20);
|
|
55054
|
-
i0.ɵɵelementEnd()()();
|
|
55055
|
-
i0.ɵɵconditionalCreate(21, FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Conditional_21_Template, 6, 10, "div");
|
|
55200
|
+
i0.ɵɵconditionalCreate(17, FunnelMetricsVisualizationComponent_For_4_Conditional_20_For_6_Conditional_17_Template, 6, 10, "div");
|
|
55056
55201
|
i0.ɵɵelementEnd()();
|
|
55057
55202
|
} if (rf & 2) {
|
|
55058
55203
|
const metric_r3 = ctx.$implicit;
|
|
@@ -55080,24 +55225,18 @@ function FunnelMetricsVisualizationComponent_For_4_Conditional_24_For_6_Template
|
|
|
55080
55225
|
i0.ɵɵproperty("ngClass", ctx_r1.relatedTargetValueClasses());
|
|
55081
55226
|
i0.ɵɵadvance();
|
|
55082
55227
|
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), " ");
|
|
55087
55228
|
i0.ɵɵadvance();
|
|
55088
|
-
i0.ɵɵproperty("
|
|
55229
|
+
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("percentageChange", metric_r3.calc.percentageIncrease)("metric", metric_r3.calc.metric)("priorYear", ctx_r1.priorYear())("isCompact", true);
|
|
55089
55230
|
i0.ɵɵadvance();
|
|
55090
|
-
i0.ɵɵ
|
|
55091
|
-
i0.ɵɵadvance();
|
|
55092
|
-
i0.ɵɵconditional(metric_r3.pacingInfo ? 21 : -1);
|
|
55231
|
+
i0.ɵɵconditional(metric_r3.pacingInfo ? 17 : -1);
|
|
55093
55232
|
} }
|
|
55094
|
-
function
|
|
55095
|
-
i0.ɵɵelement(0, "div",
|
|
55096
|
-
i0.ɵɵelementStart(1, "div",
|
|
55233
|
+
function FunnelMetricsVisualizationComponent_For_4_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
55234
|
+
i0.ɵɵelement(0, "div", 16);
|
|
55235
|
+
i0.ɵɵelementStart(1, "div", 17)(2, "p", 18);
|
|
55097
55236
|
i0.ɵɵtext(3, " Related Metrics ");
|
|
55098
55237
|
i0.ɵɵelementEnd();
|
|
55099
|
-
i0.ɵɵelementStart(4, "div",
|
|
55100
|
-
i0.ɵɵrepeaterCreate(5,
|
|
55238
|
+
i0.ɵɵelementStart(4, "div", 19);
|
|
55239
|
+
i0.ɵɵrepeaterCreate(5, FunnelMetricsVisualizationComponent_For_4_Conditional_20_For_6_Template, 18, 18, "div", 20, _forTrack1$3);
|
|
55101
55240
|
i0.ɵɵelementEnd()();
|
|
55102
55241
|
} if (rf & 2) {
|
|
55103
55242
|
const stage_r1 = i0.ɵɵnextContext().$implicit;
|
|
@@ -55126,15 +55265,11 @@ function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf &
|
|
|
55126
55265
|
i0.ɵɵelementStart(16, "p", 11);
|
|
55127
55266
|
i0.ɵɵtext(17);
|
|
55128
55267
|
i0.ɵɵelementEnd();
|
|
55129
|
-
i0.ɵɵ
|
|
55130
|
-
i0.ɵɵtext(20);
|
|
55268
|
+
i0.ɵɵelement(18, "symphiq-target-change-badge", 12);
|
|
55131
55269
|
i0.ɵɵelementEnd();
|
|
55132
|
-
i0.ɵɵ
|
|
55133
|
-
i0.ɵɵtext(22);
|
|
55134
|
-
i0.ɵɵelementEnd()()();
|
|
55135
|
-
i0.ɵɵconditionalCreate(23, FunnelMetricsVisualizationComponent_For_4_Conditional_23_Template, 6, 9, "div");
|
|
55270
|
+
i0.ɵɵconditionalCreate(19, FunnelMetricsVisualizationComponent_For_4_Conditional_19_Template, 6, 9, "div");
|
|
55136
55271
|
i0.ɵɵelementEnd();
|
|
55137
|
-
i0.ɵɵconditionalCreate(
|
|
55272
|
+
i0.ɵɵconditionalCreate(20, FunnelMetricsVisualizationComponent_For_4_Conditional_20_Template, 7, 2);
|
|
55138
55273
|
i0.ɵɵelementEnd();
|
|
55139
55274
|
} if (rf & 2) {
|
|
55140
55275
|
const stage_r1 = ctx.$implicit;
|
|
@@ -55162,18 +55297,12 @@ function FunnelMetricsVisualizationComponent_For_4_Template(rf, ctx) { if (rf &
|
|
|
55162
55297
|
i0.ɵɵproperty("ngClass", ctx_r1.targetValueClasses());
|
|
55163
55298
|
i0.ɵɵadvance();
|
|
55164
55299
|
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), " ");
|
|
55169
55300
|
i0.ɵɵadvance();
|
|
55170
|
-
i0.ɵɵproperty("
|
|
55301
|
+
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("percentageChange", stage_r1.stageMetric.percentageIncrease)("metric", stage_r1.stageMetric.metric)("priorYear", ctx_r1.priorYear());
|
|
55171
55302
|
i0.ɵɵadvance();
|
|
55172
|
-
i0.ɵɵ
|
|
55303
|
+
i0.ɵɵconditional(stage_r1.pacingInfo ? 19 : -1);
|
|
55173
55304
|
i0.ɵɵadvance();
|
|
55174
|
-
i0.ɵɵconditional(stage_r1.
|
|
55175
|
-
i0.ɵɵadvance();
|
|
55176
|
-
i0.ɵɵconditional(stage_r1.relatedMetrics.length > 0 ? 24 : -1);
|
|
55305
|
+
i0.ɵɵconditional(stage_r1.relatedMetrics.length > 0 ? 20 : -1);
|
|
55177
55306
|
} }
|
|
55178
55307
|
class FunnelMetricsVisualizationComponent {
|
|
55179
55308
|
constructor() {
|
|
@@ -55233,11 +55362,6 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55233
55362
|
? 'text-slate-300'
|
|
55234
55363
|
: 'text-slate-600';
|
|
55235
55364
|
}
|
|
55236
|
-
percentageBadgeClasses() {
|
|
55237
|
-
return this.viewMode() === ViewModeEnum.DARK
|
|
55238
|
-
? 'bg-purple-500/30 text-purple-200 border border-purple-400/30'
|
|
55239
|
-
: 'bg-purple-100 text-purple-700 border border-purple-300';
|
|
55240
|
-
}
|
|
55241
55365
|
labelClasses() {
|
|
55242
55366
|
return this.viewMode() === ViewModeEnum.DARK
|
|
55243
55367
|
? 'text-slate-400'
|
|
@@ -55278,11 +55402,6 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55278
55402
|
? 'text-slate-200'
|
|
55279
55403
|
: 'text-slate-800';
|
|
55280
55404
|
}
|
|
55281
|
-
relatedPercentageBadgeClasses() {
|
|
55282
|
-
return this.viewMode() === ViewModeEnum.DARK
|
|
55283
|
-
? 'bg-purple-800/60 text-purple-200'
|
|
55284
|
-
: 'bg-purple-50 text-purple-800 border border-purple-200';
|
|
55285
|
-
}
|
|
55286
55405
|
relatedLabelClasses() {
|
|
55287
55406
|
return this.viewMode() === ViewModeEnum.DARK
|
|
55288
55407
|
? 'text-slate-300'
|
|
@@ -55306,28 +55425,6 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55306
55425
|
formatPercentage(value, decimals) {
|
|
55307
55426
|
return formatPercentage(value, decimals);
|
|
55308
55427
|
}
|
|
55309
|
-
getTargetIncreaseText(percentageIncrease, metric) {
|
|
55310
|
-
const sign = MetricEnumUtil.increaseBad(metric) ? '' : '+';
|
|
55311
|
-
const absValue = Math.abs(percentageIncrease);
|
|
55312
|
-
return `${sign}${formatPercentage(absValue, 1)} increase over ${this.priorYear()}`;
|
|
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
|
-
}
|
|
55331
55428
|
formatMetricValue(value, metric, fromUiData = true) {
|
|
55332
55429
|
if (metric.includes('REVENUE')) {
|
|
55333
55430
|
return formatCurrency(value);
|
|
@@ -55353,188 +55450,180 @@ class FunnelMetricsVisualizationComponent {
|
|
|
55353
55450
|
getMarkdownTooltipContent(markdown, title) {
|
|
55354
55451
|
return { title, markdown };
|
|
55355
55452
|
}
|
|
55356
|
-
getGrowthSign(metric) {
|
|
55357
|
-
return MetricEnumUtil.increaseBad(metric) ? '-' : '+';
|
|
55358
|
-
}
|
|
55359
55453
|
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"], [
|
|
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", "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"], [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", 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"], [3, "viewMode", "percentageChange", "metric", "priorYear", "isCompact"], ["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
55455
|
i0.ɵɵelementStart(0, "div", 0);
|
|
55362
55456
|
i0.ɵɵelement(1, "symphiq-tooltip-container");
|
|
55363
55457
|
i0.ɵɵelementStart(2, "div", 1);
|
|
55364
|
-
i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template,
|
|
55458
|
+
i0.ɵɵrepeaterCreate(3, FunnelMetricsVisualizationComponent_For_4_Template, 21, 18, "div", 2, _forTrack0$i);
|
|
55365
55459
|
i0.ɵɵelementEnd()();
|
|
55366
55460
|
} if (rf & 2) {
|
|
55367
55461
|
i0.ɵɵadvance(3);
|
|
55368
55462
|
i0.ɵɵrepeater(ctx.funnelStages());
|
|
55369
|
-
} }, dependencies: [CommonModule, i1$1.NgClass, PacingStatusBadgeComponent, TooltipDirective, TooltipContainerComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
55463
|
+
} }, dependencies: [CommonModule, i1$1.NgClass, PacingStatusBadgeComponent, TargetChangeBadgeComponent, TooltipDirective, TooltipContainerComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
55370
55464
|
}
|
|
55371
55465
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FunnelMetricsVisualizationComponent, [{
|
|
55372
55466
|
type: Component,
|
|
55373
55467
|
args: [{
|
|
55374
55468
|
selector: 'symphiq-funnel-metrics-visualization',
|
|
55375
55469
|
standalone: true,
|
|
55376
|
-
imports: [CommonModule, PacingStatusBadgeComponent, TooltipDirective, TooltipContainerComponent],
|
|
55470
|
+
imports: [CommonModule, PacingStatusBadgeComponent, TargetChangeBadgeComponent, TooltipDirective, TooltipContainerComponent],
|
|
55377
55471
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
55378
|
-
template: `
|
|
55379
|
-
<div class="space-y-6">
|
|
55380
|
-
<symphiq-tooltip-container />
|
|
55381
|
-
<div class="space-y-8">
|
|
55382
|
-
@for (stage of funnelStages(); track stage.stageMetric.metric) {
|
|
55383
|
-
<div [ngClass]="stageCardClasses()" class="rounded-xl p-6 border-2 transition-all duration-200">
|
|
55384
|
-
<div class="flex items-start justify-between mb-6">
|
|
55385
|
-
<div class="flex-1">
|
|
55386
|
-
<div class="flex items-center gap-2 mb-1">
|
|
55387
|
-
<h3 [ngClass]="stageTitleClasses()" class="text-lg font-bold leading-tight m-0">
|
|
55388
|
-
{{ getMetricTitle(stage.stageMetric) }}
|
|
55389
|
-
</h3>
|
|
55390
|
-
@if (stage.stageMetric.description) {
|
|
55391
|
-
<button
|
|
55392
|
-
type="button"
|
|
55393
|
-
[ngClass]="infoIconClasses()"
|
|
55394
|
-
class="flex-shrink-0 w-6 h-6 rounded-full inline-flex items-center justify-center transition-colors"
|
|
55395
|
-
[libSymphiqTooltip]="getMarkdownTooltipContent(stage.stageMetric.description, getMetricTitle(stage.stageMetric))"
|
|
55396
|
-
tooltipType="markdown"
|
|
55397
|
-
tooltipPosition="right">
|
|
55398
|
-
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55399
|
-
<path 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" />
|
|
55400
|
-
</svg>
|
|
55401
|
-
</button>
|
|
55402
|
-
}
|
|
55403
|
-
</div>
|
|
55404
|
-
</div>
|
|
55405
|
-
</div>
|
|
55406
|
-
|
|
55407
|
-
<div class="grid grid-cols-2 lg:grid-cols-3 gap-6 mb-4">
|
|
55408
|
-
<div>
|
|
55409
|
-
<p [ngClass]="labelClasses()" class="text-xs font-medium uppercase tracking-wider mb-2">
|
|
55410
|
-
{{ priorYear() }} Actual
|
|
55411
|
-
</p>
|
|
55412
|
-
<p [ngClass]="valueClasses()" class="text-2xl font-bold">
|
|
55413
|
-
{{ formatMetricValue(stage.stageMetric.currentValue, stage.stageMetric.metric) }}
|
|
55414
|
-
</p>
|
|
55415
|
-
</div>
|
|
55416
|
-
<div>
|
|
55417
|
-
<p [ngClass]="labelClasses()" class="text-xs font-medium uppercase tracking-wider mb-2">
|
|
55418
|
-
{{ currentYear() }} Target
|
|
55419
|
-
</p>
|
|
55420
|
-
<p [ngClass]="targetValueClasses()" class="text-2xl font-bold mb-3">
|
|
55421
|
-
{{ formatMetricValue(stage.stageMetric.targetValue, stage.stageMetric.metric, false) }}
|
|
55422
|
-
</p>
|
|
55423
|
-
<
|
|
55424
|
-
|
|
55425
|
-
|
|
55426
|
-
|
|
55427
|
-
|
|
55428
|
-
|
|
55429
|
-
|
|
55430
|
-
|
|
55431
|
-
|
|
55432
|
-
|
|
55433
|
-
|
|
55434
|
-
|
|
55435
|
-
<p [ngClass]="
|
|
55436
|
-
|
|
55437
|
-
</p>
|
|
55438
|
-
<
|
|
55439
|
-
|
|
55440
|
-
|
|
55441
|
-
|
|
55442
|
-
[
|
|
55443
|
-
[
|
|
55444
|
-
|
|
55445
|
-
|
|
55446
|
-
|
|
55447
|
-
|
|
55448
|
-
|
|
55449
|
-
|
|
55450
|
-
|
|
55451
|
-
|
|
55452
|
-
|
|
55453
|
-
|
|
55454
|
-
|
|
55455
|
-
|
|
55456
|
-
<
|
|
55457
|
-
|
|
55458
|
-
|
|
55459
|
-
|
|
55460
|
-
|
|
55461
|
-
|
|
55462
|
-
|
|
55463
|
-
|
|
55464
|
-
|
|
55465
|
-
|
|
55466
|
-
|
|
55467
|
-
|
|
55468
|
-
|
|
55469
|
-
|
|
55470
|
-
|
|
55471
|
-
|
|
55472
|
-
|
|
55473
|
-
|
|
55474
|
-
|
|
55475
|
-
|
|
55476
|
-
|
|
55477
|
-
|
|
55478
|
-
|
|
55479
|
-
|
|
55480
|
-
|
|
55481
|
-
|
|
55482
|
-
<p [ngClass]="
|
|
55483
|
-
{{
|
|
55484
|
-
</p>
|
|
55485
|
-
|
|
55486
|
-
|
|
55487
|
-
|
|
55488
|
-
|
|
55489
|
-
|
|
55490
|
-
<p [ngClass]="
|
|
55491
|
-
{{
|
|
55492
|
-
</p>
|
|
55493
|
-
<
|
|
55494
|
-
|
|
55495
|
-
|
|
55496
|
-
|
|
55497
|
-
|
|
55498
|
-
|
|
55499
|
-
|
|
55500
|
-
|
|
55501
|
-
|
|
55502
|
-
|
|
55503
|
-
|
|
55504
|
-
|
|
55505
|
-
|
|
55506
|
-
|
|
55507
|
-
|
|
55508
|
-
|
|
55509
|
-
|
|
55510
|
-
|
|
55511
|
-
|
|
55512
|
-
|
|
55513
|
-
|
|
55514
|
-
|
|
55515
|
-
[
|
|
55516
|
-
|
|
55517
|
-
|
|
55518
|
-
|
|
55519
|
-
|
|
55520
|
-
|
|
55521
|
-
|
|
55522
|
-
|
|
55523
|
-
|
|
55524
|
-
|
|
55525
|
-
|
|
55526
|
-
|
|
55527
|
-
|
|
55528
|
-
|
|
55529
|
-
}
|
|
55530
|
-
</div>
|
|
55531
|
-
}
|
|
55532
|
-
</div>
|
|
55533
|
-
</div>
|
|
55472
|
+
template: `
|
|
55473
|
+
<div class="space-y-6">
|
|
55474
|
+
<symphiq-tooltip-container />
|
|
55475
|
+
<div class="space-y-8">
|
|
55476
|
+
@for (stage of funnelStages(); track stage.stageMetric.metric) {
|
|
55477
|
+
<div [ngClass]="stageCardClasses()" class="rounded-xl p-6 border-2 transition-all duration-200">
|
|
55478
|
+
<div class="flex items-start justify-between mb-6">
|
|
55479
|
+
<div class="flex-1">
|
|
55480
|
+
<div class="flex items-center gap-2 mb-1">
|
|
55481
|
+
<h3 [ngClass]="stageTitleClasses()" class="text-lg font-bold leading-tight m-0">
|
|
55482
|
+
{{ getMetricTitle(stage.stageMetric) }}
|
|
55483
|
+
</h3>
|
|
55484
|
+
@if (stage.stageMetric.description) {
|
|
55485
|
+
<button
|
|
55486
|
+
type="button"
|
|
55487
|
+
[ngClass]="infoIconClasses()"
|
|
55488
|
+
class="flex-shrink-0 w-6 h-6 rounded-full inline-flex items-center justify-center transition-colors"
|
|
55489
|
+
[libSymphiqTooltip]="getMarkdownTooltipContent(stage.stageMetric.description, getMetricTitle(stage.stageMetric))"
|
|
55490
|
+
tooltipType="markdown"
|
|
55491
|
+
tooltipPosition="right">
|
|
55492
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55493
|
+
<path 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" />
|
|
55494
|
+
</svg>
|
|
55495
|
+
</button>
|
|
55496
|
+
}
|
|
55497
|
+
</div>
|
|
55498
|
+
</div>
|
|
55499
|
+
</div>
|
|
55500
|
+
|
|
55501
|
+
<div class="grid grid-cols-2 lg:grid-cols-3 gap-6 mb-4">
|
|
55502
|
+
<div>
|
|
55503
|
+
<p [ngClass]="labelClasses()" class="text-xs font-medium uppercase tracking-wider mb-2">
|
|
55504
|
+
{{ priorYear() }} Actual
|
|
55505
|
+
</p>
|
|
55506
|
+
<p [ngClass]="valueClasses()" class="text-2xl font-bold">
|
|
55507
|
+
{{ formatMetricValue(stage.stageMetric.currentValue, stage.stageMetric.metric) }}
|
|
55508
|
+
</p>
|
|
55509
|
+
</div>
|
|
55510
|
+
<div>
|
|
55511
|
+
<p [ngClass]="labelClasses()" class="text-xs font-medium uppercase tracking-wider mb-2">
|
|
55512
|
+
{{ currentYear() }} Target
|
|
55513
|
+
</p>
|
|
55514
|
+
<p [ngClass]="targetValueClasses()" class="text-2xl font-bold mb-3">
|
|
55515
|
+
{{ formatMetricValue(stage.stageMetric.targetValue, stage.stageMetric.metric, false) }}
|
|
55516
|
+
</p>
|
|
55517
|
+
<symphiq-target-change-badge
|
|
55518
|
+
[viewMode]="viewMode()"
|
|
55519
|
+
[percentageChange]="stage.stageMetric.percentageIncrease"
|
|
55520
|
+
[metric]="stage.stageMetric.metric"
|
|
55521
|
+
[priorYear]="priorYear()"
|
|
55522
|
+
/>
|
|
55523
|
+
</div>
|
|
55524
|
+
@if (stage.pacingInfo) {
|
|
55525
|
+
<div>
|
|
55526
|
+
<p [ngClass]="labelClasses()" class="text-xs font-medium uppercase tracking-wider mb-2">
|
|
55527
|
+
Pace for {{ currentYear() }}
|
|
55528
|
+
</p>
|
|
55529
|
+
<p [ngClass]="projectedValueClasses()" class="text-2xl font-bold mb-3">
|
|
55530
|
+
{{ formatMetricValue(stage.pacingInfo.projectedValue, stage.stageMetric.metric, false) }}
|
|
55531
|
+
</p>
|
|
55532
|
+
<symphiq-pacing-status-badge
|
|
55533
|
+
[viewMode]="viewMode()"
|
|
55534
|
+
[pacingPercentage]="stage.pacingInfo.pacingPercentage"
|
|
55535
|
+
[status]="stage.pacingInfo.status"
|
|
55536
|
+
[showAsFullText]="true"
|
|
55537
|
+
[showEmphasizedPercentage]="true"
|
|
55538
|
+
/>
|
|
55539
|
+
</div>
|
|
55540
|
+
}
|
|
55541
|
+
</div>
|
|
55542
|
+
|
|
55543
|
+
@if (stage.relatedMetrics.length > 0) {
|
|
55544
|
+
<div [ngClass]="dividerClasses()" class="my-4"></div>
|
|
55545
|
+
|
|
55546
|
+
<div class="space-y-3">
|
|
55547
|
+
<p [ngClass]="relatedTitleClasses()" class="text-xs font-semibold uppercase tracking-wider mb-3">
|
|
55548
|
+
Related Metrics
|
|
55549
|
+
</p>
|
|
55550
|
+
<div class="grid gap-3">
|
|
55551
|
+
@for (metric of stage.relatedMetrics; track metric.calc.metric) {
|
|
55552
|
+
<div [ngClass]="relatedMetricCardClasses()" class="p-4 rounded-lg">
|
|
55553
|
+
<div class="flex items-center gap-2 mb-4">
|
|
55554
|
+
<p [ngClass]="relatedMetricNameClasses()" class="text-xs font-semibold leading-tight">
|
|
55555
|
+
{{ getMetricTitle(metric.calc) }}
|
|
55556
|
+
</p>
|
|
55557
|
+
@if (metric.calc.description) {
|
|
55558
|
+
<button
|
|
55559
|
+
type="button"
|
|
55560
|
+
[ngClass]="infoIconClasses()"
|
|
55561
|
+
class="flex-shrink-0 w-5 h-5 rounded-full inline-flex items-center justify-center transition-colors"
|
|
55562
|
+
[libSymphiqTooltip]="getMarkdownTooltipContent(metric.calc.description, getMetricTitle(metric.calc))"
|
|
55563
|
+
tooltipType="markdown"
|
|
55564
|
+
tooltipPosition="right">
|
|
55565
|
+
<svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
55566
|
+
<path 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" />
|
|
55567
|
+
</svg>
|
|
55568
|
+
</button>
|
|
55569
|
+
}
|
|
55570
|
+
</div>
|
|
55571
|
+
<div class="grid grid-cols-2 lg:grid-cols-3 gap-4">
|
|
55572
|
+
<div>
|
|
55573
|
+
<p [ngClass]="relatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1.5">
|
|
55574
|
+
{{ priorYear() }} Actual
|
|
55575
|
+
</p>
|
|
55576
|
+
<p [ngClass]="relatedValueClasses()" class="text-lg font-bold">
|
|
55577
|
+
{{ formatMetricValue(metric.calc.currentValue, metric.calc.metric) }}
|
|
55578
|
+
</p>
|
|
55579
|
+
</div>
|
|
55580
|
+
<div>
|
|
55581
|
+
<p [ngClass]="relatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1.5">
|
|
55582
|
+
{{ currentYear() }} Target
|
|
55583
|
+
</p>
|
|
55584
|
+
<p [ngClass]="relatedTargetValueClasses()" class="text-lg font-bold mb-2">
|
|
55585
|
+
{{ formatMetricValue(metric.calc.targetValue, metric.calc.metric, false) }}
|
|
55586
|
+
</p>
|
|
55587
|
+
<symphiq-target-change-badge
|
|
55588
|
+
[viewMode]="viewMode()"
|
|
55589
|
+
[percentageChange]="metric.calc.percentageIncrease"
|
|
55590
|
+
[metric]="metric.calc.metric"
|
|
55591
|
+
[priorYear]="priorYear()"
|
|
55592
|
+
[isCompact]="true"
|
|
55593
|
+
/>
|
|
55594
|
+
</div>
|
|
55595
|
+
@if (metric.pacingInfo) {
|
|
55596
|
+
<div>
|
|
55597
|
+
<p [ngClass]="relatedLabelClasses()" class="text-xs font-medium uppercase tracking-wider mb-1.5">
|
|
55598
|
+
Pace for {{ currentYear() }}
|
|
55599
|
+
</p>
|
|
55600
|
+
<p [ngClass]="relatedProjectedValueClasses()" class="text-lg font-bold mb-2">
|
|
55601
|
+
{{ formatMetricValue(metric.pacingInfo.projectedValue, metric.calc.metric, false) }}
|
|
55602
|
+
</p>
|
|
55603
|
+
<symphiq-pacing-status-badge
|
|
55604
|
+
[viewMode]="viewMode()"
|
|
55605
|
+
[pacingPercentage]="metric.pacingInfo.pacingPercentage"
|
|
55606
|
+
[status]="metric.pacingInfo.status"
|
|
55607
|
+
[showAsFullText]="true"
|
|
55608
|
+
[isCompact]="true"
|
|
55609
|
+
[showEmphasizedPercentage]="true"
|
|
55610
|
+
/>
|
|
55611
|
+
</div>
|
|
55612
|
+
}
|
|
55613
|
+
</div>
|
|
55614
|
+
</div>
|
|
55615
|
+
}
|
|
55616
|
+
</div>
|
|
55617
|
+
</div>
|
|
55618
|
+
}
|
|
55619
|
+
</div>
|
|
55620
|
+
}
|
|
55621
|
+
</div>
|
|
55622
|
+
</div>
|
|
55534
55623
|
`
|
|
55535
55624
|
}]
|
|
55536
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 }] }] }); })();
|
|
55537
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber:
|
|
55626
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelMetricsVisualizationComponent, { className: "FunnelMetricsVisualizationComponent", filePath: "lib/components/revenue-calculator-dashboard/funnel-metrics-visualization.component.ts", lineNumber: 170 }); })();
|
|
55538
55627
|
|
|
55539
55628
|
function StickySubmitBarComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
55540
55629
|
i0.ɵɵelementStart(0, "div", 4);
|
|
@@ -84441,5 +84530,5 @@ var pieChart_component = /*#__PURE__*/Object.freeze({
|
|
|
84441
84530
|
* Generated bundle index. Do not edit.
|
|
84442
84531
|
*/
|
|
84443
84532
|
|
|
84444
|
-
export { AreaChartComponent, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfettiService, ConfidenceLevelCardComponent, ContentGenerationProgressComponent, ContentGenerationProgressWithConfettiComponent, CrossDashboardRelationshipsService, DataLoaderService, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FocusAreaExecutiveSummaryComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, FunnelOrderService, GradeBadgeComponent, HeaderScrollService, HierarchyDisplayComponent, HorizontalBarComponent, IconService, IndeterminateSpinnerComponent, InsightCardComponent, JourneyProgressIndicatorComponent, JourneyStepIdEnum, LineChartComponent, MetricCardComponent, MetricExecutiveSummaryComponent, MetricFormatterService, MetricListItemComponent, MetricWelcomeBannerComponent, MobileBottomNavComponent, MobileFABComponent, ModalComponent, ModalService, NapkinVisualPlaceholderComponent, NavigationStateService, OpportunityHighlightBannerComponent, OverallAssessmentComponent, PieChartComponent, ProfileItemCardComponent, ProfileSectionComponent, ProfileSubsectionComponent, RelatedContentSidebarComponent, RevenueCalculatorService, RevenueCalculatorWelcomeBannerComponent, ScrollDepthService, ScrollProgressBarComponent, SearchButtonComponent, SearchModalComponent, SectionDividerComponent, SectionNavigationComponent, ShadowElevationDirective, ShopPlatformEnum, ShopWelcomeBannerComponent, SkeletonBarComponent, SkeletonCardBaseComponent, SkeletonCircleComponent, SkeletonCompetitorCardComponent, SkeletonCustomerSegmentCardComponent, SkeletonFocusAreaCardComponent, SkeletonGenericCardComponent, SkeletonLoaderComponent, SkeletonPriceTierCardComponent, SkeletonProductCategoryCardComponent, SkeletonRegionCardComponent, SkeletonSeasonCardComponent, SymphiqBusinessAnalysisDashboardComponent, SymphiqConnectGaDashboardComponent, SymphiqCreateAccountDashboardComponent, SymphiqFunnelAnalysisDashboardComponent, SymphiqFunnelAnalysisPreviewComponent, SymphiqIconComponent, SymphiqProfileAnalysisDashboardComponent, SymphiqRevenueCalculatorDashboardComponent, SymphiqWelcomeDashboardComponent, TooltipContainerComponent, TooltipDataService, TooltipDirective, TooltipService, ViewModeService, ViewportAnimationDirective, VisualizationContainerComponent, calculateFunnelRatios, calculateMetricTargetsFromRevenue, calculateMetricTargetsFromRevenueReverse, calculateRelatedMetricRatios, generateTargetsFromCalculations, getBadgeLabelClasses, getButtonClasses, getCategoryBadgeClasses, getCategoryColor, getCompetitiveBadgeClasses, getContainerClasses, getFooterClasses, getFunnelStageMetrics, getGradeBadgeClasses, getHeaderClasses, getInsightsBadgeClasses, getInsightsCardClasses, getMetricLabelClasses, getMetricMiniCardClasses, getMetricValueClasses, getNarrativeTextClasses, getRevenueCardClasses, getRevenueIconClasses, getStatusBadgeClasses, getStatusDotClasses, getStatusIconClasses, getStatusSummaryClasses, getSubtitleClasses, getTitleClasses, getTrendClasses, getTrendIconClasses, getTrendValueClasses, groupMetricsByFunnelStage, isLightMode, validateRevenueTarget };
|
|
84533
|
+
export { AreaChartComponent, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfettiService, ConfidenceLevelCardComponent, ContentGenerationProgressComponent, ContentGenerationProgressWithConfettiComponent, CrossDashboardRelationshipsService, DataLoaderService, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FocusAreaExecutiveSummaryComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, FunnelOrderService, GradeBadgeComponent, HeaderScrollService, HierarchyDisplayComponent, HorizontalBarComponent, IconService, IndeterminateSpinnerComponent, InsightCardComponent, JourneyProgressIndicatorComponent, JourneyStepIdEnum, LineChartComponent, MetricCardComponent, MetricExecutiveSummaryComponent, MetricFormatterService, MetricListItemComponent, MetricWelcomeBannerComponent, MobileBottomNavComponent, MobileFABComponent, ModalComponent, ModalService, NapkinVisualPlaceholderComponent, NavigationStateService, OpportunityHighlightBannerComponent, OverallAssessmentComponent, PacingStatusBadgeComponent, PieChartComponent, ProfileItemCardComponent, ProfileSectionComponent, ProfileSubsectionComponent, RelatedContentSidebarComponent, RevenueCalculatorService, RevenueCalculatorWelcomeBannerComponent, ScrollDepthService, ScrollProgressBarComponent, SearchButtonComponent, SearchModalComponent, SectionDividerComponent, SectionNavigationComponent, ShadowElevationDirective, ShopPlatformEnum, ShopWelcomeBannerComponent, SkeletonBarComponent, SkeletonCardBaseComponent, SkeletonCircleComponent, SkeletonCompetitorCardComponent, SkeletonCustomerSegmentCardComponent, SkeletonFocusAreaCardComponent, SkeletonGenericCardComponent, SkeletonLoaderComponent, SkeletonPriceTierCardComponent, SkeletonProductCategoryCardComponent, SkeletonRegionCardComponent, SkeletonSeasonCardComponent, SymphiqBusinessAnalysisDashboardComponent, SymphiqConnectGaDashboardComponent, SymphiqCreateAccountDashboardComponent, SymphiqFunnelAnalysisDashboardComponent, SymphiqFunnelAnalysisPreviewComponent, SymphiqIconComponent, SymphiqProfileAnalysisDashboardComponent, SymphiqRevenueCalculatorDashboardComponent, SymphiqWelcomeDashboardComponent, TargetChangeBadgeComponent, TooltipContainerComponent, TooltipDataService, TooltipDirective, TooltipService, ViewModeService, ViewportAnimationDirective, VisualizationContainerComponent, calculateFunnelRatios, calculateMetricTargetsFromRevenue, calculateMetricTargetsFromRevenueReverse, calculateRelatedMetricRatios, generateTargetsFromCalculations, getBadgeLabelClasses, getButtonClasses, getCategoryBadgeClasses, getCategoryColor, getCompetitiveBadgeClasses, getContainerClasses, getFooterClasses, getFunnelStageMetrics, getGradeBadgeClasses, getHeaderClasses, getInsightsBadgeClasses, getInsightsCardClasses, getMetricLabelClasses, getMetricMiniCardClasses, getMetricValueClasses, getNarrativeTextClasses, getRevenueCardClasses, getRevenueIconClasses, getStatusBadgeClasses, getStatusDotClasses, getStatusIconClasses, getStatusSummaryClasses, getSubtitleClasses, getTitleClasses, getTrendClasses, getTrendIconClasses, getTrendValueClasses, groupMetricsByFunnelStage, isLightMode, validateRevenueTarget };
|
|
84445
84534
|
//# sourceMappingURL=symphiq-components.mjs.map
|