barsa-echarts 1.0.456 → 2.0.2

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 (64) hide show
  1. package/{esm2020 → esm2022}/barsa-echarts.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/barsa-echarts.module.mjs +81 -81
  3. package/esm2022/lib/base/chart-base.directive.mjs +75 -0
  4. package/esm2022/lib/base/chart-line-time-base.directive.mjs +80 -0
  5. package/{esm2020 → esm2022}/lib/base/index.mjs +7 -7
  6. package/{esm2020 → esm2022}/lib/base/micro-chart-area-base.directive.mjs +89 -89
  7. package/esm2022/lib/base/micro-chart-bar-base.directive.mjs +48 -0
  8. package/{esm2020 → esm2022}/lib/base/micro-chart-base.directive.mjs +49 -49
  9. package/{esm2020 → esm2022}/lib/base/micro-chart-circular-base.directive.mjs +75 -75
  10. package/esm2022/lib/base/micro-chart-comparison-base.directive.mjs +99 -0
  11. package/{esm2020 → esm2022}/lib/base/micro-chart-line-base.directive.mjs +60 -60
  12. package/{esm2020 → esm2022}/lib/base/micro-chart-stackbar-base.directive.mjs +51 -51
  13. package/esm2022/lib/micro-charts/micro-chart-area/micro-chart-area.component.mjs +34 -0
  14. package/{esm2020 → esm2022}/lib/micro-charts/micro-chart-bar/micro-chart-bar.component.mjs +25 -25
  15. package/esm2022/lib/micro-charts/micro-chart-bullet/micro-chart-bullet.component.mjs +86 -0
  16. package/{esm2020 → esm2022}/lib/micro-charts/micro-chart-circular/micro-chart-circular.component.mjs +21 -21
  17. package/{esm2020 → esm2022}/lib/micro-charts/micro-chart-comparison/micro-chart-comparison.component.mjs +22 -22
  18. package/{esm2020 → esm2022}/lib/micro-charts/micro-chart-line/micro-chart-line.component.mjs +31 -31
  19. package/{esm2020 → esm2022}/lib/micro-charts/micro-chart-stackbar/micro-chart-stackbar.component.mjs +20 -20
  20. package/{esm2020 → esm2022}/lib/models/area-chart.mjs +1 -1
  21. package/{esm2020 → esm2022}/lib/models/bar-item.mjs +1 -1
  22. package/{esm2020 → esm2022}/lib/models/comparison-item.mjs +1 -1
  23. package/{esm2020 → esm2022}/lib/models/index.mjs +5 -5
  24. package/{esm2020 → esm2022}/lib/models/line-item.mjs +1 -1
  25. package/{esm2020 → esm2022}/lib/models/stackbar-item.mjs +1 -1
  26. package/{esm2020 → esm2022}/public-api.mjs +14 -14
  27. package/{fesm2020 → fesm2022}/barsa-echarts.mjs +838 -838
  28. package/fesm2022/barsa-echarts.mjs.map +1 -0
  29. package/index.d.ts +5 -5
  30. package/lib/barsa-echarts.module.d.ts +22 -22
  31. package/lib/base/chart-base.directive.d.ts +28 -28
  32. package/lib/base/chart-line-time-base.directive.d.ts +19 -19
  33. package/lib/base/index.d.ts +7 -7
  34. package/lib/base/micro-chart-area-base.directive.d.ts +18 -18
  35. package/lib/base/micro-chart-bar-base.directive.d.ts +14 -14
  36. package/lib/base/micro-chart-base.directive.d.ts +14 -14
  37. package/lib/base/micro-chart-circular-base.directive.d.ts +13 -13
  38. package/lib/base/micro-chart-comparison-base.directive.d.ts +17 -17
  39. package/lib/base/micro-chart-line-base.directive.d.ts +15 -15
  40. package/lib/base/micro-chart-stackbar-base.directive.d.ts +14 -14
  41. package/lib/micro-charts/micro-chart-area/micro-chart-area.component.d.ts +19 -19
  42. package/lib/micro-charts/micro-chart-bar/micro-chart-bar.component.d.ts +16 -16
  43. package/lib/micro-charts/micro-chart-bullet/micro-chart-bullet.component.d.ts +35 -35
  44. package/lib/micro-charts/micro-chart-circular/micro-chart-circular.component.d.ts +10 -10
  45. package/lib/micro-charts/micro-chart-comparison/micro-chart-comparison.component.d.ts +12 -12
  46. package/lib/micro-charts/micro-chart-line/micro-chart-line.component.d.ts +18 -18
  47. package/lib/micro-charts/micro-chart-stackbar/micro-chart-stackbar.component.d.ts +11 -11
  48. package/lib/models/area-chart.d.ts +11 -11
  49. package/lib/models/bar-item.d.ts +5 -5
  50. package/lib/models/comparison-item.d.ts +9 -9
  51. package/lib/models/index.d.ts +5 -5
  52. package/lib/models/line-item.d.ts +8 -8
  53. package/lib/models/stackbar-item.d.ts +7 -7
  54. package/package.json +7 -13
  55. package/public-api.d.ts +11 -11
  56. package/esm2020/lib/base/chart-base.directive.mjs +0 -75
  57. package/esm2020/lib/base/chart-line-time-base.directive.mjs +0 -80
  58. package/esm2020/lib/base/micro-chart-bar-base.directive.mjs +0 -48
  59. package/esm2020/lib/base/micro-chart-comparison-base.directive.mjs +0 -99
  60. package/esm2020/lib/micro-charts/micro-chart-area/micro-chart-area.component.mjs +0 -35
  61. package/esm2020/lib/micro-charts/micro-chart-bullet/micro-chart-bullet.component.mjs +0 -87
  62. package/fesm2015/barsa-echarts.mjs +0 -880
  63. package/fesm2015/barsa-echarts.mjs.map +0 -1
  64. package/fesm2020/barsa-echarts.mjs.map +0 -1
@@ -1,99 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { MicroChartBaseDirective } from './micro-chart-base.directive';
3
- import * as i0 from "@angular/core";
4
- export class MicroChartComparisonBaseDirective extends MicroChartBaseDirective {
5
- constructor(_el, renderer2) {
6
- super(_el, renderer2);
7
- this._el = _el;
8
- this.renderer2 = renderer2;
9
- }
10
- setOptions(options) {
11
- // initialize series
12
- this._initValues(options);
13
- // set custom xAxis
14
- this.xAxis.type = 'value';
15
- this.xAxis.boundaryGap = ['0%', '50%'];
16
- // set custom yAxis
17
- this.yAxis.type = 'category';
18
- this.yAxis.offset = 6;
19
- this.yAxis.axisLabel = {
20
- show: true,
21
- inside: true,
22
- lineHeight: 16
23
- };
24
- // set custom grid
25
- this.grid.top = 10;
26
- const textStyle = {
27
- verticalAlign: 'bottom',
28
- fontSize: 12,
29
- fontWeight: 'bold'
30
- };
31
- this.chartData.data.forEach((item) => {
32
- const seriesData = {
33
- value: item.value,
34
- itemStyle: {
35
- color: item.color
36
- },
37
- label: {
38
- position: ['100', '0%']
39
- }
40
- };
41
- options.series[0].data.push(seriesData);
42
- const yAxisData = { value: item.label, textStyle };
43
- this.yAxis?.data?.push(yAxisData);
44
- });
45
- // if we have double tile
46
- if (this.size === 'l') {
47
- this.grid.left = 50;
48
- this.yAxis.axisLabel.inside = false;
49
- this.yAxis.axisLabel.lineHeight = undefined;
50
- options.series[0].label.position = 'right';
51
- this.yAxis.offset = -2;
52
- options.series[0].showBackground = false;
53
- this.xAxis.max = 112;
54
- options.series[0].data.map((dataItem) => {
55
- delete dataItem.label.offset;
56
- dataItem.label.position = ['100%', '0%'];
57
- });
58
- }
59
- options.series[0].label.formatter = (d) => d.data.value + this.chartData.suffix;
60
- }
61
- _initValues(options) {
62
- options.series = [
63
- {
64
- showBackground: true,
65
- barWidth: this.chartData.barWidth ?? 3,
66
- type: 'bar',
67
- data: [],
68
- label: {
69
- show: true,
70
- position: 'top',
71
- distance: 0,
72
- valueAnimation: true,
73
- fontFamily: 'monospace',
74
- formatter: (d) => d.data.value + '%',
75
- lineHeight: -10
76
- }
77
- }
78
- ];
79
- options.plotOptions = {
80
- bar: {
81
- horizontal: true,
82
- distributed: true
83
- }
84
- };
85
- }
86
- }
87
- MicroChartComparisonBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartComparisonBaseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
88
- MicroChartComparisonBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: MicroChartComparisonBaseDirective, selector: "[beMicroChartComparison]", inputs: { size: "size", chartData: "chartData" }, usesInheritance: true, ngImport: i0 });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartComparisonBaseDirective, decorators: [{
90
- type: Directive,
91
- args: [{
92
- selector: '[beMicroChartComparison]'
93
- }]
94
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { size: [{
95
- type: Input
96
- }], chartData: [{
97
- type: Input
98
- }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tY2hhcnQtY29tcGFyaXNvbi1iYXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWVjaGFydHMvc3JjL2xpYi9iYXNlL21pY3JvLWNoYXJ0LWNvbXBhcmlzb24tYmFzZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFJeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBS3ZFLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSx1QkFBdUI7SUFLMUUsWUFBc0IsR0FBZSxFQUFZLFNBQW9CO1FBQ2pFLEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFESixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVksY0FBUyxHQUFULFNBQVMsQ0FBVztJQUVyRSxDQUFDO0lBRVMsVUFBVSxDQUFDLE9BQVk7UUFDN0Isb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUIsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV2QyxtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRztZQUNuQixJQUFJLEVBQUUsSUFBSTtZQUNWLE1BQU0sRUFBRSxJQUFJO1lBQ1osVUFBVSxFQUFFLEVBQUU7U0FDakIsQ0FBQztRQUVGLGtCQUFrQjtRQUNsQixJ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QUUsQ0FBQyxFQUFFO2lCQUNsQjthQUNKO1NBQ0osQ0FBQztRQUVGLE9BQU8sQ0FBQyxXQUFXLEdBQUc7WUFDbEIsR0FBRyxFQUFFO2dCQUNELFVBQVUsRUFBRSxJQUFJO2dCQUNoQixXQUFXLEVBQUUsSUFBSTthQUNwQjtTQUNKLENBQUM7SUFDTixDQUFDOzs4SEE3RlEsaUNBQWlDO2tIQUFqQyxpQ0FBaUM7MkZBQWpDLGlDQUFpQztrQkFIN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO2lCQUN2Qzt5SEFFWSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGFyaXNvbkl0ZW0gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGV4dENvbW1vbk9wdGlvbiB9IGZyb20gJ2VjaGFydHMvdHlwZXMvc3JjL3V0aWwvdHlwZXMnO1xuaW1wb3J0IHsgWUFYaXNPcHRpb24gfSBmcm9tICdlY2hhcnRzL3R5cGVzL2Rpc3Qvc2hhcmVkJztcbmltcG9ydCB7IE1pY3JvQ2hhcnRCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9taWNyby1jaGFydC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JlTWljcm9DaGFydENvbXBhcmlzb25dJ1xufSlcbmV4cG9ydCBjbGFzcyBNaWNyb0NoYXJ0Q29tcGFyaXNvbkJhc2VEaXJlY3RpdmUgZXh0ZW5kcyBNaWNyb0NoYXJ0QmFzZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNoYXJ0RGF0YTogQ29tcGFyaXNvbkl0ZW07XG4gICAgeUF4aXM6IFlBWGlzT3B0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHJlbmRlcmVyMjogUmVuZGVyZXIyKSB7XG4gICAgICAgIHN1cGVyKF9lbCwgcmVuZGVyZXIyKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0T3B0aW9ucyhvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gaW5pdGlhbGl6ZSBzZXJpZXNcbiAgICAgICAgdGhpcy5faW5pdFZhbHVlcyhvcHRpb25zKTtcblxuICAgICAgICAvLyBzZXQgY3VzdG9tIHhBeGlzXG4gICAgICAgIHRoaXMueEF4aXMudHlwZSA9ICd2YWx1ZSc7XG4gICAgICAgIHRoaXMueEF4aXMuYm91bmRhcnlHYXAgPSBbJzAlJywgJzUwJSddO1xuXG4gICAgICAgIC8vIHNldCBjdXN0b20geUF4aXNcbiAgICAgICAgdGhpcy55QXhpcy50eXBlID0gJ2NhdGVnb3J5JztcbiAgICAgICAgdGhpcy55QXhpcy5vZmZzZXQgPSA2O1xuICAgICAgICB0aGlzLnlBeGlzLmF4aXNMYWJlbCA9IHtcbiAgICAgICAgICAgIHNob3c6IHRydWUsXG4gICAgICAgICAgICBpbnNpZGU6IHRydWUsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiAxNlxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIHNldCBjdXN0b20gZ3JpZFxuICAgICAgICB0aGlzLmdyaWQudG9wID0gMTA7XG5cbiAgICAgICAgY29uc3QgdGV4dFN0eWxlOiBUZXh0Q29tbW9uT3B0aW9uID0ge1xuICAgICAgICAgICAgdmVydGljYWxBbGlnbjogJ2JvdHRvbScsXG4gICAgICAgICAgICBmb250U2l6ZTogMTIsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCdcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmNoYXJ0RGF0YS5kYXRhLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlcmllc0RhdGEgPSB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUsXG4gICAgICAgICAgICAgICAgaXRlbVN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpdGVtLmNvbG9yXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogWycxMDAnLCAnMCUnXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIG9wdGlvbnMuc2VyaWVzWzBdLmRhdGEucHVzaChzZXJpZXNEYXRhKTtcbiAgICAgICAgICAgIGNvbnN0IHlBeGlzRGF0YSA9IHsgdmFsdWU6IGl0ZW0ubGFiZWwsIHRleHRTdHlsZSB9O1xuICAgICAgICAgICAgdGhpcy55QXhpcz8uZGF0YT8ucHVzaCh5QXhpc0RhdGEpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBpZiB3ZSBoYXZlIGRvdWJsZSB0aWxlXG4gICAgICAgIGlmICh0aGlzLnNpemUgPT09ICdsJykge1xuICAgICAgICAgICAgdGhpcy5ncmlkLmxlZnQgPSA1MDtcbiAgICAgICAgICAgIHRoaXMueUF4aXMuYXhpc0xhYmVsLmluc2lkZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy55QXhpcy5heGlzTGFiZWwubGluZUhlaWdodCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIG9wdGlvbnMuc2VyaWVzWzBdLmxhYmVsLnBvc2l0aW9uID0gJ3JpZ2h0JztcbiAgICAgICAgICAgIHRoaXMueUF4aXMub2Zmc2V0ID0gLTI7XG4gICAgICAgICAgICBvcHRpb25zLnNlcmllc1swXS5zaG93QmFja2dyb3VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy54QXhpcy5tYXggPSAxMTI7XG4gICAgICAgICAgICBvcHRpb25zLnNlcmllc1swXS5kYXRhLm1hcCgoZGF0YUl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZGF0YUl0ZW0ubGFiZWwub2Zmc2V0O1xuICAgICAgICAgICAgICAgIGRhdGFJdGVtLmxhYmVsLnBvc2l0aW9uID0gWycxMDAlJywgJzAlJ107XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBvcHRpb25zLnNlcmllc1swXS5sYWJlbC5mb3JtYXR0ZXIgPSAoZCkgPT4gZC5kYXRhLnZhbHVlICsgdGhpcy5jaGFydERhdGEuc3VmZml4O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luaXRWYWx1ZXMob3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBvcHRpb25zLnNlcmllcyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzaG93QmFja2dyb3VuZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBiYXJXaWR0aDogdGhpcy5jaGFydERhdGEuYmFyV2lkdGggPz8gMyxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYmFyJyxcbiAgICAgICAgICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgICAgICAgICBsYWJlbDoge1xuICAgICAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlOiAwLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZUFuaW1hdGlvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ21vbm9zcGFjZScsXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcjogKGQpID0+IGQuZGF0YS52YWx1ZSArICclJyxcbiAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogLTEwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuXG4gICAgICAgIG9wdGlvbnMucGxvdE9wdGlvbnMgPSB7XG4gICAgICAgICAgICBiYXI6IHtcbiAgICAgICAgICAgICAgICBob3Jpem9udGFsOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRpc3RyaWJ1dGVkOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -1,35 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { BaseComponent } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "barsa-novin-ray-core";
6
- import * as i3 from "../../base/micro-chart-area-base.directive";
7
- export class MicroChartAreaComponent extends BaseComponent {
8
- constructor(el) {
9
- super();
10
- this.el = el;
11
- }
12
- ngOnInit() {
13
- super.ngOnInit();
14
- this.suffix = this.chartData?.line?.suffix;
15
- this.getFirstAndLastValues();
16
- }
17
- getFirstAndLastValues() {
18
- const dataLength = this.chartData.line.data.length;
19
- this.firstValue = this.chartData.line.data[0].value.toString();
20
- this.lastValue = this.chartData.line.data[dataLength - 1].value.toString();
21
- this.firstLabel = this.chartData.line.data[0].label;
22
- this.lastLabel = this.chartData.line.data[dataLength - 1].label;
23
- }
24
- }
25
- MicroChartAreaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartAreaComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
26
- MicroChartAreaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: MicroChartAreaComponent, selector: "be-micro-chart-area", inputs: { size: "size", chartData: "chartData" }, usesInheritance: true, ngImport: i0, template: "<div class=\"right-labels\" *ngIf=\"size === 'l'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastValue }}{{ chartData?.line?.suffix }}</span>\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastLabel }}</span>\r\n</div>\r\n\r\n<div class=\"top-labels\" *ngIf=\"size === 's'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastValue }}{{ suffix }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstValue }}{{ suffix }}</span>\r\n</div>\r\n\r\n<div *untilInView=\"el\" beMicroChartArea [areas]=\"chartData.areas\" [line]=\"chartData.line\"></div>\r\n\r\n<div class=\"left-labels\" *ngIf=\"size === 'l'\">\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstValue }}{{ suffix }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstLabel }}</span>\r\n</div>\r\n<div class=\"bottom-labels\" *ngIf=\"size === 's'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastLabel }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstLabel }}</span>\r\n</div>\r\n", styles: [":host{display:block;width:100%;height:100%}span{margin:0;font-size:10px}.top-labels{width:100%;height:23%;display:flex;justify-content:space-between}.bottom-labels{width:100%;height:25%;display:flex;justify-content:space-between}.right-labels{min-width:40px;display:flex;flex-direction:column;justify-content:space-between;text-align:right}.left-labels{min-width:40px;display:flex;flex-direction:column;justify-content:space-between;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.UntilInViewDirective, selector: "[untilInView]", inputs: ["untilInView", "intersectionDebounce"] }, { kind: "directive", type: i3.MicroChartAreaBaseDirective, selector: "[beMicroChartArea]", inputs: ["areas", "line"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartAreaComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'be-micro-chart-area', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"right-labels\" *ngIf=\"size === 'l'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastValue }}{{ chartData?.line?.suffix }}</span>\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastLabel }}</span>\r\n</div>\r\n\r\n<div class=\"top-labels\" *ngIf=\"size === 's'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastValue }}{{ suffix }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstValue }}{{ suffix }}</span>\r\n</div>\r\n\r\n<div *untilInView=\"el\" beMicroChartArea [areas]=\"chartData.areas\" [line]=\"chartData.line\"></div>\r\n\r\n<div class=\"left-labels\" *ngIf=\"size === 'l'\">\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstValue }}{{ suffix }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstLabel }}</span>\r\n</div>\r\n<div class=\"bottom-labels\" *ngIf=\"size === 's'\">\r\n <span [style.color]=\"chartData.lastValueColor\">{{ lastLabel }}</span>\r\n <span [style.color]=\"chartData.firstValueColor\">{{ firstLabel }}</span>\r\n</div>\r\n", styles: [":host{display:block;width:100%;height:100%}span{margin:0;font-size:10px}.top-labels{width:100%;height:23%;display:flex;justify-content:space-between}.bottom-labels{width:100%;height:25%;display:flex;justify-content:space-between}.right-labels{min-width:40px;display:flex;flex-direction:column;justify-content:space-between;text-align:right}.left-labels{min-width:40px;display:flex;flex-direction:column;justify-content:space-between;text-align:left}\n"] }]
30
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { size: [{
31
- type: Input
32
- }], chartData: [{
33
- type: Input
34
- }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tY2hhcnQtYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1lY2hhcnRzL3NyYy9saWIvbWljcm8tY2hhcnRzL21pY3JvLWNoYXJ0LWFyZWEvbWljcm8tY2hhcnQtYXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1lY2hhcnRzL3NyYy9saWIvbWljcm8tY2hhcnRzL21pY3JvLWNoYXJ0LWFyZWEvbWljcm8tY2hhcnQtYXJlYS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBU3JELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBU3RELFlBQW1CLEVBQWM7UUFDN0IsS0FBSyxFQUFFLENBQUM7UUFETyxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBRWpDLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO1FBQzNDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxxQkFBcUI7UUFDakIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwRSxDQUFDOztvSEF4QlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsb0lDWHBDLDJqQ0FvQkE7MkZEVGEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNJLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNO2lHQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IEFyZWFDaGFydCB9IGZyb20gJy4uLy4uL21vZGVscy9hcmVhLWNoYXJ0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZS1taWNyby1jaGFydC1hcmVhJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9taWNyby1jaGFydC1hcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL21pY3JvLWNoYXJ0LWFyZWEuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNaWNyb0NoYXJ0QXJlYUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgY2hhcnREYXRhOiBBcmVhQ2hhcnQ7XHJcbiAgICBzdWZmaXg6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIGZpcnN0VmFsdWU6IHN0cmluZztcclxuICAgIGxhc3RWYWx1ZTogc3RyaW5nO1xyXG4gICAgZmlyc3RMYWJlbDogc3RyaW5nO1xyXG4gICAgbGFzdExhYmVsOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuc3VmZml4ID0gdGhpcy5jaGFydERhdGE/LmxpbmU/LnN1ZmZpeDtcclxuICAgICAgICB0aGlzLmdldEZpcnN0QW5kTGFzdFZhbHVlcygpO1xyXG4gICAgfVxyXG4gICAgZ2V0Rmlyc3RBbmRMYXN0VmFsdWVzKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGRhdGFMZW5ndGggPSB0aGlzLmNoYXJ0RGF0YS5saW5lLmRhdGEubGVuZ3RoO1xyXG4gICAgICAgIHRoaXMuZmlyc3RWYWx1ZSA9IHRoaXMuY2hhcnREYXRhLmxpbmUuZGF0YVswXS52YWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMubGFzdFZhbHVlID0gdGhpcy5jaGFydERhdGEubGluZS5kYXRhW2RhdGFMZW5ndGggLSAxXS52YWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuZmlyc3RMYWJlbCA9IHRoaXMuY2hhcnREYXRhLmxpbmUuZGF0YVswXS5sYWJlbDtcclxuICAgICAgICB0aGlzLmxhc3RMYWJlbCA9IHRoaXMuY2hhcnREYXRhLmxpbmUuZGF0YVtkYXRhTGVuZ3RoIC0gMV0ubGFiZWw7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJpZ2h0LWxhYmVsc1wiICpuZ0lmPVwic2l6ZSA9PT0gJ2wnXCI+XHJcbiAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiY2hhcnREYXRhLmxhc3RWYWx1ZUNvbG9yXCI+e3sgbGFzdFZhbHVlIH19e3sgY2hhcnREYXRhPy5saW5lPy5zdWZmaXggfX08L3NwYW4+XHJcbiAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiY2hhcnREYXRhLmxhc3RWYWx1ZUNvbG9yXCI+e3sgbGFzdExhYmVsIH19PC9zcGFuPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ0b3AtbGFiZWxzXCIgKm5nSWY9XCJzaXplID09PSAncydcIj5cclxuICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJjaGFydERhdGEubGFzdFZhbHVlQ29sb3JcIj57eyBsYXN0VmFsdWUgfX17eyBzdWZmaXggfX08L3NwYW4+XHJcbiAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwiY2hhcnREYXRhLmZpcnN0VmFsdWVDb2xvclwiPnt7IGZpcnN0VmFsdWUgfX17eyBzdWZmaXggfX08L3NwYW4+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqdW50aWxJblZpZXc9XCJlbFwiIGJlTWljcm9DaGFydEFyZWEgW2FyZWFzXT1cImNoYXJ0RGF0YS5hcmVhc1wiIFtsaW5lXT1cImNoYXJ0RGF0YS5saW5lXCI+PC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwibGVmdC1sYWJlbHNcIiAqbmdJZj1cInNpemUgPT09ICdsJ1wiPlxyXG4gICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImNoYXJ0RGF0YS5maXJzdFZhbHVlQ29sb3JcIj57eyBmaXJzdFZhbHVlIH19e3sgc3VmZml4IH19PC9zcGFuPlxyXG4gICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImNoYXJ0RGF0YS5maXJzdFZhbHVlQ29sb3JcIj57eyBmaXJzdExhYmVsIH19PC9zcGFuPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImJvdHRvbS1sYWJlbHNcIiAqbmdJZj1cInNpemUgPT09ICdzJ1wiPlxyXG4gICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImNoYXJ0RGF0YS5sYXN0VmFsdWVDb2xvclwiPnt7IGxhc3RMYWJlbCB9fTwvc3Bhbj5cclxuICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJjaGFydERhdGEuZmlyc3RWYWx1ZUNvbG9yXCI+e3sgZmlyc3RMYWJlbCB9fTwvc3Bhbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,87 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
2
- import { BaseComponent } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class MicroChartBulletComponent extends BaseComponent {
6
- constructor(renderer) {
7
- super();
8
- this.renderer = renderer;
9
- this.suffix = '';
10
- this.separatorLinesFakeArray = [];
11
- }
12
- ngOnInit() {
13
- super.ngOnInit();
14
- this.delta = Math.abs(this.value - this.target);
15
- this.forecastWidth = this.getWidth(this.forecast);
16
- this.deltaWidth = this.getWidth(this.delta);
17
- this.valueWidth = this.getWidth(this.value);
18
- this.targetWidth = this.getWidth(this.target, true);
19
- this.deltaBackgroundColor = this.getBackgroundColor('delta');
20
- this.forecastBackgroundColor = this.getBackgroundColor('forecast');
21
- this.valueBackgroundColor = this.getBackgroundColor('value');
22
- this.targetWithSuffix = this.getValueWithSuffix(this.target);
23
- this.deltaWithSuffix = this.getValueWithSuffix(this.delta);
24
- this.valueWithSuffix = this.getValueWithSuffix(this.value);
25
- this.fakeArray();
26
- }
27
- ngAfterViewInit() {
28
- super.ngAfterViewInit();
29
- if (this.deltaDom) {
30
- const deltaLeft = this.value >= this.target ? this.getWidth(this.target) : this.getWidth(this.target - this.delta);
31
- this.renderer.setStyle(this.deltaDom.nativeElement, 'left', deltaLeft);
32
- const deltaPointerDom = this.deltaDom.nativeElement.querySelector('.pointer');
33
- const deltaPointerLeft = this.value >= this.target ? '' : '0';
34
- this.renderer.setStyle(deltaPointerDom, 'left', deltaPointerLeft);
35
- }
36
- }
37
- getWidth(value, isTarget) {
38
- if (value) {
39
- let width = (value / this.range) * 100;
40
- width = isTarget ? width - 2 : width;
41
- return width.toString() + '%';
42
- }
43
- else {
44
- return '0';
45
- }
46
- }
47
- getValueWithSuffix(value) {
48
- return value.toString() + (this.suffix || '');
49
- }
50
- getBackgroundColor(item) {
51
- if (item === 'forecast') {
52
- return this.forecast >= this.target ? '#a1dbb1' : '#fda8ab';
53
- }
54
- else {
55
- return this.value >= this.target ? '#3fa45b' : '#dc0d0e';
56
- }
57
- }
58
- fakeArray() {
59
- for (let i = 0; i < this.separatorLines; i++) {
60
- this.separatorLinesFakeArray.push(i);
61
- }
62
- }
63
- }
64
- MicroChartBulletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartBulletComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
65
- MicroChartBulletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: MicroChartBulletComponent, selector: "be-micro-chart-bullet", inputs: { range: "range", value: "value", forecast: "forecast", target: "target", suffix: "suffix", separatorLines: "separatorLines", isDelta: "isDelta" }, viewQueries: [{ propertyName: "deltaDom", first: true, predicate: ["deltaBox"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"chart-container\">\r\n <div class=\"range\">\r\n <div class=\"target\" *ngIf=\"target\" #target [style.left]=\"targetWidth\">\r\n <span>{{ targetWithSuffix }}</span>\r\n </div>\r\n <div\r\n class=\"forecast\"\r\n *ngIf=\"forecast\"\r\n [style.background-color]=\"forecastBackgroundColor\"\r\n [style.width]=\"forecastWidth\"\r\n ></div>\r\n\r\n <div\r\n class=\"delta\"\r\n #deltaBox\r\n *ngIf=\"isDelta && delta; else valueBox\"\r\n [style.background-color]=\"deltaBackgroundColor\"\r\n [style.width]=\"deltaWidth\"\r\n >\r\n <span [style.color]=\"valueBackgroundColor\">{{ deltaWithSuffix + '\u25B2' }}</span>\r\n <div class=\"pointer\" [style.background-color]=\"deltaBackgroundColor\"></div>\r\n </div>\r\n\r\n <ng-template #valueBox>\r\n <div class=\"value\" *ngIf=\"value\" [style.background-color]=\"valueBackgroundColor\" [style.width]=\"valueWidth\">\r\n <span [style.color]=\"valueBackgroundColor\">{{ valueWithSuffix }}</span>\r\n <div class=\"pointer\" [style.background-color]=\"valueBackgroundColor\"></div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- separator lines-->\r\n </div>\r\n <div class=\"separator-lines\" *ngIf=\"separatorLines\">\r\n <div *ngFor=\"let i of separatorLinesFakeArray\" class=\"separator-line\"></div>\r\n </div>\r\n</div>\r\n", styles: [".separator-lines,.range .value,.range .target,.range .forecast,.range{margin-bottom:auto;margin-top:auto;top:0;bottom:0}:host{display:flex;width:100%;height:100%;align-items:center}.chart-container{height:15px;width:100%;position:relative}.range{width:100%;position:absolute;background-color:#e6eee8;z-index:2}.range .forecast{position:absolute;left:0}.range .target{position:absolute;z-index:5;width:2%;height:24px;background-color:#000}.range .target span{position:absolute;bottom:-20px;right:-10px}.range .value{position:absolute;left:0;height:7px}.range .value .pointer{position:absolute;width:2px;height:20px;bottom:0}.range .value span{position:absolute;bottom:19px;right:-6px}.range .delta{position:absolute;height:15px}.range .delta .pointer{position:absolute;width:2px;height:20px;bottom:0}.range .delta span{position:absolute;bottom:19px}.separator-lines{position:absolute;display:flex;justify-content:space-between;height:20px;width:100%}.separator-lines .separator-line{background-color:#e9730c;width:2px}.separator-lines .separator-line:first-child,.separator-lines .separator-line:last-child{background-color:#c21a1a!important}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MicroChartBulletComponent, decorators: [{
67
- type: Component,
68
- args: [{ selector: 'be-micro-chart-bullet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"chart-container\">\r\n <div class=\"range\">\r\n <div class=\"target\" *ngIf=\"target\" #target [style.left]=\"targetWidth\">\r\n <span>{{ targetWithSuffix }}</span>\r\n </div>\r\n <div\r\n class=\"forecast\"\r\n *ngIf=\"forecast\"\r\n [style.background-color]=\"forecastBackgroundColor\"\r\n [style.width]=\"forecastWidth\"\r\n ></div>\r\n\r\n <div\r\n class=\"delta\"\r\n #deltaBox\r\n *ngIf=\"isDelta && delta; else valueBox\"\r\n [style.background-color]=\"deltaBackgroundColor\"\r\n [style.width]=\"deltaWidth\"\r\n >\r\n <span [style.color]=\"valueBackgroundColor\">{{ deltaWithSuffix + '\u25B2' }}</span>\r\n <div class=\"pointer\" [style.background-color]=\"deltaBackgroundColor\"></div>\r\n </div>\r\n\r\n <ng-template #valueBox>\r\n <div class=\"value\" *ngIf=\"value\" [style.background-color]=\"valueBackgroundColor\" [style.width]=\"valueWidth\">\r\n <span [style.color]=\"valueBackgroundColor\">{{ valueWithSuffix }}</span>\r\n <div class=\"pointer\" [style.background-color]=\"valueBackgroundColor\"></div>\r\n </div>\r\n </ng-template>\r\n\r\n <!-- separator lines-->\r\n </div>\r\n <div class=\"separator-lines\" *ngIf=\"separatorLines\">\r\n <div *ngFor=\"let i of separatorLinesFakeArray\" class=\"separator-line\"></div>\r\n </div>\r\n</div>\r\n", styles: [".separator-lines,.range .value,.range .target,.range .forecast,.range{margin-bottom:auto;margin-top:auto;top:0;bottom:0}:host{display:flex;width:100%;height:100%;align-items:center}.chart-container{height:15px;width:100%;position:relative}.range{width:100%;position:absolute;background-color:#e6eee8;z-index:2}.range .forecast{position:absolute;left:0}.range .target{position:absolute;z-index:5;width:2%;height:24px;background-color:#000}.range .target span{position:absolute;bottom:-20px;right:-10px}.range .value{position:absolute;left:0;height:7px}.range .value .pointer{position:absolute;width:2px;height:20px;bottom:0}.range .value span{position:absolute;bottom:19px;right:-6px}.range .delta{position:absolute;height:15px}.range .delta .pointer{position:absolute;width:2px;height:20px;bottom:0}.range .delta span{position:absolute;bottom:19px}.separator-lines{position:absolute;display:flex;justify-content:space-between;height:20px;width:100%}.separator-lines .separator-line{background-color:#e9730c;width:2px}.separator-lines .separator-line:first-child,.separator-lines .separator-line:last-child{background-color:#c21a1a!important}\n"] }]
69
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { deltaDom: [{
70
- type: ViewChild,
71
- args: ['deltaBox']
72
- }], range: [{
73
- type: Input
74
- }], value: [{
75
- type: Input
76
- }], forecast: [{
77
- type: Input
78
- }], target: [{
79
- type: Input
80
- }], suffix: [{
81
- type: Input
82
- }], separatorLines: [{
83
- type: Input
84
- }], isDelta: [{
85
- type: Input
86
- }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm8tY2hhcnQtYnVsbGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLWVjaGFydHMvc3JjL2xpYi9taWNyby1jaGFydHMvbWljcm8tY2hhcnQtYnVsbGV0L21pY3JvLWNoYXJ0LWJ1bGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1lY2hhcnRzL3NyYy9saWIvbWljcm8tY2hhcnRzL21pY3JvLWNoYXJ0LWJ1bGxldC9taWNyby1jaGFydC1idWxsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQVFyRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsYUFBYTtJQXVCeEQsWUFBb0IsUUFBbUI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEUSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBakI5QixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBZXJCLDRCQUF1QixHQUFhLEVBQUUsQ0FBQztJQUl2QyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElB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SyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQzVEO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDTCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQzs7c0hBakZRLHlCQUF5QjswR0FBekIseUJBQXlCLHNWQ25CdEMsa2hEQW9DQTsyRkRqQmEseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTtnR0FHeEIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNaLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIFJlbmRlcmVyMixcclxuICAgIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiZS1taWNyby1jaGFydC1idWxsZXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL21pY3JvLWNoYXJ0LWJ1bGxldC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9taWNyby1jaGFydC1idWxsZXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNaWNyb0NoYXJ0QnVsbGV0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBAVmlld0NoaWxkKCdkZWx0YUJveCcpIGRlbHRhRG9tOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICAgIEBJbnB1dCgpIHJhbmdlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgZm9yZWNhc3Q6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHRhcmdldDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgc3VmZml4ID0gJyc7XHJcbiAgICBASW5wdXQoKSBzZXBhcmF0b3JMaW5lcztcclxuICAgIEBJbnB1dCgpIGlzRGVsdGE6IGJvb2xlYW47XHJcblxyXG4gICAgZGVsdGE6IG51bWJlcjtcclxuICAgIGZvcmVjYXN0V2lkdGg6IHN0cmluZztcclxuICAgIGRlbHRhV2lkdGg6IHN0cmluZztcclxuICAgIHZhbHVlV2lkdGg6IHN0cmluZztcclxuICAgIHRhcmdldFdpZHRoOiBzdHJpbmc7XHJcbiAgICBkZWx0YUJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xyXG4gICAgZm9yZWNhc3RCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcclxuICAgIHZhbHVlQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XHJcbiAgICB0YXJnZXRXaXRoU3VmZml4OiBzdHJpbmc7XHJcbiAgICBkZWx0YVdpdGhTdWZmaXg6IHN0cmluZztcclxuICAgIHZhbHVlV2l0aFN1ZmZpeDogc3RyaW5nO1xyXG4gICAgc2VwYXJhdG9yTGluZXNGYWtlQXJyYXk6IG51bWJlcltdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuZGVsdGEgPSBNYXRoLmFicyh0aGlzLnZhbHVlIC0gdGhpcy50YXJnZXQpO1xyXG4gICAgICAgIHRoaXMuZm9yZWNhc3RXaWR0aCA9IHRoaXMuZ2V0V2lkdGgodGhpcy5mb3JlY2FzdCk7XHJcbiAgICAgICAgdGhpcy5kZWx0YVdpZHRoID0gdGhpcy5nZXRXaWR0aCh0aGlzLmRlbHRhKTtcclxuICAgICAgICB0aGlzLnZhbHVlV2lkdGggPSB0aGlzLmdldFdpZHRoKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIHRoaXMudGFyZ2V0V2lkdGggPSB0aGlzLmdldFdpZHRoKHRoaXMudGFyZ2V0LCB0cnVlKTtcclxuICAgICAgICB0aGlzLmRlbHRhQmFja2dyb3VuZENvbG9yID0gdGhpcy5nZXRCYWNrZ3JvdW5kQ29sb3IoJ2RlbHRhJyk7XHJcbiAgICAgICAgdGhpcy5mb3JlY2FzdEJhY2tncm91bmRDb2xvciA9IHRoaXMuZ2V0QmFja2dyb3VuZENvbG9yKCdmb3JlY2FzdCcpO1xyXG4gICAgICAgIHRoaXMudmFsdWVCYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmdldEJhY2tncm91bmRDb2xvcigndmFsdWUnKTtcclxuICAgICAgICB0aGlzLnRhcmdldFdpdGhTdWZmaXggPSB0aGlzLmdldFZhbHVlV2l0aFN1ZmZpeCh0aGlzLnRhcmdldCk7XHJcbiAgICAgICAgdGhpcy5kZWx0YVdpdGhTdWZmaXggPSB0aGlzLmdldFZhbHVlV2l0aFN1ZmZpeCh0aGlzLmRlbHRhKTtcclxuICAgICAgICB0aGlzLnZhbHVlV2l0aFN1ZmZpeCA9IHRoaXMuZ2V0VmFsdWVXaXRoU3VmZml4KHRoaXMudmFsdWUpO1xyXG4gICAgICAgIHRoaXMuZmFrZUFycmF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmRlbHRhRG9tKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhTGVmdCA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID49IHRoaXMudGFyZ2V0ID8gdGhpcy5nZXRXaWR0aCh0aGlzLnRhcmdldCkgOiB0aGlzLmdldFdpZHRoKHRoaXMudGFyZ2V0IC0gdGhpcy5kZWx0YSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kZWx0YURvbS5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIGRlbHRhTGVmdCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhUG9pbnRlckRvbSA9IHRoaXMuZGVsdGFEb20ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucG9pbnRlcicpO1xyXG4gICAgICAgICAgICBjb25zdCBkZWx0YVBvaW50ZXJMZWZ0ID0gdGhpcy52YWx1ZSA+PSB0aGlzLnRhcmdldCA/ICcnIDogJzAnO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRlbHRhUG9pbnRlckRvbSwgJ2xlZnQnLCBkZWx0YVBvaW50ZXJMZWZ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0V2lkdGgodmFsdWU6IG51bWJlciwgaXNUYXJnZXQ/OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgbGV0IHdpZHRoID0gKHZhbHVlIC8gdGhpcy5yYW5nZSkgKiAxMDA7XHJcbiAgICAgICAgICAgIHdpZHRoID0gaXNUYXJnZXQgPyB3aWR0aCAtIDIgOiB3aWR0aDtcclxuICAgICAgICAgICAgcmV0dXJuIHdpZHRoLnRvU3RyaW5nKCkgKyAnJSc7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuICcwJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VmFsdWVXaXRoU3VmZml4KHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpICsgKHRoaXMuc3VmZml4IHx8ICcnKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRCYWNrZ3JvdW5kQ29sb3IoaXRlbTogJ3ZhbHVlJyB8ICdmb3JlY2FzdCcgfCAnZGVsdGEnKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoaXRlbSA9PT0gJ2ZvcmVjYXN0Jykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JlY2FzdCA+PSB0aGlzLnRhcmdldCA/ICcjYTFkYmIxJyA6ICcjZmRhOGFiJztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA+PSB0aGlzLnRhcmdldCA/ICcjM2ZhNDViJyA6ICcjZGMwZDBlJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZmFrZUFycmF5KCk6IHZvaWQge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zZXBhcmF0b3JMaW5lczsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VwYXJhdG9yTGluZXNGYWtlQXJyYXkucHVzaChpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNoYXJ0LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJhbmdlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhcmdldFwiICpuZ0lmPVwidGFyZ2V0XCIgI3RhcmdldCBbc3R5bGUubGVmdF09XCJ0YXJnZXRXaWR0aFwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyB0YXJnZXRXaXRoU3VmZml4IH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JlY2FzdFwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZm9yZWNhc3RcIlxyXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJmb3JlY2FzdEJhY2tncm91bmRDb2xvclwiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJmb3JlY2FzdFdpZHRoXCJcclxuICAgICAgICA+PC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJkZWx0YVwiXHJcbiAgICAgICAgICAgICNkZWx0YUJveFxyXG4gICAgICAgICAgICAqbmdJZj1cImlzRGVsdGEgJiYgZGVsdGE7IGVsc2UgdmFsdWVCb3hcIlxyXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJkZWx0YUJhY2tncm91bmRDb2xvclwiXHJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJkZWx0YVdpZHRoXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIFtzdHlsZS5jb2xvcl09XCJ2YWx1ZUJhY2tncm91bmRDb2xvclwiPnt7IGRlbHRhV2l0aFN1ZmZpeCArICfilrInIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9pbnRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImRlbHRhQmFja2dyb3VuZENvbG9yXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdmFsdWVCb3g+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiICpuZ0lmPVwidmFsdWVcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJ2YWx1ZUJhY2tncm91bmRDb2xvclwiIFtzdHlsZS53aWR0aF09XCJ2YWx1ZVdpZHRoXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUuY29sb3JdPVwidmFsdWVCYWNrZ3JvdW5kQ29sb3JcIj57eyB2YWx1ZVdpdGhTdWZmaXggfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9pbnRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInZhbHVlQmFja2dyb3VuZENvbG9yXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDwhLS0gIHNlcGFyYXRvciBsaW5lcy0tPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yLWxpbmVzXCIgKm5nSWY9XCJzZXBhcmF0b3JMaW5lc1wiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGkgb2Ygc2VwYXJhdG9yTGluZXNGYWtlQXJyYXlcIiBjbGFzcz1cInNlcGFyYXRvci1saW5lXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==