@agorapulse/ui-charts 2.2.17 → 13.0.1

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.
Files changed (52) hide show
  1. package/agorapulse-ui-charts-13.0.1.tgz +0 -0
  2. package/agorapulse-ui-charts.d.ts +1 -0
  3. package/{esm2015/agorapulse-ui-charts.js → esm2020/agorapulse-ui-charts.mjs} +0 -0
  4. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  5. package/esm2020/src/lib/agorapulse-ui-charts.module.mjs +60 -0
  6. package/esm2020/src/lib/chart-bar/chart-bar-options.model.mjs +80 -0
  7. package/esm2020/src/lib/chart-bar/chart-bar.component.mjs +58 -0
  8. package/{esm2015/src/lib/chart-colors.js → esm2020/src/lib/chart-colors.mjs} +3 -2
  9. package/esm2020/src/lib/chart-column/chart-column-options.model.mjs +104 -0
  10. package/esm2020/src/lib/chart-column/chart-column.component.mjs +59 -0
  11. package/{esm2015/src/lib/chart-heatmap/chart-heatmap-options.model.js → esm2020/src/lib/chart-heatmap/chart-heatmap-options.model.mjs} +0 -0
  12. package/esm2020/src/lib/chart-heatmap/chart-heatmap.component.mjs +55 -0
  13. package/{esm2015/src/lib/chart-metric.js → esm2020/src/lib/chart-metric.mjs} +0 -0
  14. package/esm2020/src/lib/chart-metrics-list/chart-metrics-list.component.mjs +23 -0
  15. package/{esm2015/src/lib/chart-options.js → esm2020/src/lib/chart-options.mjs} +0 -0
  16. package/esm2020/src/lib/chart-pie/chart-pie-options.model.mjs +121 -0
  17. package/esm2020/src/lib/chart-pie/chart-pie.component.mjs +56 -0
  18. package/esm2020/src/lib/chart-spline/chart-spline-options.model.mjs +24 -0
  19. package/esm2020/src/lib/chart-spline/chart-spline.component.mjs +53 -0
  20. package/{esm2015/src/lib/highchart-series.model.js → esm2020/src/lib/highchart-series.model.mjs} +0 -0
  21. package/{esm2015/src/lib/highcharts-border-radius-plugin.js → esm2020/src/lib/highcharts-border-radius-plugin.mjs} +0 -0
  22. package/fesm2015/agorapulse-ui-charts.mjs +1088 -0
  23. package/fesm2015/agorapulse-ui-charts.mjs.map +1 -0
  24. package/fesm2020/agorapulse-ui-charts.mjs +1089 -0
  25. package/fesm2020/agorapulse-ui-charts.mjs.map +1 -0
  26. package/package.json +26 -13
  27. package/src/lib/agorapulse-ui-charts.module.d.ts +13 -0
  28. package/src/lib/chart-bar/chart-bar.component.d.ts +4 -1
  29. package/src/lib/chart-colors.d.ts +1 -0
  30. package/src/lib/chart-column/chart-column.component.d.ts +4 -1
  31. package/src/lib/chart-heatmap/chart-heatmap.component.d.ts +3 -0
  32. package/src/lib/chart-metrics-list/chart-metrics-list.component.d.ts +3 -0
  33. package/src/lib/chart-pie/chart-pie.component.d.ts +3 -0
  34. package/src/lib/chart-spline/chart-spline-options.model.d.ts +1 -1
  35. package/src/lib/chart-spline/chart-spline.component.d.ts +3 -0
  36. package/agorapulse-ui-charts-2.2.17.tgz +0 -0
  37. package/agorapulse-ui-charts.metadata.json +0 -1
  38. package/bundles/agorapulse-ui-charts.umd.js +0 -1378
  39. package/bundles/agorapulse-ui-charts.umd.js.map +0 -1
  40. package/esm2015/src/lib/agorapulse-ui-charts.module.js +0 -39
  41. package/esm2015/src/lib/chart-bar/chart-bar-options.model.js +0 -77
  42. package/esm2015/src/lib/chart-bar/chart-bar.component.js +0 -52
  43. package/esm2015/src/lib/chart-column/chart-column-options.model.js +0 -103
  44. package/esm2015/src/lib/chart-column/chart-column.component.js +0 -54
  45. package/esm2015/src/lib/chart-heatmap/chart-heatmap.component.js +0 -50
  46. package/esm2015/src/lib/chart-metrics-list/chart-metrics-list.component.js +0 -21
  47. package/esm2015/src/lib/chart-pie/chart-pie-options.model.js +0 -55
  48. package/esm2015/src/lib/chart-pie/chart-pie.component.js +0 -51
  49. package/esm2015/src/lib/chart-spline/chart-spline-options.model.js +0 -24
  50. package/esm2015/src/lib/chart-spline/chart-spline.component.js +0 -54
  51. package/fesm2015/agorapulse-ui-charts.js +0 -981
  52. package/fesm2015/agorapulse-ui-charts.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"agorapulse-ui-charts.js","sources":["../../../libs/ui-charts/src/lib/highcharts-border-radius-plugin.ts","../../../libs/ui-charts/src/lib/chart-colors.ts","../../../libs/ui-charts/src/lib/chart-options.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar-options.model.ts","../../../libs/ui-charts/src/lib/chart-bar/chart-bar.component.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column-options.model.ts","../../../libs/ui-charts/src/lib/chart-column/chart-column.component.ts","../../../libs/ui-charts/src/lib/chart-metric.ts","../../../libs/ui-charts/src/lib/chart-metrics-list/chart-metrics-list.component.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap-options.model.ts","../../../libs/ui-charts/src/lib/chart-heatmap/chart-heatmap.component.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline-options.model.ts","../../../libs/ui-charts/src/lib/chart-spline/chart-spline.component.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie-options.model.ts","../../../libs/ui-charts/src/lib/chart-pie/chart-pie.component.ts","../../../libs/ui-charts/src/lib/agorapulse-ui-charts.module.ts","../../../libs/ui-charts/index.ts","../../../libs/ui-charts/agorapulse-ui-charts.ts"],"sourcesContent":["export const borderRadiusPlugin = function (H) {\n if (H.borderRadiusPlugininitialized) {\n return;\n }\n H.borderRadiusPlugininitialized = true;\n\n H.wrap(H.seriesTypes.column.prototype, 'translate', function (proceed) {\n const options = this.options;\n const topMargin = options.topMargin || 0;\n const bottomMargin = options.bottomMargin || 0;\n const borderRadiusTopLeftSettings = options.borderRadiusTopLeft;\n const borderRadiusTopRightSettings = options.borderRadiusTopRight;\n const borderRadiusBottomLeftSettings = options.borderRadiusBottomLeft;\n const borderRadiusBottomRightSettings = options.borderRadiusBottomRight;\n\n proceed.call(this);\n\n if (!this.points) {\n return;\n }\n this.points.forEach(function (point) {\n\n if (borderRadiusTopLeftSettings || borderRadiusTopRightSettings || borderRadiusBottomLeftSettings || borderRadiusBottomRightSettings) {\n const w = point.shapeArgs.width;\n const h = point.shapeArgs.height;\n const x = point.shapeArgs.x;\n const y = point.shapeArgs.y;\n const borderRadiusTopLeft = (borderRadiusTopLeftSettings && borderRadiusTopLeftSettings.length) ? borderRadiusTopLeftSettings[point.index] : borderRadiusTopLeftSettings || 0;\n const borderRadiusTopRight = (borderRadiusTopRightSettings && borderRadiusTopRightSettings.length) ? borderRadiusTopRightSettings[point.index] : borderRadiusTopRightSettings || 0;\n const borderRadiusBottomLeft = (borderRadiusBottomLeftSettings && borderRadiusBottomLeftSettings.length) ? borderRadiusBottomLeftSettings[point.index] : borderRadiusBottomLeftSettings || 0;\n const borderRadiusBottomRight = (borderRadiusBottomRightSettings && borderRadiusBottomRightSettings.length) ? borderRadiusBottomRightSettings[point.index] : borderRadiusBottomRightSettings || 0;\n\n let radiusTopLeft = H.relativeLength(borderRadiusTopLeft, w);\n let radiusTopRight = H.relativeLength(borderRadiusTopRight, w);\n let radiusBottomRight = H.relativeLength(borderRadiusBottomRight, w);\n let radiusBottomLeft = H.relativeLength(borderRadiusBottomLeft, w);\n\n const maxR = Math.min(w, h) / 2;\n\n radiusTopLeft = radiusTopLeft > maxR ? maxR : radiusTopLeft;\n radiusTopRight = radiusTopRight > maxR ? maxR : radiusTopRight;\n radiusBottomRight = radiusBottomRight > maxR ? maxR : radiusBottomRight;\n radiusBottomLeft = radiusBottomLeft > maxR ? maxR : radiusBottomLeft;\n\n point.dlBox = point.shapeArgs;\n\n point.shapeType = 'path';\n point.shapeArgs = {\n d: [\n 'M', x + radiusTopLeft, y + topMargin,\n 'L', x + w - radiusTopRight, y + topMargin,\n 'C', x + w - radiusTopRight / 2, y, x + w, y + radiusTopRight / 2, x + w, y + radiusTopRight,\n 'L', x + w, y + h - radiusBottomRight,\n 'C', x + w, y + h - radiusBottomRight / 2, x + w - radiusBottomRight / 2, y + h, x + w - radiusBottomRight, y + h + bottomMargin,\n 'L', x + radiusBottomLeft, y + h + bottomMargin,\n 'C', x + radiusBottomLeft / 2, y + h, x, y + h - radiusBottomLeft / 2, x, y + h - radiusBottomLeft,\n 'L', x, y + radiusTopLeft,\n 'C', x, y + radiusTopLeft / 2, x + radiusTopLeft / 2, y, x + radiusTopLeft, y,\n 'Z'\n ]\n };\n }\n\n });\n });\n};\n","export enum ChartColor {\n Grey,\n Orange,\n SoftBlue,\n ElectricBlue,\n Purple,\n Green,\n}\n\nexport class ChartColors {\n\n static readonly SOFT_BLUE_COLORS = {\n '10': '#EFF5FC',\n '20': '#DFEDFA',\n '40': '#C0DBF4',\n '60': '#A0C8EF',\n '85': '#78B1E8',\n '100': '#61A4E4'\n };\n static readonly ELECTRIC_BLUE_COLORS = {\n '10': '#e8f4ff',\n '20': '#d1e8ff',\n '40': '#a2d1ff',\n '60': '#74bbfe',\n '85': '#3a9efe',\n '100': '#178dfe'\n };\n static readonly ORANGE_COLORS = {\n '10': '#FFEFE9',\n '20': '#FFE1D4',\n '40': '#FFC2A8',\n '60': '#FFA47D',\n '85': '#FF7E46',\n '100': '#FF6726'\n };\n static readonly GREEN_COLORS = {\n '10': '#ECF7ED',\n '20': '#DAF1DD',\n '40': '#B5E3BB',\n '60': '#8FD498',\n '85': '#61C26D',\n '100': '#45B854'\n };\n static readonly PURPLE_COLORS = {\n '10': '#EFEDF8',\n '20': '#E0DDF2',\n '40': '#C1BBE6',\n '60': '#A398D9',\n '85': '#7C6DC9',\n '100': '#6554C0'\n };\n static readonly GREY_COLORS = {\n '10': '#EAECEF',\n '20': '#D6DAE0',\n '40': '#AEB5C1',\n '60': '#858FA1',\n '85': '#5D6A82',\n '100': '#344563'\n };\n\n static readonly BLACK_COLOR: string = '#000000';\n static readonly LIMIT_COLOR: string = '#E81313';\n static readonly WHITE_COLOR: string = '#FFFFFF';\n\n static getChartColors(color: ChartColor): { [shade: string]: string } {\n switch (color) {\n case ChartColor.Orange:\n return this.ORANGE_COLORS;\n case ChartColor.SoftBlue:\n return this.SOFT_BLUE_COLORS;\n case ChartColor.ElectricBlue:\n return this.ELECTRIC_BLUE_COLORS;\n case ChartColor.Purple:\n return this.PURPLE_COLORS;\n case ChartColor.Green:\n return this.GREEN_COLORS;\n default:\n return this.GREY_COLORS;\n }\n }\n\n static getColors(seriesCount: number, color: ChartColor): string[] {\n let colors = this.getChartColors(color);\n switch (seriesCount) {\n case 1:\n return [colors[100]];\n case 2:\n return [colors[40], colors[100]];\n case 3:\n return [colors[20], colors[60], colors[100]];\n case 4:\n return [colors[20], colors[40], colors[60], colors[100]];\n case 5:\n return [colors[10], colors[20], colors[40], colors[60], colors[100]];\n default:\n return [colors[20], colors[40], colors[60], colors[100]];\n }\n }\n}\n","import {dateFormat, Options, SeriesOptionsType} from 'highcharts';\nimport {ChartColor, ChartColors} from './chart-colors';\n\nexport class ChartOptions {\n\n static readonly DEFAULT_DATE_FORMAT: string = '%A, %b %e, %Y';\n static readonly DEFAULT_OPTIONS: Options = {\n /*lang: {\n decimalPoint: (manager && manager.locale !== 'en') ? ',' : '.',\n resetZoom: resetZoomLabel,\n resetZoomTitle: resetZoomHtmlTitle,\n shortMonths: [\n shortJanuary, shortFebruary, shortMarch, shortApril, shortMay, shortJune,\n shortJuly, shortAugust, shortSeptember, shortOctober, shortNovember, shortDecember\n ],\n thousandsSep: (manager && manager.locale !== 'en') ? ' ' : ',',\n weekdays: this.weekDays,\n zoomIn: zoomInHtmlTitle,\n zoomOut: zoomOutHtmlTitle\n },*/\n chart: {\n spacingRight: 20,\n zoomType: 'xy',\n panning: {\n enabled: true\n },\n panKey: 'shift',\n style: {\n fontFamily: 'Averta, \\'Open Sans\\', Helvetica, sans-serif'\n },\n resetZoomButton: {\n theme: {\n fill: ChartColors.WHITE_COLOR,\n r: 4,\n style: {\n color: ChartColors.GREY_COLORS[100],\n fontSize: '12px'\n },\n states: {\n hover: {\n fill: ChartColors.GREY_COLORS[5]\n }\n }\n }\n }\n },\n colorAxis: {\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[60]\n }\n }\n },\n credits: {\n enabled: false\n },\n legend: {\n borderWidth: 0,\n itemStyle: {\n color: ChartColors.GREY_COLORS[60],\n fontSize: '14px',\n fontWeight: 'normal'\n },\n itemHoverStyle: {\n color: ChartColors.GREY_COLORS[100],\n fontWeight: 'bold'\n }\n },\n plotOptions: {\n series: {\n states: {\n hover: {\n brightness: 0\n }\n },\n connectNulls: true,\n lineWidth: 4\n }\n },\n navigation: {\n buttonOptions: {\n y: 0\n }\n },\n title: {\n text: null\n },\n tooltip: {\n backgroundColor: ChartColors.WHITE_COLOR,\n borderRadius: 4,\n borderWidth: 0,\n dateTimeLabelFormats: {\n day: ChartOptions.DEFAULT_DATE_FORMAT,\n week: ChartOptions.DEFAULT_DATE_FORMAT\n },\n shadow: {\n color: ChartColors.BLACK_COLOR,\n offsetX: 0,\n offsetY: 2,\n opacity: 0.02,\n width: 6\n },\n split: false,\n shared: true,\n useHTML: true,\n headerFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.key}</span></div>`,\n pointFormat: `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + '<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.y}</b></div>'\n },\n xAxis: {\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n tickColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n },\n yAxis: {\n allowDecimals: false,\n gridLineColor: ChartColors.GREY_COLORS[10],\n lineColor: ChartColors.GREY_COLORS[10],\n gridLineWidth: 1,\n title: {\n text: null\n },\n labels: {\n style: {\n color: ChartColors.GREY_COLORS[40],\n fontSize: '12px'\n }\n }\n }\n };\n\n static build(options: Options): Options {\n return mergeDeep(ChartOptions.DEFAULT_OPTIONS, options);\n }\n\n static configure(series: SeriesOptionsType[],\n options: Options,\n color: ChartColor,\n labelDateFormat?: string) {\n // Configure axis\n options.xAxis = mergeDeep({\n labels: {\n formatter: function(): string {\n return dateFormat(labelDateFormat ? labelDateFormat : '%m/%d', this.value);\n }\n },\n //minTickInterval: 24 * 60 * 60 * 1000 // One day\n }, options.xAxis);\n // Configure series\n if (series && series.length) {\n options.series = series;\n options.legend.enabled = series.length >= 2;\n options.colors = ChartColors.getColors(series.length, color);\n }\n }\n}\n\nexport function isObject(item) {\n return (item && typeof item === 'object' && !Array.isArray(item));\n}\n\nexport function mergeDeep(target, source) {\n let output = deepCopy(target);\n if (isObject(target) && isObject(source)) {\n Object.keys(source).forEach(key => {\n if (isObject(source[key])) {\n if (!(key in target))\n Object.assign(output, {[key]: source[key]});\n else\n output[key] = mergeDeep(target[key], source[key]);\n } else {\n Object.assign(output, {[key]: source[key]});\n }\n });\n }\n return output;\n}\n\nfunction deepCopy(source) {\n if (typeof source !== \"object\" || source === null) {\n return source // Return the value if source is not an object\n }\n // Create an array or object to hold the values\n const newObject = Array.isArray(source) ? [] : {}\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n // Recursively (deep) copy for nested objects, including arrays\n newObject[key] = deepCopy(source[key])\n }\n }\n return newObject\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesBarOptions, XAxisOptions, YAxisOptions} from 'highcharts';\nimport {PlotRoundedSeriesOptions, SeriesRoundedBarOptions} from \"./../highchart-series.model\";\nimport {ChartColor} from './../chart-colors';\n\nexport class ChartBarOptions extends ChartOptions {\n\n static build(options: Options): Options {\n const seriesOptions: PlotRoundedSeriesOptions = {\n borderRadiusTopLeft: 100,\n borderRadiusTopRight: 100,\n borderWidth: 0\n };\n const defaultColumnOptions: Options = {\n chart: {\n type: 'bar'\n },\n xAxis: {\n categories: undefined,\n gridLineWidth: 0,\n lineWidth: 0,\n reversed: false,\n tickWidth: 0,\n labels: {\n align: 'center',\n formatter: function () {\n if (this.value && this.value.toString().length > 16) {\n return this.value.toString().substring(0, 15) + \"...\";\n }\n return this.value.toString()\n },\n style: {\n width: 100\n }\n },\n type: 'category'\n },\n yAxis: {\n type: 'linear',\n minTickInterval: 1\n },\n plotOptions: {\n bar: {\n maxPointWidth: 18,\n pointWidth: 20\n },\n series: seriesOptions\n }\n };\n return super.build(mergeDeep(defaultColumnOptions, options));\n }\n\n static configureBar(series: SeriesBarOptions[],\n categories: string[],\n options: Options,\n opposite: boolean,\n color: ChartColor,\n labelDateFormat?: string) {\n ChartOptions.configure(series, options, color, labelDateFormat);\n if (categories && categories.length) {\n (options.xAxis as XAxisOptions).categories = categories;\n }\n if (opposite && series.length === 2) {\n const negativeSerie = (series[0] as SeriesRoundedBarOptions);\n negativeSerie.borderRadiusBottomLeft = 100;\n negativeSerie.borderRadiusBottomRight = 100;\n negativeSerie.borderRadiusTopLeft = 0;\n negativeSerie.borderRadiusTopRight = 0;\n negativeSerie.data = negativeSerie.data.map((point: any) => {\n if (point && isNaN(point)) {\n return {\n ...point,\n y: -Math.abs(point.y)\n };\n } else if (!isNaN(point)) {\n return -Math.abs(point);\n }\n return point;\n })\n options.plotOptions.series.stacking = 'normal';\n (options.yAxis as YAxisOptions).labels.formatter = function () {\n return Math.abs(this.value) + '%';\n }\n options.tooltip.pointFormatter = function () {\n return `<div style=\"font-size: 14px; color: #344563; margin: 6px 8px 0 8px;\"><span style=\"color:${this.color};\">\\u25CF</span> ${this.series.name}: <b>${Math.abs(this.y) + '%'}</b></div>`;\n }\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {Chart, Options, SeriesBarOptions} from 'highcharts';\nimport {ChartBarOptions} from './chart-bar-options.model';\nimport {ChartColor} from \"../chart-colors\";\n\n@Component({\n selector: 'ap-chart-bar',\n templateUrl: './chart-bar.component.html',\n styleUrls: ['./chart-bar.component.scss']\n})\nexport class ChartBarComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categories: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() opposite: boolean;\n @Input() series: SeriesBarOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked() {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart() {\n if (this.series) {\n this.chartOptions = ChartBarOptions.build(this.chartOptions);\n ChartBarOptions.configureBar(this.series, this.categories, this.chartOptions, this.opposite, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, this.chartOptions);\n }\n }\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Chart, dateFormat, Options, Series} from 'highcharts';\nimport {SeriesRoundedColumnOptions} from '../highchart-series.model';\n\nexport class ChartColumnOptions extends ChartOptions {\n\n static buildColumn(options: Options, simple: boolean): Options {\n const defaultColumnOptions: Options = {\n chart: {\n type: 'column'\n },\n legend: {\n symbolHeight: 10\n },\n plotOptions: {\n column: {\n stacking: 'normal',\n borderWidth: 0,\n maxPointWidth: 20,\n events: {\n hide: function () {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show: function () {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n const simpleColumnOptions: Options = {\n chart: {\n type: 'column',\n height: '80px'\n },\n credits: {\n enabled: false\n },\n plotOptions: {\n column: {\n events: {\n hide: function () {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n },\n show: function () {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n },\n }\n },\n xAxis: {\n type: 'datetime',\n crosshair: true,\n labels: {\n enabled: false,\n formatter: function () {\n return dateFormat('%m/%d', this.value);\n }\n },\n lineWidth: 0,\n tickWidth: 0,\n gridLineWidth: 0\n },\n yAxis: {\n min: 0,\n labels: {\n enabled: false\n },\n gridLineWidth: 0\n }\n };\n return super.build(mergeDeep(simple ? simpleColumnOptions : defaultColumnOptions, options));\n }\n\n static redrawWithRoundedColumns(chart: Chart) {\n chart.series.map((serie, serieIndex: number, arr) => {\n ChartColumnOptions.roundSerie(arr, serie.options as SeriesRoundedColumnOptions, serieIndex);\n });\n chart.redraw(true);\n }\n\n static roundSerie(series: Series[], serie: SeriesRoundedColumnOptions, serieIndex: number): void {\n const roundedOptionMap = [];\n let borderRadius = 0;\n if (serie.data) {\n serie.data.forEach((point, columnIndex) => {\n // Check if all previous stacked data at the same abscissa (located higher on the graph) are missing or have a value of 0\n // if so, it means that this point is the visual top of the column, so we should round it\n const roundedColumnEnabled = series.slice(0, serieIndex)\n .every(otherSerie => {\n if (otherSerie.visible === false) {\n return true;\n }\n const pointAtSameAbscissa = (otherSerie.options as SeriesRoundedColumnOptions).data.find(otherPoint => otherPoint[0] === point[0])\n return !pointAtSameAbscissa || pointAtSameAbscissa[1] === 0;\n });\n borderRadius = roundedColumnEnabled ? 100 : 0;\n roundedOptionMap[columnIndex] = borderRadius;\n });\n serie.borderRadiusTopLeft = roundedOptionMap;\n serie.borderRadiusTopRight = roundedOptionMap;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartColumnOptions} from './chart-column-options.model';\nimport {ChartColor} from \"../chart-colors\";\nimport {Chart, Options, SeriesColumnOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-column',\n templateUrl: './chart-column.component.html',\n styleUrls: ['./chart-column.component.scss']\n})\nexport class ChartColumnComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesColumnOptions[];\n @Input() simple: boolean = false;\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked() {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart() {\n if (this.series) {\n this.chartOptions = ChartColumnOptions.buildColumn(this.chartOptions, this.simple);\n ChartColumnOptions.configure(this.series, this.chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, this.chartOptions);\n if (this.chart) {\n ChartColumnOptions.redrawWithRoundedColumns(this.chart);\n }\n }\n }\n}\n","export enum ChartMetricType {\n default,\n total\n}\n\nexport class ChartMetric {\n\n children?: ChartMetric[];\n name: string;\n type?: ChartMetricType;\n value: number;\n\n}\n","import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {ChartMetric, ChartMetricType} from '../chart-metric';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: \"ap-chart-metrics-list\",\n styleUrls: ['chart-metrics-list.component.scss'],\n templateUrl: 'chart-metrics-list.component.html'\n})\nexport class ChartMetricsListComponent {\n\n @Input() metrics: ChartMetric[];\n @Input() locale: string;\n\n ChartMetricType = ChartMetricType;\n digitsInfo: string = '1.0-1';\n\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport * as Highcharts from 'highcharts';\nimport {ChartColors} from '../chart-colors';\n\nexport class ChartHeatmapOptions extends ChartOptions {\n\n static build(options: Highcharts.Options): Highcharts.Options {\n const defaultHeatmapOptions: Highcharts.Options = {\n chart: {\n type: 'heatmap',\n height: 600\n },\n colorAxis: {\n allowDecimals: false,\n gridLineWidth: 2,\n gridLineColor: 'white',\n min: 0,\n labels: {\n style: {\n fontSize: '12px'\n }\n }\n },\n legend: {\n enabled: false\n },\n plotOptions: {\n heatmap: {\n borderColor: ChartColors.GREY_COLORS[10],\n borderWidth: 1,\n nullColor: 'white'\n }\n },\n tooltip: {\n headerFormat: '',\n pointFormat: `<div style=\"border-bottom: 1px solid ${ChartColors.GREY_COLORS[10]}; padding: 0 8px 7px\">`\n + `<span style=\"font-size: 12px; color: ${ChartColors.GREY_COLORS[60]}\">{point.tooltipHeaderLabel}</span></div>`\n + `<div style=\"font-size: 14px; color: ${ChartColors.GREY_COLORS[100]}; margin: 6px 8px 0 8px;\">`\n + `<span style=\"color:{point.color}\">\\u25CF</span> {series.name}: <b>{point.value}</b></div>`,\n },\n xAxis: {\n labels: {\n formatter: function () {\n return this.value.toString();\n }\n },\n lineWidth: 1,\n tickWidth: 0,\n visible: true\n },\n yAxis: {\n lineWidth: 0,\n tickInterval: 3,\n reversed: true,\n visible: true\n }\n };\n return super.build(mergeDeep(defaultHeatmapOptions, options));\n }\n\n static configureHeatmap(categoriesX: string[],\n categoriesY: string[],\n series: Highcharts.SeriesOptionsType[],\n options: Highcharts.Options,\n labelDateFormat?: string) {\n super.configure(series, options, null, labelDateFormat);\n if (categoriesX && categoriesX.length) {\n (options.xAxis as Highcharts.XAxisOptions).categories = categoriesX;\n }\n if (categoriesY && categoriesY.length) {\n (options.yAxis as Highcharts.YAxisOptions).categories = categoriesY;\n }\n }\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {mapChart, Options, SeriesHeatmapOptions} from 'highcharts/highmaps';\nimport {ChartHeatmapOptions} from './chart-heatmap-options.model';\n\n@Component({\n selector: 'ap-chart-heatmap',\n templateUrl: './chart-heatmap.component.html',\n styleUrls: ['./chart-heatmap.component.scss']\n})\nexport class ChartHeatmapComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() categoriesX: string[] = [];\n @Input() categoriesY: string[] = [];\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() labelDateFormat: string;\n @Input() series: SeriesHeatmapOptions[];\n\n private chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked() {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth != this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart() {\n if (this.series) {\n this.chartOptions = ChartHeatmapOptions.build(this.chartOptions);\n ChartHeatmapOptions.configureHeatmap(this.categoriesX, this.categoriesY, this.series, this.chartOptions, this.labelDateFormat);\n mapChart(this.chartRef.nativeElement, this.chartOptions);\n }\n }\n\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options} from 'highcharts';\n\nexport class ChartSplineOptions extends ChartOptions {\n\n static build(options: Options): Options {\n const defaultSplineOptions: Options = {\n chart: {\n type: 'spline'\n },\n plotOptions: {\n series: {\n marker: {\n enabled: false,\n radius: 2,\n symbol: 'circle'\n }\n }\n },\n xAxis: {\n type: 'datetime'\n }\n };\n return super.build(mergeDeep(defaultSplineOptions, options));\n }\n\n}\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartSplineOptions} from './chart-spline-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesSplineOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-spline',\n templateUrl: './chart-spline.component.html',\n styleUrls: ['./chart-spline.component.scss']\n})\nexport class ChartSplineComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() labelDateFormat: string;\n @Input() series: SeriesSplineOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n private initChart(): void {\n if (this.series) {\n this.chartOptions = ChartSplineOptions.build(this.chartOptions);\n if (this.series[0].data?.length === 1) {\n this.chartOptions.plotOptions.series.marker.enabled = true;\n this.chartOptions.plotOptions.series.marker.radius = 5;\n }\n ChartSplineOptions.configure(this.series, this.chartOptions, this.color, this.labelDateFormat);\n this.chart = new Chart(this.chartRef.nativeElement, this.chartOptions);\n }\n }\n\n}\n","import {ChartOptions, mergeDeep} from '../chart-options';\nimport {Options, SeriesPieOptions} from 'highcharts';\nimport {ChartColor, ChartColors} from './../chart-colors';\n\nexport class ChartPieOptions extends ChartOptions {\n\n static buildPie(options: Options, innerLabels: boolean): Options {\n const defaultPieOptions: Options = {\n chart: {\n type: 'pie',\n plotBackgroundColor: null,\n plotBorderWidth: null,\n plotShadow: false\n },\n plotOptions: {\n pie: {\n dataLabels: {\n distance: innerLabels ? -40 : 30,\n useHTML: true\n },\n innerSize: '50%'\n },\n series: {\n allowPointSelect: !innerLabels,\n dataLabels: innerLabels ? {\n format: '{point.percentage:.1f}%',\n style: {\n fontSize: '16px',\n color: 'white',\n textOutline: '0'\n }\n } : {\n style: {\n fontSize: '12px',\n color: ChartColors.GREY_COLORS[60]\n }\n },\n showInLegend: innerLabels\n }\n },\n legend: innerLabels ? {\n symbolHeight: 10,\n enabled: true\n } : {}\n };\n return super.build(mergeDeep(defaultPieOptions, options));\n }\n\n static configurePie(series: SeriesPieOptions[],\n options: Options,\n color: ChartColor,\n labelDateFormat: string,\n innerLabels: boolean) {\n super.configure(series, options, color, labelDateFormat);\n if (innerLabels) {\n options.legend.enabled = true;\n }\n if (series && series.length > 0 && series[0]) {\n options.colors = ChartColors.getColors((series[0] as SeriesPieOptions).data.length, color);\n }\n\n }\n}\n\n","import {AfterViewChecked, Component, ElementRef, Input, OnChanges, SimpleChanges, ViewChild} from '@angular/core';\nimport {ChartPieOptions} from './chart-pie-options.model';\nimport {ChartColor} from '../chart-colors';\nimport {Chart, Options, SeriesPieOptions} from 'highcharts';\n\n@Component({\n selector: 'ap-chart-pie',\n templateUrl: './chart-pie.component.html',\n styleUrls: ['./chart-pie.component.scss']\n})\nexport class ChartPieComponent implements AfterViewChecked, OnChanges {\n\n @ViewChild('chart') chartRef: ElementRef;\n\n @Input() chartOptions: Options = {}; // https://api.highcharts.com/highcharts/\n @Input() color: ChartColor = ChartColor.ElectricBlue;\n @Input() innerLabels = false;\n @Input() labelDateFormat: string;\n @Input() series: SeriesPieOptions[];\n\n private chart: Chart;\n private lastWidth = 0;\n\n ngOnChanges(changes: SimpleChanges): void {\n if ((changes.series && !changes.series.firstChange) || (changes.color && !changes.color.firstChange)) {\n this.initChart();\n }\n }\n\n ngAfterViewChecked() {\n if (this.chartRef && this.chartRef.nativeElement.clientWidth !== this.lastWidth) {\n this.lastWidth = this.chartRef.nativeElement.clientWidth;\n if (this.chart) {\n this.chart.reflow();\n } else if (this.series && this.series.length) {\n this.initChart();\n }\n }\n }\n\n initChart() {\n if (this.series) {\n this.chartOptions = ChartPieOptions.buildPie(this.chartOptions, this.innerLabels);\n ChartPieOptions.configurePie(this.series, this.chartOptions, this.color, this.labelDateFormat, this.innerLabels);\n this.chart = new Chart(this.chartRef.nativeElement, this.chartOptions);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MatListModule} from \"@angular/material/list\";\nimport {HighchartsChartModule} from 'highcharts-angular';\n\nimport {ChartBarComponent} from './chart-bar/chart-bar.component';\nimport {ChartColumnComponent} from './chart-column/chart-column.component';\nimport {ChartMetricsListComponent} from './chart-metrics-list/chart-metrics-list.component';\nimport {ChartHeatmapComponent} from './chart-heatmap/chart-heatmap.component';\nimport {ChartSplineComponent} from './chart-spline/chart-spline.component';\nimport {ChartPieComponent} from './chart-pie/chart-pie.component';\n\n@NgModule({\n declarations: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n imports: [\n CommonModule,\n HighchartsChartModule,\n MatListModule\n ],\n exports: [\n ChartBarComponent,\n ChartColumnComponent,\n ChartHeatmapComponent,\n ChartMetricsListComponent,\n ChartSplineComponent,\n ChartPieComponent\n ],\n providers: [\n ]\n})\nexport class AgorapulseUiChartsModule {\n}\n","/*\n * Public API Surface of ui-charts\n */\n\nimport * as Highcharts from 'highcharts';\nimport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n\nborderRadiusPlugin(Highcharts);\n\nexport {AgorapulseUiChartsModule} from './src/lib/agorapulse-ui-charts.module';\nexport {ChartBarComponent} from './src/lib/chart-bar/chart-bar.component';\nexport {ChartColor, ChartColors} from './src/lib/chart-colors';\nexport {ChartColumnComponent} from './src/lib/chart-column/chart-column.component';\nexport {ChartHeatmapComponent} from './src/lib/chart-heatmap/chart-heatmap.component';\nexport {ChartMetric, ChartMetricType} from './src/lib/chart-metric';\nexport {ChartMetricsListComponent} from './src/lib/chart-metrics-list/chart-metrics-list.component';\nexport {ChartOptions, mergeDeep} from './src/lib/chart-options';\nexport {ChartPieComponent} from './src/lib/chart-pie/chart-pie.component';\nexport {ChartSplineComponent} from './src/lib/chart-spline/chart-spline.component';\n\nexport {borderRadiusPlugin} from './src/lib/highcharts-border-radius-plugin';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}