@eric-emg/symphiq-components 1.2.0
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/README.md +179 -0
- package/fesm2022/symphiq-components.mjs +3036 -0
- package/fesm2022/symphiq-components.mjs.map +1 -0
- package/index.d.ts +166 -0
- package/index.d.ts.map +1 -0
- package/package.json +55 -0
- package/src/styles.css +1 -0
- package/styles.css +1403 -0
package/index.d.ts
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { InsightBlockInterface, PerformanceMetricInterface, PerformanceOverviewStructured, PerformanceOverviewStructuredV3Interface, BreakdownMetricInterface, OverallAssessmentInterface } from '@jebgem/model';
|
|
2
|
+
export * from '@jebgem/model';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { OnInit } from '@angular/core';
|
|
5
|
+
import * as rxjs from 'rxjs';
|
|
6
|
+
|
|
7
|
+
interface FunnelMetricOrder {
|
|
8
|
+
metric: string;
|
|
9
|
+
funnelMetric: string;
|
|
10
|
+
funnelInd: number;
|
|
11
|
+
relatedInd: number;
|
|
12
|
+
isFunnelStage: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare class FunnelOrderService {
|
|
15
|
+
private readonly funnelOrder;
|
|
16
|
+
private readonly funnelStageNames;
|
|
17
|
+
getMetricOrder(metricName: string): FunnelMetricOrder | undefined;
|
|
18
|
+
isFunnelStage(metricName: string): boolean;
|
|
19
|
+
getFunnelStageName(funnelInd: number): string;
|
|
20
|
+
getFunnelStageForMetric(metricName: string): string | null;
|
|
21
|
+
sortMetricsByFunnelOrder(metrics: any[]): any[];
|
|
22
|
+
getMetricsForFunnelStage(metrics: any[], funnelStageName: string): any[];
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FunnelOrderService, never>;
|
|
24
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FunnelOrderService>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
interface ModalState {
|
|
28
|
+
type: 'insight' | 'metric' | null;
|
|
29
|
+
data: InsightBlockInterface | PerformanceMetricInterface | null;
|
|
30
|
+
}
|
|
31
|
+
declare class ModalService {
|
|
32
|
+
private modalState;
|
|
33
|
+
modalState$: rxjs.Observable<ModalState>;
|
|
34
|
+
openInsightModal(insight: InsightBlockInterface): void;
|
|
35
|
+
openMetricModal(metric: PerformanceMetricInterface): void;
|
|
36
|
+
closeModal(): void;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ModalService, never>;
|
|
38
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ModalService>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
declare class SymphiqFunnelAnalysisDashboardComponent implements OnInit {
|
|
42
|
+
private funnelOrderService;
|
|
43
|
+
set data(value: PerformanceOverviewStructured);
|
|
44
|
+
get data(): PerformanceOverviewStructuredV3Interface;
|
|
45
|
+
private _data;
|
|
46
|
+
insights: InsightBlockInterface[];
|
|
47
|
+
breakdowns: BreakdownMetricInterface[];
|
|
48
|
+
allMetrics: PerformanceMetricInterface[];
|
|
49
|
+
revenueMetric: PerformanceMetricInterface | undefined;
|
|
50
|
+
categories: {
|
|
51
|
+
value: string;
|
|
52
|
+
label: string;
|
|
53
|
+
}[];
|
|
54
|
+
selectedCategory: string;
|
|
55
|
+
reverseSortOrder: boolean;
|
|
56
|
+
constructor(funnelOrderService: FunnelOrderService);
|
|
57
|
+
ngOnInit(): void;
|
|
58
|
+
private initializeDerivedProperties;
|
|
59
|
+
getFilteredMetrics(): any[];
|
|
60
|
+
getGroupedMetrics(): {
|
|
61
|
+
funnelMetric: PerformanceMetricInterface;
|
|
62
|
+
relatedMetrics: PerformanceMetricInterface[];
|
|
63
|
+
}[];
|
|
64
|
+
isFunnelStage(metricName: string): boolean;
|
|
65
|
+
formatDate(dateString: string): string;
|
|
66
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SymphiqFunnelAnalysisDashboardComponent, never>;
|
|
67
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SymphiqFunnelAnalysisDashboardComponent, "symphiq-funnel-analysis-dashboard", never, { "data": { "alias": "data"; "required": false; }; }, {}, never, never, true, never>;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
declare class ModalComponent implements OnInit {
|
|
71
|
+
private modalService;
|
|
72
|
+
isOpen: boolean;
|
|
73
|
+
modalType: 'insight' | 'metric' | null;
|
|
74
|
+
insightData: InsightBlockInterface | null;
|
|
75
|
+
metricData: PerformanceMetricInterface | null;
|
|
76
|
+
Math: Math;
|
|
77
|
+
constructor(modalService: ModalService);
|
|
78
|
+
ngOnInit(): void;
|
|
79
|
+
get modalTitle(): string;
|
|
80
|
+
closeModal(): void;
|
|
81
|
+
formatMetricName(name: string): string;
|
|
82
|
+
formatValue(value: number): string;
|
|
83
|
+
getTrendClass(): string;
|
|
84
|
+
getStatusBadgeClass(): string;
|
|
85
|
+
getStatusLabel(): string;
|
|
86
|
+
getPacingPercentage(): number;
|
|
87
|
+
getPacingBarClass(): string;
|
|
88
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
|
|
89
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "symphiq-funnel-analysis-modal", never, {}, {}, never, never, true, never>;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
declare class MetricCardComponent {
|
|
93
|
+
private modalService;
|
|
94
|
+
private funnelOrderService;
|
|
95
|
+
metric: PerformanceMetricInterface;
|
|
96
|
+
insights: InsightBlockInterface[];
|
|
97
|
+
Math: Math;
|
|
98
|
+
constructor(modalService: ModalService, funnelOrderService: FunnelOrderService);
|
|
99
|
+
get isFunnelStage(): boolean;
|
|
100
|
+
getCardClass(): string;
|
|
101
|
+
get relatedInsights(): InsightBlockInterface[];
|
|
102
|
+
openInsightModal(insight: InsightBlockInterface): void;
|
|
103
|
+
formatMetricName(name: string): string;
|
|
104
|
+
formatValue(value: number): string;
|
|
105
|
+
getTrendClass(): string;
|
|
106
|
+
isGoodTrend(): boolean;
|
|
107
|
+
getStatusBadgeClass(): string;
|
|
108
|
+
getStatusLabel(): string;
|
|
109
|
+
getPacingPercentage(): number;
|
|
110
|
+
getPacingBarClass(): string;
|
|
111
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MetricCardComponent, never>;
|
|
112
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MetricCardComponent, "symphiq-funnel-analysis-metric-card", never, { "metric": { "alias": "metric"; "required": false; }; "insights": { "alias": "insights"; "required": false; }; }, {}, never, never, true, never>;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
declare class InsightCardComponent {
|
|
116
|
+
private modalService;
|
|
117
|
+
insight: InsightBlockInterface;
|
|
118
|
+
allMetrics: PerformanceMetricInterface[];
|
|
119
|
+
constructor(modalService: ModalService);
|
|
120
|
+
formatMetricName(name: string): string;
|
|
121
|
+
openMetricModal(metricName: string): void;
|
|
122
|
+
getPriorityBadgeClass(): string;
|
|
123
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InsightCardComponent, never>;
|
|
124
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InsightCardComponent, "symphiq-funnel-analysis-insight-card", never, { "insight": { "alias": "insight"; "required": false; }; "allMetrics": { "alias": "allMetrics"; "required": false; }; }, {}, never, never, true, never>;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
interface MetricGroup {
|
|
128
|
+
metric: string;
|
|
129
|
+
metricLabel: string;
|
|
130
|
+
category: string;
|
|
131
|
+
values: PerformanceMetricInterface[];
|
|
132
|
+
}
|
|
133
|
+
declare class BreakdownSectionComponent implements OnInit {
|
|
134
|
+
breakdown: BreakdownMetricInterface;
|
|
135
|
+
Math: Math;
|
|
136
|
+
metricGroups: MetricGroup[];
|
|
137
|
+
ngOnInit(): void;
|
|
138
|
+
groupMetrics(): MetricGroup[];
|
|
139
|
+
formatMetricLabel(metric: string): string;
|
|
140
|
+
formatDimensionValue(value?: string): string;
|
|
141
|
+
formatValue(value: number, category: string | undefined, metric?: string): string;
|
|
142
|
+
getTrendClass(metric: any): string;
|
|
143
|
+
getStatusBadgeClass(status: string | undefined): string;
|
|
144
|
+
getStatusLabel(status: string | undefined): string;
|
|
145
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BreakdownSectionComponent, never>;
|
|
146
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BreakdownSectionComponent, "symphiq-funnel-analysis-breakdown-section", never, { "breakdown": { "alias": "breakdown"; "required": false; }; }, {}, never, never, true, never>;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
declare class OverallAssessmentComponent {
|
|
150
|
+
assessment: OverallAssessmentInterface;
|
|
151
|
+
revenueMetric?: PerformanceMetricInterface;
|
|
152
|
+
formatRevenue(value: number): string;
|
|
153
|
+
formatPercent(value: number): string;
|
|
154
|
+
getRevenueStatusClass(): string;
|
|
155
|
+
getStatusBadgeClass(): string;
|
|
156
|
+
getStatusLabel(): string;
|
|
157
|
+
getGradeBadgeClass(): string;
|
|
158
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OverallAssessmentComponent, never>;
|
|
159
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<OverallAssessmentComponent, "symphiq-funnel-analysis-overall-assessment", never, { "assessment": { "alias": "assessment"; "required": false; }; "revenueMetric": { "alias": "revenueMetric"; "required": false; }; }, {}, never, never, true, never>;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
declare const PERFORMANCE_DATA: PerformanceOverviewStructuredV3Interface;
|
|
163
|
+
|
|
164
|
+
export { BreakdownSectionComponent, FunnelOrderService, InsightCardComponent, MetricCardComponent, ModalComponent, ModalService, OverallAssessmentComponent, PERFORMANCE_DATA, SymphiqFunnelAnalysisDashboardComponent };
|
|
165
|
+
export type { FunnelMetricOrder, ModalState };
|
|
166
|
+
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../projects/symphiq-components/src/lib/services/funnel-order.service.ts","../../projects/symphiq-components/src/lib/services/modal.service.ts","../../projects/symphiq-components/src/lib/components/symphiq-funnel-analysis-dashboard.component.ts","../../projects/symphiq-components/src/lib/components/modal.component.ts","../../projects/symphiq-components/src/lib/components/metric-card.component.ts","../../projects/symphiq-components/src/lib/components/insight-card.component.ts","../../projects/symphiq-components/src/lib/components/breakdown-section.component.ts","../../projects/symphiq-components/src/lib/components/overall-assessment.component.ts","../../projects/symphiq-components/src/lib/data/funnel-data.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;AAQC;AAED;AAIE;AA4BA;AASA;AAIA;AAKA;AAIA;AAKA;;;;AA6BD;;;AC7FC;AACA;AACD;AAED;;AAKS;;;;;;AAaR;;ACfD;AAgIc;AAzBZ;;;;;;AAWA;;;;AAUE;AACF;AACA;AAEoB;AAEpB;AAIA;;;;AAoB4E;;AAyB5E;AAIA;;;AAOD;;ACrMD;AA8Jc;AANZ;AACA;AACA;AACA;AACA;AAEoB;;;;AAkCpB;AAIA;AAmBA;AAUA;AAgBA;AAIA;AAQA;;;AAWD;;ACvQD;AAmFI;AACA;;;AAJF;AAGU;;AAQV;AAQA;;AAWA;AAIA;AAgBA;AAQA;AAOA;AAcA;AAIA;AAOA;;;AASD;;ACpLD;AAyDc;;;AAAQ;AAEpB;;AAWA;;;AAcD;;ACrFD;;;;;AAKC;AAED;;AA2EE;;;;AA+BA;AAOA;AAKA;AAaA;AAIA;AAcA;;;AAGD;;AChKD;;;AA4HE;AAIA;AAIA;AAeA;AAeA;AAIA;;;AAgBD;;ACvLD;;;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@eric-emg/symphiq-components",
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "A comprehensive Angular library for component dashboards with performance visualization and metrics analysis",
|
|
5
|
+
"author": "Your Organization",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/eric-emg/symphiq-components.git"
|
|
10
|
+
},
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"angular",
|
|
16
|
+
"components",
|
|
17
|
+
"dashboard",
|
|
18
|
+
"analytics",
|
|
19
|
+
"performance",
|
|
20
|
+
"visualization"
|
|
21
|
+
],
|
|
22
|
+
"main": "fesm2022/symphiq-components.mjs",
|
|
23
|
+
"types": "index.d.ts",
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"import": "./fesm2022/symphiq-components.mjs",
|
|
27
|
+
"types": "./index.d.ts",
|
|
28
|
+
"default": "./fesm2022/symphiq-components.mjs"
|
|
29
|
+
},
|
|
30
|
+
"./styles.css": "./styles.css",
|
|
31
|
+
"./package.json": {
|
|
32
|
+
"default": "./package.json"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"@angular/animations": "20.0.0",
|
|
37
|
+
"@angular/common": "20.0.0",
|
|
38
|
+
"@angular/core": "20.0.0",
|
|
39
|
+
"@angular/forms": "20.0.0",
|
|
40
|
+
"@angular/platform-browser": "20.0.0",
|
|
41
|
+
"@angular/router": "20.0.0",
|
|
42
|
+
"@jebgem/model": "^0.0.1",
|
|
43
|
+
"rxjs": "^7.8.1",
|
|
44
|
+
"zone.js": "~0.15.0"
|
|
45
|
+
},
|
|
46
|
+
"module": "fesm2022/symphiq-components.mjs",
|
|
47
|
+
"typings": "index.d.ts",
|
|
48
|
+
"sideEffects": false,
|
|
49
|
+
"dependencies": {
|
|
50
|
+
"tslib": "^2.5.0"
|
|
51
|
+
},
|
|
52
|
+
"scripts": {
|
|
53
|
+
"prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with partial compilation mode, before attempting to publish.\\n')\" && exit 1"
|
|
54
|
+
}
|
|
55
|
+
}
|
package/src/styles.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import 'tailwindcss';
|