@coreui/angular-chartjs 5.2.24 → 5.3.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 CHANGED
@@ -24,18 +24,18 @@
24
24
  ## Status
25
25
 
26
26
  ![angular][angular-badge]
27
- [![npm package][npm-badge-v5-ng18]][npm]
27
+ [![npm package][npm-badge-v5-ng19]][npm]
28
28
  [![npm package][npm-badge-latest]][npm]
29
29
  [![npm package][npm-badge-next]][npm]
30
30
  [![NPM downloads][npm-download]][npm]
31
31
 
32
32
 
33
- [npm-badge-v5-ng18]: https://img.shields.io/npm/v/@coreui/angular-chartjs/v5-ng18?style=flat-square&color=brightgreen
33
+ [npm-badge-v5-ng19]: https://img.shields.io/npm/v/@coreui/angular-chartjs/v5-ng19?style=flat-square&color=brightgreen
34
34
  [npm-badge-latest]: https://img.shields.io/npm/v/@coreui/angular-chartjs/latest?style=flat-square&color=brightgreen
35
35
  [npm-badge-next]: https://img.shields.io/npm/v/@coreui/angular-chartjs/next?style=flat-square&color=red
36
36
  [npm]: https://www.npmjs.com/package/@coreui/angular-chartjs
37
37
  [npm-download]: https://img.shields.io/npm/dm/@coreui/angular-chartjs.svg?style=flat-square
38
- [angular-badge]: https://img.shields.io/badge/angular-^18.2.0-lightgrey.svg?style=flat-square&logo=angular
38
+ [angular-badge]: https://img.shields.io/badge/angular-^19.0.0-lightgrey.svg?style=flat-square&logo=angular
39
39
 
40
40
  ##### install:
41
41
 
@@ -67,7 +67,6 @@ import { ChartjsModule } from '@coreui/angular-chartjs';
67
67
  import { ChartjsComponent } from '@coreui/angular-chartjs';
68
68
 
69
69
  @Component({
70
- standalone: true,
71
70
  imports: [
72
71
  ChartjsComponent,
73
72
  ...
@@ -180,12 +180,12 @@ class ChartjsComponent {
180
180
  });
181
181
  }
182
182
  }
183
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ChartjsComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
184
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.11", type: ChartjsComponent, isStandalone: true, selector: "c-chart", inputs: { customTooltips: ["customTooltips", "customTooltips", booleanAttribute], data: "data", height: ["height", "height", (value) => numberAttribute(value, undefined)], id: "id", options: "options", plugins: "plugins", redraw: ["redraw", "redraw", booleanAttribute], type: "type", width: ["width", "width", (value) => numberAttribute(value, undefined)], wrapper: ["wrapper", "wrapper", booleanAttribute] }, outputs: { getDatasetAtEvent: "getDatasetAtEvent", getElementAtEvent: "getElementAtEvent", getElementsAtEvent: "getElementsAtEvent", chartRef: "chartRef" }, host: { properties: { "style.height.px": "this.height", "style.width.px": "this.width", "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["canvasElement"], descendants: true }], exportAs: ["cChart"], usesOnChanges: true, ngImport: i0, template: "<canvas\n #canvasElement\n (click)=\"handleClick($event)\"\n [height]=\"height\"\n [id]=\"id\"\n [width]=\"width\"\n role=\"img\"\n style=\"display: none;\"\n>\n <ng-content />\n <!-- <ng-container *ngTemplateOutlet=\"fallbackContent\"/>-->\n</canvas>\n", styles: [":host.chart-wrapper{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
183
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ChartjsComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
184
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.0", type: ChartjsComponent, isStandalone: true, selector: "c-chart", inputs: { customTooltips: ["customTooltips", "customTooltips", booleanAttribute], data: "data", height: ["height", "height", (value) => numberAttribute(value, undefined)], id: "id", options: "options", plugins: "plugins", redraw: ["redraw", "redraw", booleanAttribute], type: "type", width: ["width", "width", (value) => numberAttribute(value, undefined)], wrapper: ["wrapper", "wrapper", booleanAttribute] }, outputs: { getDatasetAtEvent: "getDatasetAtEvent", getElementAtEvent: "getElementAtEvent", getElementsAtEvent: "getElementsAtEvent", chartRef: "chartRef" }, host: { properties: { "style.height.px": "this.height", "style.width.px": "this.width", "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["canvasElement"], descendants: true }], exportAs: ["cChart"], usesOnChanges: true, ngImport: i0, template: "<canvas\n #canvasElement\n (click)=\"handleClick($event)\"\n [height]=\"height\"\n [id]=\"id\"\n [width]=\"width\"\n role=\"img\"\n style=\"display: none;\"\n>\n <ng-content />\n <!-- <ng-container *ngTemplateOutlet=\"fallbackContent\"/>-->\n</canvas>\n", styles: [":host.chart-wrapper{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ChartjsComponent, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ChartjsComponent, decorators: [{
187
187
  type: Component,
188
- args: [{ selector: 'c-chart', exportAs: 'cChart', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<canvas\n #canvasElement\n (click)=\"handleClick($event)\"\n [height]=\"height\"\n [id]=\"id\"\n [width]=\"width\"\n role=\"img\"\n style=\"display: none;\"\n>\n <ng-content />\n <!-- <ng-container *ngTemplateOutlet=\"fallbackContent\"/>-->\n</canvas>\n", styles: [":host.chart-wrapper{display:block}\n"] }]
188
+ args: [{ selector: 'c-chart', exportAs: 'cChart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<canvas\n #canvasElement\n (click)=\"handleClick($event)\"\n [height]=\"height\"\n [id]=\"id\"\n [width]=\"width\"\n role=\"img\"\n style=\"display: none;\"\n>\n <ng-content />\n <!-- <ng-container *ngTemplateOutlet=\"fallbackContent\"/>-->\n</canvas>\n", styles: [":host.chart-wrapper{display:block}\n"] }]
189
189
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], propDecorators: { customTooltips: [{
190
190
  type: Input,
191
191
  args: [{ transform: booleanAttribute }]
@@ -234,11 +234,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
234
234
  }] } });
235
235
 
236
236
  class ChartjsModule {
237
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ChartjsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
238
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: ChartjsModule, imports: [ChartjsComponent], exports: [ChartjsComponent] }); }
239
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ChartjsModule }); }
237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ChartjsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
238
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: ChartjsModule, imports: [ChartjsComponent], exports: [ChartjsComponent] }); }
239
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ChartjsModule }); }
240
240
  }
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ChartjsModule, decorators: [{
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ChartjsModule, decorators: [{
242
242
  type: NgModule,
243
243
  args: [{
244
244
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"coreui-angular-chartjs.mjs","sources":["../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.ts","../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.html","../../../projects/coreui-angular-chartjs/src/lib/chartjs.module.ts","../../../projects/coreui-angular-chartjs/src/public-api.ts","../../../projects/coreui-angular-chartjs/src/coreui-angular-chartjs.ts"],"sourcesContent":["import {\n afterRender,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n NgZone,\n numberAttribute,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\n\nimport merge from 'lodash-es/merge';\n\nimport type { ChartConfiguration, ChartData, ChartOptions, ChartType, InteractionItem, Plugin } from 'chart.js';\nimport { Chart as ChartJS, registerables } from 'chart.js';\nimport { customTooltips as cuiCustomTooltips } from '@coreui/chartjs';\n\nChartJS.register(...registerables);\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-chart',\n templateUrl: './chartjs.component.html',\n styleUrls: ['./chartjs.component.scss'],\n exportAs: 'cChart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush\n // host: { ngSkipHydration: 'true' }\n})\nexport class ChartjsComponent implements AfterViewInit, OnDestroy, OnChanges {\n /**\n * Enables custom html based tooltips instead of standard tooltips.\n * @type boolean\n * @default true\n */\n @Input({ transform: booleanAttribute }) customTooltips: boolean = true;\n\n /**\n * The data object that is passed into the Chart.js chart (more info).\n */\n @Input() data?: ChartData;\n\n /**\n * A fallback when the canvas cannot be rendered. Can be used for accessible chart descriptions.\n */\n // @Input() fallbackContent?: TemplateRef<any>;\n\n /**\n * Height attribute applied to the rendered canvas.\n * @type number | undefined\n * @default 150\n */\n @HostBinding('style.height.px')\n @Input({ transform: (value: string | number) => numberAttribute(value, undefined) })\n height?: number;\n\n /**\n * ID attribute applied to the rendered canvas.\n * @type string\n */\n @Input() id: string = `c-chartjs-${nextId++}`;\n\n /**\n * The options object that is passed into the Chart.js chart.\n */\n @Input() options?: ChartOptions = {};\n\n /**\n * The plugins array that is passed into the Chart.js chart\n */\n @Input() plugins: Plugin[] = [];\n\n /**\n * If true, will tear down and redraw chart on all updates.\n * @type boolean\n * @default false\n */\n @Input({ transform: booleanAttribute }) redraw: boolean = false;\n\n /**\n * Chart.js chart type.\n * @type {'line' | 'bar' | 'radar' | 'doughnut' | 'polarArea' | 'bubble' | 'pie' | 'scatter'}\n */\n @Input() type: ChartType = 'bar';\n\n /**\n * Width attribute applied to the rendered canvas.\n * @type number | undefined\n * @default 300\n */\n @HostBinding('style.width.px')\n @Input({ transform: (value: string | number) => numberAttribute(value, undefined) })\n width?: number;\n\n /**\n * Put the chart into the wrapper div element.\n * @default true\n */\n @Input({ transform: booleanAttribute }) wrapper = true;\n\n @Output() readonly getDatasetAtEvent = new EventEmitter<any>();\n @Output() readonly getElementAtEvent = new EventEmitter<any>();\n @Output() readonly getElementsAtEvent = new EventEmitter<any>();\n\n @Output() readonly chartRef = new EventEmitter<any>();\n\n @ViewChild('canvasElement') canvasElement!: ElementRef;\n\n chart!: ChartJS;\n ctx!: CanvasRenderingContext2D;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'chart-wrapper': this.wrapper\n };\n }\n\n constructor(\n private readonly ngZone: NgZone,\n private readonly renderer: Renderer2,\n private readonly changeDetectorRef: ChangeDetectorRef\n ) {\n // todo: verify afterRender / afterNextRender for chartjs (spec fails with 17.0.10)\n afterRender({\n write: () => {\n this.ctx = this.canvasElement?.nativeElement?.getContext('2d');\n this.chartRender();\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.chartRender();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['data'] && !changes['data'].firstChange) {\n this.chartUpdate();\n }\n }\n\n ngOnDestroy(): void {\n this.chartDestroy();\n }\n\n public handleClick($event: MouseEvent) {\n if (!this.chart) {\n return;\n }\n\n const datasetAtEvent: InteractionItem[] = this.chart.getElementsAtEventForMode(\n $event,\n 'dataset',\n { intersect: true },\n false\n );\n this.getDatasetAtEvent.emit(datasetAtEvent);\n\n const elementAtEvent: InteractionItem[] = this.chart.getElementsAtEventForMode(\n $event,\n 'nearest',\n { intersect: true },\n false\n );\n this.getElementAtEvent.emit(elementAtEvent);\n\n const elementsAtEvent: InteractionItem[] = this.chart.getElementsAtEventForMode(\n $event,\n 'index',\n { intersect: true },\n false\n );\n this.getElementsAtEvent.emit(elementsAtEvent);\n }\n\n public chartDestroy() {\n this.chart?.destroy();\n this.chartRef.emit(undefined);\n }\n\n public chartRender() {\n if (!this.canvasElement?.nativeElement || !this.ctx || this.chart) {\n return;\n }\n\n this.ngZone.runOutsideAngular(() => {\n const config = this.chartConfig();\n if (config) {\n this.chart = new ChartJS(this.ctx, config);\n this.ngZone.run(() => {\n this.renderer.setStyle(this.canvasElement.nativeElement, 'display', 'block');\n this.changeDetectorRef.markForCheck();\n this.chartRef.emit(this.chart);\n });\n }\n });\n }\n\n chartUpdate() {\n if (!this.chart) {\n return;\n }\n\n if (this.redraw) {\n this.chartDestroy();\n this.chartRender();\n return;\n }\n\n const config: ChartConfiguration = this.chartConfig();\n\n if (this.options) {\n Object.assign(this.chart.options ?? {}, config.options ?? {});\n }\n\n if (!this.chart.config.data) {\n this.chart.config.data = { ...config.data };\n this.chartUpdateOutsideAngular();\n }\n\n if (this.chart) {\n Object.assign(this.chart.config.options ?? {}, config.options ?? {});\n Object.assign(this.chart.config.plugins ?? [], config.plugins ?? []);\n Object.assign(this.chart.config.data, config.data);\n }\n\n this.chartUpdateOutsideAngular();\n }\n\n private chartUpdateOutsideAngular() {\n setTimeout(() => {\n this.ngZone.runOutsideAngular(() => {\n this.chart?.update();\n this.ngZone.run(() => {\n this.changeDetectorRef.markForCheck();\n });\n });\n });\n }\n\n public chartToBase64Image(): string | undefined {\n return this.chart?.toBase64Image();\n }\n\n private chartDataConfig(): ChartData {\n return {\n labels: this.data?.labels ?? [],\n datasets: this.data?.datasets ?? []\n };\n }\n\n private chartOptions(): ChartOptions {\n return this.options ?? {};\n }\n\n private chartConfig(): ChartConfiguration {\n this.chartCustomTooltips();\n return {\n data: this.chartDataConfig(),\n options: this.chartOptions(),\n plugins: this.plugins,\n type: this.type\n };\n }\n\n private chartCustomTooltips() {\n if (this.customTooltips) {\n const options = this.options;\n const plugins = this.options?.plugins;\n const tooltip = this.options?.plugins?.tooltip;\n this.options = merge({\n ...options,\n plugins: {\n ...plugins,\n tooltip: {\n ...tooltip,\n enabled: false,\n mode: 'index',\n position: 'nearest',\n external: cuiCustomTooltips\n }\n }\n });\n }\n }\n}\n","<canvas\n #canvasElement\n (click)=\"handleClick($event)\"\n [height]=\"height\"\n [id]=\"id\"\n [width]=\"width\"\n role=\"img\"\n style=\"display: none;\"\n>\n <ng-content />\n <!-- <ng-container *ngTemplateOutlet=\"fallbackContent\"/>-->\n</canvas>\n","import { NgModule } from '@angular/core';\nimport { ChartjsComponent } from './chartjs.component';\n\n@NgModule({\n imports: [\n ChartjsComponent\n ],\n exports: [\n ChartjsComponent\n ]\n})\nexport class ChartjsModule {}\n","/*\n * Public API Surface of coreui-angular-chartjs\n */\n\nexport * from './lib/chartjs.component';\nexport * from './lib/chartjs.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ChartJS","cuiCustomTooltips"],"mappings":"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"}
1
+ {"version":3,"file":"coreui-angular-chartjs.mjs","sources":["../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.ts","../../../projects/coreui-angular-chartjs/src/lib/chartjs.component.html","../../../projects/coreui-angular-chartjs/src/lib/chartjs.module.ts","../../../projects/coreui-angular-chartjs/src/public-api.ts","../../../projects/coreui-angular-chartjs/src/coreui-angular-chartjs.ts"],"sourcesContent":["import {\n afterRender,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n NgZone,\n numberAttribute,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\n\nimport merge from 'lodash-es/merge';\n\nimport type { ChartConfiguration, ChartData, ChartOptions, ChartType, InteractionItem, Plugin } from 'chart.js';\nimport { Chart as ChartJS, registerables } from 'chart.js';\nimport { customTooltips as cuiCustomTooltips } from '@coreui/chartjs';\n\nChartJS.register(...registerables);\n\nlet nextId = 0;\n\n@Component({\n selector: 'c-chart',\n templateUrl: './chartjs.component.html',\n styleUrls: ['./chartjs.component.scss'],\n exportAs: 'cChart',\n changeDetection: ChangeDetectionStrategy.OnPush\n // host: { ngSkipHydration: 'true' }\n})\nexport class ChartjsComponent implements AfterViewInit, OnDestroy, OnChanges {\n /**\n * Enables custom html based tooltips instead of standard tooltips.\n * @type boolean\n * @default true\n */\n @Input({ transform: booleanAttribute }) customTooltips: boolean = true;\n\n /**\n * The data object that is passed into the Chart.js chart (more info).\n */\n @Input() data?: ChartData;\n\n /**\n * A fallback when the canvas cannot be rendered. Can be used for accessible chart descriptions.\n */\n // @Input() fallbackContent?: TemplateRef<any>;\n\n /**\n * Height attribute applied to the rendered canvas.\n * @type number | undefined\n * @default 150\n */\n @HostBinding('style.height.px')\n @Input({ transform: (value: string | number) => numberAttribute(value, undefined) })\n height?: number;\n\n /**\n * ID attribute applied to the rendered canvas.\n * @type string\n */\n @Input() id: string = `c-chartjs-${nextId++}`;\n\n /**\n * The options object that is passed into the Chart.js chart.\n */\n @Input() options?: ChartOptions = {};\n\n /**\n * The plugins array that is passed into the Chart.js chart\n */\n @Input() plugins: Plugin[] = [];\n\n /**\n * If true, will tear down and redraw chart on all updates.\n * @type boolean\n * @default false\n */\n @Input({ transform: booleanAttribute }) redraw: boolean = false;\n\n /**\n * Chart.js chart type.\n * @type {'line' | 'bar' | 'radar' | 'doughnut' | 'polarArea' | 'bubble' | 'pie' | 'scatter'}\n */\n @Input() type: ChartType = 'bar';\n\n /**\n * Width attribute applied to the rendered canvas.\n * @type number | undefined\n * @default 300\n */\n @HostBinding('style.width.px')\n @Input({ transform: (value: string | number) => numberAttribute(value, undefined) })\n width?: number;\n\n /**\n * Put the chart into the wrapper div element.\n * @default true\n */\n @Input({ transform: booleanAttribute }) wrapper = true;\n\n @Output() readonly getDatasetAtEvent = new EventEmitter<any>();\n @Output() readonly getElementAtEvent = new EventEmitter<any>();\n @Output() readonly getElementsAtEvent = new EventEmitter<any>();\n\n @Output() readonly chartRef = new EventEmitter<any>();\n\n @ViewChild('canvasElement') canvasElement!: ElementRef;\n\n chart!: ChartJS;\n ctx!: CanvasRenderingContext2D;\n\n @HostBinding('class')\n get hostClasses() {\n return {\n 'chart-wrapper': this.wrapper\n };\n }\n\n constructor(\n private readonly ngZone: NgZone,\n private readonly renderer: Renderer2,\n private readonly changeDetectorRef: ChangeDetectorRef\n ) {\n // todo: verify afterRender / afterNextRender for chartjs (spec fails with 17.0.10)\n afterRender({\n write: () => {\n this.ctx = this.canvasElement?.nativeElement?.getContext('2d');\n this.chartRender();\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.chartRender();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['data'] && !changes['data'].firstChange) {\n this.chartUpdate();\n }\n }\n\n ngOnDestroy(): void {\n this.chartDestroy();\n }\n\n public handleClick($event: MouseEvent) {\n if (!this.chart) {\n return;\n }\n\n const datasetAtEvent: InteractionItem[] = this.chart.getElementsAtEventForMode(\n $event,\n 'dataset',\n { intersect: true },\n false\n );\n this.getDatasetAtEvent.emit(datasetAtEvent);\n\n const elementAtEvent: InteractionItem[] = this.chart.getElementsAtEventForMode(\n $event,\n 'nearest',\n { intersect: true },\n false\n );\n this.getElementAtEvent.emit(elementAtEvent);\n\n const elementsAtEvent: InteractionItem[] = this.chart.getElementsAtEventForMode(\n $event,\n 'index',\n { intersect: true },\n false\n );\n this.getElementsAtEvent.emit(elementsAtEvent);\n }\n\n public chartDestroy() {\n this.chart?.destroy();\n this.chartRef.emit(undefined);\n }\n\n public chartRender() {\n if (!this.canvasElement?.nativeElement || !this.ctx || this.chart) {\n return;\n }\n\n this.ngZone.runOutsideAngular(() => {\n const config = this.chartConfig();\n if (config) {\n this.chart = new ChartJS(this.ctx, config);\n this.ngZone.run(() => {\n this.renderer.setStyle(this.canvasElement.nativeElement, 'display', 'block');\n this.changeDetectorRef.markForCheck();\n this.chartRef.emit(this.chart);\n });\n }\n });\n }\n\n chartUpdate() {\n if (!this.chart) {\n return;\n }\n\n if (this.redraw) {\n this.chartDestroy();\n this.chartRender();\n return;\n }\n\n const config: ChartConfiguration = this.chartConfig();\n\n if (this.options) {\n Object.assign(this.chart.options ?? {}, config.options ?? {});\n }\n\n if (!this.chart.config.data) {\n this.chart.config.data = { ...config.data };\n this.chartUpdateOutsideAngular();\n }\n\n if (this.chart) {\n Object.assign(this.chart.config.options ?? {}, config.options ?? {});\n Object.assign(this.chart.config.plugins ?? [], config.plugins ?? []);\n Object.assign(this.chart.config.data, config.data);\n }\n\n this.chartUpdateOutsideAngular();\n }\n\n private chartUpdateOutsideAngular() {\n setTimeout(() => {\n this.ngZone.runOutsideAngular(() => {\n this.chart?.update();\n this.ngZone.run(() => {\n this.changeDetectorRef.markForCheck();\n });\n });\n });\n }\n\n public chartToBase64Image(): string | undefined {\n return this.chart?.toBase64Image();\n }\n\n private chartDataConfig(): ChartData {\n return {\n labels: this.data?.labels ?? [],\n datasets: this.data?.datasets ?? []\n };\n }\n\n private chartOptions(): ChartOptions {\n return this.options ?? {};\n }\n\n private chartConfig(): ChartConfiguration {\n this.chartCustomTooltips();\n return {\n data: this.chartDataConfig(),\n options: this.chartOptions(),\n plugins: this.plugins,\n type: this.type\n };\n }\n\n private chartCustomTooltips() {\n if (this.customTooltips) {\n const options = this.options;\n const plugins = this.options?.plugins;\n const tooltip = this.options?.plugins?.tooltip;\n this.options = merge({\n ...options,\n plugins: {\n ...plugins,\n tooltip: {\n ...tooltip,\n enabled: false,\n mode: 'index',\n position: 'nearest',\n external: cuiCustomTooltips\n }\n }\n });\n }\n }\n}\n","<canvas\n #canvasElement\n (click)=\"handleClick($event)\"\n [height]=\"height\"\n [id]=\"id\"\n [width]=\"width\"\n role=\"img\"\n style=\"display: none;\"\n>\n <ng-content />\n <!-- <ng-container *ngTemplateOutlet=\"fallbackContent\"/>-->\n</canvas>\n","import { NgModule } from '@angular/core';\nimport { ChartjsComponent } from './chartjs.component';\n\n@NgModule({\n imports: [\n ChartjsComponent\n ],\n exports: [\n ChartjsComponent\n ]\n})\nexport class ChartjsModule {}\n","/*\n * Public API Surface of coreui-angular-chartjs\n */\n\nexport * from './lib/chartjs.component';\nexport * from './lib/chartjs.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ChartJS","cuiCustomTooltips"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coreui/angular-chartjs",
3
- "version": "5.2.24",
3
+ "version": "5.3.0",
4
4
  "description": "Angular wrapper component for Chart.js",
5
5
  "copyright": "Copyright 2024 creativeLabs Łukasz Holeczek",
6
6
  "license": "MIT",
@@ -25,7 +25,7 @@
25
25
  "url": "https://github.com/coreui/coreui-angular/issues"
26
26
  },
27
27
  "peerDependencies": {
28
- "@angular/core": "^18.2.0",
28
+ "@angular/core": "^19.0.0",
29
29
  "@coreui/chartjs": "^4.0.0",
30
30
  "chart.js": "^4.4.6"
31
31
  },
@@ -54,8 +54,6 @@
54
54
  },
55
55
  ".": {
56
56
  "types": "./index.d.ts",
57
- "esm2022": "./esm2022/coreui-angular-chartjs.mjs",
58
- "esm": "./esm2022/coreui-angular-chartjs.mjs",
59
57
  "default": "./fesm2022/coreui-angular-chartjs.mjs"
60
58
  }
61
59
  }
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZXVpLWFuZ3VsYXItY2hhcnRqcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyLWNoYXJ0anMvc3JjL2NvcmV1aS1hbmd1bGFyLWNoYXJ0anMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,234 +0,0 @@
1
- import { afterRender, booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, numberAttribute, Output, ViewChild } from '@angular/core';
2
- import merge from 'lodash-es/merge';
3
- import { Chart as ChartJS, registerables } from 'chart.js';
4
- import { customTooltips as cuiCustomTooltips } from '@coreui/chartjs';
5
- import * as i0 from "@angular/core";
6
- ChartJS.register(...registerables);
7
- let nextId = 0;
8
- export class ChartjsComponent {
9
- get hostClasses() {
10
- return {
11
- 'chart-wrapper': this.wrapper
12
- };
13
- }
14
- constructor(ngZone, renderer, changeDetectorRef) {
15
- this.ngZone = ngZone;
16
- this.renderer = renderer;
17
- this.changeDetectorRef = changeDetectorRef;
18
- /**
19
- * Enables custom html based tooltips instead of standard tooltips.
20
- * @type boolean
21
- * @default true
22
- */
23
- this.customTooltips = true;
24
- /**
25
- * ID attribute applied to the rendered canvas.
26
- * @type string
27
- */
28
- this.id = `c-chartjs-${nextId++}`;
29
- /**
30
- * The options object that is passed into the Chart.js chart.
31
- */
32
- this.options = {};
33
- /**
34
- * The plugins array that is passed into the Chart.js chart
35
- */
36
- this.plugins = [];
37
- /**
38
- * If true, will tear down and redraw chart on all updates.
39
- * @type boolean
40
- * @default false
41
- */
42
- this.redraw = false;
43
- /**
44
- * Chart.js chart type.
45
- * @type {'line' | 'bar' | 'radar' | 'doughnut' | 'polarArea' | 'bubble' | 'pie' | 'scatter'}
46
- */
47
- this.type = 'bar';
48
- /**
49
- * Put the chart into the wrapper div element.
50
- * @default true
51
- */
52
- this.wrapper = true;
53
- this.getDatasetAtEvent = new EventEmitter();
54
- this.getElementAtEvent = new EventEmitter();
55
- this.getElementsAtEvent = new EventEmitter();
56
- this.chartRef = new EventEmitter();
57
- // todo: verify afterRender / afterNextRender for chartjs (spec fails with 17.0.10)
58
- afterRender({
59
- write: () => {
60
- this.ctx = this.canvasElement?.nativeElement?.getContext('2d');
61
- this.chartRender();
62
- }
63
- });
64
- }
65
- ngAfterViewInit() {
66
- this.chartRender();
67
- }
68
- ngOnChanges(changes) {
69
- if (changes['data'] && !changes['data'].firstChange) {
70
- this.chartUpdate();
71
- }
72
- }
73
- ngOnDestroy() {
74
- this.chartDestroy();
75
- }
76
- handleClick($event) {
77
- if (!this.chart) {
78
- return;
79
- }
80
- const datasetAtEvent = this.chart.getElementsAtEventForMode($event, 'dataset', { intersect: true }, false);
81
- this.getDatasetAtEvent.emit(datasetAtEvent);
82
- const elementAtEvent = this.chart.getElementsAtEventForMode($event, 'nearest', { intersect: true }, false);
83
- this.getElementAtEvent.emit(elementAtEvent);
84
- const elementsAtEvent = this.chart.getElementsAtEventForMode($event, 'index', { intersect: true }, false);
85
- this.getElementsAtEvent.emit(elementsAtEvent);
86
- }
87
- chartDestroy() {
88
- this.chart?.destroy();
89
- this.chartRef.emit(undefined);
90
- }
91
- chartRender() {
92
- if (!this.canvasElement?.nativeElement || !this.ctx || this.chart) {
93
- return;
94
- }
95
- this.ngZone.runOutsideAngular(() => {
96
- const config = this.chartConfig();
97
- if (config) {
98
- this.chart = new ChartJS(this.ctx, config);
99
- this.ngZone.run(() => {
100
- this.renderer.setStyle(this.canvasElement.nativeElement, 'display', 'block');
101
- this.changeDetectorRef.markForCheck();
102
- this.chartRef.emit(this.chart);
103
- });
104
- }
105
- });
106
- }
107
- chartUpdate() {
108
- if (!this.chart) {
109
- return;
110
- }
111
- if (this.redraw) {
112
- this.chartDestroy();
113
- this.chartRender();
114
- return;
115
- }
116
- const config = this.chartConfig();
117
- if (this.options) {
118
- Object.assign(this.chart.options ?? {}, config.options ?? {});
119
- }
120
- if (!this.chart.config.data) {
121
- this.chart.config.data = { ...config.data };
122
- this.chartUpdateOutsideAngular();
123
- }
124
- if (this.chart) {
125
- Object.assign(this.chart.config.options ?? {}, config.options ?? {});
126
- Object.assign(this.chart.config.plugins ?? [], config.plugins ?? []);
127
- Object.assign(this.chart.config.data, config.data);
128
- }
129
- this.chartUpdateOutsideAngular();
130
- }
131
- chartUpdateOutsideAngular() {
132
- setTimeout(() => {
133
- this.ngZone.runOutsideAngular(() => {
134
- this.chart?.update();
135
- this.ngZone.run(() => {
136
- this.changeDetectorRef.markForCheck();
137
- });
138
- });
139
- });
140
- }
141
- chartToBase64Image() {
142
- return this.chart?.toBase64Image();
143
- }
144
- chartDataConfig() {
145
- return {
146
- labels: this.data?.labels ?? [],
147
- datasets: this.data?.datasets ?? []
148
- };
149
- }
150
- chartOptions() {
151
- return this.options ?? {};
152
- }
153
- chartConfig() {
154
- this.chartCustomTooltips();
155
- return {
156
- data: this.chartDataConfig(),
157
- options: this.chartOptions(),
158
- plugins: this.plugins,
159
- type: this.type
160
- };
161
- }
162
- chartCustomTooltips() {
163
- if (this.customTooltips) {
164
- const options = this.options;
165
- const plugins = this.options?.plugins;
166
- const tooltip = this.options?.plugins?.tooltip;
167
- this.options = merge({
168
- ...options,
169
- plugins: {
170
- ...plugins,
171
- tooltip: {
172
- ...tooltip,
173
- enabled: false,
174
- mode: 'index',
175
- position: 'nearest',
176
- external: cuiCustomTooltips
177
- }
178
- }
179
- });
180
- }
181
- }
182
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ChartjsComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
183
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.11", type: ChartjsComponent, isStandalone: true, selector: "c-chart", inputs: { customTooltips: ["customTooltips", "customTooltips", booleanAttribute], data: "data", height: ["height", "height", (value) => numberAttribute(value, undefined)], id: "id", options: "options", plugins: "plugins", redraw: ["redraw", "redraw", booleanAttribute], type: "type", width: ["width", "width", (value) => numberAttribute(value, undefined)], wrapper: ["wrapper", "wrapper", booleanAttribute] }, outputs: { getDatasetAtEvent: "getDatasetAtEvent", getElementAtEvent: "getElementAtEvent", getElementsAtEvent: "getElementsAtEvent", chartRef: "chartRef" }, host: { properties: { "style.height.px": "this.height", "style.width.px": "this.width", "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["canvasElement"], descendants: true }], exportAs: ["cChart"], usesOnChanges: true, ngImport: i0, template: "<canvas\n #canvasElement\n (click)=\"handleClick($event)\"\n [height]=\"height\"\n [id]=\"id\"\n [width]=\"width\"\n role=\"img\"\n style=\"display: none;\"\n>\n <ng-content />\n <!-- <ng-container *ngTemplateOutlet=\"fallbackContent\"/>-->\n</canvas>\n", styles: [":host.chart-wrapper{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
184
- }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ChartjsComponent, decorators: [{
186
- type: Component,
187
- args: [{ selector: 'c-chart', exportAs: 'cChart', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<canvas\n #canvasElement\n (click)=\"handleClick($event)\"\n [height]=\"height\"\n [id]=\"id\"\n [width]=\"width\"\n role=\"img\"\n style=\"display: none;\"\n>\n <ng-content />\n <!-- <ng-container *ngTemplateOutlet=\"fallbackContent\"/>-->\n</canvas>\n", styles: [":host.chart-wrapper{display:block}\n"] }]
188
- }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], propDecorators: { customTooltips: [{
189
- type: Input,
190
- args: [{ transform: booleanAttribute }]
191
- }], data: [{
192
- type: Input
193
- }], height: [{
194
- type: HostBinding,
195
- args: ['style.height.px']
196
- }, {
197
- type: Input,
198
- args: [{ transform: (value) => numberAttribute(value, undefined) }]
199
- }], id: [{
200
- type: Input
201
- }], options: [{
202
- type: Input
203
- }], plugins: [{
204
- type: Input
205
- }], redraw: [{
206
- type: Input,
207
- args: [{ transform: booleanAttribute }]
208
- }], type: [{
209
- type: Input
210
- }], width: [{
211
- type: HostBinding,
212
- args: ['style.width.px']
213
- }, {
214
- type: Input,
215
- args: [{ transform: (value) => numberAttribute(value, undefined) }]
216
- }], wrapper: [{
217
- type: Input,
218
- args: [{ transform: booleanAttribute }]
219
- }], getDatasetAtEvent: [{
220
- type: Output
221
- }], getElementAtEvent: [{
222
- type: Output
223
- }], getElementsAtEvent: [{
224
- type: Output
225
- }], chartRef: [{
226
- type: Output
227
- }], canvasElement: [{
228
- type: ViewChild,
229
- args: ['canvasElement']
230
- }], hostClasses: [{
231
- type: HostBinding,
232
- args: ['class']
233
- }] } });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRqcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci1jaGFydGpzL3NyYy9saWIvY2hhcnRqcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci1jaGFydGpzL3NyYy9saWIvY2hhcnRqcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUVYLGdCQUFnQixFQUNoQix1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLGVBQWUsRUFHZixNQUFNLEVBR04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBR3BDLE9BQU8sRUFBRSxLQUFLLElBQUksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxJQUFJLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXRFLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQztBQUVuQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFXZixNQUFNLE9BQU8sZ0JBQWdCO0lBa0YzQixJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQsWUFDbUIsTUFBYyxFQUNkLFFBQW1CLEVBQ25CLGlCQUFvQztRQUZwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBM0Z2RDs7OztXQUlHO1FBQ3FDLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBcUJ2RTs7O1dBR0c7UUFDTSxPQUFFLEdB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ImltcG9ydCB7XG4gIGFmdGVyUmVuZGVyLFxuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IG1lcmdlIGZyb20gJ2xvZGFzaC1lcy9tZXJnZSc7XG5cbmltcG9ydCB0eXBlIHsgQ2hhcnRDb25maWd1cmF0aW9uLCBDaGFydERhdGEsIENoYXJ0T3B0aW9ucywgQ2hhcnRUeXBlLCBJbnRlcmFjdGlvbkl0ZW0sIFBsdWdpbiB9IGZyb20gJ2NoYXJ0LmpzJztcbmltcG9ydCB7IENoYXJ0IGFzIENoYXJ0SlMsIHJlZ2lzdGVyYWJsZXMgfSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgeyBjdXN0b21Ub29sdGlwcyBhcyBjdWlDdXN0b21Ub29sdGlwcyB9IGZyb20gJ0Bjb3JldWkvY2hhcnRqcyc7XG5cbkNoYXJ0SlMucmVnaXN0ZXIoLi4ucmVnaXN0ZXJhYmxlcyk7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0anMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydGpzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnY0NoYXJ0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbiAgLy8gaG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9XG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0anNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBFbmFibGVzIGN1c3RvbSBodG1sIGJhc2VkIHRvb2x0aXBzIGluc3RlYWQgb2Ygc3RhbmRhcmQgdG9vbHRpcHMuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGN1c3RvbVRvb2x0aXBzOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIGRhdGEgb2JqZWN0IHRoYXQgaXMgcGFzc2VkIGludG8gdGhlIENoYXJ0LmpzIGNoYXJ0IChtb3JlIGluZm8pLlxuICAgKi9cbiAgQElucHV0KCkgZGF0YT86IENoYXJ0RGF0YTtcblxuICAvKipcbiAgICogQSBmYWxsYmFjayB3aGVuIHRoZSBjYW52YXMgY2Fubm90IGJlIHJlbmRlcmVkLiBDYW4gYmUgdXNlZCBmb3IgYWNjZXNzaWJsZSBjaGFydCBkZXNjcmlwdGlvbnMuXG4gICAqL1xuICAvLyBASW5wdXQoKSBmYWxsYmFja0NvbnRlbnQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiBIZWlnaHQgYXR0cmlidXRlIGFwcGxpZWQgdG8gdGhlIHJlbmRlcmVkIGNhbnZhcy5cbiAgICogQHR5cGUgbnVtYmVyIHwgdW5kZWZpbmVkXG4gICAqIEBkZWZhdWx0IDE1MFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSA9PiBudW1iZXJBdHRyaWJ1dGUodmFsdWUsIHVuZGVmaW5lZCkgfSlcbiAgaGVpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJRCBhdHRyaWJ1dGUgYXBwbGllZCB0byB0aGUgcmVuZGVyZWQgY2FudmFzLlxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICovXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSBgYy1jaGFydGpzLSR7bmV4dElkKyt9YDtcblxuICAvKipcbiAgICogVGhlIG9wdGlvbnMgb2JqZWN0IHRoYXQgaXMgcGFzc2VkIGludG8gdGhlIENoYXJ0LmpzIGNoYXJ0LlxuICAgKi9cbiAgQElucHV0KCkgb3B0aW9ucz86IENoYXJ0T3B0aW9ucyA9IHt9O1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2lucyBhcnJheSB0aGF0IGlzIHBhc3NlZCBpbnRvIHRoZSBDaGFydC5qcyBjaGFydFxuICAgKi9cbiAgQElucHV0KCkgcGx1Z2luczogUGx1Z2luW10gPSBbXTtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgd2lsbCB0ZWFyIGRvd24gYW5kIHJlZHJhdyBjaGFydCBvbiBhbGwgdXBkYXRlcy5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlZHJhdzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDaGFydC5qcyBjaGFydCB0eXBlLlxuICAgKiBAdHlwZSB7J2xpbmUnIHwgJ2JhcicgfCAncmFkYXInIHwgJ2RvdWdobnV0JyB8ICdwb2xhckFyZWEnIHwgJ2J1YmJsZScgfCAncGllJyB8ICdzY2F0dGVyJ31cbiAgICovXG4gIEBJbnB1dCgpIHR5cGU6IENoYXJ0VHlwZSA9ICdiYXInO1xuXG4gIC8qKlxuICAgKiBXaWR0aCBhdHRyaWJ1dGUgYXBwbGllZCB0byB0aGUgcmVuZGVyZWQgY2FudmFzLlxuICAgKiBAdHlwZSBudW1iZXIgfCB1bmRlZmluZWRcbiAgICogQGRlZmF1bHQgMzAwXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoLnB4JylcbiAgQElucHV0KHsgdHJhbnNmb3JtOiAodmFsdWU6IHN0cmluZyB8IG51bWJlcikgPT4gbnVtYmVyQXR0cmlidXRlKHZhbHVlLCB1bmRlZmluZWQpIH0pXG4gIHdpZHRoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBQdXQgdGhlIGNoYXJ0IGludG8gdGhlIHdyYXBwZXIgZGl2IGVsZW1lbnQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB3cmFwcGVyID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZ2V0RGF0YXNldEF0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGdldEVsZW1lbnRBdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSBnZXRFbGVtZW50c0F0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhcnRSZWYgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAVmlld0NoaWxkKCdjYW52YXNFbGVtZW50JykgY2FudmFzRWxlbWVudCE6IEVsZW1lbnRSZWY7XG5cbiAgY2hhcnQhOiBDaGFydEpTO1xuICBjdHghOiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NoYXJ0LXdyYXBwZXInOiB0aGlzLndyYXBwZXJcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgLy8gdG9kbzogdmVyaWZ5IGFmdGVyUmVuZGVyIC8gYWZ0ZXJOZXh0UmVuZGVyIGZvciBjaGFydGpzIChzcGVjIGZhaWxzIHdpdGggMTcuMC4xMClcbiAgICBhZnRlclJlbmRlcih7XG4gICAgICB3cml0ZTogKCkgPT4ge1xuICAgICAgICB0aGlzLmN0eCA9IHRoaXMuY2FudmFzRWxlbWVudD8ubmF0aXZlRWxlbWVudD8uZ2V0Q29udGV4dCgnMmQnKTtcbiAgICAgICAgdGhpcy5jaGFydFJlbmRlcigpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnRSZW5kZXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGF0YSddICYmICFjaGFuZ2VzWydkYXRhJ10uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuY2hhcnRVcGRhdGUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJ0RGVzdHJveSgpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNsaWNrKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy5jaGFydCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGFzZXRBdEV2ZW50OiBJbnRlcmFjdGlvbkl0ZW1bXSA9IHRoaXMuY2hhcnQuZ2V0RWxlbWVudHNBdEV2ZW50Rm9yTW9kZShcbiAgICAgICRldmVudCxcbiAgICAgICdkYXRhc2V0JyxcbiAgICAgIHsgaW50ZXJzZWN0OiB0cnVlIH0sXG4gICAgICBmYWxzZVxuICAgICk7XG4gICAgdGhpcy5nZXREYXRhc2V0QXRFdmVudC5lbWl0KGRhdGFzZXRBdEV2ZW50KTtcblxuICAgIGNvbnN0IGVsZW1lbnRBdEV2ZW50OiBJbnRlcmFjdGlvbkl0ZW1bXSA9IHRoaXMuY2hhcnQuZ2V0RWxlbWVudHNBdEV2ZW50Rm9yTW9kZShcbiAgICAgICRldmVudCxcbiAgICAgICduZWFyZXN0JyxcbiAgICAgIHsgaW50ZXJzZWN0OiB0cnVlIH0sXG4gICAgICBmYWxzZVxuICAgICk7XG4gICAgdGhpcy5nZXRFbGVtZW50QXRFdmVudC5lbWl0KGVsZW1lbnRBdEV2ZW50KTtcblxuICAgIGNvbnN0IGVsZW1lbnRzQXRFdmVudDogSW50ZXJhY3Rpb25JdGVtW10gPSB0aGlzLmNoYXJ0LmdldEVsZW1lbnRzQXRFdmVudEZvck1vZGUoXG4gICAgICAkZXZlbnQsXG4gICAgICAnaW5kZXgnLFxuICAgICAgeyBpbnRlcnNlY3Q6IHRydWUgfSxcbiAgICAgIGZhbHNlXG4gICAgKTtcbiAgICB0aGlzLmdldEVsZW1lbnRzQXRFdmVudC5lbWl0KGVsZW1lbnRzQXRFdmVudCk7XG4gIH1cblxuICBwdWJsaWMgY2hhcnREZXN0cm95KCkge1xuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKTtcbiAgICB0aGlzLmNoYXJ0UmVmLmVtaXQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFydFJlbmRlcigpIHtcbiAgICBpZiAoIXRoaXMuY2FudmFzRWxlbWVudD8ubmF0aXZlRWxlbWVudCB8fCAhdGhpcy5jdHggfHwgdGhpcy5jaGFydCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY2hhcnRDb25maWcoKTtcbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgdGhpcy5jaGFydCA9IG5ldyBDaGFydEpTKHRoaXMuY3R4LCBjb25maWcpO1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jYW52YXNFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB0aGlzLmNoYXJ0UmVmLmVtaXQodGhpcy5jaGFydCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY2hhcnRVcGRhdGUoKSB7XG4gICAgaWYgKCF0aGlzLmNoYXJ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVkcmF3KSB7XG4gICAgICB0aGlzLmNoYXJ0RGVzdHJveSgpO1xuICAgICAgdGhpcy5jaGFydFJlbmRlcigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZzogQ2hhcnRDb25maWd1cmF0aW9uID0gdGhpcy5jaGFydENvbmZpZygpO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucykge1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmNoYXJ0Lm9wdGlvbnMgPz8ge30sIGNvbmZpZy5vcHRpb25zID8/IHt9KTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY2hhcnQuY29uZmlnLmRhdGEpIHtcbiAgICAgIHRoaXMuY2hhcnQuY29uZmlnLmRhdGEgPSB7IC4uLmNvbmZpZy5kYXRhIH07XG4gICAgICB0aGlzLmNoYXJ0VXBkYXRlT3V0c2lkZUFuZ3VsYXIoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jaGFydCkge1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmNoYXJ0LmNvbmZpZy5vcHRpb25zID8/IHt9LCBjb25maWcub3B0aW9ucyA/PyB7fSk7XG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuY2hhcnQuY29uZmlnLnBsdWdpbnMgPz8gW10sIGNvbmZpZy5wbHVnaW5zID8/IFtdKTtcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5jaGFydC5jb25maWcuZGF0YSwgY29uZmlnLmRhdGEpO1xuICAgIH1cblxuICAgIHRoaXMuY2hhcnRVcGRhdGVPdXRzaWRlQW5ndWxhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFydFVwZGF0ZU91dHNpZGVBbmd1bGFyKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYXJ0Py51cGRhdGUoKTtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNoYXJ0VG9CYXNlNjRJbWFnZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0Py50b0Jhc2U2NEltYWdlKCk7XG4gIH1cblxuICBwcml2YXRlIGNoYXJ0RGF0YUNvbmZpZygpOiBDaGFydERhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBsYWJlbHM6IHRoaXMuZGF0YT8ubGFiZWxzID8/IFtdLFxuICAgICAgZGF0YXNldHM6IHRoaXMuZGF0YT8uZGF0YXNldHMgPz8gW11cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFydE9wdGlvbnMoKTogQ2hhcnRPcHRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zID8/IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBjaGFydENvbmZpZygpOiBDaGFydENvbmZpZ3VyYXRpb24ge1xuICAgIHRoaXMuY2hhcnRDdXN0b21Ub29sdGlwcygpO1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB0aGlzLmNoYXJ0RGF0YUNvbmZpZygpLFxuICAgICAgb3B0aW9uczogdGhpcy5jaGFydE9wdGlvbnMoKSxcbiAgICAgIHBsdWdpbnM6IHRoaXMucGx1Z2lucyxcbiAgICAgIHR5cGU6IHRoaXMudHlwZVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNoYXJ0Q3VzdG9tVG9vbHRpcHMoKSB7XG4gICAgaWYgKHRoaXMuY3VzdG9tVG9vbHRpcHMpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG4gICAgICBjb25zdCBwbHVnaW5zID0gdGhpcy5vcHRpb25zPy5wbHVnaW5zO1xuICAgICAgY29uc3QgdG9vbHRpcCA9IHRoaXMub3B0aW9ucz8ucGx1Z2lucz8udG9vbHRpcDtcbiAgICAgIHRoaXMub3B0aW9ucyA9IG1lcmdlKHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgcGx1Z2luczoge1xuICAgICAgICAgIC4uLnBsdWdpbnMsXG4gICAgICAgICAgdG9vbHRpcDoge1xuICAgICAgICAgICAgLi4udG9vbHRpcCxcbiAgICAgICAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbW9kZTogJ2luZGV4JyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnbmVhcmVzdCcsXG4gICAgICAgICAgICBleHRlcm5hbDogY3VpQ3VzdG9tVG9vbHRpcHNcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGNhbnZhc1xuICAjY2FudmFzRWxlbWVudFxuICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4gIFtoZWlnaHRdPVwiaGVpZ2h0XCJcbiAgW2lkXT1cImlkXCJcbiAgW3dpZHRoXT1cIndpZHRoXCJcbiAgcm9sZT1cImltZ1wiXG4gIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIlxuPlxuICA8bmctY29udGVudCAvPlxuICA8IS0tICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmFsbGJhY2tDb250ZW50XCIvPi0tPlxuPC9jYW52YXM+XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { ChartjsComponent } from './chartjs.component';
3
- import * as i0 from "@angular/core";
4
- export class ChartjsModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ChartjsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: ChartjsModule, imports: [ChartjsComponent], exports: [ChartjsComponent] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ChartjsModule }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ChartjsModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- imports: [
13
- ChartjsComponent
14
- ],
15
- exports: [
16
- ChartjsComponent
17
- ]
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnRqcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci1jaGFydGpzL3NyYy9saWIvY2hhcnRqcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFVdkQsTUFBTSxPQUFPLGFBQWE7K0dBQWIsYUFBYTtnSEFBYixhQUFhLFlBTnRCLGdCQUFnQixhQUdoQixnQkFBZ0I7Z0hBR1AsYUFBYTs7NEZBQWIsYUFBYTtrQkFSekIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFydGpzQ29tcG9uZW50IH0gZnJvbSAnLi9jaGFydGpzLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDaGFydGpzQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDaGFydGpzQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hhcnRqc01vZHVsZSB7fVxuIl19
@@ -1,6 +0,0 @@
1
- /*
2
- * Public API Surface of coreui-angular-chartjs
3
- */
4
- export * from './lib/chartjs.component';
5
- export * from './lib/chartjs.module';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyLWNoYXJ0anMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNvcmV1aS1hbmd1bGFyLWNoYXJ0anNcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFydGpzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGFydGpzLm1vZHVsZSc7XG4iXX0=