@kiwibit/chart 1.0.10 → 1.0.11

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.
@@ -131,6 +131,9 @@ export class KiwiChartComponent {
131
131
  title: {
132
132
  text: chart.title,
133
133
  },
134
+ grid: {
135
+ width: '75%'
136
+ },
134
137
  backgroundColor: this.darkTheme ? this.darkThemeBackground ?? '#303030' : 'transparent', tooltip: {
135
138
  axisPointer: {
136
139
  type: 'cross',
@@ -191,6 +194,8 @@ export class KiwiChartComponent {
191
194
  },
192
195
  ],
193
196
  legend: {
197
+ width: '25%',
198
+ inactiveColor: this.darkTheme ? '#8b8b8b' : '#ccc',
194
199
  data: chart.shapes.map((shape) => ({
195
200
  name: shape.name,
196
201
  icon: 'circle'
@@ -202,7 +207,7 @@ export class KiwiChartComponent {
202
207
  padding: [60, 20],
203
208
  type: 'scroll',
204
209
  textStyle: {
205
- width: 100,
210
+ width: 120,
206
211
  fontWeight: 'bold',
207
212
  overflow: 'break'
208
213
  }
@@ -217,7 +222,9 @@ export class KiwiChartComponent {
217
222
  lineStyle: {
218
223
  color: this.darkTheme ? '#595959' : '#ccc'
219
224
  }
220
- }
225
+ },
226
+ min: chart.xMin,
227
+ max: chart.xMax,
221
228
  },
222
229
  yAxis: {
223
230
  type: chart.yAxisType,
@@ -230,6 +237,8 @@ export class KiwiChartComponent {
230
237
  color: this.darkTheme ? '#595959' : '#ccc'
231
238
  }
232
239
  },
240
+ min: chart.yMin,
241
+ max: chart.yMax,
233
242
  },
234
243
  series: this.createSeries(chart.shapes),
235
244
  animation: chart.hasAnimations,
@@ -344,4 +353,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
344
353
  }], addPoint: [{
345
354
  type: Output
346
355
  }] } });
347
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l3aWJpdC9jaGFydC9zcmMvbGliL2NoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXZJLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoSCxPQUFPLEVBQWdCLFlBQVksRUFBMkIsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQWtCNUYsTUFBTSxPQUFPLGtCQUFrQjtJQTRFN0IsWUFDVSxFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQTNFL0I7Ozs7OztXQU1HO1FBQ00sVUFBSyxHQUFpQixJQUFJLENBQUM7UUFFcEM7Ozs7Ozs7V0FPRztRQUNNLFVBQUssR0FBVyxNQUFNLENBQUM7UUFDdkIsV0FBTSxHQUFXLE9BQU8sQ0FBQztRQUVsQzs7Ozs7OztXQU9HO1FBQ00sY0FBUyxHQUFZLEtBQUssQ0FBQztRQUdwQzs7Ozs7OztXQU9HO1FBQ08sYUFBUSxHQUE0QixJQUFJLFlBQVksRUFBYSxDQUFDO1FBRTVFOzs7OztXQUtHO1FBQ0gsZ0JBQVcsR0FBa0IsRUFBRSxDQUFDO1FBRWhDOzs7OztXQUtHO1FBQ0gsb0JBQWUsR0FBbUIsSUFBSSxDQUFDO1FBRXZDOzs7OztXQUtHO1FBQ0gsT0FBRSxHQUErQixJQUFJLENBQUM7UUFFdEM7Ozs7OztXQU1HO1FBQ0ssZUFBVSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBSXBELENBQUM7SUFFTCxRQUFRO1FBQ047Ozs7V0FJRztRQUNI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VUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7K0dBalVVLGtCQUFrQjttR0FBbEIsa0JBQWtCLDRPQWZuQjs7Ozs7Ozs7Ozs7R0FXVDsyRkFJVSxrQkFBa0I7a0JBakI5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0dBV1Q7b0JBQ0QsTUFBTSxFQUFFLENBQUM7R0FDUixDQUFDO2lCQUNIO3dHQVVVLEtBQUs7c0JBQWIsS0FBSztnQkFVRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQVVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQVVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3VzdG9tU2VyaWVzT3B0aW9uLCBFQ2hhcnRzLCBFQ2hhcnRzT3B0aW9uLCBMaW5lU2VyaWVzT3B0aW9uLCBTY2F0dGVyU2VyaWVzT3B0aW9uLCB6cmVuZGVyIH0gZnJvbSAnZWNoYXJ0cyc7XHJcbmltcG9ydCB7IGludGVydmFsLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQUREX1BPSU5UX0lNR19PRkZfREFSSywgQUREX1BPSU5UX0lNR19PRkZfTElHSFQsIEFERF9QT0lOVF9JTUdfT04gfSBmcm9tICcuL2NvbnN0YW50cy9jaGFydC5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDaGFydCwgU2hhcGUsIFNoYXBlVmFyaWFudCwgVHJhY2UsIFBvaW50LCBCYXNlUG9pbnQgfSBmcm9tICcuL21vZGVscy9jaGFydC5tb2RlbHMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2tpd2ktY2hhcnQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IFxyXG4gICAgICBlY2hhcnRzIFxyXG4gICAgICBbb3B0aW9uc109XCJjaGFydE9wdGlvblwiIFxyXG4gICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgJ3dpZHRoJzogd2lkdGgsXHJcbiAgICAgICAgJ2hlaWdodCc6IGhlaWdodFxyXG4gICAgICB9XCJcclxuICAgICAgKGNoYXJ0SW5pdCk9XCJvbkNoYXJ0SW5pdCgkZXZlbnQpXCJcclxuICAgICAgW3RoZW1lXT1cImRhcmtUaGVtZSA/ICdkYXJrJyA6ICcnXCJcclxuICAgID48L2Rpdj4gXHJcbiAgYCxcclxuICBzdHlsZXM6IFtgXHJcbiAgYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEtpd2lDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgQ2hhcnQgT2JqZWN0IHJlbmRlcmVkIGJ5IHRoZSBjYW52YXMuIEZvciBhbGwgdGhlIGF2YWlsYWJsZSBvcHRpb25zIHJlZmVyIFxyXG4gICAqIHRvIENoYXJ0IGludGVyZmFjZSBpbiB0aGUgbW9kZWxzIGZvbGRlci5cclxuICAgKlxyXG4gICAqIEB0eXBlIHsoQ2hhcnQgfCBudWxsKX1cclxuICAgKiBAbWVtYmVyb2YgS2l3aUNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgY2hhcnQ6IENoYXJ0IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdpZHRoIGFuZCBIZWlnaHQgb2YgdGhlIGNoYXJ0IGFyZWEuIFRoZSBkaW1lbnNpb25zIHJlZmVyIHRvIHRoZSBmYXRoZXIgY29tcG9uZW50IFxyXG4gICAqIGludG8gd2hpY2ggdGhlIGtpd2ktY2hhcnQgaXMgaW5zZXJ0ZWQuIEZvciBleGFtcGxlIGluIGFuIGVtcHR5IHBhZ2UgdGhlIHdpZHRoL2hlaWdodCBcclxuICAgKiBvZiB0aGUgY2hhcnQgY2FuIHRha2UgdGhlIHdob2xlIGF2YWlsYWJsZSBzcGFjZSBpbiB0aGUgcGFnZS5cclxuICAgKlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogQG1lbWJlcm9mIEtpd2lDaGFydENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMTAwJSc7XHJcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnNDgwcHgnO1xyXG5cclxuICAvKipcclxuICAgKiBUaGlzIHByb3BlcnR5IHNpbXBseSBhY3RpdmF0ZXMgb3Igbm90IHRoZSBkYXJrIHRoZW1lIG9mIHRoZSBjaGFydFxyXG4gICAqIGRlZmluZWQgYnkgdGhlIEVjaGFydHMgbGlicmFyeS4gSW4gYWRkaXRpb24gdGhlIGJhY2tncm91bmQgY29sb3IgY2FuIGJlIGN1c3RvbVxyXG4gICAqIHNvIHRoYXQgdGhlIGNoYXJ0IGNhbiBtYXRjaCB0aGUgYmFja2dyb3VuZCBvZiB0aGUgYXBwbGljYXRpb24gaW4gd2hpY2ggaXQncyB1c2VkLlxyXG4gICAqXHJcbiAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICogQG1lbWJlcm9mIEtpd2lDaGFydENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRhcmtUaGVtZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRhcmtUaGVtZUJhY2tncm91bmQ/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE91dHB1dCBldmVudCB1c2VkIHRvIGVtaXQgdG8gdGhlIGZhdGhlciBjb21wb25lbnQgdGhlIGNvb3JkaW5hdGVzXHJcbiAgICogb2YgdGhlIHBvaW50IGNsaWNrZWQgaW4gdGhlIGNoYXJ0IGFyZWEuIFRoaXMgZnVuY3Rpb25hbGl0eSB0byBiZSB1c2VkIG11c3RcclxuICAgKiBoYXZlIHRoZSBwcm9wZXJ0eSBcImNsaWNrVG9BZGRQb2ludFwiIGluIHRoZSBDaGFydCBvYmplY3Qgc2V0IHRvIHRydWUuXHJcbiAgICpcclxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPEJhc2VQb2ludD59XHJcbiAgICogQG1lbWJlcm9mIEtpd2lDaGFydENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhZGRQb2ludDogRXZlbnRFbWl0dGVyPEJhc2VQb2ludD4gPSBuZXcgRXZlbnRFbWl0dGVyPEJhc2VQb2ludD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG9iamVjdCB1c2VkIGJ5IGVjaGFydHMgdG8gaW5pdGlhbGx5IGNyZWF0ZSB0aGUgQ2hhcnQuXHJcbiAgICpcclxuICAgKiBAdHlwZSB7RUNoYXJ0c09wdGlvbn1cclxuICAgKiBAbWVtYmVyb2YgS2l3aUNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgY2hhcnRPcHRpb246IEVDaGFydHNPcHRpb24gPSB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGluc3RhbmNlIG9mIHRoZSBDaGFydC5cclxuICAgKlxyXG4gICAqIEB0eXBlIHsoRUNoYXJ0cyB8IG51bGwpfVxyXG4gICAqIEBtZW1iZXJvZiBLaXdpQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBlY2hhcnRzSW5zdGFuY2U6IEVDaGFydHMgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXNlZCB0byBwZXJmb3JtIGFjdGlvbnMgKGFzIHBvaW50IGFkZGl0aW9uIGJhc2VkIG9uIHRoZSBjdXJzb3IgcG9zaXRpb24pIG9uIHRoZSBjaGFydC5cclxuICAgKlxyXG4gICAqIEB0eXBlIHsoenJlbmRlci5aUmVuZGVyVHlwZSB8IG51bGwpfVxyXG4gICAqIEBtZW1iZXJvZiBLaXdpQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICB6cjogenJlbmRlci5aUmVuZGVyVHlwZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJqZWN0IHVzZWQgdG8gdW5zdWJzY3JpYmUgb25jZSB0aGUgY29tcG9uZW50IGdldHMgZGVzdHJveWVkLlxyXG4gICAqXHJcbiAgICogQHByaXZhdGVcclxuICAgKiBAdHlwZSB7U3ViamVjdDx2b2lkPn1cclxuICAgKiBAbWVtYmVyb2YgS2l3aUNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLyoqIFxyXG4gICAgICogVGhpcyBpcyBhIG1hbnVhbCBjaGFuZ2UgZGV0ZWN0aW9uIHJ1bm5pbmcgZXZlcnkgMjAwbXMsIHRoZSBtZW1vcnkgc2hvdWxkIG5vdCBiZSBtdWNoIGFmZmxpY3RlZC5cclxuICAgICAqIEl0J3MgbmVjZXNzYXJ5IGJlY2F1c2Ugd2hlbiBpbnRlcmFjdGluZyB3aXRoIHRoZSBjaGFydCAoZm9yIGV4YW1wbGUgYWRkUG9pbnQpLFxyXG4gICAgICogQW5ndWxhciBsb3NlcyB0aGUgY2hhbmdlIGRldGVjdGlvbiBhbmQgdGhlIHBvaW50IGlzIG5vdCBhZGRlZCBpbiB0aGUgY2hhcnQgY2FudmFzLlxyXG4gICAgICovXHJcbiAgICBpbnRlcnZhbCgyMDApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DaGFydEluaXQoZWM6IEVDaGFydHMpIHtcclxuICAgIHRoaXMuZWNoYXJ0c0luc3RhbmNlID0gZWM7XHJcbiAgICB0aGlzLnNldHVwWnJFdmVudEhhbmRsZXIoZWMpO1xyXG4gIH1cclxuXHJcbiAgc2V0dXBackV2ZW50SGFuZGxlcihlYzogRUNoYXJ0cykge1xyXG4gICAgdGhpcy56ciA9IGVjLmdldFpyKCk7XHJcblxyXG4gICAgLyoqIFxyXG4gICAgICogSW50ZXJjZXB0cyB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIGNoYXJ0IChpZiB0aGUgY2xpY2tUb0FkZFBvaW50IHByb3BlcnR5IGlzIHNldCB0byB0cnVlKVxyXG4gICAgICogYW5kIGVtaXRzIHRoZSBwb2ludCBjb29yZGluYXRlcyB0byB0aGUgZmF0aGVyIGNvbXBvbmVudC5cclxuICAgICAqL1xyXG4gICAgdGhpcy56ci5vbignY2xpY2snLCBwYXJhbXMgPT4ge1xyXG4gICAgICBsZXQgb3B0aW9uOiBhbnkgPSBlYy5nZXRPcHRpb24oKTtcclxuICAgICAgbGV0IGFjdGl2ZSA9IG9wdGlvbj8udG9vbGJveD8uWzBdPy5mZWF0dXJlPy5teUFkZFBvaW50Py5pY29uU3RhdHVzO1xyXG4gICAgICBpZiAoYWN0aXZlICYmIHRoaXMuY2hhcnQ/LmNsaWNrVG9BZGRQb2ludCkge1xyXG4gICAgICAgIGNvbnN0IHBvaW50SW5QaXhlbCA9IFtwYXJhbXMub2Zmc2V0WCwgcGFyYW1zLm9mZnNldFldO1xyXG4gICAgICAgIGNvbnN0IHBvaW50SW5HcmlkID0gZWMuY29udmVydEZyb21QaXhlbCgnZ3JpZCcsIHBvaW50SW5QaXhlbCk7XHJcbiAgICAgICAgaWYgKGVjLmNvbnRhaW5QaXhlbCgnZ3JpZCcsIHBvaW50SW5QaXhlbCkgJiYgcG9pbnRJbkdyaWQpIHtcclxuICAgICAgICAgIGxldCBuZXdQb2ludDogeyB4OiBudW1iZXIsIHk6IG51bWJlciB9ID0ge1xyXG4gICAgICAgICAgICB4OiArcG9pbnRJbkdyaWRbMF0udG9GaXhlZCgzKSxcclxuICAgICAgICAgICAgeTogK3BvaW50SW5HcmlkWzFdLnRvRml4ZWQoMylcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICB0aGlzLmFkZFBvaW50LmVtaXQobmV3UG9pbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLyoqIFxyXG4gICAgICogVGhpcyBpcyB1c2VkIHRvIGNoYW5nZSB0aGUgY3Vyc29yJ3MgaWNvbiB3aGVuIHRoZSBzZWxlY3RlZCBhY3Rpb24gaXNcclxuICAgICAqIGNsaWNrIHRvIGFkZCBwb2ludCBhbmQgdmljZXZlcnNhIGJhY2sgdG8gZGVmYXVsdCBpY29uIHdoZW4gaXQncyBub3Qgc2VsZWN0ZWQuXHJcbiAgICAgKi9cclxuICAgIHRoaXMuenIub24oJ21vdXNlbW92ZScsIHBhcmFtcyA9PiB7XHJcbiAgICAgIGNvbnN0IHBvaW50SW5QaXhlbCA9IFtwYXJhbXMub2Zmc2V0WCwgcGFyYW1zLm9mZnNldFldO1xyXG4gICAgICBjb25zdCBvcHRpb246IGFueSA9IGVjLmdldE9wdGlvbigpO1xyXG4gICAgICBjb25zdCBhY3RpdmUgPSBvcHRpb24/LnRvb2xib3g/LlswXT8uZmVhdHVyZT8ubXlBZGRQb2ludD8uaWNvblN0YXR1cztcclxuICAgICAgaWYgKGFjdGl2ZSkge1xyXG4gICAgICAgIHRoaXMuenI/LnNldEN1cnNvclN0eWxlKFxyXG4gICAgICAgICAgZWMuY29udGFpblBpeGVsKCdncmlkJywgcG9pbnRJblBpeGVsKSA/ICdjb3B5JyA6ICdkZWZhdWx0J1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgbGV0IGNoYXJ0OiBDaGFydCA9IGNoYW5nZXNbJ2NoYXJ0J10/LmN1cnJlbnRWYWx1ZTtcclxuICAgIGlmIChjaGFydCkge1xyXG4gICAgICB0aGlzLmNoYXJ0T3B0aW9uID0ge1xyXG4gICAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAgICB0ZXh0OiBjaGFydC50aXRsZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy5kYXJrVGhlbWUgPyB0aGlzLmRhcmtUaGVtZUJhY2tncm91bmQgPz8gJyMzMDMwMzAnIDogJ3RyYW5zcGFyZW50JywgdG9vbHRpcDoge1xyXG4gICAgICAgICAgYXhpc1BvaW50ZXI6IHtcclxuICAgICAgICAgICAgdHlwZTogJ2Nyb3NzJyxcclxuICAgICAgICAgICAgY3Jvc3NTdHlsZToge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAnI2JlYmViZSdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9vbGJveDoge1xyXG4gICAgICAgICAgb3JpZW50OiAnaG9yaXpvbnRhbCcsXHJcbiAgICAgICAgICBsZWZ0OiAnY2VudGVyJyxcclxuICAgICAgICAgIGZlYXR1cmU6IHtcclxuICAgICAgICAgICAgZGF0YVpvb206IHtcclxuICAgICAgICAgICAgICBicnVzaFN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyMwMDAnLFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXHJcbiAgICAgICAgICAgICAgICBib3JkZXJUeXBlOiAnZGFzaGVkJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNhdmVBc0ltYWdlOiB7fSxcclxuICAgICAgICAgICAgcmVzdG9yZToge30sXHJcbiAgICAgICAgICAgIG15QWRkUG9pbnQ6IHtcclxuICAgICAgICAgICAgICBzaG93OiBjaGFydC5jbGlja1RvQWRkUG9pbnQgPz8gZmFsc2UsXHJcbiAgICAgICAgICAgICAgdGl0bGU6IGNoYXJ0LmFkZFBvaW50Q3VzdG9tTmFtZSA/PyAnQWRkIFBvaW50JyxcclxuICAgICAgICAgICAgICBpY29uOiB0aGlzLmRhcmtUaGVtZSA/IEFERF9QT0lOVF9JTUdfT0ZGX0RBUksgOiBBRERfUE9JTlRfSU1HX09GRl9MSUdIVCxcclxuICAgICAgICAgICAgICBpY29uU3RhdHVzOiBmYWxzZSxcclxuICAgICAgICAgICAgICBvbmNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uOiBhbnkgPSB0aGlzLmVjaGFydHNJbnN0YW5jZT8uZ2V0T3B0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICBsZXQgc3RhdHVzID0gb3B0aW9uLnRvb2xib3hbMF0uZmVhdHVyZS5teUFkZFBvaW50Lmljb25TdGF0dXM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVjaGFydHNJbnN0YW5jZT8uc2V0T3B0aW9uKHtcclxuICAgICAgICAgICAgICAgICAgdG9vbGJveDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIG15QWRkUG9pbnQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXR1czogIXN0YXR1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogIXN0YXR1cyA/IEFERF9QT0lOVF9JTUdfT04gOiB0aGlzLmRhcmtUaGVtZSA/IEFERF9QT0lOVF9JTUdfT0ZGX0RBUksgOiBBRERfUE9JTlRfSU1HX09GRl9MSUdIVFxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YVpvb206IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogJ2luc2lkZScsXHJcbiAgICAgICAgICAgIHhBeGlzSW5kZXg6IFswXSxcclxuICAgICAgICAgICAgdGhyb3R0bGU6IDAsXHJcbiAgICAgICAgICAgIGZpbHRlck1vZGU6ICdub25lJyxcclxuICAgICAgICAgICAgZGlzYWJsZWQ6ICFjaGFydC5zY3JvbGxUb1pvb20gPz8gdHJ1ZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogJ2luc2lkZScsXHJcbiAgICAgICAgICAgIHlBeGlzSW5kZXg6IFswXSxcclxuICAgICAgICAgICAgdGhyb3R0bGU6IDAsXHJcbiAgICAgICAgICAgIGZpbHRlck1vZGU6ICdub25lJyxcclxuICAgICAgICAgICAgZGlzYWJsZWQ6ICFjaGFydC5zY3JvbGxUb1pvb20gPz8gdHJ1ZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgZGF0YTogY2hhcnQuc2hhcGVzLm1hcChcclxuICAgICAgICAgICAgKHNoYXBlOiBTaGFwZSkgPT4gKHtcclxuICAgICAgICAgICAgICBuYW1lOiBzaGFwZS5uYW1lLFxyXG4gICAgICAgICAgICAgIGljb246ICdjaXJjbGUnXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgc2VsZWN0ZWQ6IGNoYXJ0LnNoYXBlcy5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBzaGFwZTogU2hhcGUpID0+ICh7IC4uLmFjY3VtdWxhdG9yLCBbc2hhcGUubmFtZSBhcyBzdHJpbmddOiBzaGFwZS5zZWxlY3RlZEJ5RGVmYXVsdCA/PyB0cnVlIH0pLCB7fSksXHJcbiAgICAgICAgICBzaG93OiBjaGFydC5zaG93TGVnZW5kID8/IGZhbHNlLFxyXG4gICAgICAgICAgb3JpZW50OiAndmVydGljYWwnLFxyXG4gICAgICAgICAgbGVmdDogJ3JpZ2h0JyxcclxuICAgICAgICAgIHBhZGRpbmc6IFs2MCwgMjBdLFxyXG4gICAgICAgICAgdHlwZTogJ3Njcm9sbCcsXHJcbiAgICAgICAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCxcclxuICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGQnLFxyXG4gICAgICAgICAgICBvdmVyZmxvdzogJ2JyZWFrJ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeEF4aXM6IHtcclxuICAgICAgICAgIHR5cGU6IGNoYXJ0LnhBeGlzVHlwZSxcclxuICAgICAgICAgIG5hbWU6IGNoYXJ0LnhBeGlzVW9tID8gYCR7Y2hhcnQueEF4aXNOYW1lfSBbICR7Y2hhcnQueEF4aXNVb219IF1gIDogY2hhcnQueEF4aXNOYW1lLFxyXG4gICAgICAgICAgbmFtZUxvY2F0aW9uOiAnbWlkZGxlJyxcclxuICAgICAgICAgIG5hbWVHYXA6IDMwLFxyXG4gICAgICAgICAgc3BsaXRMaW5lOiB7XHJcbiAgICAgICAgICAgIHNob3c6IGNoYXJ0LnNob3dHcmlkID8/IHRydWUsXHJcbiAgICAgICAgICAgIGxpbmVTdHlsZToge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiB0aGlzLmRhcmtUaGVtZSA/ICcjNTk1OTU5JyA6ICcjY2NjJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB5QXhpczoge1xyXG4gICAgICAgICAgdHlwZTogY2hhcnQueUF4aXNUeXBlLFxyXG4gICAgICAgICAgbmFtZTogY2hhcnQueUF4aXNVb20gPyBgJHtjaGFydC55QXhpc05hbWV9IFsgJHtjaGFydC55QXhpc1VvbX0gXWAgOiBjaGFydC55QXhpc05hbWUsXHJcbiAgICAgICAgICBuYW1lTG9jYXRpb246ICdtaWRkbGUnLFxyXG4gICAgICAgICAgbmFtZUdhcDogNTAsXHJcbiAgICAgICAgICBzcGxpdExpbmU6IHtcclxuICAgICAgICAgICAgc2hvdzogY2hhcnQuc2hvd0dyaWQgPz8gdHJ1ZSxcclxuICAgICAgICAgICAgbGluZVN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoaXMuZGFya1RoZW1lID8gJyM1OTU5NTknIDogJyNjY2MnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzZXJpZXM6IHRoaXMuY3JlYXRlU2VyaWVzKGNoYXJ0LnNoYXBlcyksXHJcbiAgICAgICAgYW5pbWF0aW9uOiBjaGFydC5oYXNBbmltYXRpb25zLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlU2VyaWVzKHNoYXBlczogU2hhcGVbXSk6IEFycmF5PExpbmVTZXJpZXNPcHRpb24gfCBDdXN0b21TZXJpZXNPcHRpb24gfCBTY2F0dGVyU2VyaWVzT3B0aW9uPiB7XHJcbiAgICBsZXQgc2VyaWVzOiBBcnJheTxMaW5lU2VyaWVzT3B0aW9uIHwgQ3VzdG9tU2VyaWVzT3B0aW9uIHwgU2NhdHRlclNlcmllc09wdGlvbj4gPSBbXTtcclxuICAgIHNoYXBlcy5mb3JFYWNoKFxyXG4gICAgICAoc2hhcGU6IFNoYXBlKSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChzaGFwZS52YXJpYW50KSB7XHJcbiAgICAgICAgICBjYXNlIFNoYXBlVmFyaWFudC5UUkFDRTpcclxuICAgICAgICAgICAgc2VyaWVzLnB1c2godGhpcy5jcmVhdGVUcmFjZShzaGFwZSBhcyBUcmFjZSkpXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHNlcmllcztcclxuICB9XHJcblxyXG4gIGNyZWF0ZVRyYWNlKHRyYWNlOiBUcmFjZSk6IExpbmVTZXJpZXNPcHRpb24gfCBTY2F0dGVyU2VyaWVzT3B0aW9uIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHR5cGU6IHRyYWNlLnR5cGUsXHJcbiAgICAgIG5hbWU6IHRyYWNlLm5hbWUsXHJcbiAgICAgIGRhdGE6IHRyYWNlLnBvaW50cy5tYXAoXHJcbiAgICAgICAgKHBvaW50OiBQb2ludCkgPT4gKHtcclxuICAgICAgICAgIHZhbHVlOiBbcG9pbnQueCwgcG9pbnQueV0sXHJcbiAgICAgICAgICBzeW1ib2w6IHBvaW50LnN5bWJvbCA/PyAnY2lyY2xlJyxcclxuICAgICAgICAgIG5hbWU6IHBvaW50Lm5hbWUsXHJcbiAgICAgICAgICBzeW1ib2xTaXplOiBwb2ludC5zeW1ib2xTaXplID8/IDIsXHJcbiAgICAgICAgICBpdGVtU3R5bGU6IHtcclxuICAgICAgICAgICAgY29sb3I6IHBvaW50LmNvbG9yXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZW1waGFzaXM6IHtcclxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsYWJlbDoge1xyXG4gICAgICAgICAgICBzaG93OiB0cnVlLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICdib3R0b20nLFxyXG4gICAgICAgICAgICBmb3JtYXR0ZXI6ICgpID0+IGAke3BvaW50Lm5hbWUgPz8gJyd9YCxcclxuICAgICAgICAgICAgZm9udFNpemU6IDEzLFxyXG4gICAgICAgICAgICBwYWRkaW5nOiBbMCwgMCwgMCwgMTBdLFxyXG4gICAgICAgICAgICB3aWR0aDogMTAwLFxyXG4gICAgICAgICAgICBvdmVyZmxvdzogJ3RydW5jYXRlJyxcclxuICAgICAgICAgICAgZWxsaXBzaXM6ICcuLi4nLFxyXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsXHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGlzLmRhcmtUaGVtZSA/ICcjZmZmJyA6ICcjMDAwJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHRvb2x0aXA6IHtcclxuICAgICAgICAgICAgZm9ybWF0dGVyOiAoeyB2YWx1ZSB9OiB7IHZhbHVlOiBudW1iZXJbXSB9KSA9PiBgXHJcbiAgICAgICAgICAgICAgPHN0cm9uZz4ke3RoaXMuY2hhcnQ/LnhBeGlzTmFtZX06PC9zdHJvbmc+ICR7dmFsdWVbMF0udG9GaXhlZCgzKS5yZXBsYWNlKC9bLixdMDAwJC8sIFwiXCIpfVxyXG4gICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICA8c3Ryb25nPiR7dGhpcy5jaGFydD8ueUF4aXNOYW1lfTo8L3N0cm9uZz4gJHt2YWx1ZVsxXS50b0ZpeGVkKDMpLnJlcGxhY2UoL1suLF0wMDAkLywgXCJcIil9XHJcbiAgICAgICAgICAgIGBcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgICBjb2xvcjogdHJhY2UuY29sb3IsXHJcbiAgICAgIGxpbmVTdHlsZToge1xyXG4gICAgICAgIHdpZHRoOiB0cmFjZS53aWR0aCxcclxuICAgICAgICB0eXBlOiB0cmFjZS5zdHlsZVxyXG4gICAgICB9LFxyXG4gICAgICBzbW9vdGg6IHRyYWNlLnNtb290aCA/PyBmYWxzZVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l3aWJpdC9jaGFydC9zcmMvbGliL2NoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXZJLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoSCxPQUFPLEVBQWdCLFlBQVksRUFBMkIsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQWtCNUYsTUFBTSxPQUFPLGtCQUFrQjtJQTRFN0IsWUFDVSxFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQTNFL0I7Ozs7OztXQU1HO1FBQ00sVUFBSyxHQUFpQixJQUFJLENBQUM7UUFFcEM7Ozs7Ozs7V0FPRztRQUNNLFVBQUssR0FBVyxNQUFNLENBQUM7UUFDdkIsV0FBTSxHQUFXLE9BQU8sQ0FBQztRQUVsQzs7Ozs7OztXQU9HO1FBQ00sY0FBUyxHQUFZLEtBQUssQ0FBQztRQUdwQzs7Ozs7OztXQU9HO1FBQ08sYUFBUSxHQUE0QixJQUFJLFlBQVksRUFBYSxDQUFDO1FBRTVFOzs7OztXQUtHO1FBQ0gsZ0JBQVcsR0FBa0IsRUFBRSxDQUFDO1FBRWhDOzs7OztXQUtHO1FBQ0gsb0JBQWUsR0FBbUIsSUFBSSxDQUFDO1FBRXZDOzs7OztXQUtHO1FBQ0gsT0FBRSxHQUErQixJQUFJLENBQUM7UUFFdEM7Ozs7OztXQU1HO1FBQ0ssZUFBVSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO0lBSXBELENBQUM7SUFFTCxRQUFRO1FBQ047Ozs7V0FJRztRQUNI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QUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2FBQ3pGO2lCQUNGO2FBQ0YsQ0FBQyxDQUNIO1lBQ0QsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSzthQUNsQjtZQUNELE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUs7U0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7OytHQTFVVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiw0T0FmbkI7Ozs7Ozs7Ozs7O0dBV1Q7MkZBSVUsa0JBQWtCO2tCQWpCOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7OztHQVdUO29CQUNELE1BQU0sRUFBRSxDQUFDO0dBQ1IsQ0FBQztpQkFDSDt3R0FVVSxLQUFLO3NCQUFiLEtBQUs7Z0JBVUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFVRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFVSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1c3RvbVNlcmllc09wdGlvbiwgRUNoYXJ0cywgRUNoYXJ0c09wdGlvbiwgTGluZVNlcmllc09wdGlvbiwgU2NhdHRlclNlcmllc09wdGlvbiwgenJlbmRlciB9IGZyb20gJ2VjaGFydHMnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFERF9QT0lOVF9JTUdfT0ZGX0RBUkssIEFERF9QT0lOVF9JTUdfT0ZGX0xJR0hULCBBRERfUE9JTlRfSU1HX09OIH0gZnJvbSAnLi9jb25zdGFudHMvY2hhcnQuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ2hhcnQsIFNoYXBlLCBTaGFwZVZhcmlhbnQsIFRyYWNlLCBQb2ludCwgQmFzZVBvaW50IH0gZnJvbSAnLi9tb2RlbHMvY2hhcnQubW9kZWxzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdraXdpLWNoYXJ0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBcclxuICAgICAgZWNoYXJ0cyBcclxuICAgICAgW29wdGlvbnNdPVwiY2hhcnRPcHRpb25cIiBcclxuICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICd3aWR0aCc6IHdpZHRoLFxyXG4gICAgICAgICdoZWlnaHQnOiBoZWlnaHRcclxuICAgICAgfVwiXHJcbiAgICAgIChjaGFydEluaXQpPVwib25DaGFydEluaXQoJGV2ZW50KVwiXHJcbiAgICAgIFt0aGVtZV09XCJkYXJrVGhlbWUgPyAnZGFyaycgOiAnJ1wiXHJcbiAgICA+PC9kaXY+IFxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYFxyXG4gIGBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLaXdpQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIENoYXJ0IE9iamVjdCByZW5kZXJlZCBieSB0aGUgY2FudmFzLiBGb3IgYWxsIHRoZSBhdmFpbGFibGUgb3B0aW9ucyByZWZlciBcclxuICAgKiB0byBDaGFydCBpbnRlcmZhY2UgaW4gdGhlIG1vZGVscyBmb2xkZXIuXHJcbiAgICpcclxuICAgKiBAdHlwZSB7KENoYXJ0IHwgbnVsbCl9XHJcbiAgICogQG1lbWJlcm9mIEtpd2lDaGFydENvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNoYXJ0OiBDaGFydCB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvKipcclxuICAgKiBXaWR0aCBhbmQgSGVpZ2h0IG9mIHRoZSBjaGFydCBhcmVhLiBUaGUgZGltZW5zaW9ucyByZWZlciB0byB0aGUgZmF0aGVyIGNvbXBvbmVudCBcclxuICAgKiBpbnRvIHdoaWNoIHRoZSBraXdpLWNoYXJ0IGlzIGluc2VydGVkLiBGb3IgZXhhbXBsZSBpbiBhbiBlbXB0eSBwYWdlIHRoZSB3aWR0aC9oZWlnaHQgXHJcbiAgICogb2YgdGhlIGNoYXJ0IGNhbiB0YWtlIHRoZSB3aG9sZSBhdmFpbGFibGUgc3BhY2UgaW4gdGhlIHBhZ2UuXHJcbiAgICpcclxuICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAqIEBtZW1iZXJvZiBLaXdpQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzEwMCUnO1xyXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nID0gJzQ4MHB4JztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBwcm9wZXJ0eSBzaW1wbHkgYWN0aXZhdGVzIG9yIG5vdCB0aGUgZGFyayB0aGVtZSBvZiB0aGUgY2hhcnRcclxuICAgKiBkZWZpbmVkIGJ5IHRoZSBFY2hhcnRzIGxpYnJhcnkuIEluIGFkZGl0aW9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGNhbiBiZSBjdXN0b21cclxuICAgKiBzbyB0aGF0IHRoZSBjaGFydCBjYW4gbWF0Y2ggdGhlIGJhY2tncm91bmQgb2YgdGhlIGFwcGxpY2F0aW9uIGluIHdoaWNoIGl0J3MgdXNlZC5cclxuICAgKlxyXG4gICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBLaXdpQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBkYXJrVGhlbWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBkYXJrVGhlbWVCYWNrZ3JvdW5kPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBPdXRwdXQgZXZlbnQgdXNlZCB0byBlbWl0IHRvIHRoZSBmYXRoZXIgY29tcG9uZW50IHRoZSBjb29yZGluYXRlc1xyXG4gICAqIG9mIHRoZSBwb2ludCBjbGlja2VkIGluIHRoZSBjaGFydCBhcmVhLiBUaGlzIGZ1bmN0aW9uYWxpdHkgdG8gYmUgdXNlZCBtdXN0XHJcbiAgICogaGF2ZSB0aGUgcHJvcGVydHkgXCJjbGlja1RvQWRkUG9pbnRcIiBpbiB0aGUgQ2hhcnQgb2JqZWN0IHNldCB0byB0cnVlLlxyXG4gICAqXHJcbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxCYXNlUG9pbnQ+fVxyXG4gICAqIEBtZW1iZXJvZiBLaXdpQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgYWRkUG9pbnQ6IEV2ZW50RW1pdHRlcjxCYXNlUG9pbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxCYXNlUG9pbnQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBvYmplY3QgdXNlZCBieSBlY2hhcnRzIHRvIGluaXRpYWxseSBjcmVhdGUgdGhlIENoYXJ0LlxyXG4gICAqXHJcbiAgICogQHR5cGUge0VDaGFydHNPcHRpb259XHJcbiAgICogQG1lbWJlcm9mIEtpd2lDaGFydENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNoYXJ0T3B0aW9uOiBFQ2hhcnRzT3B0aW9uID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBpbnN0YW5jZSBvZiB0aGUgQ2hhcnQuXHJcbiAgICpcclxuICAgKiBAdHlwZSB7KEVDaGFydHMgfCBudWxsKX1cclxuICAgKiBAbWVtYmVyb2YgS2l3aUNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgZWNoYXJ0c0luc3RhbmNlOiBFQ2hhcnRzIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFVzZWQgdG8gcGVyZm9ybSBhY3Rpb25zIChhcyBwb2ludCBhZGRpdGlvbiBiYXNlZCBvbiB0aGUgY3Vyc29yIHBvc2l0aW9uKSBvbiB0aGUgY2hhcnQuXHJcbiAgICpcclxuICAgKiBAdHlwZSB7KHpyZW5kZXIuWlJlbmRlclR5cGUgfCBudWxsKX1cclxuICAgKiBAbWVtYmVyb2YgS2l3aUNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgenI6IHpyZW5kZXIuWlJlbmRlclR5cGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogU3ViamVjdCB1c2VkIHRvIHVuc3Vic2NyaWJlIG9uY2UgdGhlIGNvbXBvbmVudCBnZXRzIGRlc3Ryb3llZC5cclxuICAgKlxyXG4gICAqIEBwcml2YXRlXHJcbiAgICogQHR5cGUge1N1YmplY3Q8dm9pZD59XHJcbiAgICogQG1lbWJlcm9mIEtpd2lDaGFydENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZGVzdHJveWVkJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8qKiBcclxuICAgICAqIFRoaXMgaXMgYSBtYW51YWwgY2hhbmdlIGRldGVjdGlvbiBydW5uaW5nIGV2ZXJ5IDIwMG1zLCB0aGUgbWVtb3J5IHNob3VsZCBub3QgYmUgbXVjaCBhZmZsaWN0ZWQuXHJcbiAgICAgKiBJdCdzIG5lY2Vzc2FyeSBiZWNhdXNlIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgY2hhcnQgKGZvciBleGFtcGxlIGFkZFBvaW50KSxcclxuICAgICAqIEFuZ3VsYXIgbG9zZXMgdGhlIGNoYW5nZSBkZXRlY3Rpb24gYW5kIHRoZSBwb2ludCBpcyBub3QgYWRkZWQgaW4gdGhlIGNoYXJ0IGNhbnZhcy5cclxuICAgICAqL1xyXG4gICAgaW50ZXJ2YWwoMjAwKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uQ2hhcnRJbml0KGVjOiBFQ2hhcnRzKSB7XHJcbiAgICB0aGlzLmVjaGFydHNJbnN0YW5jZSA9IGVjO1xyXG4gICAgdGhpcy5zZXR1cFpyRXZlbnRIYW5kbGVyKGVjKTtcclxuICB9XHJcblxyXG4gIHNldHVwWnJFdmVudEhhbmRsZXIoZWM6IEVDaGFydHMpIHtcclxuICAgIHRoaXMuenIgPSBlYy5nZXRacigpO1xyXG5cclxuICAgIC8qKiBcclxuICAgICAqIEludGVyY2VwdHMgdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBjaGFydCAoaWYgdGhlIGNsaWNrVG9BZGRQb2ludCBwcm9wZXJ0eSBpcyBzZXQgdG8gdHJ1ZSlcclxuICAgICAqIGFuZCBlbWl0cyB0aGUgcG9pbnQgY29vcmRpbmF0ZXMgdG8gdGhlIGZhdGhlciBjb21wb25lbnQuXHJcbiAgICAgKi9cclxuICAgIHRoaXMuenIub24oJ2NsaWNrJywgcGFyYW1zID0+IHtcclxuICAgICAgbGV0IG9wdGlvbjogYW55ID0gZWMuZ2V0T3B0aW9uKCk7XHJcbiAgICAgIGxldCBhY3RpdmUgPSBvcHRpb24/LnRvb2xib3g/LlswXT8uZmVhdHVyZT8ubXlBZGRQb2ludD8uaWNvblN0YXR1cztcclxuICAgICAgaWYgKGFjdGl2ZSAmJiB0aGlzLmNoYXJ0Py5jbGlja1RvQWRkUG9pbnQpIHtcclxuICAgICAgICBjb25zdCBwb2ludEluUGl4ZWwgPSBbcGFyYW1zLm9mZnNldFgsIHBhcmFtcy5vZmZzZXRZXTtcclxuICAgICAgICBjb25zdCBwb2ludEluR3JpZCA9IGVjLmNvbnZlcnRGcm9tUGl4ZWwoJ2dyaWQnLCBwb2ludEluUGl4ZWwpO1xyXG4gICAgICAgIGlmIChlYy5jb250YWluUGl4ZWwoJ2dyaWQnLCBwb2ludEluUGl4ZWwpICYmIHBvaW50SW5HcmlkKSB7XHJcbiAgICAgICAgICBsZXQgbmV3UG9pbnQ6IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfSA9IHtcclxuICAgICAgICAgICAgeDogK3BvaW50SW5HcmlkWzBdLnRvRml4ZWQoMyksXHJcbiAgICAgICAgICAgIHk6ICtwb2ludEluR3JpZFsxXS50b0ZpeGVkKDMpXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgdGhpcy5hZGRQb2ludC5lbWl0KG5ld1BvaW50KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIC8qKiBcclxuICAgICAqIFRoaXMgaXMgdXNlZCB0byBjaGFuZ2UgdGhlIGN1cnNvcidzIGljb24gd2hlbiB0aGUgc2VsZWN0ZWQgYWN0aW9uIGlzXHJcbiAgICAgKiBjbGljayB0byBhZGQgcG9pbnQgYW5kIHZpY2V2ZXJzYSBiYWNrIHRvIGRlZmF1bHQgaWNvbiB3aGVuIGl0J3Mgbm90IHNlbGVjdGVkLlxyXG4gICAgICovXHJcbiAgICB0aGlzLnpyLm9uKCdtb3VzZW1vdmUnLCBwYXJhbXMgPT4ge1xyXG4gICAgICBjb25zdCBwb2ludEluUGl4ZWwgPSBbcGFyYW1zLm9mZnNldFgsIHBhcmFtcy5vZmZzZXRZXTtcclxuICAgICAgY29uc3Qgb3B0aW9uOiBhbnkgPSBlYy5nZXRPcHRpb24oKTtcclxuICAgICAgY29uc3QgYWN0aXZlID0gb3B0aW9uPy50b29sYm94Py5bMF0/LmZlYXR1cmU/Lm15QWRkUG9pbnQ/Lmljb25TdGF0dXM7XHJcbiAgICAgIGlmIChhY3RpdmUpIHtcclxuICAgICAgICB0aGlzLnpyPy5zZXRDdXJzb3JTdHlsZShcclxuICAgICAgICAgIGVjLmNvbnRhaW5QaXhlbCgnZ3JpZCcsIHBvaW50SW5QaXhlbCkgPyAnY29weScgOiAnZGVmYXVsdCdcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGxldCBjaGFydDogQ2hhcnQgPSBjaGFuZ2VzWydjaGFydCddPy5jdXJyZW50VmFsdWU7XHJcbiAgICBpZiAoY2hhcnQpIHtcclxuICAgICAgdGhpcy5jaGFydE9wdGlvbiA9IHtcclxuICAgICAgICB0aXRsZToge1xyXG4gICAgICAgICAgdGV4dDogY2hhcnQudGl0bGUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBncmlkOiB7XHJcbiAgICAgICAgICB3aWR0aDogJzc1JSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy5kYXJrVGhlbWUgPyB0aGlzLmRhcmtUaGVtZUJhY2tncm91bmQgPz8gJyMzMDMwMzAnIDogJ3RyYW5zcGFyZW50JywgdG9vbHRpcDoge1xyXG4gICAgICAgICAgYXhpc1BvaW50ZXI6IHtcclxuICAgICAgICAgICAgdHlwZTogJ2Nyb3NzJyxcclxuICAgICAgICAgICAgY3Jvc3NTdHlsZToge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAnI2JlYmViZSdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9vbGJveDoge1xyXG4gICAgICAgICAgb3JpZW50OiAnaG9yaXpvbnRhbCcsXHJcbiAgICAgICAgICBsZWZ0OiAnY2VudGVyJyxcclxuICAgICAgICAgIGZlYXR1cmU6IHtcclxuICAgICAgICAgICAgZGF0YVpvb206IHtcclxuICAgICAgICAgICAgICBicnVzaFN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyMwMDAnLFxyXG4gICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXHJcbiAgICAgICAgICAgICAgICBib3JkZXJUeXBlOiAnZGFzaGVkJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNhdmVBc0ltYWdlOiB7fSxcclxuICAgICAgICAgICAgcmVzdG9yZToge30sXHJcbiAgICAgICAgICAgIG15QWRkUG9pbnQ6IHtcclxuICAgICAgICAgICAgICBzaG93OiBjaGFydC5jbGlja1RvQWRkUG9pbnQgPz8gZmFsc2UsXHJcbiAgICAgICAgICAgICAgdGl0bGU6IGNoYXJ0LmFkZFBvaW50Q3VzdG9tTmFtZSA/PyAnQWRkIFBvaW50JyxcclxuICAgICAgICAgICAgICBpY29uOiB0aGlzLmRhcmtUaGVtZSA/IEFERF9QT0lOVF9JTUdfT0ZGX0RBUksgOiBBRERfUE9JTlRfSU1HX09GRl9MSUdIVCxcclxuICAgICAgICAgICAgICBpY29uU3RhdHVzOiBmYWxzZSxcclxuICAgICAgICAgICAgICBvbmNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgb3B0aW9uOiBhbnkgPSB0aGlzLmVjaGFydHNJbnN0YW5jZT8uZ2V0T3B0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICBsZXQgc3RhdHVzID0gb3B0aW9uLnRvb2xib3hbMF0uZmVhdHVyZS5teUFkZFBvaW50Lmljb25TdGF0dXM7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVjaGFydHNJbnN0YW5jZT8uc2V0T3B0aW9uKHtcclxuICAgICAgICAgICAgICAgICAgdG9vbGJveDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGZlYXR1cmU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIG15QWRkUG9pbnQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN0YXR1czogIXN0YXR1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogIXN0YXR1cyA/IEFERF9QT0lOVF9JTUdfT04gOiB0aGlzLmRhcmtUaGVtZSA/IEFERF9QT0lOVF9JTUdfT0ZGX0RBUksgOiBBRERfUE9JTlRfSU1HX09GRl9MSUdIVFxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YVpvb206IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogJ2luc2lkZScsXHJcbiAgICAgICAgICAgIHhBeGlzSW5kZXg6IFswXSxcclxuICAgICAgICAgICAgdGhyb3R0bGU6IDAsXHJcbiAgICAgICAgICAgIGZpbHRlck1vZGU6ICdub25lJyxcclxuICAgICAgICAgICAgZGlzYWJsZWQ6ICFjaGFydC5zY3JvbGxUb1pvb20gPz8gdHJ1ZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZTogJ2luc2lkZScsXHJcbiAgICAgICAgICAgIHlBeGlzSW5kZXg6IFswXSxcclxuICAgICAgICAgICAgdGhyb3R0bGU6IDAsXHJcbiAgICAgICAgICAgIGZpbHRlck1vZGU6ICdub25lJyxcclxuICAgICAgICAgICAgZGlzYWJsZWQ6ICFjaGFydC5zY3JvbGxUb1pvb20gPz8gdHJ1ZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgd2lkdGg6ICcyNSUnLFxyXG4gICAgICAgICAgaW5hY3RpdmVDb2xvcjogdGhpcy5kYXJrVGhlbWUgPyAnIzhiOGI4YicgOiAnI2NjYycsXHJcbiAgICAgICAgICBkYXRhOiBjaGFydC5zaGFwZXMubWFwKFxyXG4gICAgICAgICAgICAoc2hhcGU6IFNoYXBlKSA9PiAoe1xyXG4gICAgICAgICAgICAgIG5hbWU6IHNoYXBlLm5hbWUsXHJcbiAgICAgICAgICAgICAgaWNvbjogJ2NpcmNsZSdcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICBzZWxlY3RlZDogY2hhcnQuc2hhcGVzLnJlZHVjZSgoYWNjdW11bGF0b3IsIHNoYXBlOiBTaGFwZSkgPT4gKHsgLi4uYWNjdW11bGF0b3IsIFtzaGFwZS5uYW1lIGFzIHN0cmluZ106IHNoYXBlLnNlbGVjdGVkQnlEZWZhdWx0ID8/IHRydWUgfSksIHt9KSxcclxuICAgICAgICAgIHNob3c6IGNoYXJ0LnNob3dMZWdlbmQgPz8gZmFsc2UsXHJcbiAgICAgICAgICBvcmllbnQ6ICd2ZXJ0aWNhbCcsXHJcbiAgICAgICAgICBsZWZ0OiAncmlnaHQnLFxyXG4gICAgICAgICAgcGFkZGluZzogWzYwLCAyMF0sXHJcbiAgICAgICAgICB0eXBlOiAnc2Nyb2xsJyxcclxuICAgICAgICAgIHRleHRTdHlsZToge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIwLFxyXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsXHJcbiAgICAgICAgICAgIG92ZXJmbG93OiAnYnJlYWsnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB4QXhpczoge1xyXG4gICAgICAgICAgdHlwZTogY2hhcnQueEF4aXNUeXBlLFxyXG4gICAgICAgICAgbmFtZTogY2hhcnQueEF4aXNVb20gPyBgJHtjaGFydC54QXhpc05hbWV9IFsgJHtjaGFydC54QXhpc1VvbX0gXWAgOiBjaGFydC54QXhpc05hbWUsXHJcbiAgICAgICAgICBuYW1lTG9jYXRpb246ICdtaWRkbGUnLFxyXG4gICAgICAgICAgbmFtZUdhcDogMzAsXHJcbiAgICAgICAgICBzcGxpdExpbmU6IHtcclxuICAgICAgICAgICAgc2hvdzogY2hhcnQuc2hvd0dyaWQgPz8gdHJ1ZSxcclxuICAgICAgICAgICAgbGluZVN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoaXMuZGFya1RoZW1lID8gJyM1OTU5NTknIDogJyNjY2MnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBtaW46IGNoYXJ0LnhNaW4sXHJcbiAgICAgICAgICBtYXg6IGNoYXJ0LnhNYXgsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB5QXhpczoge1xyXG4gICAgICAgICAgdHlwZTogY2hhcnQueUF4aXNUeXBlLFxyXG4gICAgICAgICAgbmFtZTogY2hhcnQueUF4aXNVb20gPyBgJHtjaGFydC55QXhpc05hbWV9IFsgJHtjaGFydC55QXhpc1VvbX0gXWAgOiBjaGFydC55QXhpc05hbWUsXHJcbiAgICAgICAgICBuYW1lTG9jYXRpb246ICdtaWRkbGUnLFxyXG4gICAgICAgICAgbmFtZUdhcDogNTAsXHJcbiAgICAgICAgICBzcGxpdExpbmU6IHtcclxuICAgICAgICAgICAgc2hvdzogY2hhcnQuc2hvd0dyaWQgPz8gdHJ1ZSxcclxuICAgICAgICAgICAgbGluZVN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoaXMuZGFya1RoZW1lID8gJyM1OTU5NTknIDogJyNjY2MnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBtaW46IGNoYXJ0LnlNaW4sXHJcbiAgICAgICAgICBtYXg6IGNoYXJ0LnlNYXgsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzZXJpZXM6IHRoaXMuY3JlYXRlU2VyaWVzKGNoYXJ0LnNoYXBlcyksXHJcbiAgICAgICAgYW5pbWF0aW9uOiBjaGFydC5oYXNBbmltYXRpb25zLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlU2VyaWVzKHNoYXBlczogU2hhcGVbXSk6IEFycmF5PExpbmVTZXJpZXNPcHRpb24gfCBDdXN0b21TZXJpZXNPcHRpb24gfCBTY2F0dGVyU2VyaWVzT3B0aW9uPiB7XHJcbiAgICBsZXQgc2VyaWVzOiBBcnJheTxMaW5lU2VyaWVzT3B0aW9uIHwgQ3VzdG9tU2VyaWVzT3B0aW9uIHwgU2NhdHRlclNlcmllc09wdGlvbj4gPSBbXTtcclxuICAgIHNoYXBlcy5mb3JFYWNoKFxyXG4gICAgICAoc2hhcGU6IFNoYXBlKSA9PiB7XHJcbiAgICAgICAgc3dpdGNoIChzaGFwZS52YXJpYW50KSB7XHJcbiAgICAgICAgICBjYXNlIFNoYXBlVmFyaWFudC5UUkFDRTpcclxuICAgICAgICAgICAgc2VyaWVzLnB1c2godGhpcy5jcmVhdGVUcmFjZShzaGFwZSBhcyBUcmFjZSkpXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHNlcmllcztcclxuICB9XHJcblxyXG4gIGNyZWF0ZVRyYWNlKHRyYWNlOiBUcmFjZSk6IExpbmVTZXJpZXNPcHRpb24gfCBTY2F0dGVyU2VyaWVzT3B0aW9uIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHR5cGU6IHRyYWNlLnR5cGUsXHJcbiAgICAgIG5hbWU6IHRyYWNlLm5hbWUsXHJcbiAgICAgIGRhdGE6IHRyYWNlLnBvaW50cy5tYXAoXHJcbiAgICAgICAgKHBvaW50OiBQb2ludCkgPT4gKHtcclxuICAgICAgICAgIHZhbHVlOiBbcG9pbnQueCwgcG9pbnQueV0sXHJcbiAgICAgICAgICBzeW1ib2w6IHBvaW50LnN5bWJvbCA/PyAnY2lyY2xlJyxcclxuICAgICAgICAgIG5hbWU6IHBvaW50Lm5hbWUsXHJcbiAgICAgICAgICBzeW1ib2xTaXplOiBwb2ludC5zeW1ib2xTaXplID8/IDIsXHJcbiAgICAgICAgICBpdGVtU3R5bGU6IHtcclxuICAgICAgICAgICAgY29sb3I6IHBvaW50LmNvbG9yXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZW1waGFzaXM6IHtcclxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsYWJlbDoge1xyXG4gICAgICAgICAgICBzaG93OiB0cnVlLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIGFsaWduOiAnbGVmdCcsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICdib3R0b20nLFxyXG4gICAgICAgICAgICBmb3JtYXR0ZXI6ICgpID0+IGAke3BvaW50Lm5hbWUgPz8gJyd9YCxcclxuICAgICAgICAgICAgZm9udFNpemU6IDEzLFxyXG4gICAgICAgICAgICBwYWRkaW5nOiBbMCwgMCwgMCwgMTBdLFxyXG4gICAgICAgICAgICB3aWR0aDogMTAwLFxyXG4gICAgICAgICAgICBvdmVyZmxvdzogJ3RydW5jYXRlJyxcclxuICAgICAgICAgICAgZWxsaXBzaXM6ICcuLi4nLFxyXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsXHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGlzLmRhcmtUaGVtZSA/ICcjZmZmJyA6ICcjMDAwJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHRvb2x0aXA6IHtcclxuICAgICAgICAgICAgZm9ybWF0dGVyOiAoeyB2YWx1ZSB9OiB7IHZhbHVlOiBudW1iZXJbXSB9KSA9PiBgXHJcbiAgICAgICAgICAgICAgPHN0cm9uZz4ke3RoaXMuY2hhcnQ/LnhBeGlzTmFtZX06PC9zdHJvbmc+ICR7dmFsdWVbMF0udG9GaXhlZCgzKS5yZXBsYWNlKC9bLixdMDAwJC8sIFwiXCIpfVxyXG4gICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICA8c3Ryb25nPiR7dGhpcy5jaGFydD8ueUF4aXNOYW1lfTo8L3N0cm9uZz4gJHt2YWx1ZVsxXS50b0ZpeGVkKDMpLnJlcGxhY2UoL1suLF0wMDAkLywgXCJcIil9XHJcbiAgICAgICAgICAgIGBcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApLFxyXG4gICAgICBjb2xvcjogdHJhY2UuY29sb3IsXHJcbiAgICAgIGxpbmVTdHlsZToge1xyXG4gICAgICAgIHdpZHRoOiB0cmFjZS53aWR0aCxcclxuICAgICAgICB0eXBlOiB0cmFjZS5zdHlsZVxyXG4gICAgICB9LFxyXG4gICAgICBzbW9vdGg6IHRyYWNlLnNtb290aCA/PyBmYWxzZVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -25,4 +25,4 @@ export var ShapeVariant;
25
25
  (function (ShapeVariant) {
26
26
  ShapeVariant[ShapeVariant["TRACE"] = 0] = "TRACE";
27
27
  })(ShapeVariant || (ShapeVariant = {}));
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l3aWJpdC9jaGFydC9zcmMvbGliL21vZGVscy9jaGFydC5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0lBLE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDakIsMEJBQWEsQ0FBQTtJQUNiLGdDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDbkIsNEJBQWEsQ0FBQTtJQUNiLGdDQUFpQixDQUFBO0lBQ2pCLG9DQUFxQixDQUFBO0lBQ3JCLDBCQUFXLENBQUE7SUFDWCxrQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsV0FBVyxLQUFYLFdBQVcsUUFNdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ2xCLDZCQUFlLENBQUE7SUFDZiwrQkFBaUIsQ0FBQTtJQUNqQiwrQkFBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUFFRCxNQUFNLENBQU4sSUFBWSxRQUVYO0FBRkQsV0FBWSxRQUFRO0lBQ2hCLDJCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUZXLFFBQVEsS0FBUixRQUFRLFFBRW5CO0FBRUQsTUFBTSxDQUFOLElBQVksWUFFWDtBQUZELFdBQVksWUFBWTtJQUNwQixpREFBSyxDQUFBO0FBQ1QsQ0FBQyxFQUZXLFlBQVksS0FBWixZQUFZLFFBRXZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEludGVyZmFjZSB0byBkZWZpbmUgdGhlIENoYXJ0IG1vZGVsLlxyXG4gKlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBpbnRlcmZhY2UgQ2hhcnRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnQge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHNob3dMZWdlbmQ/OiBib29sZWFuO1xyXG4gICAgeEF4aXNUeXBlOiBBeGlzVHlwZTtcclxuICAgIHhBeGlzTmFtZTogc3RyaW5nO1xyXG4gICAgeEF4aXNVb20/OiBzdHJpbmc7XHJcbiAgICB5QXhpc1R5cGU6IEF4aXNUeXBlO1xyXG4gICAgeUF4aXNOYW1lOiBzdHJpbmc7XHJcbiAgICB5QXhpc1VvbT86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogSWYgdGhlIGNoYXJ0IHNob3VsZCBoYXZlIHJlbmRlcmluZyBhbmltYXRpb25zLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIENoYXJ0XHJcbiAgICAgKi9cclxuICAgIGhhc0FuaW1hdGlvbnM/OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbGlzdCBvZiBTaGFwZXMgdGhhdCB0aGUgY2hhcnQgbXVzdCByZW5kZXIuXHJcbiAgICAgKiBFYWNoIFNoYXBlIGNvcnJpc3BvbmRzIHRvIGEgc2luZ2xlIGNoYXJ0IGNvbXBvbmVudC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7U2hhcGVbXX1cclxuICAgICAqIEBtZW1iZXJvZiBDaGFydFxyXG4gICAgICovXHJcbiAgICBzaGFwZXM6IFNoYXBlW107XHJcbiAgICAvKipcclxuICAgICAqIEFkZHMgaW50ZXJhY3Rpb24gd2l0aCB0aGUgY2hhcnQsIHNvIHRoYXQgd2hlbiBjbGlja2luZ1xyXG4gICAgICogZXZlcnl3aGVyZSBpbiB0aGUgY2hhcnQgYXJlYSBhIHBvaW50IGdldHMgYWRkZWQgYW5kIGl0J3MgY29vcmRpbmF0ZSBhcmUgXHJcbiAgICAgKiBlbWl0dGVkIHdpdGggYW4gZXZlbnQgdG8gdGhlIHBhcmVudCBjb21wb25lbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgQ2hhcnRcclxuICAgICAqL1xyXG4gICAgY2xpY2tUb0FkZFBvaW50PzogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICogQ3VzdG9tIG5hbWUgZm9yIHRoZSBcImNsaWNrVG9BZGRQb2ludFwiIGV2ZW50IHJlbGF0ZWQgYnV0dG9uLiBcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAgICogQG1lbWJlcm9mIENoYXJ0XHJcbiAgICAgKi9cclxuICAgIGFkZFBvaW50Q3VzdG9tTmFtZT86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogQWRkcyB0aGUgcG9zc2liaWxpdHkgdG8gdXNlIHRoZSBzY3JvbGwgXHJcbiAgICAgKiB0byB6b29tIGluL291dCB0aGUgY2hhcnQgYXJlYS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBDaGFydFxyXG4gICAgICovXHJcbiAgICBzY3JvbGxUb1pvb20/OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUZWxscyB0aGUgY2hhcnQgdG8gcmVuZGVyIG9yIG5vdCB0aGUgZ3JpZCBsaW5lcy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBDaGFydFxyXG4gICAgICovXHJcbiAgICBzaG93R3JpZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFNoYXBlID0gVHJhY2U7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNlIHtcclxuICAgIG5hbWU/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSB2YXJpYW50IG9mIHRoZSBTaGFwZSwgbXVzdCBiZSBvZiB0eXBlIFRyYWNlLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtTaGFwZVZhcmlhbnR9XHJcbiAgICAgKiBAbWVtYmVyb2YgVHJhY2VcclxuICAgICAqL1xyXG4gICAgdmFyaWFudDogU2hhcGVWYXJpYW50O1xyXG4gICAgY29sb3I/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSB0eXBlIG9mIHRoZSBUcmFjZSBkcmF3biBieSB0aGUgY2hhcnQuXHJcbiAgICAgKiBDYW4gYmUgYSBsaW5lIG9yIGEgc2NhdHRlci4gXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1RyYWNlVHlwZX1cclxuICAgICAqIEBtZW1iZXJvZiBUcmFjZVxyXG4gICAgICovXHJcbiAgICB0eXBlOiBUcmFjZVR5cGU7XHJcbiAgICB3aWR0aD86IG51bWJlcjtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIGxpc3Qgb2YgcG9pbnRzIHRoYXQgZGVmaW5lIHRoZSBUcmFjZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7UG9pbnRbXX1cclxuICAgICAqIEBtZW1iZXJvZiBUcmFjZVxyXG4gICAgICovXHJcbiAgICBwb2ludHM6IFBvaW50W107XHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgdG8gc2hvdyBhIHNtb290aCBjdXJ2ZSBvciBhIHNlZ21lbnRlZCBjdXJ2ZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBUcmFjZVxyXG4gICAgICovXHJcbiAgICBzbW9vdGg/OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc3R5bGUgb2YgdGhlIFRyYWNlLlxyXG4gICAgICogQ2FuIGJlIHNvbGlkLCBkYXNoZWQgb3IgZG90dGVkLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtUcmFjZVN0eWxlfVxyXG4gICAgICogQG1lbWJlcm9mIFRyYWNlXHJcbiAgICAgKi9cclxuICAgIHN0eWxlPzogVHJhY2VTdHlsZTtcclxuICAgIC8qKlxyXG4gICAgICogT3B0aW9uIHRvIG1ha2UgdGhlIFRyYWNlIHNlbGVjdGVkL2Rlc2VsZWN0ZWQgYnkgZGVmYXVsdC5cclxuICAgICAqIEEgZGVzZWxlY3RlZCBUcmFjZSBpcyBvYnNjdXJlZCBmcm9tIHRoZSBjaGFydCBhbmQgY2FuIGJlIHRvZ2dsZWQgZnJvbSB0aGUgbGVnZW5kLiAgIFxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFRyYWNlXHJcbiAgICAgKi9cclxuICAgIHNlbGVjdGVkQnlEZWZhdWx0PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQb2ludCBleHRlbmRzIEJhc2VQb2ludCB7XHJcbiAgICBuYW1lPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBTeW1ib2wgdXNlZCB0byByZXByZXNlbnQgdGhlIHBvaW50IGluIHRoZSBjaGFydC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7UG9pbnRTeW1ib2x9XHJcbiAgICAgKiBAbWVtYmVyb2YgUG9pbnRcclxuICAgICAqL1xyXG4gICAgc3ltYm9sPzogUG9pbnRTeW1ib2w7XHJcbiAgICBzeW1ib2xTaXplPzogbnVtYmVyO1xyXG4gICAgY29sb3I/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFzZVBvaW50IHtcclxuICAgIHg6IG51bWJlcjtcclxuICAgIHk6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUcmFjZVR5cGUge1xyXG4gICAgTElORSA9IFwibGluZVwiLFxyXG4gICAgU0NBVFRFUiA9IFwic2NhdHRlclwiXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBvaW50U3ltYm9sIHtcclxuICAgIE5PTkUgPSBcIm5vbmVcIixcclxuICAgIENJUkNMRSA9IFwiY2lyY2xlXCIsXHJcbiAgICBUUklBTkdMRSA9IFwidHJpYW5nbGVcIixcclxuICAgIFBJTiA9IFwicGluXCIsXHJcbiAgICBESUFNT05EID0gXCJkaWFtb25kXCJcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVHJhY2VTdHlsZSB7XHJcbiAgICBTT0xJRCA9IFwic29saWRcIixcclxuICAgIERBU0hFRCA9IFwiZGFzaGVkXCIsXHJcbiAgICBET1RURUQgPSBcImRvdHRlZFwiXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEF4aXNUeXBlIHtcclxuICAgIFZBTFVFID0gXCJ2YWx1ZVwiXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNoYXBlVmFyaWFudCB7XHJcbiAgICBUUkFDRVxyXG59Il19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l3aWJpdC9jaGFydC9zcmMvbGliL21vZGVscy9jaGFydC5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMElBLE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDakIsMEJBQWEsQ0FBQTtJQUNiLGdDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDbkIsNEJBQWEsQ0FBQTtJQUNiLGdDQUFpQixDQUFBO0lBQ2pCLG9DQUFxQixDQUFBO0lBQ3JCLDBCQUFXLENBQUE7SUFDWCxrQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsV0FBVyxLQUFYLFdBQVcsUUFNdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ2xCLDZCQUFlLENBQUE7SUFDZiwrQkFBaUIsQ0FBQTtJQUNqQiwrQkFBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUFFRCxNQUFNLENBQU4sSUFBWSxRQUVYO0FBRkQsV0FBWSxRQUFRO0lBQ2hCLDJCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUZXLFFBQVEsS0FBUixRQUFRLFFBRW5CO0FBRUQsTUFBTSxDQUFOLElBQVksWUFFWDtBQUZELFdBQVksWUFBWTtJQUNwQixpREFBSyxDQUFBO0FBQ1QsQ0FBQyxFQUZXLFlBQVksS0FBWixZQUFZLFFBRXZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEludGVyZmFjZSB0byBkZWZpbmUgdGhlIENoYXJ0IG1vZGVsLlxyXG4gKlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBpbnRlcmZhY2UgQ2hhcnRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnQge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHNob3dMZWdlbmQ/OiBib29sZWFuO1xyXG4gICAgeEF4aXNUeXBlOiBBeGlzVHlwZTtcclxuICAgIHhBeGlzTmFtZTogc3RyaW5nO1xyXG4gICAgeEF4aXNVb20/OiBzdHJpbmc7XHJcbiAgICB4TWluPzogbnVtYmVyO1xyXG4gICAgeE1heD86IG51bWJlcjtcclxuICAgIHlBeGlzVHlwZTogQXhpc1R5cGU7XHJcbiAgICB5QXhpc05hbWU6IHN0cmluZztcclxuICAgIHlBeGlzVW9tPzogc3RyaW5nO1xyXG4gICAgeU1pbj86IG51bWJlcjtcclxuICAgIHlNYXg/OiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAqIElmIHRoZSBjaGFydCBzaG91bGQgaGF2ZSByZW5kZXJpbmcgYW5pbWF0aW9ucy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBDaGFydFxyXG4gICAgICovXHJcbiAgICBoYXNBbmltYXRpb25zPzogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIGxpc3Qgb2YgU2hhcGVzIHRoYXQgdGhlIGNoYXJ0IG11c3QgcmVuZGVyLlxyXG4gICAgICogRWFjaCBTaGFwZSBjb3JyaXNwb25kcyB0byBhIHNpbmdsZSBjaGFydCBjb21wb25lbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1NoYXBlW119XHJcbiAgICAgKiBAbWVtYmVyb2YgQ2hhcnRcclxuICAgICAqL1xyXG4gICAgc2hhcGVzOiBTaGFwZVtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBBZGRzIGludGVyYWN0aW9uIHdpdGggdGhlIGNoYXJ0LCBzbyB0aGF0IHdoZW4gY2xpY2tpbmdcclxuICAgICAqIGV2ZXJ5d2hlcmUgaW4gdGhlIGNoYXJ0IGFyZWEgYSBwb2ludCBnZXRzIGFkZGVkIGFuZCBpdCdzIGNvb3JkaW5hdGUgYXJlIFxyXG4gICAgICogZW1pdHRlZCB3aXRoIGFuIGV2ZW50IHRvIHRoZSBwYXJlbnQgY29tcG9uZW50LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIENoYXJ0XHJcbiAgICAgKi9cclxuICAgIGNsaWNrVG9BZGRQb2ludD86IGJvb2xlYW47XHJcbiAgICAvKipcclxuICAgICAqIEN1c3RvbSBuYW1lIGZvciB0aGUgXCJjbGlja1RvQWRkUG9pbnRcIiBldmVudCByZWxhdGVkIGJ1dHRvbi4gXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBDaGFydFxyXG4gICAgICovXHJcbiAgICBhZGRQb2ludEN1c3RvbU5hbWU/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIEFkZHMgdGhlIHBvc3NpYmlsaXR5IHRvIHVzZSB0aGUgc2Nyb2xsIFxyXG4gICAgICogdG8gem9vbSBpbi9vdXQgdGhlIGNoYXJ0IGFyZWEuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgQ2hhcnRcclxuICAgICAqL1xyXG4gICAgc2Nyb2xsVG9ab29tPzogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICogVGVsbHMgdGhlIGNoYXJ0IHRvIHJlbmRlciBvciBub3QgdGhlIGdyaWQgbGluZXMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgQ2hhcnRcclxuICAgICAqL1xyXG4gICAgc2hvd0dyaWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBTaGFwZSA9IFRyYWNlO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmFjZSB7XHJcbiAgICBuYW1lPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdmFyaWFudCBvZiB0aGUgU2hhcGUsIG11c3QgYmUgb2YgdHlwZSBUcmFjZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7U2hhcGVWYXJpYW50fVxyXG4gICAgICogQG1lbWJlcm9mIFRyYWNlXHJcbiAgICAgKi9cclxuICAgIHZhcmlhbnQ6IFNoYXBlVmFyaWFudDtcclxuICAgIGNvbG9yPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdHlwZSBvZiB0aGUgVHJhY2UgZHJhd24gYnkgdGhlIGNoYXJ0LlxyXG4gICAgICogQ2FuIGJlIGEgbGluZSBvciBhIHNjYXR0ZXIuIFxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtUcmFjZVR5cGV9XHJcbiAgICAgKiBAbWVtYmVyb2YgVHJhY2VcclxuICAgICAqL1xyXG4gICAgdHlwZTogVHJhY2VUeXBlO1xyXG4gICAgd2lkdGg/OiBudW1iZXI7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBsaXN0IG9mIHBvaW50cyB0aGF0IGRlZmluZSB0aGUgVHJhY2UuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1BvaW50W119XHJcbiAgICAgKiBAbWVtYmVyb2YgVHJhY2VcclxuICAgICAqL1xyXG4gICAgcG9pbnRzOiBQb2ludFtdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgYSBzbW9vdGggY3VydmUgb3IgYSBzZWdtZW50ZWQgY3VydmUuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgVHJhY2VcclxuICAgICAqL1xyXG4gICAgc21vb3RoPzogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIHN0eWxlIG9mIHRoZSBUcmFjZS5cclxuICAgICAqIENhbiBiZSBzb2xpZCwgZGFzaGVkIG9yIGRvdHRlZC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7VHJhY2VTdHlsZX1cclxuICAgICAqIEBtZW1iZXJvZiBUcmFjZVxyXG4gICAgICovXHJcbiAgICBzdHlsZT86IFRyYWNlU3R5bGU7XHJcbiAgICAvKipcclxuICAgICAqIE9wdGlvbiB0byBtYWtlIHRoZSBUcmFjZSBzZWxlY3RlZC9kZXNlbGVjdGVkIGJ5IGRlZmF1bHQuXHJcbiAgICAgKiBBIGRlc2VsZWN0ZWQgVHJhY2UgaXMgb2JzY3VyZWQgZnJvbSB0aGUgY2hhcnQgYW5kIGNhbiBiZSB0b2dnbGVkIGZyb20gdGhlIGxlZ2VuZC4gICBcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBUcmFjZVxyXG4gICAgICovXHJcbiAgICBzZWxlY3RlZEJ5RGVmYXVsdD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnQgZXh0ZW5kcyBCYXNlUG9pbnQge1xyXG4gICAgbmFtZT86IHN0cmluZztcclxuICAgIC8qKlxyXG4gICAgICogU3ltYm9sIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBwb2ludCBpbiB0aGUgY2hhcnQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1BvaW50U3ltYm9sfVxyXG4gICAgICogQG1lbWJlcm9mIFBvaW50XHJcbiAgICAgKi9cclxuICAgIHN5bWJvbD86IFBvaW50U3ltYm9sO1xyXG4gICAgc3ltYm9sU2l6ZT86IG51bWJlcjtcclxuICAgIGNvbG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VQb2ludCB7XHJcbiAgICB4OiBudW1iZXI7XHJcbiAgICB5OiBudW1iZXJcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVHJhY2VUeXBlIHtcclxuICAgIExJTkUgPSBcImxpbmVcIixcclxuICAgIFNDQVRURVIgPSBcInNjYXR0ZXJcIlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQb2ludFN5bWJvbCB7XHJcbiAgICBOT05FID0gXCJub25lXCIsXHJcbiAgICBDSVJDTEUgPSBcImNpcmNsZVwiLFxyXG4gICAgVFJJQU5HTEUgPSBcInRyaWFuZ2xlXCIsXHJcbiAgICBQSU4gPSBcInBpblwiLFxyXG4gICAgRElBTU9ORCA9IFwiZGlhbW9uZFwiXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFRyYWNlU3R5bGUge1xyXG4gICAgU09MSUQgPSBcInNvbGlkXCIsXHJcbiAgICBEQVNIRUQgPSBcImRhc2hlZFwiLFxyXG4gICAgRE9UVEVEID0gXCJkb3R0ZWRcIlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBBeGlzVHlwZSB7XHJcbiAgICBWQUxVRSA9IFwidmFsdWVcIlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTaGFwZVZhcmlhbnQge1xyXG4gICAgVFJBQ0VcclxufSJdfQ==
@@ -171,6 +171,9 @@ class KiwiChartComponent {
171
171
  title: {
172
172
  text: chart.title,
173
173
  },
174
+ grid: {
175
+ width: '75%'
176
+ },
174
177
  backgroundColor: this.darkTheme ? (_b = this.darkThemeBackground) !== null && _b !== void 0 ? _b : '#303030' : 'transparent', tooltip: {
175
178
  axisPointer: {
176
179
  type: 'cross',
@@ -232,6 +235,8 @@ class KiwiChartComponent {
232
235
  },
233
236
  ],
234
237
  legend: {
238
+ width: '25%',
239
+ inactiveColor: this.darkTheme ? '#8b8b8b' : '#ccc',
235
240
  data: chart.shapes.map((shape) => ({
236
241
  name: shape.name,
237
242
  icon: 'circle'
@@ -243,7 +248,7 @@ class KiwiChartComponent {
243
248
  padding: [60, 20],
244
249
  type: 'scroll',
245
250
  textStyle: {
246
- width: 100,
251
+ width: 120,
247
252
  fontWeight: 'bold',
248
253
  overflow: 'break'
249
254
  }
@@ -258,7 +263,9 @@ class KiwiChartComponent {
258
263
  lineStyle: {
259
264
  color: this.darkTheme ? '#595959' : '#ccc'
260
265
  }
261
- }
266
+ },
267
+ min: chart.xMin,
268
+ max: chart.xMax,
262
269
  },
263
270
  yAxis: {
264
271
  type: chart.yAxisType,
@@ -271,6 +278,8 @@ class KiwiChartComponent {
271
278
  color: this.darkTheme ? '#595959' : '#ccc'
272
279
  }
273
280
  },
281
+ min: chart.yMin,
282
+ max: chart.yMax,
274
283
  },
275
284
  series: this.createSeries(chart.shapes),
276
285
  animation: chart.hasAnimations,
@@ -1 +1 @@
1
- {"version":3,"file":"kiwibit-chart.mjs","sources":["../../../../projects/kiwibit/chart/src/lib/constants/chart.constants.ts","../../../../projects/kiwibit/chart/src/lib/models/chart.models.ts","../../../../projects/kiwibit/chart/src/lib/chart.component.ts","../../../../projects/kiwibit/chart/src/lib/chart.module.ts","../../../../projects/kiwibit/chart/src/public-api.ts","../../../../projects/kiwibit/chart/src/kiwibit-chart.ts"],"sourcesContent":["export const ADD_POINT_IMG_OFF_LIGHT = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADkUlEQVR4nO2bz0sUYRjHv8/otviDGDuWrhKdskBaQZi57MmLgVpIkJ06bH9AEdF/kF46dEg726liBSGwBEFnTm0oaF3s4lhdh1BhNuTpsDPLu+MvmHXm0ZzP6X2feWfn+3x33nf3fXlfIOV8Q0dd7O3tvaDr+igzDxPRLQCdANqSkRaZHQBbzPyViEqu65bW19crhzU+1ADDMO4S0QSAq3GoTJAfAJ5alvXhoItN4cDY2FiTruuTRPQSQEfc6hLgEoB7uVyu3XGcBQCsXtxngJ/846TUJYjR3d3dsrm5+VkN1nUB/7V/F7rRI6IpAG9bW1vX5ufnd+JW2giDg4Ntu7u7N5h5HEARQFa9rmna6NLSUimo1wzwB7zvqO/zP4loaHl5eTVu4XFgGEYfEc0BuKKEN1zX7Q0GRi2I6ro+ivrkvbOcPADYtr3CzLcBeEr4WkdHx3BQqRnAzMPqzUQ0dZaTD7BtewXAGzWm5lozgIjyaqO9vb2Z2NUlRziX/qCgKcHLaotsNvstTkVJkslk1kKh2pigGtCutlhcXNyOU1SSHJBLLVcN55xmqQcbhjFERNMA9gA8sizro4QOsTdA07TXqI47XQCmxHRIPZiZO5Vql5SOcz8GpAZIC5AmNUBagDSpAdICpEkNkBYgTWqAtABpUgOkBUgTeT3An89PoX7JOTKmafLxrfZDRFvMXIy6nhD5DfDn8yeSfCP40+rI6wnnvgtENoCZi0S0dZJiIuIQUTHqzZHHAL/PRV7JCfd5y7KO3KsQF2kXkBYgTWqAtABpUgOkBUiTGiAtQJrUAGkB0qQGSAuQJjVA6sGhqbQjpUNyg0SwntDQfL5RxPYINbqecFKkY4BSrttLVygU2vGfMDAwcDEU+hMUVAN+qS08z7sep6gkaW5uDufyOyiom6XLagtN0x7ErCtJxkP1L0FB3SxdCjUqGobRF6eqJPBzqPuVYeZarjUDXNctoXrAKCBLRHNn2QTlwMQFJbzhed5sUKlbijZN8w6A96HPqQCYBjCTyWTWTvsm6kKh0F6pVG4S0X1Uv3k1eTDziG3bBxsAAKZpTgJ4ErtSAZj5hW3bz9TYvlNjjuMs5HK5VgBmYsoSgIgmLMt6juOOzQFgx3E+9fT0rDJzP6rn7s4yG8z80LKsVwglDxxzdDafz2daWlpG/DM2eVSPzp72P0jbALYAlJm55HnebLlc/istKuW08g8wjAev/BoR3wAAAABJRU5ErkJggg==\";\r\nexport const ADD_POINT_IMG_OFF_DARK = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADgUlEQVR4nO2bz04TURTGvzNtaQOVB1BgYVhZDbSUDixZYwLoTlzXB5CI8QUM4ANQXeOCqCkJiUuWtpNCIaG6gRWoeyx/CmGOC5hyZ/izmDJzgM5vdefMafudr/femd65BQKaG7rqZKVSadndORhjohGAUwB1AGjzSZtbdgHeBmiFmPNt7bF8IpE4vCz5UgMKhZXnBJoG+KE3On2CsEkmv8kM9n27+LSD+fn5UFdX9xQBr71X5x8E/tCvpyaJyFTjmjPxLhYPAAyaMAqr751xWw846fb44sioMSPHbH5ubY2s9/T07HqstSHW1tba9vaOHmuaNg4gC0bUlkA0puvJfP3QalQqlZbqv8NfjjH/G4RhXU+tea7cAwyj3MsmLwJ4oIQ34veiCWtirA+B3Z2DMVvxhNptLh4AMpnkKmn0FISaEu6uVg9HrIO6ASeXujOYkbvNxVtkMslVmPhkj5rnDQDQp6aETG3OU2U+wsT2Whhpq6kacF/NqdYiP72V5R/7+7F1e4Tqc4JqQFxNGRpKVD1V5SMX1FKv9dx9QLMRlvrgYrE8TMwfGTjWGK/6B1PfJXTI9QDmWT6ZdzpNQk5KhuQQ6FDanVIimn4OCAyQFiBNYIC0AGkCA6QFSBMYIC1AmsAAaQHSBAZIC5DG9XpAsVgeBnMO9iVn1xQLK+zypdsaI+t2PcF9D2CexTUV3yAdjawnNP0QcG2AxsgC2L5GLW7ZIpOzbl/seg44HXOuV3KcY14fSF25V8ErgiEgLUCawABpAdIEBkgLkCYwQFqANIEB0gKkCQyQFiBNYIDgZ6s/pbekRIgZoKwnNPR7vlHE9gg1up5wXQRzgNK27aVbWqrEcUcoFArtjtCO1VAN+KNmxKNHj7wU5S8RRy3812qpBiyrKWbIfOmpJh8hpnF7ACWrqZ0lcR52soZR7vVWmvcYRrkXBNtVhpnqtdYNaGuP5UHYPMtClE1evM0mKH+YaFHCG+GwuWAd2JaijR/Lz5joq+N9DsH4yMRz+/ux9Zu+iXppqRJvba09gYkXp9+8WjwYNDowkLzYAAAwCsszDJrwQav/EKZ0PfVWDZ27D+jXU5MAz/inyieYpjOZ5Dtn+NKnMcVieRTMMwC6PRXmPRsMmlC7vcqVj6NKpVLk+Dg0CpgjzNRHJxucb/oNUpWBbSJeZqZ8OGwupNPpI2lRATeV/+HNFJvPZJXuAAAAAElFTkSuQmCC\";\r\nexport const ADD_POINT_IMG_ON = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADjUlEQVR4nO2by08TURTGvzNAK49oDCsRNqbFxPogtsQ/AhNAowsxLksTlxIxrtwZwJUJsa07E1wQNSUh8X+wrQFDNSklMQGVjRgMj7TIHBcww50WWEyZOTzmt7pz7pn2O1/n3pne3gIeJxvarzM0nvM1LPl7GegGcB3gVgCN7kizzSpACwA+E3NqrbmUyt0NlfZK3tOAyKv8bRANA7jghEoXmSPw43Ss/cNunRUG3Bnnmu+/C0NMeOS8Nvdg8IvsYnAQz0hX41p54nEsHgAINBA5N/e8Mq6wfdm/K8spElNC1/S3G/XrM18eXFt1VGmVXH0z3Vi3Xn+ZGH0ARQH41X4m6s32B1LGsWlAaDznq1/yfYMy5hn4UQO961Ps4rQb4g+azmS+Q9dpkoDzZpBQWD9bChkTozkEGpb8vbBOeMWjXDwApKPtU5rGNwEUzSAjcOqPr9s41Hbi6FZPJqbEUS7eIB1tnwLhtSXIqDQA4LA1Z3PMYW2uoW/CUguBIkZbvQu0qEnr+r+vDutyjSKXZqwRNucE1YAmNSX3MLTiqCoX2aUWs9aK54CTRq3UG4cT+S7SKQnCJjTqz0QDHyV0iF0BxBQHoQVAG3ROSOmQHAKtSrtNSsSJnwM8A6QFSOMZIC1AGs8AaQHSeAZIC5DGM0BagDSeAdICpLG9HhBO5LvAlLAsOVdBJD7LNk9dgEZRu+sJtq8AYoofVPFV0lrNesKJHwL2DdAoCmDh4KTYZp62fgKzhe05YHvM2V7JKR/zmVhw370KTuENAWkB0ngGSAuQxjNAWoA0ngHSAqTxDJAWII1ngLQAaTwDBN9b/So9LyVCzoCd9YSqvs9Xi9geoWrXEw4Kbw5Q2pa9dKHRXBOOCTdezp4uC/01GqoBP9WMeq32kpOi3GSjFmW10C+jpRhAWWsO3XdUlYtoNehTjxmcMfuMBjGnYIGincl8h9PinKYzme8Aw3KXIcCs1TRgrbmUAjCn5Pl1nSaPsgnGHyYA+MwgocC0PLFzqJ4Qz99i0Puy1ymBkNQ3MVbk0sxh30QdGs01Ndb4ruiEe9ufvK8spScTC+5uAACE4/kRAg04LVQCAobSseATNVbxHJBdDA4CNOKeLJcgGk4vBp5WhPfKDycKPQQeASPgrDKHIRTAGFAve2v3PoQTmTrgTA8Y3QSEsbXB+bA/IK0AWGAgS0CKaXki2x/ZkBblcVj5D1vBAfS1aXiGAAAAAElFTkSuQmCC\";","/**\r\n * Interface to define the Chart model.\r\n *\r\n * @export\r\n * @interface Chart\r\n */\r\nexport interface Chart {\r\n title: string;\r\n showLegend?: boolean;\r\n xAxisType: AxisType;\r\n xAxisName: string;\r\n xAxisUom?: string;\r\n yAxisType: AxisType;\r\n yAxisName: string;\r\n yAxisUom?: string;\r\n /**\r\n * If the chart should have rendering animations.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n hasAnimations?: boolean;\r\n /**\r\n * The list of Shapes that the chart must render.\r\n * Each Shape corrisponds to a single chart component.\r\n *\r\n * @type {Shape[]}\r\n * @memberof Chart\r\n */\r\n shapes: Shape[];\r\n /**\r\n * Adds interaction with the chart, so that when clicking\r\n * everywhere in the chart area a point gets added and it's coordinate are \r\n * emitted with an event to the parent component.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n clickToAddPoint?: boolean;\r\n /**\r\n * Custom name for the \"clickToAddPoint\" event related button. \r\n *\r\n * @type {string}\r\n * @memberof Chart\r\n */\r\n addPointCustomName?: string;\r\n /**\r\n * Adds the possibility to use the scroll \r\n * to zoom in/out the chart area.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n scrollToZoom?: boolean;\r\n /**\r\n * Tells the chart to render or not the grid lines.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n showGrid?: boolean;\r\n}\r\n\r\nexport type Shape = Trace;\r\n\r\nexport interface Trace {\r\n name?: string;\r\n /**\r\n * The variant of the Shape, must be of type Trace.\r\n *\r\n * @type {ShapeVariant}\r\n * @memberof Trace\r\n */\r\n variant: ShapeVariant;\r\n color?: string;\r\n /**\r\n * The type of the Trace drawn by the chart.\r\n * Can be a line or a scatter. \r\n *\r\n * @type {TraceType}\r\n * @memberof Trace\r\n */\r\n type: TraceType;\r\n width?: number;\r\n /**\r\n * The list of points that define the Trace.\r\n *\r\n * @type {Point[]}\r\n * @memberof Trace\r\n */\r\n points: Point[];\r\n /**\r\n * Whether to show a smooth curve or a segmented curve.\r\n *\r\n * @type {boolean}\r\n * @memberof Trace\r\n */\r\n smooth?: boolean;\r\n /**\r\n * The style of the Trace.\r\n * Can be solid, dashed or dotted.\r\n *\r\n * @type {TraceStyle}\r\n * @memberof Trace\r\n */\r\n style?: TraceStyle;\r\n /**\r\n * Option to make the Trace selected/deselected by default.\r\n * A deselected Trace is obscured from the chart and can be toggled from the legend. \r\n *\r\n * @type {boolean}\r\n * @memberof Trace\r\n */\r\n selectedByDefault?: boolean;\r\n}\r\n\r\nexport interface Point extends BasePoint {\r\n name?: string;\r\n /**\r\n * Symbol used to represent the point in the chart.\r\n *\r\n * @type {PointSymbol}\r\n * @memberof Point\r\n */\r\n symbol?: PointSymbol;\r\n symbolSize?: number;\r\n color?: string;\r\n}\r\n\r\nexport interface BasePoint {\r\n x: number;\r\n y: number\r\n}\r\n\r\nexport enum TraceType {\r\n LINE = \"line\",\r\n SCATTER = \"scatter\"\r\n}\r\n\r\nexport enum PointSymbol {\r\n NONE = \"none\",\r\n CIRCLE = \"circle\",\r\n TRIANGLE = \"triangle\",\r\n PIN = \"pin\",\r\n DIAMOND = \"diamond\"\r\n}\r\n\r\nexport enum TraceStyle {\r\n SOLID = \"solid\",\r\n DASHED = \"dashed\",\r\n DOTTED = \"dotted\"\r\n}\r\n\r\nexport enum AxisType {\r\n VALUE = \"value\"\r\n}\r\n\r\nexport enum ShapeVariant {\r\n TRACE\r\n}","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { CustomSeriesOption, ECharts, EChartsOption, LineSeriesOption, ScatterSeriesOption, zrender } from 'echarts';\r\nimport { interval, Subject, takeUntil } from 'rxjs';\r\nimport { ADD_POINT_IMG_OFF_DARK, ADD_POINT_IMG_OFF_LIGHT, ADD_POINT_IMG_ON } from './constants/chart.constants';\r\nimport { Chart, Shape, ShapeVariant, Trace, Point, BasePoint } from './models/chart.models';\r\n@Component({\r\n selector: 'kiwi-chart',\r\n template: `\r\n <div \r\n echarts \r\n [options]=\"chartOption\" \r\n [ngStyle]=\"{\r\n 'width': width,\r\n 'height': height\r\n }\"\r\n (chartInit)=\"onChartInit($event)\"\r\n [theme]=\"darkTheme ? 'dark' : ''\"\r\n ></div> \r\n `,\r\n styles: [`\r\n `]\r\n})\r\nexport class KiwiChartComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * The Chart Object rendered by the canvas. For all the available options refer \r\n * to Chart interface in the models folder.\r\n *\r\n * @type {(Chart | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() chart: Chart | null = null;\r\n\r\n /**\r\n * Width and Height of the chart area. The dimensions refer to the father component \r\n * into which the kiwi-chart is inserted. For example in an empty page the width/height \r\n * of the chart can take the whole available space in the page.\r\n *\r\n * @type {string}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() width: string = '100%';\r\n @Input() height: string = '480px';\r\n\r\n /**\r\n * This property simply activates or not the dark theme of the chart\r\n * defined by the Echarts library. In addition the background color can be custom\r\n * so that the chart can match the background of the application in which it's used.\r\n *\r\n * @type {boolean}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() darkTheme: boolean = false;\r\n @Input() darkThemeBackground?: string;\r\n\r\n /**\r\n * Output event used to emit to the father component the coordinates\r\n * of the point clicked in the chart area. This functionality to be used must\r\n * have the property \"clickToAddPoint\" in the Chart object set to true.\r\n *\r\n * @type {EventEmitter<BasePoint>}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Output() addPoint: EventEmitter<BasePoint> = new EventEmitter<BasePoint>();\r\n\r\n /**\r\n * The object used by echarts to initially create the Chart.\r\n *\r\n * @type {EChartsOption}\r\n * @memberof KiwiChartComponent\r\n */\r\n chartOption: EChartsOption = {};\r\n\r\n /**\r\n * The instance of the Chart.\r\n *\r\n * @type {(ECharts | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n echartsInstance: ECharts | null = null;\r\n\r\n /**\r\n * Used to perform actions (as point addition based on the cursor position) on the chart.\r\n *\r\n * @type {(zrender.ZRenderType | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n zr: zrender.ZRenderType | null = null;\r\n\r\n /**\r\n * Subject used to unsubscribe once the component gets destroyed.\r\n *\r\n * @private\r\n * @type {Subject<void>}\r\n * @memberof KiwiChartComponent\r\n */\r\n private destroyed$: Subject<void> = new Subject<void>();\r\n\r\n constructor(\r\n private cd: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n /** \r\n * This is a manual change detection running every 200ms, the memory should not be much afflicted.\r\n * It's necessary because when interacting with the chart (for example addPoint),\r\n * Angular loses the change detection and the point is not added in the chart canvas.\r\n */\r\n interval(200)\r\n .pipe(\r\n takeUntil(this.destroyed$)\r\n )\r\n .subscribe(() => {\r\n this.cd.detectChanges();\r\n });\r\n }\r\n\r\n onChartInit(ec: ECharts) {\r\n this.echartsInstance = ec;\r\n this.setupZrEventHandler(ec);\r\n }\r\n\r\n setupZrEventHandler(ec: ECharts) {\r\n this.zr = ec.getZr();\r\n\r\n /** \r\n * Intercepts the click event on the chart (if the clickToAddPoint property is set to true)\r\n * and emits the point coordinates to the father component.\r\n */\r\n this.zr.on('click', params => {\r\n let option: any = ec.getOption();\r\n let active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\r\n if (active && this.chart?.clickToAddPoint) {\r\n const pointInPixel = [params.offsetX, params.offsetY];\r\n const pointInGrid = ec.convertFromPixel('grid', pointInPixel);\r\n if (ec.containPixel('grid', pointInPixel) && pointInGrid) {\r\n let newPoint: { x: number, y: number } = {\r\n x: +pointInGrid[0].toFixed(3),\r\n y: +pointInGrid[1].toFixed(3)\r\n };\r\n this.addPoint.emit(newPoint);\r\n }\r\n }\r\n });\r\n\r\n /** \r\n * This is used to change the cursor's icon when the selected action is\r\n * click to add point and viceversa back to default icon when it's not selected.\r\n */\r\n this.zr.on('mousemove', params => {\r\n const pointInPixel = [params.offsetX, params.offsetY];\r\n const option: any = ec.getOption();\r\n const active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\r\n if (active) {\r\n this.zr?.setCursorStyle(\r\n ec.containPixel('grid', pointInPixel) ? 'copy' : 'default'\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n let chart: Chart = changes['chart']?.currentValue;\r\n if (chart) {\r\n this.chartOption = {\r\n title: {\r\n text: chart.title,\r\n },\r\n backgroundColor: this.darkTheme ? this.darkThemeBackground ?? '#303030' : 'transparent', tooltip: {\r\n axisPointer: {\r\n type: 'cross',\r\n crossStyle: {\r\n color: '#bebebe'\r\n }\r\n }\r\n },\r\n toolbox: {\r\n orient: 'horizontal',\r\n left: 'center',\r\n feature: {\r\n dataZoom: {\r\n brushStyle: {\r\n borderColor: '#000',\r\n borderWidth: 1,\r\n borderType: 'dashed'\r\n },\r\n },\r\n saveAsImage: {},\r\n restore: {},\r\n myAddPoint: {\r\n show: chart.clickToAddPoint ?? false,\r\n title: chart.addPointCustomName ?? 'Add Point',\r\n icon: this.darkTheme ? ADD_POINT_IMG_OFF_DARK : ADD_POINT_IMG_OFF_LIGHT,\r\n iconStatus: false,\r\n onclick: () => {\r\n let option: any = this.echartsInstance?.getOption();\r\n let status = option.toolbox[0].feature.myAddPoint.iconStatus;\r\n this.echartsInstance?.setOption({\r\n toolbox: {\r\n feature: {\r\n myAddPoint: {\r\n iconStatus: !status,\r\n icon: !status ? ADD_POINT_IMG_ON : this.darkTheme ? ADD_POINT_IMG_OFF_DARK : ADD_POINT_IMG_OFF_LIGHT\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n },\r\n },\r\n dataZoom: [\r\n {\r\n type: 'inside',\r\n xAxisIndex: [0],\r\n throttle: 0,\r\n filterMode: 'none',\r\n disabled: !chart.scrollToZoom ?? true\r\n },\r\n {\r\n type: 'inside',\r\n yAxisIndex: [0],\r\n throttle: 0,\r\n filterMode: 'none',\r\n disabled: !chart.scrollToZoom ?? true\r\n },\r\n ],\r\n legend: {\r\n data: chart.shapes.map(\r\n (shape: Shape) => ({\r\n name: shape.name,\r\n icon: 'circle'\r\n })\r\n ),\r\n selected: chart.shapes.reduce((accumulator, shape: Shape) => ({ ...accumulator, [shape.name as string]: shape.selectedByDefault ?? true }), {}),\r\n show: chart.showLegend ?? false,\r\n orient: 'vertical',\r\n left: 'right',\r\n padding: [60, 20],\r\n type: 'scroll',\r\n textStyle: {\r\n width: 100,\r\n fontWeight: 'bold',\r\n overflow: 'break'\r\n }\r\n },\r\n xAxis: {\r\n type: chart.xAxisType,\r\n name: chart.xAxisUom ? `${chart.xAxisName} [ ${chart.xAxisUom} ]` : chart.xAxisName,\r\n nameLocation: 'middle',\r\n nameGap: 30,\r\n splitLine: {\r\n show: chart.showGrid ?? true,\r\n lineStyle: {\r\n color: this.darkTheme ? '#595959' : '#ccc'\r\n }\r\n }\r\n },\r\n yAxis: {\r\n type: chart.yAxisType,\r\n name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : chart.yAxisName,\r\n nameLocation: 'middle',\r\n nameGap: 50,\r\n splitLine: {\r\n show: chart.showGrid ?? true,\r\n lineStyle: {\r\n color: this.darkTheme ? '#595959' : '#ccc'\r\n }\r\n },\r\n },\r\n series: this.createSeries(chart.shapes),\r\n animation: chart.hasAnimations,\r\n };\r\n }\r\n }\r\n\r\n createSeries(shapes: Shape[]): Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> {\r\n let series: Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> = [];\r\n shapes.forEach(\r\n (shape: Shape) => {\r\n switch (shape.variant) {\r\n case ShapeVariant.TRACE:\r\n series.push(this.createTrace(shape as Trace))\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n );\r\n return series;\r\n }\r\n\r\n createTrace(trace: Trace): LineSeriesOption | ScatterSeriesOption {\r\n return {\r\n type: trace.type,\r\n name: trace.name,\r\n data: trace.points.map(\r\n (point: Point) => ({\r\n value: [point.x, point.y],\r\n symbol: point.symbol ?? 'circle',\r\n name: point.name,\r\n symbolSize: point.symbolSize ?? 2,\r\n itemStyle: {\r\n color: point.color\r\n },\r\n emphasis: {\r\n disabled: true\r\n },\r\n label: {\r\n show: true,\r\n position: 'bottom',\r\n align: 'left',\r\n verticalAlign: 'bottom',\r\n formatter: () => `${point.name ?? ''}`,\r\n fontSize: 13,\r\n padding: [0, 0, 0, 10],\r\n width: 100,\r\n overflow: 'truncate',\r\n ellipsis: '...',\r\n fontWeight: 'bold',\r\n color: this.darkTheme ? '#fff' : '#000'\r\n },\r\n tooltip: {\r\n formatter: ({ value }: { value: number[] }) => `\r\n <strong>${this.chart?.xAxisName}:</strong> ${value[0].toFixed(3).replace(/[.,]000$/, \"\")}\r\n <br>\r\n <strong>${this.chart?.yAxisName}:</strong> ${value[1].toFixed(3).replace(/[.,]000$/, \"\")}\r\n `\r\n }\r\n })\r\n ),\r\n color: trace.color,\r\n lineStyle: {\r\n width: trace.width,\r\n type: trace.style\r\n },\r\n smooth: trace.smooth ?? false\r\n };\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed$.next();\r\n this.destroyed$.complete();\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { KiwiChartComponent } from './chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport * as echarts from 'echarts/core';\r\nimport { TitleComponent, TooltipComponent, GridComponent, LegendComponent, DataZoomComponent, ToolboxComponent } from 'echarts/components';\r\nimport { LineChart, ScatterChart } from 'echarts/charts';\r\nimport { CanvasRenderer } from 'echarts/renderers';\r\necharts.use([\r\n TitleComponent,\r\n TooltipComponent,\r\n GridComponent,\r\n LineChart,\r\n CanvasRenderer,\r\n LegendComponent,\r\n DataZoomComponent,\r\n ToolboxComponent,\r\n ScatterChart\r\n]);\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n KiwiChartComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n NgxEchartsModule.forRoot({ echarts })\r\n ],\r\n exports: [\r\n KiwiChartComponent\r\n ]\r\n})\r\nexport class KiwiChartModule { }\r\n","/*\r\n * Public API Surface of chart\r\n */\r\n\r\nexport * from './lib/chart.component';\r\nexport * from './lib/chart.module';\r\nexport * from './lib/models/chart.models';\r\nexport * from './lib/constants/chart.constants';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kiwibit-chart.mjs","sources":["../../../../projects/kiwibit/chart/src/lib/constants/chart.constants.ts","../../../../projects/kiwibit/chart/src/lib/models/chart.models.ts","../../../../projects/kiwibit/chart/src/lib/chart.component.ts","../../../../projects/kiwibit/chart/src/lib/chart.module.ts","../../../../projects/kiwibit/chart/src/public-api.ts","../../../../projects/kiwibit/chart/src/kiwibit-chart.ts"],"sourcesContent":["export const ADD_POINT_IMG_OFF_LIGHT = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADkUlEQVR4nO2bz0sUYRjHv8/otviDGDuWrhKdskBaQZi57MmLgVpIkJ06bH9AEdF/kF46dEg726liBSGwBEFnTm0oaF3s4lhdh1BhNuTpsDPLu+MvmHXm0ZzP6X2feWfn+3x33nf3fXlfIOV8Q0dd7O3tvaDr+igzDxPRLQCdANqSkRaZHQBbzPyViEqu65bW19crhzU+1ADDMO4S0QSAq3GoTJAfAJ5alvXhoItN4cDY2FiTruuTRPQSQEfc6hLgEoB7uVyu3XGcBQCsXtxngJ/846TUJYjR3d3dsrm5+VkN1nUB/7V/F7rRI6IpAG9bW1vX5ufnd+JW2giDg4Ntu7u7N5h5HEARQFa9rmna6NLSUimo1wzwB7zvqO/zP4loaHl5eTVu4XFgGEYfEc0BuKKEN1zX7Q0GRi2I6ro+ivrkvbOcPADYtr3CzLcBeEr4WkdHx3BQqRnAzMPqzUQ0dZaTD7BtewXAGzWm5lozgIjyaqO9vb2Z2NUlRziX/qCgKcHLaotsNvstTkVJkslk1kKh2pigGtCutlhcXNyOU1SSHJBLLVcN55xmqQcbhjFERNMA9gA8sizro4QOsTdA07TXqI47XQCmxHRIPZiZO5Vql5SOcz8GpAZIC5AmNUBagDSpAdICpEkNkBYgTWqAtABpUgOkBUgTeT3An89PoX7JOTKmafLxrfZDRFvMXIy6nhD5DfDn8yeSfCP40+rI6wnnvgtENoCZi0S0dZJiIuIQUTHqzZHHAL/PRV7JCfd5y7KO3KsQF2kXkBYgTWqAtABpUgOkBUiTGiAtQJrUAGkB0qQGSAuQJjVA6sGhqbQjpUNyg0SwntDQfL5RxPYINbqecFKkY4BSrttLVygU2vGfMDAwcDEU+hMUVAN+qS08z7sep6gkaW5uDufyOyiom6XLagtN0x7ErCtJxkP1L0FB3SxdCjUqGobRF6eqJPBzqPuVYeZarjUDXNctoXrAKCBLRHNn2QTlwMQFJbzhed5sUKlbijZN8w6A96HPqQCYBjCTyWTWTvsm6kKh0F6pVG4S0X1Uv3k1eTDziG3bBxsAAKZpTgJ4ErtSAZj5hW3bz9TYvlNjjuMs5HK5VgBmYsoSgIgmLMt6juOOzQFgx3E+9fT0rDJzP6rn7s4yG8z80LKsVwglDxxzdDafz2daWlpG/DM2eVSPzp72P0jbALYAlJm55HnebLlc/istKuW08g8wjAev/BoR3wAAAABJRU5ErkJggg==\";\r\nexport const ADD_POINT_IMG_OFF_DARK = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADgUlEQVR4nO2bz04TURTGvzNtaQOVB1BgYVhZDbSUDixZYwLoTlzXB5CI8QUM4ANQXeOCqCkJiUuWtpNCIaG6gRWoeyx/CmGOC5hyZ/izmDJzgM5vdefMafudr/femd65BQKaG7rqZKVSadndORhjohGAUwB1AGjzSZtbdgHeBmiFmPNt7bF8IpE4vCz5UgMKhZXnBJoG+KE3On2CsEkmv8kM9n27+LSD+fn5UFdX9xQBr71X5x8E/tCvpyaJyFTjmjPxLhYPAAyaMAqr751xWw846fb44sioMSPHbH5ubY2s9/T07HqstSHW1tba9vaOHmuaNg4gC0bUlkA0puvJfP3QalQqlZbqv8NfjjH/G4RhXU+tea7cAwyj3MsmLwJ4oIQ34veiCWtirA+B3Z2DMVvxhNptLh4AMpnkKmn0FISaEu6uVg9HrIO6ASeXujOYkbvNxVtkMslVmPhkj5rnDQDQp6aETG3OU2U+wsT2Whhpq6kacF/NqdYiP72V5R/7+7F1e4Tqc4JqQFxNGRpKVD1V5SMX1FKv9dx9QLMRlvrgYrE8TMwfGTjWGK/6B1PfJXTI9QDmWT6ZdzpNQk5KhuQQ6FDanVIimn4OCAyQFiBNYIC0AGkCA6QFSBMYIC1AmsAAaQHSBAZIC5DG9XpAsVgeBnMO9iVn1xQLK+zypdsaI+t2PcF9D2CexTUV3yAdjawnNP0QcG2AxsgC2L5GLW7ZIpOzbl/seg44HXOuV3KcY14fSF25V8ErgiEgLUCawABpAdIEBkgLkCYwQFqANIEB0gKkCQyQFiBNYIDgZ6s/pbekRIgZoKwnNPR7vlHE9gg1up5wXQRzgNK27aVbWqrEcUcoFArtjtCO1VAN+KNmxKNHj7wU5S8RRy3812qpBiyrKWbIfOmpJh8hpnF7ACWrqZ0lcR52soZR7vVWmvcYRrkXBNtVhpnqtdYNaGuP5UHYPMtClE1evM0mKH+YaFHCG+GwuWAd2JaijR/Lz5joq+N9DsH4yMRz+/ux9Zu+iXppqRJvba09gYkXp9+8WjwYNDowkLzYAAAwCsszDJrwQav/EKZ0PfVWDZ27D+jXU5MAz/inyieYpjOZ5Dtn+NKnMcVieRTMMwC6PRXmPRsMmlC7vcqVj6NKpVLk+Dg0CpgjzNRHJxucb/oNUpWBbSJeZqZ8OGwupNPpI2lRATeV/+HNFJvPZJXuAAAAAElFTkSuQmCC\";\r\nexport const ADD_POINT_IMG_ON = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADjUlEQVR4nO2by08TURTGvzNAK49oDCsRNqbFxPogtsQ/AhNAowsxLksTlxIxrtwZwJUJsa07E1wQNSUh8X+wrQFDNSklMQGVjRgMj7TIHBcww50WWEyZOTzmt7pz7pn2O1/n3pne3gIeJxvarzM0nvM1LPl7GegGcB3gVgCN7kizzSpACwA+E3NqrbmUyt0NlfZK3tOAyKv8bRANA7jghEoXmSPw43Ss/cNunRUG3Bnnmu+/C0NMeOS8Nvdg8IvsYnAQz0hX41p54nEsHgAINBA5N/e8Mq6wfdm/K8spElNC1/S3G/XrM18eXFt1VGmVXH0z3Vi3Xn+ZGH0ARQH41X4m6s32B1LGsWlAaDznq1/yfYMy5hn4UQO961Ps4rQb4g+azmS+Q9dpkoDzZpBQWD9bChkTozkEGpb8vbBOeMWjXDwApKPtU5rGNwEUzSAjcOqPr9s41Hbi6FZPJqbEUS7eIB1tnwLhtSXIqDQA4LA1Z3PMYW2uoW/CUguBIkZbvQu0qEnr+r+vDutyjSKXZqwRNucE1YAmNSX3MLTiqCoX2aUWs9aK54CTRq3UG4cT+S7SKQnCJjTqz0QDHyV0iF0BxBQHoQVAG3ROSOmQHAKtSrtNSsSJnwM8A6QFSOMZIC1AGs8AaQHSeAZIC5DGM0BagDSeAdICpLG9HhBO5LvAlLAsOVdBJD7LNk9dgEZRu+sJtq8AYoofVPFV0lrNesKJHwL2DdAoCmDh4KTYZp62fgKzhe05YHvM2V7JKR/zmVhw370KTuENAWkB0ngGSAuQxjNAWoA0ngHSAqTxDJAWII1ngLQAaTwDBN9b/So9LyVCzoCd9YSqvs9Xi9geoWrXEw4Kbw5Q2pa9dKHRXBOOCTdezp4uC/01GqoBP9WMeq32kpOi3GSjFmW10C+jpRhAWWsO3XdUlYtoNehTjxmcMfuMBjGnYIGincl8h9PinKYzme8Aw3KXIcCs1TRgrbmUAjCn5Pl1nSaPsgnGHyYA+MwgocC0PLFzqJ4Qz99i0Puy1ymBkNQ3MVbk0sxh30QdGs01Ndb4ruiEe9ufvK8spScTC+5uAACE4/kRAg04LVQCAobSseATNVbxHJBdDA4CNOKeLJcgGk4vBp5WhPfKDycKPQQeASPgrDKHIRTAGFAve2v3PoQTmTrgTA8Y3QSEsbXB+bA/IK0AWGAgS0CKaXki2x/ZkBblcVj5D1vBAfS1aXiGAAAAAElFTkSuQmCC\";","/**\r\n * Interface to define the Chart model.\r\n *\r\n * @export\r\n * @interface Chart\r\n */\r\nexport interface Chart {\r\n title: string;\r\n showLegend?: boolean;\r\n xAxisType: AxisType;\r\n xAxisName: string;\r\n xAxisUom?: string;\r\n xMin?: number;\r\n xMax?: number;\r\n yAxisType: AxisType;\r\n yAxisName: string;\r\n yAxisUom?: string;\r\n yMin?: number;\r\n yMax?: number;\r\n /**\r\n * If the chart should have rendering animations.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n hasAnimations?: boolean;\r\n /**\r\n * The list of Shapes that the chart must render.\r\n * Each Shape corrisponds to a single chart component.\r\n *\r\n * @type {Shape[]}\r\n * @memberof Chart\r\n */\r\n shapes: Shape[];\r\n /**\r\n * Adds interaction with the chart, so that when clicking\r\n * everywhere in the chart area a point gets added and it's coordinate are \r\n * emitted with an event to the parent component.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n clickToAddPoint?: boolean;\r\n /**\r\n * Custom name for the \"clickToAddPoint\" event related button. \r\n *\r\n * @type {string}\r\n * @memberof Chart\r\n */\r\n addPointCustomName?: string;\r\n /**\r\n * Adds the possibility to use the scroll \r\n * to zoom in/out the chart area.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n scrollToZoom?: boolean;\r\n /**\r\n * Tells the chart to render or not the grid lines.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n showGrid?: boolean;\r\n}\r\n\r\nexport type Shape = Trace;\r\n\r\nexport interface Trace {\r\n name?: string;\r\n /**\r\n * The variant of the Shape, must be of type Trace.\r\n *\r\n * @type {ShapeVariant}\r\n * @memberof Trace\r\n */\r\n variant: ShapeVariant;\r\n color?: string;\r\n /**\r\n * The type of the Trace drawn by the chart.\r\n * Can be a line or a scatter. \r\n *\r\n * @type {TraceType}\r\n * @memberof Trace\r\n */\r\n type: TraceType;\r\n width?: number;\r\n /**\r\n * The list of points that define the Trace.\r\n *\r\n * @type {Point[]}\r\n * @memberof Trace\r\n */\r\n points: Point[];\r\n /**\r\n * Whether to show a smooth curve or a segmented curve.\r\n *\r\n * @type {boolean}\r\n * @memberof Trace\r\n */\r\n smooth?: boolean;\r\n /**\r\n * The style of the Trace.\r\n * Can be solid, dashed or dotted.\r\n *\r\n * @type {TraceStyle}\r\n * @memberof Trace\r\n */\r\n style?: TraceStyle;\r\n /**\r\n * Option to make the Trace selected/deselected by default.\r\n * A deselected Trace is obscured from the chart and can be toggled from the legend. \r\n *\r\n * @type {boolean}\r\n * @memberof Trace\r\n */\r\n selectedByDefault?: boolean;\r\n}\r\n\r\nexport interface Point extends BasePoint {\r\n name?: string;\r\n /**\r\n * Symbol used to represent the point in the chart.\r\n *\r\n * @type {PointSymbol}\r\n * @memberof Point\r\n */\r\n symbol?: PointSymbol;\r\n symbolSize?: number;\r\n color?: string;\r\n}\r\n\r\nexport interface BasePoint {\r\n x: number;\r\n y: number\r\n}\r\n\r\nexport enum TraceType {\r\n LINE = \"line\",\r\n SCATTER = \"scatter\"\r\n}\r\n\r\nexport enum PointSymbol {\r\n NONE = \"none\",\r\n CIRCLE = \"circle\",\r\n TRIANGLE = \"triangle\",\r\n PIN = \"pin\",\r\n DIAMOND = \"diamond\"\r\n}\r\n\r\nexport enum TraceStyle {\r\n SOLID = \"solid\",\r\n DASHED = \"dashed\",\r\n DOTTED = \"dotted\"\r\n}\r\n\r\nexport enum AxisType {\r\n VALUE = \"value\"\r\n}\r\n\r\nexport enum ShapeVariant {\r\n TRACE\r\n}","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { CustomSeriesOption, ECharts, EChartsOption, LineSeriesOption, ScatterSeriesOption, zrender } from 'echarts';\r\nimport { interval, Subject, takeUntil } from 'rxjs';\r\nimport { ADD_POINT_IMG_OFF_DARK, ADD_POINT_IMG_OFF_LIGHT, ADD_POINT_IMG_ON } from './constants/chart.constants';\r\nimport { Chart, Shape, ShapeVariant, Trace, Point, BasePoint } from './models/chart.models';\r\n@Component({\r\n selector: 'kiwi-chart',\r\n template: `\r\n <div \r\n echarts \r\n [options]=\"chartOption\" \r\n [ngStyle]=\"{\r\n 'width': width,\r\n 'height': height\r\n }\"\r\n (chartInit)=\"onChartInit($event)\"\r\n [theme]=\"darkTheme ? 'dark' : ''\"\r\n ></div> \r\n `,\r\n styles: [`\r\n `]\r\n})\r\nexport class KiwiChartComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * The Chart Object rendered by the canvas. For all the available options refer \r\n * to Chart interface in the models folder.\r\n *\r\n * @type {(Chart | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() chart: Chart | null = null;\r\n\r\n /**\r\n * Width and Height of the chart area. The dimensions refer to the father component \r\n * into which the kiwi-chart is inserted. For example in an empty page the width/height \r\n * of the chart can take the whole available space in the page.\r\n *\r\n * @type {string}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() width: string = '100%';\r\n @Input() height: string = '480px';\r\n\r\n /**\r\n * This property simply activates or not the dark theme of the chart\r\n * defined by the Echarts library. In addition the background color can be custom\r\n * so that the chart can match the background of the application in which it's used.\r\n *\r\n * @type {boolean}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() darkTheme: boolean = false;\r\n @Input() darkThemeBackground?: string;\r\n\r\n /**\r\n * Output event used to emit to the father component the coordinates\r\n * of the point clicked in the chart area. This functionality to be used must\r\n * have the property \"clickToAddPoint\" in the Chart object set to true.\r\n *\r\n * @type {EventEmitter<BasePoint>}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Output() addPoint: EventEmitter<BasePoint> = new EventEmitter<BasePoint>();\r\n\r\n /**\r\n * The object used by echarts to initially create the Chart.\r\n *\r\n * @type {EChartsOption}\r\n * @memberof KiwiChartComponent\r\n */\r\n chartOption: EChartsOption = {};\r\n\r\n /**\r\n * The instance of the Chart.\r\n *\r\n * @type {(ECharts | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n echartsInstance: ECharts | null = null;\r\n\r\n /**\r\n * Used to perform actions (as point addition based on the cursor position) on the chart.\r\n *\r\n * @type {(zrender.ZRenderType | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n zr: zrender.ZRenderType | null = null;\r\n\r\n /**\r\n * Subject used to unsubscribe once the component gets destroyed.\r\n *\r\n * @private\r\n * @type {Subject<void>}\r\n * @memberof KiwiChartComponent\r\n */\r\n private destroyed$: Subject<void> = new Subject<void>();\r\n\r\n constructor(\r\n private cd: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n /** \r\n * This is a manual change detection running every 200ms, the memory should not be much afflicted.\r\n * It's necessary because when interacting with the chart (for example addPoint),\r\n * Angular loses the change detection and the point is not added in the chart canvas.\r\n */\r\n interval(200)\r\n .pipe(\r\n takeUntil(this.destroyed$)\r\n )\r\n .subscribe(() => {\r\n this.cd.detectChanges();\r\n });\r\n }\r\n\r\n onChartInit(ec: ECharts) {\r\n this.echartsInstance = ec;\r\n this.setupZrEventHandler(ec);\r\n }\r\n\r\n setupZrEventHandler(ec: ECharts) {\r\n this.zr = ec.getZr();\r\n\r\n /** \r\n * Intercepts the click event on the chart (if the clickToAddPoint property is set to true)\r\n * and emits the point coordinates to the father component.\r\n */\r\n this.zr.on('click', params => {\r\n let option: any = ec.getOption();\r\n let active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\r\n if (active && this.chart?.clickToAddPoint) {\r\n const pointInPixel = [params.offsetX, params.offsetY];\r\n const pointInGrid = ec.convertFromPixel('grid', pointInPixel);\r\n if (ec.containPixel('grid', pointInPixel) && pointInGrid) {\r\n let newPoint: { x: number, y: number } = {\r\n x: +pointInGrid[0].toFixed(3),\r\n y: +pointInGrid[1].toFixed(3)\r\n };\r\n this.addPoint.emit(newPoint);\r\n }\r\n }\r\n });\r\n\r\n /** \r\n * This is used to change the cursor's icon when the selected action is\r\n * click to add point and viceversa back to default icon when it's not selected.\r\n */\r\n this.zr.on('mousemove', params => {\r\n const pointInPixel = [params.offsetX, params.offsetY];\r\n const option: any = ec.getOption();\r\n const active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\r\n if (active) {\r\n this.zr?.setCursorStyle(\r\n ec.containPixel('grid', pointInPixel) ? 'copy' : 'default'\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n let chart: Chart = changes['chart']?.currentValue;\r\n if (chart) {\r\n this.chartOption = {\r\n title: {\r\n text: chart.title,\r\n },\r\n grid: {\r\n width: '75%'\r\n },\r\n backgroundColor: this.darkTheme ? this.darkThemeBackground ?? '#303030' : 'transparent', tooltip: {\r\n axisPointer: {\r\n type: 'cross',\r\n crossStyle: {\r\n color: '#bebebe'\r\n }\r\n }\r\n },\r\n toolbox: {\r\n orient: 'horizontal',\r\n left: 'center',\r\n feature: {\r\n dataZoom: {\r\n brushStyle: {\r\n borderColor: '#000',\r\n borderWidth: 1,\r\n borderType: 'dashed'\r\n },\r\n },\r\n saveAsImage: {},\r\n restore: {},\r\n myAddPoint: {\r\n show: chart.clickToAddPoint ?? false,\r\n title: chart.addPointCustomName ?? 'Add Point',\r\n icon: this.darkTheme ? ADD_POINT_IMG_OFF_DARK : ADD_POINT_IMG_OFF_LIGHT,\r\n iconStatus: false,\r\n onclick: () => {\r\n let option: any = this.echartsInstance?.getOption();\r\n let status = option.toolbox[0].feature.myAddPoint.iconStatus;\r\n this.echartsInstance?.setOption({\r\n toolbox: {\r\n feature: {\r\n myAddPoint: {\r\n iconStatus: !status,\r\n icon: !status ? ADD_POINT_IMG_ON : this.darkTheme ? ADD_POINT_IMG_OFF_DARK : ADD_POINT_IMG_OFF_LIGHT\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n },\r\n },\r\n dataZoom: [\r\n {\r\n type: 'inside',\r\n xAxisIndex: [0],\r\n throttle: 0,\r\n filterMode: 'none',\r\n disabled: !chart.scrollToZoom ?? true\r\n },\r\n {\r\n type: 'inside',\r\n yAxisIndex: [0],\r\n throttle: 0,\r\n filterMode: 'none',\r\n disabled: !chart.scrollToZoom ?? true\r\n },\r\n ],\r\n legend: {\r\n width: '25%',\r\n inactiveColor: this.darkTheme ? '#8b8b8b' : '#ccc',\r\n data: chart.shapes.map(\r\n (shape: Shape) => ({\r\n name: shape.name,\r\n icon: 'circle'\r\n })\r\n ),\r\n selected: chart.shapes.reduce((accumulator, shape: Shape) => ({ ...accumulator, [shape.name as string]: shape.selectedByDefault ?? true }), {}),\r\n show: chart.showLegend ?? false,\r\n orient: 'vertical',\r\n left: 'right',\r\n padding: [60, 20],\r\n type: 'scroll',\r\n textStyle: {\r\n width: 120,\r\n fontWeight: 'bold',\r\n overflow: 'break'\r\n }\r\n },\r\n xAxis: {\r\n type: chart.xAxisType,\r\n name: chart.xAxisUom ? `${chart.xAxisName} [ ${chart.xAxisUom} ]` : chart.xAxisName,\r\n nameLocation: 'middle',\r\n nameGap: 30,\r\n splitLine: {\r\n show: chart.showGrid ?? true,\r\n lineStyle: {\r\n color: this.darkTheme ? '#595959' : '#ccc'\r\n }\r\n },\r\n min: chart.xMin,\r\n max: chart.xMax,\r\n },\r\n yAxis: {\r\n type: chart.yAxisType,\r\n name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : chart.yAxisName,\r\n nameLocation: 'middle',\r\n nameGap: 50,\r\n splitLine: {\r\n show: chart.showGrid ?? true,\r\n lineStyle: {\r\n color: this.darkTheme ? '#595959' : '#ccc'\r\n }\r\n },\r\n min: chart.yMin,\r\n max: chart.yMax,\r\n },\r\n series: this.createSeries(chart.shapes),\r\n animation: chart.hasAnimations,\r\n };\r\n }\r\n }\r\n\r\n createSeries(shapes: Shape[]): Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> {\r\n let series: Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> = [];\r\n shapes.forEach(\r\n (shape: Shape) => {\r\n switch (shape.variant) {\r\n case ShapeVariant.TRACE:\r\n series.push(this.createTrace(shape as Trace))\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n );\r\n return series;\r\n }\r\n\r\n createTrace(trace: Trace): LineSeriesOption | ScatterSeriesOption {\r\n return {\r\n type: trace.type,\r\n name: trace.name,\r\n data: trace.points.map(\r\n (point: Point) => ({\r\n value: [point.x, point.y],\r\n symbol: point.symbol ?? 'circle',\r\n name: point.name,\r\n symbolSize: point.symbolSize ?? 2,\r\n itemStyle: {\r\n color: point.color\r\n },\r\n emphasis: {\r\n disabled: true\r\n },\r\n label: {\r\n show: true,\r\n position: 'bottom',\r\n align: 'left',\r\n verticalAlign: 'bottom',\r\n formatter: () => `${point.name ?? ''}`,\r\n fontSize: 13,\r\n padding: [0, 0, 0, 10],\r\n width: 100,\r\n overflow: 'truncate',\r\n ellipsis: '...',\r\n fontWeight: 'bold',\r\n color: this.darkTheme ? '#fff' : '#000'\r\n },\r\n tooltip: {\r\n formatter: ({ value }: { value: number[] }) => `\r\n <strong>${this.chart?.xAxisName}:</strong> ${value[0].toFixed(3).replace(/[.,]000$/, \"\")}\r\n <br>\r\n <strong>${this.chart?.yAxisName}:</strong> ${value[1].toFixed(3).replace(/[.,]000$/, \"\")}\r\n `\r\n }\r\n })\r\n ),\r\n color: trace.color,\r\n lineStyle: {\r\n width: trace.width,\r\n type: trace.style\r\n },\r\n smooth: trace.smooth ?? false\r\n };\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed$.next();\r\n this.destroyed$.complete();\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { KiwiChartComponent } from './chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport * as echarts from 'echarts/core';\r\nimport { TitleComponent, TooltipComponent, GridComponent, LegendComponent, DataZoomComponent, ToolboxComponent } from 'echarts/components';\r\nimport { LineChart, ScatterChart } from 'echarts/charts';\r\nimport { CanvasRenderer } from 'echarts/renderers';\r\necharts.use([\r\n TitleComponent,\r\n TooltipComponent,\r\n GridComponent,\r\n LineChart,\r\n CanvasRenderer,\r\n LegendComponent,\r\n DataZoomComponent,\r\n ToolboxComponent,\r\n ScatterChart\r\n]);\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n KiwiChartComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n NgxEchartsModule.forRoot({ echarts })\r\n ],\r\n exports: [\r\n KiwiChartComponent\r\n ]\r\n})\r\nexport class KiwiChartModule { }\r\n","/*\r\n * Public API Surface of chart\r\n */\r\n\r\nexport * from './lib/chart.component';\r\nexport * from './lib/chart.module';\r\nexport * from './lib/models/chart.models';\r\nexport * from './lib/constants/chart.constants';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -168,6 +168,9 @@ class KiwiChartComponent {
168
168
  title: {
169
169
  text: chart.title,
170
170
  },
171
+ grid: {
172
+ width: '75%'
173
+ },
171
174
  backgroundColor: this.darkTheme ? this.darkThemeBackground ?? '#303030' : 'transparent', tooltip: {
172
175
  axisPointer: {
173
176
  type: 'cross',
@@ -228,6 +231,8 @@ class KiwiChartComponent {
228
231
  },
229
232
  ],
230
233
  legend: {
234
+ width: '25%',
235
+ inactiveColor: this.darkTheme ? '#8b8b8b' : '#ccc',
231
236
  data: chart.shapes.map((shape) => ({
232
237
  name: shape.name,
233
238
  icon: 'circle'
@@ -239,7 +244,7 @@ class KiwiChartComponent {
239
244
  padding: [60, 20],
240
245
  type: 'scroll',
241
246
  textStyle: {
242
- width: 100,
247
+ width: 120,
243
248
  fontWeight: 'bold',
244
249
  overflow: 'break'
245
250
  }
@@ -254,7 +259,9 @@ class KiwiChartComponent {
254
259
  lineStyle: {
255
260
  color: this.darkTheme ? '#595959' : '#ccc'
256
261
  }
257
- }
262
+ },
263
+ min: chart.xMin,
264
+ max: chart.xMax,
258
265
  },
259
266
  yAxis: {
260
267
  type: chart.yAxisType,
@@ -267,6 +274,8 @@ class KiwiChartComponent {
267
274
  color: this.darkTheme ? '#595959' : '#ccc'
268
275
  }
269
276
  },
277
+ min: chart.yMin,
278
+ max: chart.yMax,
270
279
  },
271
280
  series: this.createSeries(chart.shapes),
272
281
  animation: chart.hasAnimations,
@@ -1 +1 @@
1
- {"version":3,"file":"kiwibit-chart.mjs","sources":["../../../../projects/kiwibit/chart/src/lib/constants/chart.constants.ts","../../../../projects/kiwibit/chart/src/lib/models/chart.models.ts","../../../../projects/kiwibit/chart/src/lib/chart.component.ts","../../../../projects/kiwibit/chart/src/lib/chart.module.ts","../../../../projects/kiwibit/chart/src/public-api.ts","../../../../projects/kiwibit/chart/src/kiwibit-chart.ts"],"sourcesContent":["export const ADD_POINT_IMG_OFF_LIGHT = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADkUlEQVR4nO2bz0sUYRjHv8/otviDGDuWrhKdskBaQZi57MmLgVpIkJ06bH9AEdF/kF46dEg726liBSGwBEFnTm0oaF3s4lhdh1BhNuTpsDPLu+MvmHXm0ZzP6X2feWfn+3x33nf3fXlfIOV8Q0dd7O3tvaDr+igzDxPRLQCdANqSkRaZHQBbzPyViEqu65bW19crhzU+1ADDMO4S0QSAq3GoTJAfAJ5alvXhoItN4cDY2FiTruuTRPQSQEfc6hLgEoB7uVyu3XGcBQCsXtxngJ/846TUJYjR3d3dsrm5+VkN1nUB/7V/F7rRI6IpAG9bW1vX5ufnd+JW2giDg4Ntu7u7N5h5HEARQFa9rmna6NLSUimo1wzwB7zvqO/zP4loaHl5eTVu4XFgGEYfEc0BuKKEN1zX7Q0GRi2I6ro+ivrkvbOcPADYtr3CzLcBeEr4WkdHx3BQqRnAzMPqzUQ0dZaTD7BtewXAGzWm5lozgIjyaqO9vb2Z2NUlRziX/qCgKcHLaotsNvstTkVJkslk1kKh2pigGtCutlhcXNyOU1SSHJBLLVcN55xmqQcbhjFERNMA9gA8sizro4QOsTdA07TXqI47XQCmxHRIPZiZO5Vql5SOcz8GpAZIC5AmNUBagDSpAdICpEkNkBYgTWqAtABpUgOkBUgTeT3An89PoX7JOTKmafLxrfZDRFvMXIy6nhD5DfDn8yeSfCP40+rI6wnnvgtENoCZi0S0dZJiIuIQUTHqzZHHAL/PRV7JCfd5y7KO3KsQF2kXkBYgTWqAtABpUgOkBUiTGiAtQJrUAGkB0qQGSAuQJjVA6sGhqbQjpUNyg0SwntDQfL5RxPYINbqecFKkY4BSrttLVygU2vGfMDAwcDEU+hMUVAN+qS08z7sep6gkaW5uDufyOyiom6XLagtN0x7ErCtJxkP1L0FB3SxdCjUqGobRF6eqJPBzqPuVYeZarjUDXNctoXrAKCBLRHNn2QTlwMQFJbzhed5sUKlbijZN8w6A96HPqQCYBjCTyWTWTvsm6kKh0F6pVG4S0X1Uv3k1eTDziG3bBxsAAKZpTgJ4ErtSAZj5hW3bz9TYvlNjjuMs5HK5VgBmYsoSgIgmLMt6juOOzQFgx3E+9fT0rDJzP6rn7s4yG8z80LKsVwglDxxzdDafz2daWlpG/DM2eVSPzp72P0jbALYAlJm55HnebLlc/istKuW08g8wjAev/BoR3wAAAABJRU5ErkJggg==\";\r\nexport const ADD_POINT_IMG_OFF_DARK = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADgUlEQVR4nO2bz04TURTGvzNtaQOVB1BgYVhZDbSUDixZYwLoTlzXB5CI8QUM4ANQXeOCqCkJiUuWtpNCIaG6gRWoeyx/CmGOC5hyZ/izmDJzgM5vdefMafudr/femd65BQKaG7rqZKVSadndORhjohGAUwB1AGjzSZtbdgHeBmiFmPNt7bF8IpE4vCz5UgMKhZXnBJoG+KE3On2CsEkmv8kM9n27+LSD+fn5UFdX9xQBr71X5x8E/tCvpyaJyFTjmjPxLhYPAAyaMAqr751xWw846fb44sioMSPHbH5ubY2s9/T07HqstSHW1tba9vaOHmuaNg4gC0bUlkA0puvJfP3QalQqlZbqv8NfjjH/G4RhXU+tea7cAwyj3MsmLwJ4oIQ34veiCWtirA+B3Z2DMVvxhNptLh4AMpnkKmn0FISaEu6uVg9HrIO6ASeXujOYkbvNxVtkMslVmPhkj5rnDQDQp6aETG3OU2U+wsT2Whhpq6kacF/NqdYiP72V5R/7+7F1e4Tqc4JqQFxNGRpKVD1V5SMX1FKv9dx9QLMRlvrgYrE8TMwfGTjWGK/6B1PfJXTI9QDmWT6ZdzpNQk5KhuQQ6FDanVIimn4OCAyQFiBNYIC0AGkCA6QFSBMYIC1AmsAAaQHSBAZIC5DG9XpAsVgeBnMO9iVn1xQLK+zypdsaI+t2PcF9D2CexTUV3yAdjawnNP0QcG2AxsgC2L5GLW7ZIpOzbl/seg44HXOuV3KcY14fSF25V8ErgiEgLUCawABpAdIEBkgLkCYwQFqANIEB0gKkCQyQFiBNYIDgZ6s/pbekRIgZoKwnNPR7vlHE9gg1up5wXQRzgNK27aVbWqrEcUcoFArtjtCO1VAN+KNmxKNHj7wU5S8RRy3812qpBiyrKWbIfOmpJh8hpnF7ACWrqZ0lcR52soZR7vVWmvcYRrkXBNtVhpnqtdYNaGuP5UHYPMtClE1evM0mKH+YaFHCG+GwuWAd2JaijR/Lz5joq+N9DsH4yMRz+/ux9Zu+iXppqRJvba09gYkXp9+8WjwYNDowkLzYAAAwCsszDJrwQav/EKZ0PfVWDZ27D+jXU5MAz/inyieYpjOZ5Dtn+NKnMcVieRTMMwC6PRXmPRsMmlC7vcqVj6NKpVLk+Dg0CpgjzNRHJxucb/oNUpWBbSJeZqZ8OGwupNPpI2lRATeV/+HNFJvPZJXuAAAAAElFTkSuQmCC\";\r\nexport const ADD_POINT_IMG_ON = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADjUlEQVR4nO2by08TURTGvzNAK49oDCsRNqbFxPogtsQ/AhNAowsxLksTlxIxrtwZwJUJsa07E1wQNSUh8X+wrQFDNSklMQGVjRgMj7TIHBcww50WWEyZOTzmt7pz7pn2O1/n3pne3gIeJxvarzM0nvM1LPl7GegGcB3gVgCN7kizzSpACwA+E3NqrbmUyt0NlfZK3tOAyKv8bRANA7jghEoXmSPw43Ss/cNunRUG3Bnnmu+/C0NMeOS8Nvdg8IvsYnAQz0hX41p54nEsHgAINBA5N/e8Mq6wfdm/K8spElNC1/S3G/XrM18eXFt1VGmVXH0z3Vi3Xn+ZGH0ARQH41X4m6s32B1LGsWlAaDznq1/yfYMy5hn4UQO961Ps4rQb4g+azmS+Q9dpkoDzZpBQWD9bChkTozkEGpb8vbBOeMWjXDwApKPtU5rGNwEUzSAjcOqPr9s41Hbi6FZPJqbEUS7eIB1tnwLhtSXIqDQA4LA1Z3PMYW2uoW/CUguBIkZbvQu0qEnr+r+vDutyjSKXZqwRNucE1YAmNSX3MLTiqCoX2aUWs9aK54CTRq3UG4cT+S7SKQnCJjTqz0QDHyV0iF0BxBQHoQVAG3ROSOmQHAKtSrtNSsSJnwM8A6QFSOMZIC1AGs8AaQHSeAZIC5DGM0BagDSeAdICpLG9HhBO5LvAlLAsOVdBJD7LNk9dgEZRu+sJtq8AYoofVPFV0lrNesKJHwL2DdAoCmDh4KTYZp62fgKzhe05YHvM2V7JKR/zmVhw370KTuENAWkB0ngGSAuQxjNAWoA0ngHSAqTxDJAWII1ngLQAaTwDBN9b/So9LyVCzoCd9YSqvs9Xi9geoWrXEw4Kbw5Q2pa9dKHRXBOOCTdezp4uC/01GqoBP9WMeq32kpOi3GSjFmW10C+jpRhAWWsO3XdUlYtoNehTjxmcMfuMBjGnYIGincl8h9PinKYzme8Aw3KXIcCs1TRgrbmUAjCn5Pl1nSaPsgnGHyYA+MwgocC0PLFzqJ4Qz99i0Puy1ymBkNQ3MVbk0sxh30QdGs01Ndb4ruiEe9ufvK8spScTC+5uAACE4/kRAg04LVQCAobSseATNVbxHJBdDA4CNOKeLJcgGk4vBp5WhPfKDycKPQQeASPgrDKHIRTAGFAve2v3PoQTmTrgTA8Y3QSEsbXB+bA/IK0AWGAgS0CKaXki2x/ZkBblcVj5D1vBAfS1aXiGAAAAAElFTkSuQmCC\";","/**\r\n * Interface to define the Chart model.\r\n *\r\n * @export\r\n * @interface Chart\r\n */\r\nexport interface Chart {\r\n title: string;\r\n showLegend?: boolean;\r\n xAxisType: AxisType;\r\n xAxisName: string;\r\n xAxisUom?: string;\r\n yAxisType: AxisType;\r\n yAxisName: string;\r\n yAxisUom?: string;\r\n /**\r\n * If the chart should have rendering animations.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n hasAnimations?: boolean;\r\n /**\r\n * The list of Shapes that the chart must render.\r\n * Each Shape corrisponds to a single chart component.\r\n *\r\n * @type {Shape[]}\r\n * @memberof Chart\r\n */\r\n shapes: Shape[];\r\n /**\r\n * Adds interaction with the chart, so that when clicking\r\n * everywhere in the chart area a point gets added and it's coordinate are \r\n * emitted with an event to the parent component.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n clickToAddPoint?: boolean;\r\n /**\r\n * Custom name for the \"clickToAddPoint\" event related button. \r\n *\r\n * @type {string}\r\n * @memberof Chart\r\n */\r\n addPointCustomName?: string;\r\n /**\r\n * Adds the possibility to use the scroll \r\n * to zoom in/out the chart area.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n scrollToZoom?: boolean;\r\n /**\r\n * Tells the chart to render or not the grid lines.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n showGrid?: boolean;\r\n}\r\n\r\nexport type Shape = Trace;\r\n\r\nexport interface Trace {\r\n name?: string;\r\n /**\r\n * The variant of the Shape, must be of type Trace.\r\n *\r\n * @type {ShapeVariant}\r\n * @memberof Trace\r\n */\r\n variant: ShapeVariant;\r\n color?: string;\r\n /**\r\n * The type of the Trace drawn by the chart.\r\n * Can be a line or a scatter. \r\n *\r\n * @type {TraceType}\r\n * @memberof Trace\r\n */\r\n type: TraceType;\r\n width?: number;\r\n /**\r\n * The list of points that define the Trace.\r\n *\r\n * @type {Point[]}\r\n * @memberof Trace\r\n */\r\n points: Point[];\r\n /**\r\n * Whether to show a smooth curve or a segmented curve.\r\n *\r\n * @type {boolean}\r\n * @memberof Trace\r\n */\r\n smooth?: boolean;\r\n /**\r\n * The style of the Trace.\r\n * Can be solid, dashed or dotted.\r\n *\r\n * @type {TraceStyle}\r\n * @memberof Trace\r\n */\r\n style?: TraceStyle;\r\n /**\r\n * Option to make the Trace selected/deselected by default.\r\n * A deselected Trace is obscured from the chart and can be toggled from the legend. \r\n *\r\n * @type {boolean}\r\n * @memberof Trace\r\n */\r\n selectedByDefault?: boolean;\r\n}\r\n\r\nexport interface Point extends BasePoint {\r\n name?: string;\r\n /**\r\n * Symbol used to represent the point in the chart.\r\n *\r\n * @type {PointSymbol}\r\n * @memberof Point\r\n */\r\n symbol?: PointSymbol;\r\n symbolSize?: number;\r\n color?: string;\r\n}\r\n\r\nexport interface BasePoint {\r\n x: number;\r\n y: number\r\n}\r\n\r\nexport enum TraceType {\r\n LINE = \"line\",\r\n SCATTER = \"scatter\"\r\n}\r\n\r\nexport enum PointSymbol {\r\n NONE = \"none\",\r\n CIRCLE = \"circle\",\r\n TRIANGLE = \"triangle\",\r\n PIN = \"pin\",\r\n DIAMOND = \"diamond\"\r\n}\r\n\r\nexport enum TraceStyle {\r\n SOLID = \"solid\",\r\n DASHED = \"dashed\",\r\n DOTTED = \"dotted\"\r\n}\r\n\r\nexport enum AxisType {\r\n VALUE = \"value\"\r\n}\r\n\r\nexport enum ShapeVariant {\r\n TRACE\r\n}","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { CustomSeriesOption, ECharts, EChartsOption, LineSeriesOption, ScatterSeriesOption, zrender } from 'echarts';\r\nimport { interval, Subject, takeUntil } from 'rxjs';\r\nimport { ADD_POINT_IMG_OFF_DARK, ADD_POINT_IMG_OFF_LIGHT, ADD_POINT_IMG_ON } from './constants/chart.constants';\r\nimport { Chart, Shape, ShapeVariant, Trace, Point, BasePoint } from './models/chart.models';\r\n@Component({\r\n selector: 'kiwi-chart',\r\n template: `\r\n <div \r\n echarts \r\n [options]=\"chartOption\" \r\n [ngStyle]=\"{\r\n 'width': width,\r\n 'height': height\r\n }\"\r\n (chartInit)=\"onChartInit($event)\"\r\n [theme]=\"darkTheme ? 'dark' : ''\"\r\n ></div> \r\n `,\r\n styles: [`\r\n `]\r\n})\r\nexport class KiwiChartComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * The Chart Object rendered by the canvas. For all the available options refer \r\n * to Chart interface in the models folder.\r\n *\r\n * @type {(Chart | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() chart: Chart | null = null;\r\n\r\n /**\r\n * Width and Height of the chart area. The dimensions refer to the father component \r\n * into which the kiwi-chart is inserted. For example in an empty page the width/height \r\n * of the chart can take the whole available space in the page.\r\n *\r\n * @type {string}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() width: string = '100%';\r\n @Input() height: string = '480px';\r\n\r\n /**\r\n * This property simply activates or not the dark theme of the chart\r\n * defined by the Echarts library. In addition the background color can be custom\r\n * so that the chart can match the background of the application in which it's used.\r\n *\r\n * @type {boolean}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() darkTheme: boolean = false;\r\n @Input() darkThemeBackground?: string;\r\n\r\n /**\r\n * Output event used to emit to the father component the coordinates\r\n * of the point clicked in the chart area. This functionality to be used must\r\n * have the property \"clickToAddPoint\" in the Chart object set to true.\r\n *\r\n * @type {EventEmitter<BasePoint>}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Output() addPoint: EventEmitter<BasePoint> = new EventEmitter<BasePoint>();\r\n\r\n /**\r\n * The object used by echarts to initially create the Chart.\r\n *\r\n * @type {EChartsOption}\r\n * @memberof KiwiChartComponent\r\n */\r\n chartOption: EChartsOption = {};\r\n\r\n /**\r\n * The instance of the Chart.\r\n *\r\n * @type {(ECharts | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n echartsInstance: ECharts | null = null;\r\n\r\n /**\r\n * Used to perform actions (as point addition based on the cursor position) on the chart.\r\n *\r\n * @type {(zrender.ZRenderType | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n zr: zrender.ZRenderType | null = null;\r\n\r\n /**\r\n * Subject used to unsubscribe once the component gets destroyed.\r\n *\r\n * @private\r\n * @type {Subject<void>}\r\n * @memberof KiwiChartComponent\r\n */\r\n private destroyed$: Subject<void> = new Subject<void>();\r\n\r\n constructor(\r\n private cd: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n /** \r\n * This is a manual change detection running every 200ms, the memory should not be much afflicted.\r\n * It's necessary because when interacting with the chart (for example addPoint),\r\n * Angular loses the change detection and the point is not added in the chart canvas.\r\n */\r\n interval(200)\r\n .pipe(\r\n takeUntil(this.destroyed$)\r\n )\r\n .subscribe(() => {\r\n this.cd.detectChanges();\r\n });\r\n }\r\n\r\n onChartInit(ec: ECharts) {\r\n this.echartsInstance = ec;\r\n this.setupZrEventHandler(ec);\r\n }\r\n\r\n setupZrEventHandler(ec: ECharts) {\r\n this.zr = ec.getZr();\r\n\r\n /** \r\n * Intercepts the click event on the chart (if the clickToAddPoint property is set to true)\r\n * and emits the point coordinates to the father component.\r\n */\r\n this.zr.on('click', params => {\r\n let option: any = ec.getOption();\r\n let active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\r\n if (active && this.chart?.clickToAddPoint) {\r\n const pointInPixel = [params.offsetX, params.offsetY];\r\n const pointInGrid = ec.convertFromPixel('grid', pointInPixel);\r\n if (ec.containPixel('grid', pointInPixel) && pointInGrid) {\r\n let newPoint: { x: number, y: number } = {\r\n x: +pointInGrid[0].toFixed(3),\r\n y: +pointInGrid[1].toFixed(3)\r\n };\r\n this.addPoint.emit(newPoint);\r\n }\r\n }\r\n });\r\n\r\n /** \r\n * This is used to change the cursor's icon when the selected action is\r\n * click to add point and viceversa back to default icon when it's not selected.\r\n */\r\n this.zr.on('mousemove', params => {\r\n const pointInPixel = [params.offsetX, params.offsetY];\r\n const option: any = ec.getOption();\r\n const active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\r\n if (active) {\r\n this.zr?.setCursorStyle(\r\n ec.containPixel('grid', pointInPixel) ? 'copy' : 'default'\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n let chart: Chart = changes['chart']?.currentValue;\r\n if (chart) {\r\n this.chartOption = {\r\n title: {\r\n text: chart.title,\r\n },\r\n backgroundColor: this.darkTheme ? this.darkThemeBackground ?? '#303030' : 'transparent', tooltip: {\r\n axisPointer: {\r\n type: 'cross',\r\n crossStyle: {\r\n color: '#bebebe'\r\n }\r\n }\r\n },\r\n toolbox: {\r\n orient: 'horizontal',\r\n left: 'center',\r\n feature: {\r\n dataZoom: {\r\n brushStyle: {\r\n borderColor: '#000',\r\n borderWidth: 1,\r\n borderType: 'dashed'\r\n },\r\n },\r\n saveAsImage: {},\r\n restore: {},\r\n myAddPoint: {\r\n show: chart.clickToAddPoint ?? false,\r\n title: chart.addPointCustomName ?? 'Add Point',\r\n icon: this.darkTheme ? ADD_POINT_IMG_OFF_DARK : ADD_POINT_IMG_OFF_LIGHT,\r\n iconStatus: false,\r\n onclick: () => {\r\n let option: any = this.echartsInstance?.getOption();\r\n let status = option.toolbox[0].feature.myAddPoint.iconStatus;\r\n this.echartsInstance?.setOption({\r\n toolbox: {\r\n feature: {\r\n myAddPoint: {\r\n iconStatus: !status,\r\n icon: !status ? ADD_POINT_IMG_ON : this.darkTheme ? ADD_POINT_IMG_OFF_DARK : ADD_POINT_IMG_OFF_LIGHT\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n },\r\n },\r\n dataZoom: [\r\n {\r\n type: 'inside',\r\n xAxisIndex: [0],\r\n throttle: 0,\r\n filterMode: 'none',\r\n disabled: !chart.scrollToZoom ?? true\r\n },\r\n {\r\n type: 'inside',\r\n yAxisIndex: [0],\r\n throttle: 0,\r\n filterMode: 'none',\r\n disabled: !chart.scrollToZoom ?? true\r\n },\r\n ],\r\n legend: {\r\n data: chart.shapes.map(\r\n (shape: Shape) => ({\r\n name: shape.name,\r\n icon: 'circle'\r\n })\r\n ),\r\n selected: chart.shapes.reduce((accumulator, shape: Shape) => ({ ...accumulator, [shape.name as string]: shape.selectedByDefault ?? true }), {}),\r\n show: chart.showLegend ?? false,\r\n orient: 'vertical',\r\n left: 'right',\r\n padding: [60, 20],\r\n type: 'scroll',\r\n textStyle: {\r\n width: 100,\r\n fontWeight: 'bold',\r\n overflow: 'break'\r\n }\r\n },\r\n xAxis: {\r\n type: chart.xAxisType,\r\n name: chart.xAxisUom ? `${chart.xAxisName} [ ${chart.xAxisUom} ]` : chart.xAxisName,\r\n nameLocation: 'middle',\r\n nameGap: 30,\r\n splitLine: {\r\n show: chart.showGrid ?? true,\r\n lineStyle: {\r\n color: this.darkTheme ? '#595959' : '#ccc'\r\n }\r\n }\r\n },\r\n yAxis: {\r\n type: chart.yAxisType,\r\n name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : chart.yAxisName,\r\n nameLocation: 'middle',\r\n nameGap: 50,\r\n splitLine: {\r\n show: chart.showGrid ?? true,\r\n lineStyle: {\r\n color: this.darkTheme ? '#595959' : '#ccc'\r\n }\r\n },\r\n },\r\n series: this.createSeries(chart.shapes),\r\n animation: chart.hasAnimations,\r\n };\r\n }\r\n }\r\n\r\n createSeries(shapes: Shape[]): Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> {\r\n let series: Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> = [];\r\n shapes.forEach(\r\n (shape: Shape) => {\r\n switch (shape.variant) {\r\n case ShapeVariant.TRACE:\r\n series.push(this.createTrace(shape as Trace))\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n );\r\n return series;\r\n }\r\n\r\n createTrace(trace: Trace): LineSeriesOption | ScatterSeriesOption {\r\n return {\r\n type: trace.type,\r\n name: trace.name,\r\n data: trace.points.map(\r\n (point: Point) => ({\r\n value: [point.x, point.y],\r\n symbol: point.symbol ?? 'circle',\r\n name: point.name,\r\n symbolSize: point.symbolSize ?? 2,\r\n itemStyle: {\r\n color: point.color\r\n },\r\n emphasis: {\r\n disabled: true\r\n },\r\n label: {\r\n show: true,\r\n position: 'bottom',\r\n align: 'left',\r\n verticalAlign: 'bottom',\r\n formatter: () => `${point.name ?? ''}`,\r\n fontSize: 13,\r\n padding: [0, 0, 0, 10],\r\n width: 100,\r\n overflow: 'truncate',\r\n ellipsis: '...',\r\n fontWeight: 'bold',\r\n color: this.darkTheme ? '#fff' : '#000'\r\n },\r\n tooltip: {\r\n formatter: ({ value }: { value: number[] }) => `\r\n <strong>${this.chart?.xAxisName}:</strong> ${value[0].toFixed(3).replace(/[.,]000$/, \"\")}\r\n <br>\r\n <strong>${this.chart?.yAxisName}:</strong> ${value[1].toFixed(3).replace(/[.,]000$/, \"\")}\r\n `\r\n }\r\n })\r\n ),\r\n color: trace.color,\r\n lineStyle: {\r\n width: trace.width,\r\n type: trace.style\r\n },\r\n smooth: trace.smooth ?? false\r\n };\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed$.next();\r\n this.destroyed$.complete();\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { KiwiChartComponent } from './chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport * as echarts from 'echarts/core';\r\nimport { TitleComponent, TooltipComponent, GridComponent, LegendComponent, DataZoomComponent, ToolboxComponent } from 'echarts/components';\r\nimport { LineChart, ScatterChart } from 'echarts/charts';\r\nimport { CanvasRenderer } from 'echarts/renderers';\r\necharts.use([\r\n TitleComponent,\r\n TooltipComponent,\r\n GridComponent,\r\n LineChart,\r\n CanvasRenderer,\r\n LegendComponent,\r\n DataZoomComponent,\r\n ToolboxComponent,\r\n ScatterChart\r\n]);\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n KiwiChartComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n NgxEchartsModule.forRoot({ echarts })\r\n ],\r\n exports: [\r\n KiwiChartComponent\r\n ]\r\n})\r\nexport class KiwiChartModule { }\r\n","/*\r\n * Public API Surface of chart\r\n */\r\n\r\nexport * from './lib/chart.component';\r\nexport * from './lib/chart.module';\r\nexport * from './lib/models/chart.models';\r\nexport * from './lib/constants/chart.constants';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kiwibit-chart.mjs","sources":["../../../../projects/kiwibit/chart/src/lib/constants/chart.constants.ts","../../../../projects/kiwibit/chart/src/lib/models/chart.models.ts","../../../../projects/kiwibit/chart/src/lib/chart.component.ts","../../../../projects/kiwibit/chart/src/lib/chart.module.ts","../../../../projects/kiwibit/chart/src/public-api.ts","../../../../projects/kiwibit/chart/src/kiwibit-chart.ts"],"sourcesContent":["export const ADD_POINT_IMG_OFF_LIGHT = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADkUlEQVR4nO2bz0sUYRjHv8/otviDGDuWrhKdskBaQZi57MmLgVpIkJ06bH9AEdF/kF46dEg726liBSGwBEFnTm0oaF3s4lhdh1BhNuTpsDPLu+MvmHXm0ZzP6X2feWfn+3x33nf3fXlfIOV8Q0dd7O3tvaDr+igzDxPRLQCdANqSkRaZHQBbzPyViEqu65bW19crhzU+1ADDMO4S0QSAq3GoTJAfAJ5alvXhoItN4cDY2FiTruuTRPQSQEfc6hLgEoB7uVyu3XGcBQCsXtxngJ/846TUJYjR3d3dsrm5+VkN1nUB/7V/F7rRI6IpAG9bW1vX5ufnd+JW2giDg4Ntu7u7N5h5HEARQFa9rmna6NLSUimo1wzwB7zvqO/zP4loaHl5eTVu4XFgGEYfEc0BuKKEN1zX7Q0GRi2I6ro+ivrkvbOcPADYtr3CzLcBeEr4WkdHx3BQqRnAzMPqzUQ0dZaTD7BtewXAGzWm5lozgIjyaqO9vb2Z2NUlRziX/qCgKcHLaotsNvstTkVJkslk1kKh2pigGtCutlhcXNyOU1SSHJBLLVcN55xmqQcbhjFERNMA9gA8sizro4QOsTdA07TXqI47XQCmxHRIPZiZO5Vql5SOcz8GpAZIC5AmNUBagDSpAdICpEkNkBYgTWqAtABpUgOkBUgTeT3An89PoX7JOTKmafLxrfZDRFvMXIy6nhD5DfDn8yeSfCP40+rI6wnnvgtENoCZi0S0dZJiIuIQUTHqzZHHAL/PRV7JCfd5y7KO3KsQF2kXkBYgTWqAtABpUgOkBUiTGiAtQJrUAGkB0qQGSAuQJjVA6sGhqbQjpUNyg0SwntDQfL5RxPYINbqecFKkY4BSrttLVygU2vGfMDAwcDEU+hMUVAN+qS08z7sep6gkaW5uDufyOyiom6XLagtN0x7ErCtJxkP1L0FB3SxdCjUqGobRF6eqJPBzqPuVYeZarjUDXNctoXrAKCBLRHNn2QTlwMQFJbzhed5sUKlbijZN8w6A96HPqQCYBjCTyWTWTvsm6kKh0F6pVG4S0X1Uv3k1eTDziG3bBxsAAKZpTgJ4ErtSAZj5hW3bz9TYvlNjjuMs5HK5VgBmYsoSgIgmLMt6juOOzQFgx3E+9fT0rDJzP6rn7s4yG8z80LKsVwglDxxzdDafz2daWlpG/DM2eVSPzp72P0jbALYAlJm55HnebLlc/istKuW08g8wjAev/BoR3wAAAABJRU5ErkJggg==\";\r\nexport const ADD_POINT_IMG_OFF_DARK = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADgUlEQVR4nO2bz04TURTGvzNtaQOVB1BgYVhZDbSUDixZYwLoTlzXB5CI8QUM4ANQXeOCqCkJiUuWtpNCIaG6gRWoeyx/CmGOC5hyZ/izmDJzgM5vdefMafudr/femd65BQKaG7rqZKVSadndORhjohGAUwB1AGjzSZtbdgHeBmiFmPNt7bF8IpE4vCz5UgMKhZXnBJoG+KE3On2CsEkmv8kM9n27+LSD+fn5UFdX9xQBr71X5x8E/tCvpyaJyFTjmjPxLhYPAAyaMAqr751xWw846fb44sioMSPHbH5ubY2s9/T07HqstSHW1tba9vaOHmuaNg4gC0bUlkA0puvJfP3QalQqlZbqv8NfjjH/G4RhXU+tea7cAwyj3MsmLwJ4oIQ34veiCWtirA+B3Z2DMVvxhNptLh4AMpnkKmn0FISaEu6uVg9HrIO6ASeXujOYkbvNxVtkMslVmPhkj5rnDQDQp6aETG3OU2U+wsT2Whhpq6kacF/NqdYiP72V5R/7+7F1e4Tqc4JqQFxNGRpKVD1V5SMX1FKv9dx9QLMRlvrgYrE8TMwfGTjWGK/6B1PfJXTI9QDmWT6ZdzpNQk5KhuQQ6FDanVIimn4OCAyQFiBNYIC0AGkCA6QFSBMYIC1AmsAAaQHSBAZIC5DG9XpAsVgeBnMO9iVn1xQLK+zypdsaI+t2PcF9D2CexTUV3yAdjawnNP0QcG2AxsgC2L5GLW7ZIpOzbl/seg44HXOuV3KcY14fSF25V8ErgiEgLUCawABpAdIEBkgLkCYwQFqANIEB0gKkCQyQFiBNYIDgZ6s/pbekRIgZoKwnNPR7vlHE9gg1up5wXQRzgNK27aVbWqrEcUcoFArtjtCO1VAN+KNmxKNHj7wU5S8RRy3812qpBiyrKWbIfOmpJh8hpnF7ACWrqZ0lcR52soZR7vVWmvcYRrkXBNtVhpnqtdYNaGuP5UHYPMtClE1evM0mKH+YaFHCG+GwuWAd2JaijR/Lz5joq+N9DsH4yMRz+/ux9Zu+iXppqRJvba09gYkXp9+8WjwYNDowkLzYAAAwCsszDJrwQav/EKZ0PfVWDZ27D+jXU5MAz/inyieYpjOZ5Dtn+NKnMcVieRTMMwC6PRXmPRsMmlC7vcqVj6NKpVLk+Dg0CpgjzNRHJxucb/oNUpWBbSJeZqZ8OGwupNPpI2lRATeV/+HNFJvPZJXuAAAAAElFTkSuQmCC\";\r\nexport const ADD_POINT_IMG_ON = \"image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADjUlEQVR4nO2by08TURTGvzNAK49oDCsRNqbFxPogtsQ/AhNAowsxLksTlxIxrtwZwJUJsa07E1wQNSUh8X+wrQFDNSklMQGVjRgMj7TIHBcww50WWEyZOTzmt7pz7pn2O1/n3pne3gIeJxvarzM0nvM1LPl7GegGcB3gVgCN7kizzSpACwA+E3NqrbmUyt0NlfZK3tOAyKv8bRANA7jghEoXmSPw43Ss/cNunRUG3Bnnmu+/C0NMeOS8Nvdg8IvsYnAQz0hX41p54nEsHgAINBA5N/e8Mq6wfdm/K8spElNC1/S3G/XrM18eXFt1VGmVXH0z3Vi3Xn+ZGH0ARQH41X4m6s32B1LGsWlAaDznq1/yfYMy5hn4UQO961Ps4rQb4g+azmS+Q9dpkoDzZpBQWD9bChkTozkEGpb8vbBOeMWjXDwApKPtU5rGNwEUzSAjcOqPr9s41Hbi6FZPJqbEUS7eIB1tnwLhtSXIqDQA4LA1Z3PMYW2uoW/CUguBIkZbvQu0qEnr+r+vDutyjSKXZqwRNucE1YAmNSX3MLTiqCoX2aUWs9aK54CTRq3UG4cT+S7SKQnCJjTqz0QDHyV0iF0BxBQHoQVAG3ROSOmQHAKtSrtNSsSJnwM8A6QFSOMZIC1AGs8AaQHSeAZIC5DGM0BagDSeAdICpLG9HhBO5LvAlLAsOVdBJD7LNk9dgEZRu+sJtq8AYoofVPFV0lrNesKJHwL2DdAoCmDh4KTYZp62fgKzhe05YHvM2V7JKR/zmVhw370KTuENAWkB0ngGSAuQxjNAWoA0ngHSAqTxDJAWII1ngLQAaTwDBN9b/So9LyVCzoCd9YSqvs9Xi9geoWrXEw4Kbw5Q2pa9dKHRXBOOCTdezp4uC/01GqoBP9WMeq32kpOi3GSjFmW10C+jpRhAWWsO3XdUlYtoNehTjxmcMfuMBjGnYIGincl8h9PinKYzme8Aw3KXIcCs1TRgrbmUAjCn5Pl1nSaPsgnGHyYA+MwgocC0PLFzqJ4Qz99i0Puy1ymBkNQ3MVbk0sxh30QdGs01Ndb4ruiEe9ufvK8spScTC+5uAACE4/kRAg04LVQCAobSseATNVbxHJBdDA4CNOKeLJcgGk4vBp5WhPfKDycKPQQeASPgrDKHIRTAGFAve2v3PoQTmTrgTA8Y3QSEsbXB+bA/IK0AWGAgS0CKaXki2x/ZkBblcVj5D1vBAfS1aXiGAAAAAElFTkSuQmCC\";","/**\r\n * Interface to define the Chart model.\r\n *\r\n * @export\r\n * @interface Chart\r\n */\r\nexport interface Chart {\r\n title: string;\r\n showLegend?: boolean;\r\n xAxisType: AxisType;\r\n xAxisName: string;\r\n xAxisUom?: string;\r\n xMin?: number;\r\n xMax?: number;\r\n yAxisType: AxisType;\r\n yAxisName: string;\r\n yAxisUom?: string;\r\n yMin?: number;\r\n yMax?: number;\r\n /**\r\n * If the chart should have rendering animations.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n hasAnimations?: boolean;\r\n /**\r\n * The list of Shapes that the chart must render.\r\n * Each Shape corrisponds to a single chart component.\r\n *\r\n * @type {Shape[]}\r\n * @memberof Chart\r\n */\r\n shapes: Shape[];\r\n /**\r\n * Adds interaction with the chart, so that when clicking\r\n * everywhere in the chart area a point gets added and it's coordinate are \r\n * emitted with an event to the parent component.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n clickToAddPoint?: boolean;\r\n /**\r\n * Custom name for the \"clickToAddPoint\" event related button. \r\n *\r\n * @type {string}\r\n * @memberof Chart\r\n */\r\n addPointCustomName?: string;\r\n /**\r\n * Adds the possibility to use the scroll \r\n * to zoom in/out the chart area.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n scrollToZoom?: boolean;\r\n /**\r\n * Tells the chart to render or not the grid lines.\r\n *\r\n * @type {boolean}\r\n * @memberof Chart\r\n */\r\n showGrid?: boolean;\r\n}\r\n\r\nexport type Shape = Trace;\r\n\r\nexport interface Trace {\r\n name?: string;\r\n /**\r\n * The variant of the Shape, must be of type Trace.\r\n *\r\n * @type {ShapeVariant}\r\n * @memberof Trace\r\n */\r\n variant: ShapeVariant;\r\n color?: string;\r\n /**\r\n * The type of the Trace drawn by the chart.\r\n * Can be a line or a scatter. \r\n *\r\n * @type {TraceType}\r\n * @memberof Trace\r\n */\r\n type: TraceType;\r\n width?: number;\r\n /**\r\n * The list of points that define the Trace.\r\n *\r\n * @type {Point[]}\r\n * @memberof Trace\r\n */\r\n points: Point[];\r\n /**\r\n * Whether to show a smooth curve or a segmented curve.\r\n *\r\n * @type {boolean}\r\n * @memberof Trace\r\n */\r\n smooth?: boolean;\r\n /**\r\n * The style of the Trace.\r\n * Can be solid, dashed or dotted.\r\n *\r\n * @type {TraceStyle}\r\n * @memberof Trace\r\n */\r\n style?: TraceStyle;\r\n /**\r\n * Option to make the Trace selected/deselected by default.\r\n * A deselected Trace is obscured from the chart and can be toggled from the legend. \r\n *\r\n * @type {boolean}\r\n * @memberof Trace\r\n */\r\n selectedByDefault?: boolean;\r\n}\r\n\r\nexport interface Point extends BasePoint {\r\n name?: string;\r\n /**\r\n * Symbol used to represent the point in the chart.\r\n *\r\n * @type {PointSymbol}\r\n * @memberof Point\r\n */\r\n symbol?: PointSymbol;\r\n symbolSize?: number;\r\n color?: string;\r\n}\r\n\r\nexport interface BasePoint {\r\n x: number;\r\n y: number\r\n}\r\n\r\nexport enum TraceType {\r\n LINE = \"line\",\r\n SCATTER = \"scatter\"\r\n}\r\n\r\nexport enum PointSymbol {\r\n NONE = \"none\",\r\n CIRCLE = \"circle\",\r\n TRIANGLE = \"triangle\",\r\n PIN = \"pin\",\r\n DIAMOND = \"diamond\"\r\n}\r\n\r\nexport enum TraceStyle {\r\n SOLID = \"solid\",\r\n DASHED = \"dashed\",\r\n DOTTED = \"dotted\"\r\n}\r\n\r\nexport enum AxisType {\r\n VALUE = \"value\"\r\n}\r\n\r\nexport enum ShapeVariant {\r\n TRACE\r\n}","import { ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { CustomSeriesOption, ECharts, EChartsOption, LineSeriesOption, ScatterSeriesOption, zrender } from 'echarts';\r\nimport { interval, Subject, takeUntil } from 'rxjs';\r\nimport { ADD_POINT_IMG_OFF_DARK, ADD_POINT_IMG_OFF_LIGHT, ADD_POINT_IMG_ON } from './constants/chart.constants';\r\nimport { Chart, Shape, ShapeVariant, Trace, Point, BasePoint } from './models/chart.models';\r\n@Component({\r\n selector: 'kiwi-chart',\r\n template: `\r\n <div \r\n echarts \r\n [options]=\"chartOption\" \r\n [ngStyle]=\"{\r\n 'width': width,\r\n 'height': height\r\n }\"\r\n (chartInit)=\"onChartInit($event)\"\r\n [theme]=\"darkTheme ? 'dark' : ''\"\r\n ></div> \r\n `,\r\n styles: [`\r\n `]\r\n})\r\nexport class KiwiChartComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n /**\r\n * The Chart Object rendered by the canvas. For all the available options refer \r\n * to Chart interface in the models folder.\r\n *\r\n * @type {(Chart | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() chart: Chart | null = null;\r\n\r\n /**\r\n * Width and Height of the chart area. The dimensions refer to the father component \r\n * into which the kiwi-chart is inserted. For example in an empty page the width/height \r\n * of the chart can take the whole available space in the page.\r\n *\r\n * @type {string}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() width: string = '100%';\r\n @Input() height: string = '480px';\r\n\r\n /**\r\n * This property simply activates or not the dark theme of the chart\r\n * defined by the Echarts library. In addition the background color can be custom\r\n * so that the chart can match the background of the application in which it's used.\r\n *\r\n * @type {boolean}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Input() darkTheme: boolean = false;\r\n @Input() darkThemeBackground?: string;\r\n\r\n /**\r\n * Output event used to emit to the father component the coordinates\r\n * of the point clicked in the chart area. This functionality to be used must\r\n * have the property \"clickToAddPoint\" in the Chart object set to true.\r\n *\r\n * @type {EventEmitter<BasePoint>}\r\n * @memberof KiwiChartComponent\r\n */\r\n @Output() addPoint: EventEmitter<BasePoint> = new EventEmitter<BasePoint>();\r\n\r\n /**\r\n * The object used by echarts to initially create the Chart.\r\n *\r\n * @type {EChartsOption}\r\n * @memberof KiwiChartComponent\r\n */\r\n chartOption: EChartsOption = {};\r\n\r\n /**\r\n * The instance of the Chart.\r\n *\r\n * @type {(ECharts | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n echartsInstance: ECharts | null = null;\r\n\r\n /**\r\n * Used to perform actions (as point addition based on the cursor position) on the chart.\r\n *\r\n * @type {(zrender.ZRenderType | null)}\r\n * @memberof KiwiChartComponent\r\n */\r\n zr: zrender.ZRenderType | null = null;\r\n\r\n /**\r\n * Subject used to unsubscribe once the component gets destroyed.\r\n *\r\n * @private\r\n * @type {Subject<void>}\r\n * @memberof KiwiChartComponent\r\n */\r\n private destroyed$: Subject<void> = new Subject<void>();\r\n\r\n constructor(\r\n private cd: ChangeDetectorRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n /** \r\n * This is a manual change detection running every 200ms, the memory should not be much afflicted.\r\n * It's necessary because when interacting with the chart (for example addPoint),\r\n * Angular loses the change detection and the point is not added in the chart canvas.\r\n */\r\n interval(200)\r\n .pipe(\r\n takeUntil(this.destroyed$)\r\n )\r\n .subscribe(() => {\r\n this.cd.detectChanges();\r\n });\r\n }\r\n\r\n onChartInit(ec: ECharts) {\r\n this.echartsInstance = ec;\r\n this.setupZrEventHandler(ec);\r\n }\r\n\r\n setupZrEventHandler(ec: ECharts) {\r\n this.zr = ec.getZr();\r\n\r\n /** \r\n * Intercepts the click event on the chart (if the clickToAddPoint property is set to true)\r\n * and emits the point coordinates to the father component.\r\n */\r\n this.zr.on('click', params => {\r\n let option: any = ec.getOption();\r\n let active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\r\n if (active && this.chart?.clickToAddPoint) {\r\n const pointInPixel = [params.offsetX, params.offsetY];\r\n const pointInGrid = ec.convertFromPixel('grid', pointInPixel);\r\n if (ec.containPixel('grid', pointInPixel) && pointInGrid) {\r\n let newPoint: { x: number, y: number } = {\r\n x: +pointInGrid[0].toFixed(3),\r\n y: +pointInGrid[1].toFixed(3)\r\n };\r\n this.addPoint.emit(newPoint);\r\n }\r\n }\r\n });\r\n\r\n /** \r\n * This is used to change the cursor's icon when the selected action is\r\n * click to add point and viceversa back to default icon when it's not selected.\r\n */\r\n this.zr.on('mousemove', params => {\r\n const pointInPixel = [params.offsetX, params.offsetY];\r\n const option: any = ec.getOption();\r\n const active = option?.toolbox?.[0]?.feature?.myAddPoint?.iconStatus;\r\n if (active) {\r\n this.zr?.setCursorStyle(\r\n ec.containPixel('grid', pointInPixel) ? 'copy' : 'default'\r\n );\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n let chart: Chart = changes['chart']?.currentValue;\r\n if (chart) {\r\n this.chartOption = {\r\n title: {\r\n text: chart.title,\r\n },\r\n grid: {\r\n width: '75%'\r\n },\r\n backgroundColor: this.darkTheme ? this.darkThemeBackground ?? '#303030' : 'transparent', tooltip: {\r\n axisPointer: {\r\n type: 'cross',\r\n crossStyle: {\r\n color: '#bebebe'\r\n }\r\n }\r\n },\r\n toolbox: {\r\n orient: 'horizontal',\r\n left: 'center',\r\n feature: {\r\n dataZoom: {\r\n brushStyle: {\r\n borderColor: '#000',\r\n borderWidth: 1,\r\n borderType: 'dashed'\r\n },\r\n },\r\n saveAsImage: {},\r\n restore: {},\r\n myAddPoint: {\r\n show: chart.clickToAddPoint ?? false,\r\n title: chart.addPointCustomName ?? 'Add Point',\r\n icon: this.darkTheme ? ADD_POINT_IMG_OFF_DARK : ADD_POINT_IMG_OFF_LIGHT,\r\n iconStatus: false,\r\n onclick: () => {\r\n let option: any = this.echartsInstance?.getOption();\r\n let status = option.toolbox[0].feature.myAddPoint.iconStatus;\r\n this.echartsInstance?.setOption({\r\n toolbox: {\r\n feature: {\r\n myAddPoint: {\r\n iconStatus: !status,\r\n icon: !status ? ADD_POINT_IMG_ON : this.darkTheme ? ADD_POINT_IMG_OFF_DARK : ADD_POINT_IMG_OFF_LIGHT\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n },\r\n },\r\n dataZoom: [\r\n {\r\n type: 'inside',\r\n xAxisIndex: [0],\r\n throttle: 0,\r\n filterMode: 'none',\r\n disabled: !chart.scrollToZoom ?? true\r\n },\r\n {\r\n type: 'inside',\r\n yAxisIndex: [0],\r\n throttle: 0,\r\n filterMode: 'none',\r\n disabled: !chart.scrollToZoom ?? true\r\n },\r\n ],\r\n legend: {\r\n width: '25%',\r\n inactiveColor: this.darkTheme ? '#8b8b8b' : '#ccc',\r\n data: chart.shapes.map(\r\n (shape: Shape) => ({\r\n name: shape.name,\r\n icon: 'circle'\r\n })\r\n ),\r\n selected: chart.shapes.reduce((accumulator, shape: Shape) => ({ ...accumulator, [shape.name as string]: shape.selectedByDefault ?? true }), {}),\r\n show: chart.showLegend ?? false,\r\n orient: 'vertical',\r\n left: 'right',\r\n padding: [60, 20],\r\n type: 'scroll',\r\n textStyle: {\r\n width: 120,\r\n fontWeight: 'bold',\r\n overflow: 'break'\r\n }\r\n },\r\n xAxis: {\r\n type: chart.xAxisType,\r\n name: chart.xAxisUom ? `${chart.xAxisName} [ ${chart.xAxisUom} ]` : chart.xAxisName,\r\n nameLocation: 'middle',\r\n nameGap: 30,\r\n splitLine: {\r\n show: chart.showGrid ?? true,\r\n lineStyle: {\r\n color: this.darkTheme ? '#595959' : '#ccc'\r\n }\r\n },\r\n min: chart.xMin,\r\n max: chart.xMax,\r\n },\r\n yAxis: {\r\n type: chart.yAxisType,\r\n name: chart.yAxisUom ? `${chart.yAxisName} [ ${chart.yAxisUom} ]` : chart.yAxisName,\r\n nameLocation: 'middle',\r\n nameGap: 50,\r\n splitLine: {\r\n show: chart.showGrid ?? true,\r\n lineStyle: {\r\n color: this.darkTheme ? '#595959' : '#ccc'\r\n }\r\n },\r\n min: chart.yMin,\r\n max: chart.yMax,\r\n },\r\n series: this.createSeries(chart.shapes),\r\n animation: chart.hasAnimations,\r\n };\r\n }\r\n }\r\n\r\n createSeries(shapes: Shape[]): Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> {\r\n let series: Array<LineSeriesOption | CustomSeriesOption | ScatterSeriesOption> = [];\r\n shapes.forEach(\r\n (shape: Shape) => {\r\n switch (shape.variant) {\r\n case ShapeVariant.TRACE:\r\n series.push(this.createTrace(shape as Trace))\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n );\r\n return series;\r\n }\r\n\r\n createTrace(trace: Trace): LineSeriesOption | ScatterSeriesOption {\r\n return {\r\n type: trace.type,\r\n name: trace.name,\r\n data: trace.points.map(\r\n (point: Point) => ({\r\n value: [point.x, point.y],\r\n symbol: point.symbol ?? 'circle',\r\n name: point.name,\r\n symbolSize: point.symbolSize ?? 2,\r\n itemStyle: {\r\n color: point.color\r\n },\r\n emphasis: {\r\n disabled: true\r\n },\r\n label: {\r\n show: true,\r\n position: 'bottom',\r\n align: 'left',\r\n verticalAlign: 'bottom',\r\n formatter: () => `${point.name ?? ''}`,\r\n fontSize: 13,\r\n padding: [0, 0, 0, 10],\r\n width: 100,\r\n overflow: 'truncate',\r\n ellipsis: '...',\r\n fontWeight: 'bold',\r\n color: this.darkTheme ? '#fff' : '#000'\r\n },\r\n tooltip: {\r\n formatter: ({ value }: { value: number[] }) => `\r\n <strong>${this.chart?.xAxisName}:</strong> ${value[0].toFixed(3).replace(/[.,]000$/, \"\")}\r\n <br>\r\n <strong>${this.chart?.yAxisName}:</strong> ${value[1].toFixed(3).replace(/[.,]000$/, \"\")}\r\n `\r\n }\r\n })\r\n ),\r\n color: trace.color,\r\n lineStyle: {\r\n width: trace.width,\r\n type: trace.style\r\n },\r\n smooth: trace.smooth ?? false\r\n };\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed$.next();\r\n this.destroyed$.complete();\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { KiwiChartComponent } from './chart.component';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport * as echarts from 'echarts/core';\r\nimport { TitleComponent, TooltipComponent, GridComponent, LegendComponent, DataZoomComponent, ToolboxComponent } from 'echarts/components';\r\nimport { LineChart, ScatterChart } from 'echarts/charts';\r\nimport { CanvasRenderer } from 'echarts/renderers';\r\necharts.use([\r\n TitleComponent,\r\n TooltipComponent,\r\n GridComponent,\r\n LineChart,\r\n CanvasRenderer,\r\n LegendComponent,\r\n DataZoomComponent,\r\n ToolboxComponent,\r\n ScatterChart\r\n]);\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n KiwiChartComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n NgxEchartsModule.forRoot({ echarts })\r\n ],\r\n exports: [\r\n KiwiChartComponent\r\n ]\r\n})\r\nexport class KiwiChartModule { }\r\n","/*\r\n * Public API Surface of chart\r\n */\r\n\r\nexport * from './lib/chart.component';\r\nexport * from './lib/chart.module';\r\nexport * from './lib/models/chart.models';\r\nexport * from './lib/constants/chart.constants';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;AAAO,MAAM,uBAAuB,GAAG,y0CAAy0C;AACz2C,MAAM,sBAAsB,GAAG,izCAAizC;AACh1C,MAAM,gBAAgB,GAAG;;ICwIpB,UAGX;AAHD,CAAA,UAAY,SAAS,EAAA;AACjB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACvB,CAAC,EAHW,SAAS,KAAT,SAAS,GAGpB,EAAA,CAAA,CAAA,CAAA;IAEW,YAMX;AAND,CAAA,UAAY,WAAW,EAAA;AACnB,IAAA,WAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACvB,CAAC,EANW,WAAW,KAAX,WAAW,GAMtB,EAAA,CAAA,CAAA,CAAA;IAEW,WAIX;AAJD,CAAA,UAAY,UAAU,EAAA;AAClB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACrB,CAAC,EAJW,UAAU,KAAV,UAAU,GAIrB,EAAA,CAAA,CAAA,CAAA;IAEW,SAEX;AAFD,CAAA,UAAY,QAAQ,EAAA;AAChB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACnB,CAAC,EAFW,QAAQ,KAAR,QAAQ,GAEnB,EAAA,CAAA,CAAA,CAAA;IAEW,aAEX;AAFD,CAAA,UAAY,YAAY,EAAA;AACpB,IAAA,YAAA,CAAA,YAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;AACT,CAAC,EAFW,YAAY,KAAZ,YAAY,GAEvB,EAAA,CAAA,CAAA;;MC7IY,kBAAkB,CAAA;AA4E7B,IAAA,WAAA,CACU,EAAqB,EAAA;QAArB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;AA3E/B;;;;;;AAMG;QACM,IAAK,CAAA,KAAA,GAAiB,IAAI,CAAC;AAEpC;;;;;;;AAOG;QACM,IAAK,CAAA,KAAA,GAAW,MAAM,CAAC;QACvB,IAAM,CAAA,MAAA,GAAW,OAAO,CAAC;AAElC;;;;;;;AAOG;QACM,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAGpC;;;;;;;AAOG;AACO,QAAA,IAAA,CAAA,QAAQ,GAA4B,IAAI,YAAY,EAAa,CAAC;AAE5E;;;;;AAKG;QACH,IAAW,CAAA,WAAA,GAAkB,EAAE,CAAC;AAEhC;;;;;AAKG;QACH,IAAe,CAAA,eAAA,GAAmB,IAAI,CAAC;AAEvC;;;;;AAKG;QACH,IAAE,CAAA,EAAA,GAA+B,IAAI,CAAC;AAEtC;;;;;;AAMG;AACK,QAAA,IAAA,CAAA,UAAU,GAAkB,IAAI,OAAO,EAAQ,CAAC;KAInD;IAEL,QAAQ,GAAA;AACN;;;;AAIG;QACH,QAAQ,CAAC,GAAG,CAAC;AACV,aAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3B;aACA,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;KACN;AAED,IAAA,WAAW,CAAC,EAAW,EAAA;AACrB,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;KAC9B;AAED,IAAA,mBAAmB,CAAC,EAAW,EAAA;AAC7B,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;AAErB;;;AAGG;QACH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAG;AAC3B,YAAA,IAAI,MAAM,GAAQ,EAAE,CAAC,SAAS,EAAE,CAAC;AACjC,YAAA,IAAI,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;AACnE,YAAA,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE;gBACzC,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAC9D,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,WAAW,EAAE;AACxD,oBAAA,IAAI,QAAQ,GAA6B;wBACvC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC7B,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;qBAC9B,CAAC;AACF,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;AAEH;;;AAGG;QACH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,IAAG;YAC/B,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AACtD,YAAA,MAAM,MAAM,GAAQ,EAAE,CAAC,SAAS,EAAE,CAAC;AACnC,YAAA,MAAM,MAAM,GAAG,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;AACrE,YAAA,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,EAAE,EAAE,cAAc,CACrB,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,GAAG,SAAS,CAC3D,CAAC;AACH,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,KAAK,GAAU,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;AAClD,QAAA,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,WAAW,GAAG;AACjB,gBAAA,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,CAAC,KAAK;AAClB,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,KAAK,EAAE,KAAK;AACb,iBAAA;AACD,gBAAA,eAAe,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,IAAI,SAAS,GAAG,aAAa,EAAE,OAAO,EAAE;AAChG,oBAAA,WAAW,EAAE;AACX,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,UAAU,EAAE;AACV,4BAAA,KAAK,EAAE,SAAS;AACjB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,YAAY;AACpB,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,OAAO,EAAE;AACP,wBAAA,QAAQ,EAAE;AACR,4BAAA,UAAU,EAAE;AACV,gCAAA,WAAW,EAAE,MAAM;AACnB,gCAAA,WAAW,EAAE,CAAC;AACd,gCAAA,UAAU,EAAE,QAAQ;AACrB,6BAAA;AACF,yBAAA;AACD,wBAAA,WAAW,EAAE,EAAE;AACf,wBAAA,OAAO,EAAE,EAAE;AACX,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK;AACpC,4BAAA,KAAK,EAAE,KAAK,CAAC,kBAAkB,IAAI,WAAW;4BAC9C,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,sBAAsB,GAAG,uBAAuB;AACvE,4BAAA,UAAU,EAAE,KAAK;4BACjB,OAAO,EAAE,MAAK;gCACZ,IAAI,MAAM,GAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC;AACpD,gCAAA,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;AAC7D,gCAAA,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC;AAC9B,oCAAA,OAAO,EAAE;AACP,wCAAA,OAAO,EAAE;AACP,4CAAA,UAAU,EAAE;gDACV,UAAU,EAAE,CAAC,MAAM;gDACnB,IAAI,EAAE,CAAC,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC,SAAS,GAAG,sBAAsB,GAAG,uBAAuB;AACrG,6CAAA;AACF,yCAAA;AACF,qCAAA;AACF,iCAAA,CAAC,CAAC;6BACJ;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,CAAC,CAAC,CAAC;AACf,wBAAA,QAAQ,EAAE,CAAC;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,QAAQ,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI;AACtC,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,CAAC,CAAC,CAAC;AACf,wBAAA,QAAQ,EAAE,CAAC;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,QAAQ,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI;AACtC,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE,KAAK;oBACZ,aAAa,EAAE,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,MAAM;AAClD,oBAAA,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CACpB,CAAC,KAAY,MAAM;wBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,wBAAA,IAAI,EAAE,QAAQ;AACf,qBAAA,CAAC,CACH;AACD,oBAAA,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAY,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC,KAAK,CAAC,IAAc,GAAG,KAAK,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;AAC/I,oBAAA,IAAI,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK;AAC/B,oBAAA,MAAM,EAAE,UAAU;AAClB,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AACjB,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,SAAS,EAAE;AACT,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,QAAQ,EAAE,OAAO;AAClB,qBAAA;AACF,iBAAA;AACD,gBAAA,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,IAAI,EAAE,KAAK,CAAC,QAAQ,GAAG,GAAG,KAAK,CAAC,SAAS,CAAM,GAAA,EAAA,KAAK,CAAC,QAAQ,CAAA,EAAA,CAAI,GAAG,KAAK,CAAC,SAAS;AACnF,oBAAA,YAAY,EAAE,QAAQ;AACtB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;AACT,wBAAA,IAAI,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;AAC5B,wBAAA,SAAS,EAAE;4BACT,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,MAAM;AAC3C,yBAAA;AACF,qBAAA;oBACD,GAAG,EAAE,KAAK,CAAC,IAAI;oBACf,GAAG,EAAE,KAAK,CAAC,IAAI;AAChB,iBAAA;AACD,gBAAA,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,IAAI,EAAE,KAAK,CAAC,QAAQ,GAAG,GAAG,KAAK,CAAC,SAAS,CAAM,GAAA,EAAA,KAAK,CAAC,QAAQ,CAAA,EAAA,CAAI,GAAG,KAAK,CAAC,SAAS;AACnF,oBAAA,YAAY,EAAE,QAAQ;AACtB,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;AACT,wBAAA,IAAI,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;AAC5B,wBAAA,SAAS,EAAE;4BACT,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,MAAM;AAC3C,yBAAA;AACF,qBAAA;oBACD,GAAG,EAAE,KAAK,CAAC,IAAI;oBACf,GAAG,EAAE,KAAK,CAAC,IAAI;AAChB,iBAAA;gBACD,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;gBACvC,SAAS,EAAE,KAAK,CAAC,aAAa;aAC/B,CAAC;AACH,SAAA;KACF;AAED,IAAA,YAAY,CAAC,MAAe,EAAA;QAC1B,IAAI,MAAM,GAAuE,EAAE,CAAC;AACpF,QAAA,MAAM,CAAC,OAAO,CACZ,CAAC,KAAY,KAAI;YACf,QAAQ,KAAK,CAAC,OAAO;gBACnB,KAAK,YAAY,CAAC,KAAK;oBACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAc,CAAC,CAAC,CAAA;oBAC7C,MAAM;AACR,gBAAA;oBACE,MAAM;AACT,aAAA;AACH,SAAC,CACF,CAAC;AACF,QAAA,OAAO,MAAM,CAAC;KACf;AAED,IAAA,WAAW,CAAC,KAAY,EAAA;QACtB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,YAAA,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CACpB,CAAC,KAAY,MAAM;gBACjB,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACzB,gBAAA,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ;gBAChC,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,gBAAA,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC;AACjC,gBAAA,SAAS,EAAE;oBACT,KAAK,EAAE,KAAK,CAAC,KAAK;AACnB,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACR,oBAAA,QAAQ,EAAE,IAAI;AACf,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,aAAa,EAAE,QAAQ;oBACvB,SAAS,EAAE,MAAM,CAAA,EAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAE,CAAA;AACtC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACtB,oBAAA,KAAK,EAAE,GAAG;AACV,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,QAAQ,EAAE,KAAK;AACf,oBAAA,UAAU,EAAE,MAAM;oBAClB,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM;AACxC,iBAAA;AACD,gBAAA,OAAO,EAAE;AACP,oBAAA,SAAS,EAAE,CAAC,EAAE,KAAK,EAAuB,KAAK,CAAA;wBACnC,IAAI,CAAC,KAAK,EAAE,SAAS,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;;wBAE9E,IAAI,CAAC,KAAK,EAAE,SAAS,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AACzF,YAAA,CAAA;AACF,iBAAA;AACF,aAAA,CAAC,CACH;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,YAAA,SAAS,EAAE;gBACT,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,KAAK;AAClB,aAAA;AACD,YAAA,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK;SAC9B,CAAC;KACH;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC5B;;+GA1UU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAfnB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;AAWT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,YAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,cAAA,EAAA,YAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,0BAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAjB9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;AAWT,EAAA,CAAA;AACD,oBAAA,MAAM,EAAE,CAAC,CAAA;GACR,CAAC;AACH,iBAAA,CAAA;wGAUU,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAUG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAUG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBAUI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;ACvDT,OAAO,CAAC,GAAG,CAAC;IACV,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,SAAS;IACT,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;AACb,CAAA,CAAC,CAAC;MAeU,eAAe,CAAA;;4GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAVxB,YAAA,EAAA,CAAA,kBAAkB,CAGlB,EAAA,OAAA,EAAA,CAAA,YAAY,kCAIZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAGT,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EARjB,OAAA,EAAA,CAAA;YACP,YAAY;AACZ,YAAA,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;AACtC,SAAA,CAAA,EAAA,CAAA,CAAA;2FAKU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAZ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACZ,wBAAA,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;AACtC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;AACnB,qBAAA;AACF,iBAAA,CAAA;;;AChCD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -10,9 +10,13 @@ export interface Chart {
10
10
  xAxisType: AxisType;
11
11
  xAxisName: string;
12
12
  xAxisUom?: string;
13
+ xMin?: number;
14
+ xMax?: number;
13
15
  yAxisType: AxisType;
14
16
  yAxisName: string;
15
17
  yAxisUom?: string;
18
+ yMin?: number;
19
+ yMax?: number;
16
20
  /**
17
21
  * If the chart should have rendering animations.
18
22
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kiwibit/chart",
3
- "version": "1.0.10",
3
+ "version": "1.0.11",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.2.0",
6
6
  "@angular/core": "^13.2.0"