ng-prime-tools 1.0.24 → 1.0.25

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 CHANGED
@@ -636,6 +636,10 @@ export class FormBuilderTesterComponent implements OnInit {
636
636
 
637
637
  ## Changelog
638
638
 
639
+ ### Version 1.0.25 - Release Date: 06/03/2025
640
+
641
+ - adding pt-chart-comparison
642
+
639
643
  ### Version 1.0.24 - Release Date: 05/03/2025
640
644
 
641
645
  - adding pt-group
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9tb2RlbHMvY2hhcnQtY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFydERhdGEsIENoYXJ0T3B0aW9ucywgQ2hhcnRUeXBlIH0gZnJvbSAnY2hhcnQuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXQge1xuICBsYWJlbD86IHN0cmluZztcbiAgZGF0YTogbnVtYmVyW10gfCBhbnlbXTtcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGJvcmRlckNvbG9yPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGJvcmRlcldpZHRoPzogbnVtYmVyO1xuICBmaWxsPzogYm9vbGVhbjtcbiAgdGVuc2lvbj86IG51bWJlcjtcbiAgc3RhY2s/OiBzdHJpbmc7XG4gIHR5cGU/OiBDaGFydFR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnRDb25maWcge1xuICB0eXBlOiBDaGFydFR5cGU7XG4gIGRhdGE6IENoYXJ0RGF0YTtcbiAgb3B0aW9ucz86IENoYXJ0T3B0aW9ucztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9tb2RlbHMvY2hhcnQtY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFydERhdGEsIENoYXJ0T3B0aW9ucywgQ2hhcnRUeXBlIH0gZnJvbSAnY2hhcnQuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXQge1xuICBsYWJlbD86IHN0cmluZztcbiAgZGF0YTogbnVtYmVyW10gfCBhbnlbXTtcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGJvcmRlckNvbG9yPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGJvcmRlcldpZHRoPzogbnVtYmVyO1xuICBmaWxsPzogYm9vbGVhbjtcbiAgdGVuc2lvbj86IG51bWJlcjtcbiAgc3RhY2s/OiBzdHJpbmc7XG4gIHR5cGU/OiBDaGFydFR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnRDb25maWcge1xuICB0eXBlOiBDaGFydFR5cGU7XG4gIGRhdGE6IENoYXJ0RGF0YTtcbiAgY2hhcnRIZWlnaHQ/OiBzdHJpbmc7IC8vIERpcmVjdGx5IGluc2lkZSBDaGFydENvbmZpZ1xuICBjaGFydFdpZHRoPzogc3RyaW5nOyAvLyBEaXJlY3RseSBpbnNpZGUgQ2hhcnRDb25maWdcbiAgbWVkaWFuVGl0bGU/OiBzdHJpbmc7IC8vIERpcmVjdGx5IGluc2lkZSBDaGFydENvbmZpZ1xuICB4QXhpc1RpdGxlPzogc3RyaW5nOyAvLyBEaXJlY3RseSBpbnNpZGUgQ2hhcnRDb25maWdcbiAgeUF4aXNUaXRsZT86IHN0cmluZzsgLy8gRGlyZWN0bHkgaW5zaWRlIENoYXJ0Q29uZmlnXG4gIHNjYWxlcz86IHtcbiAgICB5Pzoge1xuICAgICAgbWluPzogbnVtYmVyO1xuICAgICAgbWF4PzogbnVtYmVyO1xuICAgICAgdGlja3M/OiB7XG4gICAgICAgIHN0ZXBTaXplPzogbnVtYmVyO1xuICAgICAgICBiZWdpbkF0WmVybz86IGJvb2xlYW47XG4gICAgICB9O1xuICAgIH07XG4gIH07XG4gIG9wdGlvbnM/OiBDaGFydE9wdGlvbnM7IC8vIEtlZXBpbmcgdGhpcyBmb3Igb3RoZXIgQ2hhcnQuanMtc3BlY2lmaWMgY29uZmlndXJhdGlvbnNcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWNoYXJ0LWNvbXBhcmlzb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,153 @@
1
+ import { Component, Input, ViewChild, } from '@angular/core';
2
+ import { Chart, registerables, } from 'chart.js';
3
+ import ChartDataLabels from 'chartjs-plugin-datalabels';
4
+ import * as i0 from "@angular/core";
5
+ export class PTChartComparisonComponent {
6
+ constructor() {
7
+ this.medianTitle = 'Médiane';
8
+ this.xAxisTitle = 'Time';
9
+ this.yAxisTitle = 'Value';
10
+ // Chart dimension inputs
11
+ this.chartHeight = '400px';
12
+ this.chartWidth = '1200px';
13
+ Chart.register(...registerables, ChartDataLabels);
14
+ }
15
+ ngOnInit() {
16
+ this.initializeChart();
17
+ }
18
+ ngOnDestroy() {
19
+ this.destroyChart();
20
+ }
21
+ /**
22
+ * Initializes the chart with median and datasets
23
+ */
24
+ initializeChart() {
25
+ const canvas = this.canvasRef.nativeElement;
26
+ this.destroyChart();
27
+ const config = {
28
+ type: this.chartConfig.type || 'line',
29
+ data: this.getFormattedChartData(), // Get data with median
30
+ options: this.getChartOptions(),
31
+ };
32
+ this.chart = new Chart(canvas, config);
33
+ }
34
+ /**
35
+ * Computes median values and adds them to the dataset
36
+ */
37
+ getFormattedChartData() {
38
+ const medianValues = this.calculateMedian();
39
+ return {
40
+ labels: this.chartConfig.data.labels,
41
+ datasets: [
42
+ // Add median line dataset
43
+ {
44
+ label: this.medianTitle || 'Médiane',
45
+ data: medianValues,
46
+ borderColor: '#0000FF', // Blue color
47
+ borderWidth: 2,
48
+ backgroundColor: 'transparent',
49
+ pointRadius: 0,
50
+ fill: false,
51
+ tension: 0.1,
52
+ borderDash: [5, 5], // Dashed line
53
+ },
54
+ // Keep existing datasets
55
+ ...this.chartConfig.data.datasets,
56
+ ],
57
+ };
58
+ }
59
+ /**
60
+ * Computes median values from all datasets at each time point
61
+ */
62
+ calculateMedian() {
63
+ const datasets = this.chartConfig.data.datasets;
64
+ return this.chartConfig.data.labels.map((_, index) => {
65
+ const valuesAtTime = datasets
66
+ .map((dataset) => dataset.data[index])
67
+ .filter((val) => val !== undefined);
68
+ if (valuesAtTime.length === 0)
69
+ return 0;
70
+ valuesAtTime.sort((a, b) => a - b);
71
+ const middle = Math.floor(valuesAtTime.length / 2);
72
+ return valuesAtTime.length % 2 === 0
73
+ ? (valuesAtTime[middle - 1] + valuesAtTime[middle]) / 2
74
+ : valuesAtTime[middle];
75
+ });
76
+ }
77
+ /**
78
+ * Defines chart options including Y-axis scaling
79
+ */
80
+ getChartOptions() {
81
+ return {
82
+ responsive: true,
83
+ maintainAspectRatio: false,
84
+ plugins: {
85
+ legend: { display: true, position: 'top' },
86
+ tooltip: { mode: 'index', intersect: false },
87
+ },
88
+ scales: {
89
+ x: {
90
+ title: { display: true, text: this.chartConfig.xAxisTitle || 'Time' },
91
+ ticks: { font: { size: 12 } },
92
+ },
93
+ y: {
94
+ title: {
95
+ display: true,
96
+ text: this.chartConfig.yAxisTitle || 'Value',
97
+ },
98
+ min: this.chartConfig.scales?.y?.min,
99
+ max: this.chartConfig.scales?.y?.max,
100
+ ticks: {
101
+ stepSize: this.chartConfig.scales?.y?.ticks?.stepSize,
102
+ font: { size: 16, weight: 'bold' },
103
+ color: '#333',
104
+ },
105
+ grid: {
106
+ color: 'rgba(0,0,0,0.1)',
107
+ },
108
+ border: {
109
+ display: true,
110
+ color: '#000',
111
+ },
112
+ },
113
+ },
114
+ };
115
+ }
116
+ /**
117
+ * Destroys the existing chart instance if present
118
+ */
119
+ destroyChart() {
120
+ if (this.chart) {
121
+ this.chart.destroy();
122
+ this.chart = undefined;
123
+ }
124
+ }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTChartComparisonComponent, selector: "pt-chart-comparison", inputs: { chartConfig: "chartConfig", medianTitle: "medianTitle", xAxisTitle: "xAxisTitle", yAxisTitle: "yAxisTitle", yMin: "yMin", yMax: "yMax", yStepSize: "yStepSize", chartHeight: "chartHeight", chartWidth: "chartWidth" }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["chartCanvas"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"chart-scroll-container\">\n <div\n class=\"chart-inner\"\n [style.width]=\"chartConfig.chartWidth || '1200px'\"\n [style.height]=\"chartConfig.chartHeight || '400px'\"\n >\n <canvas #chartCanvas></canvas>\n </div>\n</div>\n", styles: [".chart-scroll-container{width:100%;overflow-x:auto;white-space:nowrap;padding-bottom:10px}.chart-inner{display:inline-block}\n"] }); }
127
+ }
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonComponent, decorators: [{
129
+ type: Component,
130
+ args: [{ selector: 'pt-chart-comparison', template: "<div class=\"chart-scroll-container\">\n <div\n class=\"chart-inner\"\n [style.width]=\"chartConfig.chartWidth || '1200px'\"\n [style.height]=\"chartConfig.chartHeight || '400px'\"\n >\n <canvas #chartCanvas></canvas>\n </div>\n</div>\n", styles: [".chart-scroll-container{width:100%;overflow-x:auto;white-space:nowrap;padding-bottom:10px}.chart-inner{display:inline-block}\n"] }]
131
+ }], ctorParameters: () => [], propDecorators: { chartConfig: [{
132
+ type: Input
133
+ }], medianTitle: [{
134
+ type: Input
135
+ }], xAxisTitle: [{
136
+ type: Input
137
+ }], yAxisTitle: [{
138
+ type: Input
139
+ }], yMin: [{
140
+ type: Input
141
+ }], yMax: [{
142
+ type: Input
143
+ }], yStepSize: [{
144
+ type: Input
145
+ }], chartHeight: [{
146
+ type: Input
147
+ }], chartWidth: [{
148
+ type: Input
149
+ }], canvasRef: [{
150
+ type: ViewChild,
151
+ args: ['chartCanvas', { static: true }]
152
+ }] } });
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtY2hhcnQtY29tcGFyaXNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWNoYXJ0LWNvbXBhcmlzb24vcHQtY2hhcnQtY29tcGFyaXNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWNoYXJ0LWNvbXBhcmlzb24vcHQtY2hhcnQtY29tcGFyaXNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLEtBQUssRUFFTCxhQUFhLEdBR2QsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxlQUFlLE1BQU0sMkJBQTJCLENBQUM7O0FBUXhELE1BQU0sT0FBTywwQkFBMEI7SUFvQnJDO1FBbEJTLGdCQUFXLEdBQVcsU0FBUyxDQUFDO1FBQ2hDLGVBQVUsR0FBVyxNQUFNLENBQUM7UUFDNUIsZUFBVSxHQUFXLE9BQU8sQ0FBQztRQU90Qyx5QkFBeUI7UUFDaEIsZ0JBQVcsR0FBVyxPQUFPLENBQUM7UUFDOUIsZUFBVSxHQUFXLFFBQVEsQ0FBQztRQVFyQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNLLGVBQWU7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVksRUFBRSxD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RkRjYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UscUJBQXFCO3dEQUt0QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR04sU0FBUztzQkFEUixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9uRGVzdHJveSxcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENoYXJ0LFxuICBDaGFydENvbmZpZ3VyYXRpb24sXG4gIHJlZ2lzdGVyYWJsZXMsXG4gIENoYXJ0RGF0YSxcbiAgQ2hhcnRPcHRpb25zLFxufSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgQ2hhcnREYXRhTGFiZWxzIGZyb20gJ2NoYXJ0anMtcGx1Z2luLWRhdGFsYWJlbHMnO1xuaW1wb3J0IHsgQ2hhcnRDb25maWcsIERhdGFzZXQgfSBmcm9tICcuLi9tb2RlbHMvY2hhcnQtY29uZmlnLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHQtY2hhcnQtY29tcGFyaXNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wdC1jaGFydC1jb21wYXJpc29uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHQtY2hhcnQtY29tcGFyaXNvbi5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBUQ2hhcnRDb21wYXJpc29uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBjaGFydENvbmZpZyE6IENoYXJ0Q29uZmlnO1xuICBASW5wdXQoKSBtZWRpYW5UaXRsZTogc3RyaW5nID0gJ03DqWRpYW5lJztcbiAgQElucHV0KCkgeEF4aXNUaXRsZTogc3RyaW5nID0gJ1RpbWUnO1xuICBASW5wdXQoKSB5QXhpc1RpdGxlOiBzdHJpbmcgPSAnVmFsdWUnO1xuXG4gIC8vIFktQXhpcyBtYW51YWwgaW5wdXRzXG4gIEBJbnB1dCgpIHlNaW4hOiBudW1iZXI7XG4gIEBJbnB1dCgpIHlNYXghOiBudW1iZXI7XG4gIEBJbnB1dCgpIHlTdGVwU2l6ZSE6IG51bWJlcjtcblxuICAvLyBDaGFydCBkaW1lbnNpb24gaW5wdXRzXG4gIEBJbnB1dCgpIGNoYXJ0SGVpZ2h0OiBzdHJpbmcgPSAnNDAwcHgnO1xuICBASW5wdXQoKSBjaGFydFdpZHRoOiBzdHJpbmcgPSAnMTIwMHB4JztcblxuICBAVmlld0NoaWxkKCdjaGFydENhbnZhcycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGNhbnZhc1JlZiE6IEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+O1xuXG4gIHByaXZhdGUgY2hhcnQhOiBDaGFydDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBDaGFydC5yZWdpc3RlciguLi5yZWdpc3RlcmFibGVzLCBDaGFydERhdGFMYWJlbHMpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWFsaXplQ2hhcnQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveUNoYXJ0KCk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGNoYXJ0IHdpdGggbWVkaWFuIGFuZCBkYXRhc2V0c1xuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplQ2hhcnQoKSB7XG4gICAgY29uc3QgY2FudmFzID0gdGhpcy5jYW52YXNSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmRlc3Ryb3lDaGFydCgpO1xuXG4gICAgY29uc3QgY29uZmlnOiBDaGFydENvbmZpZ3VyYXRpb24gPSB7XG4gICAgICB0eXBlOiB0aGlzLmNoYXJ0Q29uZmlnLnR5cGUgfHwgJ2xpbmUnLFxuICAgICAgZGF0YTogdGhpcy5nZXRGb3JtYXR0ZWRDaGFydERhdGEoKSwgLy8gR2V0IGRhdGEgd2l0aCBtZWRpYW5cbiAgICAgIG9wdGlvbnM6IHRoaXMuZ2V0Q2hhcnRPcHRpb25zKCksXG4gICAgfTtcblxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQoY2FudmFzLCBjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIG1lZGlhbiB2YWx1ZXMgYW5kIGFkZHMgdGhlbSB0byB0aGUgZGF0YXNldFxuICAgKi9cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRDaGFydERhdGEoKTogQ2hhcnREYXRhIHtcbiAgICBjb25zdCBtZWRpYW5WYWx1ZXMgPSB0aGlzLmNhbGN1bGF0ZU1lZGlhbigpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsczogdGhpcy5jaGFydENvbmZpZy5kYXRhLmxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIC8vIEFkZCBtZWRpYW4gbGluZSBkYXRhc2V0XG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogdGhpcy5tZWRpYW5UaXRsZSB8fCAnTcOpZGlhbmUnLFxuICAgICAgICAgIGRhdGE6IG1lZGlhblZhbHVlcyxcbiAgICAgICAgICBib3JkZXJDb2xvcjogJyMwMDAwRkYnLCAvLyBCbHVlIGNvbG9yXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IDIsXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgIHBvaW50UmFkaXVzOiAwLFxuICAgICAgICAgIGZpbGw6IGZhbHNlLFxuICAgICAgICAgIHRlbnNpb246IDAuMSxcbiAgICAgICAgICBib3JkZXJEYXNoOiBbNSwgNV0sIC8vIERhc2hlZCBsaW5lXG4gICAgICAgIH0sXG4gICAgICAgIC8vIEtlZXAgZXhpc3RpbmcgZGF0YXNldHNcbiAgICAgICAgLi4uKHRoaXMuY2hhcnRDb25maWcuZGF0YS5kYXRhc2V0cyBhcyBEYXRhc2V0W10pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIG1lZGlhbiB2YWx1ZXMgZnJvbSBhbGwgZGF0YXNldHMgYXQgZWFjaCB0aW1lIHBvaW50XG4gICAqL1xuICBwcml2YXRlIGNhbGN1bGF0ZU1lZGlhbigpOiBudW1iZXJbXSB7XG4gICAgY29uc3QgZGF0YXNldHMgPSB0aGlzLmNoYXJ0Q29uZmlnLmRhdGEuZGF0YXNldHMgYXMgRGF0YXNldFtdO1xuXG4gICAgcmV0dXJuIHRoaXMuY2hhcnRDb25maWcuZGF0YS5sYWJlbHMhLm1hcCgoXywgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlc0F0VGltZSA9IGRhdGFzZXRzXG4gICAgICAgIC5tYXAoKGRhdGFzZXQpID0+IGRhdGFzZXQuZGF0YVtpbmRleF0pXG4gICAgICAgIC5maWx0ZXIoKHZhbCkgPT4gdmFsICE9PSB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAodmFsdWVzQXRUaW1lLmxlbmd0aCA9PT0gMCkgcmV0dXJuIDA7XG5cbiAgICAgIHZhbHVlc0F0VGltZS5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG4gICAgICBjb25zdCBtaWRkbGUgPSBNYXRoLmZsb29yKHZhbHVlc0F0VGltZS5sZW5ndGggLyAyKTtcblxuICAgICAgcmV0dXJuIHZhbHVlc0F0VGltZS5sZW5ndGggJSAyID09PSAwXG4gICAgICAgID8gKHZhbHVlc0F0VGltZVttaWRkbGUgLSAxXSArIHZhbHVlc0F0VGltZVttaWRkbGVdKSAvIDJcbiAgICAgICAgOiB2YWx1ZXNBdFRpbWVbbWlkZGxlXTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGNoYXJ0IG9wdGlvbnMgaW5jbHVkaW5nIFktYXhpcyBzY2FsaW5nXG4gICAqL1xuICBwcml2YXRlIGdldENoYXJ0T3B0aW9ucygpOiBDaGFydE9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDogeyBkaXNwbGF5OiB0cnVlLCBwb3NpdGlvbjogJ3RvcCcgfSxcbiAgICAgICAgdG9vbHRpcDogeyBtb2RlOiAnaW5kZXgnLCBpbnRlcnNlY3Q6IGZhbHNlIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHg6IHtcbiAgICAgICAgICB0aXRsZTogeyBkaXNwbGF5OiB0cnVlLCB0ZXh0OiB0aGlzLmNoYXJ0Q29uZmlnLnhBeGlzVGl0bGUgfHwgJ1RpbWUnIH0sXG4gICAgICAgICAgdGlja3M6IHsgZm9udDogeyBzaXplOiAxMiB9IH0sXG4gICAgICAgIH0sXG4gICAgICAgIHk6IHtcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuY2hhcnRDb25maWcueUF4aXNUaXRsZSB8fCAnVmFsdWUnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbWluOiB0aGlzLmNoYXJ0Q29uZmlnLnNjYWxlcz8ueT8ubWluLFxuICAgICAgICAgIG1heDogdGhpcy5jaGFydENvbmZpZy5zY2FsZXM/Lnk/Lm1heCxcbiAgICAgICAgICB0aWNrczoge1xuICAgICAgICAgICAgc3RlcFNpemU6IHRoaXMuY2hhcnRDb25maWcuc2NhbGVzPy55Py50aWNrcz8uc3RlcFNpemUsXG4gICAgICAgICAgICBmb250OiB7IHNpemU6IDE2LCB3ZWlnaHQ6ICdib2xkJyB9LFxuICAgICAgICAgICAgY29sb3I6ICcjMzMzJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGdyaWQ6IHtcbiAgICAgICAgICAgIGNvbG9yOiAncmdiYSgwLDAsMCwwLjEpJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbG9yOiAnIzAwMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGUgZXhpc3RpbmcgY2hhcnQgaW5zdGFuY2UgaWYgcHJlc2VudFxuICAgKi9cbiAgcHJpdmF0ZSBkZXN0cm95Q2hhcnQoKSB7XG4gICAgaWYgKHRoaXMuY2hhcnQpIHtcbiAgICAgIHRoaXMuY2hhcnQuZGVzdHJveSgpO1xuICAgICAgdGhpcy5jaGFydCA9IHVuZGVmaW5lZCBhcyBhbnk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2hhcnQtc2Nyb2xsLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJjaGFydC1pbm5lclwiXG4gICAgW3N0eWxlLndpZHRoXT1cImNoYXJ0Q29uZmlnLmNoYXJ0V2lkdGggfHwgJzEyMDBweCdcIlxuICAgIFtzdHlsZS5oZWlnaHRdPVwiY2hhcnRDb25maWcuY2hhcnRIZWlnaHQgfHwgJzQwMHB4J1wiXG4gID5cbiAgICA8Y2FudmFzICNjaGFydENhbnZhcz48L2NhbnZhcz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { PTChartComparisonComponent } from './pt-chart-comparison.component';
4
+ import * as i0 from "@angular/core";
5
+ export class PTChartComparisonModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonModule, declarations: [PTChartComparisonComponent], imports: [CommonModule], exports: [PTChartComparisonComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [PTChartComparisonComponent],
14
+ imports: [CommonModule],
15
+ exports: [PTChartComparisonComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtY2hhcnQtY29tcGFyaXNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWNoYXJ0LWNvbXBhcmlzb24vcHQtY2hhcnQtY29tcGFyaXNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBTzdFLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjtnSEFBdkIsdUJBQXVCLGlCQUpuQiwwQkFBMEIsYUFDL0IsWUFBWSxhQUNaLDBCQUEwQjtnSEFFekIsdUJBQXVCLFlBSHhCLFlBQVk7OzRGQUdYLHVCQUF1QjtrQkFMbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBUQ2hhcnRDb21wYXJpc29uQ29tcG9uZW50IH0gZnJvbSAnLi9wdC1jaGFydC1jb21wYXJpc29uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1BUQ2hhcnRDb21wYXJpc29uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtQVENoYXJ0Q29tcGFyaXNvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFBUQ2hhcnRDb21wYXJpc29uTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './pt-chart-comparison.component';
2
+ export * from './pt-chart-comparison.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtY2hhcnQtY29tcGFyaXNvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHQtY2hhcnQtY29tcGFyaXNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wdC1jaGFydC1jb21wYXJpc29uLm1vZHVsZSc7XG4iXX0=
@@ -17,6 +17,7 @@ export * from './lib/pt-metric-card';
17
17
  export * from './lib/pt-metric-card-group';
18
18
  // Chart
19
19
  export * from './lib/pt-chart';
20
+ export * from './lib/pt-chart-comparison';
20
21
  export * from './lib/pt-line-chart';
21
22
  // Cards
22
23
  export * from './lib/pt-card';
@@ -44,4 +45,4 @@ export * from './lib/models';
44
45
  export * from './lib/enums';
45
46
  export * from './lib/types';
46
47
  export * from './lib/pt-group';
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsaUJBQWlCO0FBQ2pCLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxTQUFTO0FBQ1QsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLFlBQVk7QUFDWixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxRQUFRO0FBQ1IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDO0FBRXBDLFFBQVE7QUFDUixjQUFjLGVBQWUsQ0FBQztBQUU5QixPQUFPO0FBQ1AsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxTQUFTO0FBQ1QsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxTQUFTO0FBQ1QsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxnQkFBZ0I7QUFDaEIsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxTQUFTO0FBQ1QsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxjQUFjO0FBQ2QsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxhQUFhO0FBQ2IsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxTQUFTO0FBQ1QsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxTQUFTO0FBQ1QsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxVQUFVO0FBQ1YsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL25nLXByaW1lLXRvb2xzLm1vZHVsZSc7XG5cbi8vIEFkdmFuY2VkIHRhYmxlXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1hZHZhbmNlZC1wcmltZS10YWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tdWx0aS1zZWFyY2gtY3JpdGVyaWEnO1xuXG4vLyBJbnB1dHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LWNoZWNrLWJveC1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1kYXRlLWlucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LWRyb3Bkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LWZvcm0tYnVpbGRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1udW1iZXItaW5wdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtc3dpdGNoLWlucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LXRleHQtYXJlYS1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC10ZXh0LWlucHV0JztcblxuLy8gRGFzaGJvYXJkXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1tZXRyaWMtcGFuZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtbWV0cmljLWNhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtbWV0cmljLWNhcmQtZ3JvdXAnO1xuXG4vLyBDaGFydFxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtY2hhcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtbGluZS1jaGFydCc7XG5cbi8vIENhcmRzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1jYXJkJztcblxuLy8gTWVudVxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtbWVudSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1tZW51LWZhbmN5JztcblxuLy8gTmF2YmFyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1uYXYtYmFyLW1lbnUnO1xuXG4vLyBOYXZiYXJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LXNpZGUtYmFyLW1lbnUnO1xuXG4vLyBQYWdlIHNrZWxldG9uXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1wYWdlLXNrZWxldG9uJztcblxuLy8gZm9vdGVyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1mb290ZXInO1xuXG4vLyBicmVhZCBjcnVtYlxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtYnJlYWQtY3J1bWInO1xuXG4vLyBsb2dpbiBwYWdlXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1sb2dpbi1wYWdlJztcblxuLy8gYnV0dG9uXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1idXR0b24nO1xuXG4vLyBkaWFsb2dcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LWRpYWxvZyc7XG5cbi8vIEdlbmVyaWNcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1ncm91cCc7XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsaUJBQWlCO0FBQ2pCLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxTQUFTO0FBQ1QsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLFlBQVk7QUFDWixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxRQUFRO0FBQ1IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsUUFBUTtBQUNSLGNBQWMsZUFBZSxDQUFDO0FBRTlCLE9BQU87QUFDUCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHFCQUFxQixDQUFDO0FBRXBDLFNBQVM7QUFDVCxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLFNBQVM7QUFDVCxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGdCQUFnQjtBQUNoQixjQUFjLHdCQUF3QixDQUFDO0FBRXZDLFNBQVM7QUFDVCxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLGNBQWM7QUFDZCxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGFBQWE7QUFDYixjQUFjLHFCQUFxQixDQUFDO0FBRXBDLFNBQVM7QUFDVCxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLFNBQVM7QUFDVCxjQUFjLGlCQUFpQixDQUFDO0FBRWhDLFVBQVU7QUFDVixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbmctcHJpbWUtdG9vbHMubW9kdWxlJztcblxuLy8gQWR2YW5jZWQgdGFibGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LWFkdmFuY2VkLXByaW1lLXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL211bHRpLXNlYXJjaC1jcml0ZXJpYSc7XG5cbi8vIElucHV0c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtY2hlY2stYm94LWlucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LWRhdGUtaW5wdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtZHJvcGRvd24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtZm9ybS1idWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LW51bWJlci1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1zd2l0Y2gtaW5wdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtdGV4dC1hcmVhLWlucHV0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LXRleHQtaW5wdXQnO1xuXG4vLyBEYXNoYm9hcmRcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LW1ldHJpYy1wYW5lbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1tZXRyaWMtY2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1tZXRyaWMtY2FyZC1ncm91cCc7XG5cbi8vIENoYXJ0XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1jaGFydCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1jaGFydC1jb21wYXJpc29uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LWxpbmUtY2hhcnQnO1xuXG4vLyBDYXJkc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtY2FyZCc7XG5cbi8vIE1lbnVcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LW1lbnUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtbWVudS1mYW5jeSc7XG5cbi8vIE5hdmJhclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtbmF2LWJhci1tZW51JztcblxuLy8gTmF2YmFyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1zaWRlLWJhci1tZW51JztcblxuLy8gUGFnZSBza2VsZXRvblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtcGFnZS1za2VsZXRvbic7XG5cbi8vIGZvb3RlclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtZm9vdGVyJztcblxuLy8gYnJlYWQgY3J1bWJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B0LWJyZWFkLWNydW1iJztcblxuLy8gbG9naW4gcGFnZVxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtbG9naW4tcGFnZSc7XG5cbi8vIGJ1dHRvblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtYnV0dG9uJztcblxuLy8gZGlhbG9nXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdC1kaWFsb2cnO1xuXG4vLyBHZW5lcmljXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHQtZ3JvdXAnO1xuIl19
@@ -3948,6 +3948,169 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
3948
3948
  }]
3949
3949
  }] });
3950
3950
 
3951
+ class PTChartComparisonComponent {
3952
+ constructor() {
3953
+ this.medianTitle = 'Médiane';
3954
+ this.xAxisTitle = 'Time';
3955
+ this.yAxisTitle = 'Value';
3956
+ // Chart dimension inputs
3957
+ this.chartHeight = '400px';
3958
+ this.chartWidth = '1200px';
3959
+ Chart.register(...registerables, ChartDataLabels);
3960
+ }
3961
+ ngOnInit() {
3962
+ this.initializeChart();
3963
+ }
3964
+ ngOnDestroy() {
3965
+ this.destroyChart();
3966
+ }
3967
+ /**
3968
+ * Initializes the chart with median and datasets
3969
+ */
3970
+ initializeChart() {
3971
+ const canvas = this.canvasRef.nativeElement;
3972
+ this.destroyChart();
3973
+ const config = {
3974
+ type: this.chartConfig.type || 'line',
3975
+ data: this.getFormattedChartData(), // Get data with median
3976
+ options: this.getChartOptions(),
3977
+ };
3978
+ this.chart = new Chart(canvas, config);
3979
+ }
3980
+ /**
3981
+ * Computes median values and adds them to the dataset
3982
+ */
3983
+ getFormattedChartData() {
3984
+ const medianValues = this.calculateMedian();
3985
+ return {
3986
+ labels: this.chartConfig.data.labels,
3987
+ datasets: [
3988
+ // Add median line dataset
3989
+ {
3990
+ label: this.medianTitle || 'Médiane',
3991
+ data: medianValues,
3992
+ borderColor: '#0000FF', // Blue color
3993
+ borderWidth: 2,
3994
+ backgroundColor: 'transparent',
3995
+ pointRadius: 0,
3996
+ fill: false,
3997
+ tension: 0.1,
3998
+ borderDash: [5, 5], // Dashed line
3999
+ },
4000
+ // Keep existing datasets
4001
+ ...this.chartConfig.data.datasets,
4002
+ ],
4003
+ };
4004
+ }
4005
+ /**
4006
+ * Computes median values from all datasets at each time point
4007
+ */
4008
+ calculateMedian() {
4009
+ const datasets = this.chartConfig.data.datasets;
4010
+ return this.chartConfig.data.labels.map((_, index) => {
4011
+ const valuesAtTime = datasets
4012
+ .map((dataset) => dataset.data[index])
4013
+ .filter((val) => val !== undefined);
4014
+ if (valuesAtTime.length === 0)
4015
+ return 0;
4016
+ valuesAtTime.sort((a, b) => a - b);
4017
+ const middle = Math.floor(valuesAtTime.length / 2);
4018
+ return valuesAtTime.length % 2 === 0
4019
+ ? (valuesAtTime[middle - 1] + valuesAtTime[middle]) / 2
4020
+ : valuesAtTime[middle];
4021
+ });
4022
+ }
4023
+ /**
4024
+ * Defines chart options including Y-axis scaling
4025
+ */
4026
+ getChartOptions() {
4027
+ return {
4028
+ responsive: true,
4029
+ maintainAspectRatio: false,
4030
+ plugins: {
4031
+ legend: { display: true, position: 'top' },
4032
+ tooltip: { mode: 'index', intersect: false },
4033
+ },
4034
+ scales: {
4035
+ x: {
4036
+ title: { display: true, text: this.chartConfig.xAxisTitle || 'Time' },
4037
+ ticks: { font: { size: 12 } },
4038
+ },
4039
+ y: {
4040
+ title: {
4041
+ display: true,
4042
+ text: this.chartConfig.yAxisTitle || 'Value',
4043
+ },
4044
+ min: this.chartConfig.scales?.y?.min,
4045
+ max: this.chartConfig.scales?.y?.max,
4046
+ ticks: {
4047
+ stepSize: this.chartConfig.scales?.y?.ticks?.stepSize,
4048
+ font: { size: 16, weight: 'bold' },
4049
+ color: '#333',
4050
+ },
4051
+ grid: {
4052
+ color: 'rgba(0,0,0,0.1)',
4053
+ },
4054
+ border: {
4055
+ display: true,
4056
+ color: '#000',
4057
+ },
4058
+ },
4059
+ },
4060
+ };
4061
+ }
4062
+ /**
4063
+ * Destroys the existing chart instance if present
4064
+ */
4065
+ destroyChart() {
4066
+ if (this.chart) {
4067
+ this.chart.destroy();
4068
+ this.chart = undefined;
4069
+ }
4070
+ }
4071
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4072
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTChartComparisonComponent, selector: "pt-chart-comparison", inputs: { chartConfig: "chartConfig", medianTitle: "medianTitle", xAxisTitle: "xAxisTitle", yAxisTitle: "yAxisTitle", yMin: "yMin", yMax: "yMax", yStepSize: "yStepSize", chartHeight: "chartHeight", chartWidth: "chartWidth" }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["chartCanvas"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"chart-scroll-container\">\n <div\n class=\"chart-inner\"\n [style.width]=\"chartConfig.chartWidth || '1200px'\"\n [style.height]=\"chartConfig.chartHeight || '400px'\"\n >\n <canvas #chartCanvas></canvas>\n </div>\n</div>\n", styles: [".chart-scroll-container{width:100%;overflow-x:auto;white-space:nowrap;padding-bottom:10px}.chart-inner{display:inline-block}\n"] }); }
4073
+ }
4074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonComponent, decorators: [{
4075
+ type: Component,
4076
+ args: [{ selector: 'pt-chart-comparison', template: "<div class=\"chart-scroll-container\">\n <div\n class=\"chart-inner\"\n [style.width]=\"chartConfig.chartWidth || '1200px'\"\n [style.height]=\"chartConfig.chartHeight || '400px'\"\n >\n <canvas #chartCanvas></canvas>\n </div>\n</div>\n", styles: [".chart-scroll-container{width:100%;overflow-x:auto;white-space:nowrap;padding-bottom:10px}.chart-inner{display:inline-block}\n"] }]
4077
+ }], ctorParameters: () => [], propDecorators: { chartConfig: [{
4078
+ type: Input
4079
+ }], medianTitle: [{
4080
+ type: Input
4081
+ }], xAxisTitle: [{
4082
+ type: Input
4083
+ }], yAxisTitle: [{
4084
+ type: Input
4085
+ }], yMin: [{
4086
+ type: Input
4087
+ }], yMax: [{
4088
+ type: Input
4089
+ }], yStepSize: [{
4090
+ type: Input
4091
+ }], chartHeight: [{
4092
+ type: Input
4093
+ }], chartWidth: [{
4094
+ type: Input
4095
+ }], canvasRef: [{
4096
+ type: ViewChild,
4097
+ args: ['chartCanvas', { static: true }]
4098
+ }] } });
4099
+
4100
+ class PTChartComparisonModule {
4101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4102
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonModule, declarations: [PTChartComparisonComponent], imports: [CommonModule], exports: [PTChartComparisonComponent] }); }
4103
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonModule, imports: [CommonModule] }); }
4104
+ }
4105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTChartComparisonModule, decorators: [{
4106
+ type: NgModule,
4107
+ args: [{
4108
+ declarations: [PTChartComparisonComponent],
4109
+ imports: [CommonModule],
4110
+ exports: [PTChartComparisonComponent],
4111
+ }]
4112
+ }] });
4113
+
3951
4114
  class PTLineChartComponent {
3952
4115
  constructor() {
3953
4116
  this.config = {
@@ -4119,5 +4282,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
4119
4282
  * Generated bundle index. Do not edit.
4120
4283
  */
4121
4284
 
4122
- export { BadgeType, BadgeTypeStyles, ButtonColorEnum, FormInputTypeEnum, InputValidationEnum, MultiSearchCriteriaComponent, MultiSearchCriteriaModule, NgPrimeToolsModule, PTAdvancedPrimeTableComponent, PTAdvancedPrimeTableModule, PTBreadCrumbComponent, PTBreadCrumbModule, PTButtonComponent, PTButtonModule, PTCardComponent, PTCardModule, PTChartComponent, PTChartModule, PTCheckBoxInputComponent, PTCheckBoxInputModule, PTDateInputComponent, PTDateInputModule, PTDialogComponent, PTDialogModule, PTDropdownComponent, PTDropdownModule, PTFooterComponent, PTFooterModule, PTFormBuilderComponent, PTFormBuilderModule, PTGroupComponent, PTGroupModule, PTLineChartComponent, PTLineChartModule, PTLoginPageComponent, PTLoginPageModule, PTMenuComponent, PTMenuFancyComponent, PTMenuFancyModule, PTMenuModule, PTMetricCardComponent, PTMetricCardGroupComponent, PTMetricCardGroupModule, PTMetricCardModule, PTMetricPanelComponent, PTMetricPanelModule, PTNavbarMenuComponent, PTNavbarMenuModule, PTNumberInputComponent, PTNumberInputModule, PTPageSkeletonComponent, PTPageSkeletonModule, PTSideBarMenuComponent, PTSideBarMenuModule, PTSwitchInputComponent, PTSwitchInputModule, PTTextAreaInputComponent, PTTextAreaInputModule, PTTextInputComponent, PTTextInputModule, SearchCriteriaTypeEnum, TableTypeEnum };
4285
+ export { BadgeType, BadgeTypeStyles, ButtonColorEnum, FormInputTypeEnum, InputValidationEnum, MultiSearchCriteriaComponent, MultiSearchCriteriaModule, NgPrimeToolsModule, PTAdvancedPrimeTableComponent, PTAdvancedPrimeTableModule, PTBreadCrumbComponent, PTBreadCrumbModule, PTButtonComponent, PTButtonModule, PTCardComponent, PTCardModule, PTChartComparisonComponent, PTChartComparisonModule, PTChartComponent, PTChartModule, PTCheckBoxInputComponent, PTCheckBoxInputModule, PTDateInputComponent, PTDateInputModule, PTDialogComponent, PTDialogModule, PTDropdownComponent, PTDropdownModule, PTFooterComponent, PTFooterModule, PTFormBuilderComponent, PTFormBuilderModule, PTGroupComponent, PTGroupModule, PTLineChartComponent, PTLineChartModule, PTLoginPageComponent, PTLoginPageModule, PTMenuComponent, PTMenuFancyComponent, PTMenuFancyModule, PTMenuModule, PTMetricCardComponent, PTMetricCardGroupComponent, PTMetricCardGroupModule, PTMetricCardModule, PTMetricPanelComponent, PTMetricPanelModule, PTNavbarMenuComponent, PTNavbarMenuModule, PTNumberInputComponent, PTNumberInputModule, PTPageSkeletonComponent, PTPageSkeletonModule, PTSideBarMenuComponent, PTSideBarMenuModule, PTSwitchInputComponent, PTSwitchInputModule, PTTextAreaInputComponent, PTTextAreaInputModule, PTTextInputComponent, PTTextInputModule, SearchCriteriaTypeEnum, TableTypeEnum };
4123
4286
  //# sourceMappingURL=ng-prime-tools.mjs.map