@progress/kendo-angular-charts 15.5.0-develop.9 → 16.0.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/charts.module.d.ts +2 -1
  2. package/common/has-observers.d.ts +9 -0
  3. package/esm2020/chart.component.mjs +1 -3
  4. package/esm2020/charts.module.mjs +4 -3
  5. package/esm2020/common/has-observers.mjs +10 -0
  6. package/esm2020/common/theme.service.mjs +6 -0
  7. package/esm2020/index.mjs +4 -0
  8. package/esm2020/package-metadata.mjs +2 -2
  9. package/esm2020/sankey/api-types/index.mjs +5 -0
  10. package/esm2020/sankey/data-binding/create-sankey-data.mjs +45 -0
  11. package/esm2020/sankey/data-binding/flat-binding.directive.mjs +65 -0
  12. package/esm2020/sankey/data-binding/flat-binding.event.mjs +15 -0
  13. package/esm2020/sankey/events/index.mjs +8 -0
  14. package/esm2020/sankey/events/instance-event.service.mjs +22 -0
  15. package/esm2020/sankey/events/sankey-base-event.mjs +18 -0
  16. package/esm2020/sankey/events/sankey-link-event.mjs +17 -0
  17. package/esm2020/sankey/events/sankey-node-event.mjs +17 -0
  18. package/esm2020/sankey/labels.component.mjs +49 -0
  19. package/esm2020/sankey/legend.component.mjs +64 -0
  20. package/esm2020/sankey/links.component.mjs +37 -0
  21. package/esm2020/sankey/localization/custom-messages.component.mjs +42 -0
  22. package/esm2020/sankey/localization/localized-messages.directive.mjs +37 -0
  23. package/esm2020/sankey/localization/messages.mjs +23 -0
  24. package/esm2020/sankey/nodes.component.mjs +43 -0
  25. package/esm2020/sankey/title.component.mjs +59 -0
  26. package/esm2020/sankey/tooltip/link-tooltip-template-context.mjs +18 -0
  27. package/esm2020/sankey/tooltip/link-tooltip-template.directive.mjs +87 -0
  28. package/esm2020/sankey/tooltip/node-tooltip-template-context.mjs +18 -0
  29. package/esm2020/sankey/tooltip/node-tooltip-template.directive.mjs +64 -0
  30. package/esm2020/sankey/tooltip/square-symbol.directive.mjs +43 -0
  31. package/esm2020/sankey/tooltip/tooltip-popup.component.mjs +203 -0
  32. package/esm2020/sankey/tooltip/tooltip-template.service.mjs +16 -0
  33. package/esm2020/sankey/tooltip.component.mjs +52 -0
  34. package/esm2020/sankey.component.mjs +378 -0
  35. package/esm2020/sankey.directives.mjs +46 -0
  36. package/esm2020/sankey.module.mjs +63 -0
  37. package/fesm2015/progress-kendo-angular-charts.mjs +1353 -30
  38. package/fesm2020/progress-kendo-angular-charts.mjs +1347 -27
  39. package/index.d.ts +4 -0
  40. package/package.json +9 -8
  41. package/sankey/api-types/index.d.ts +21 -0
  42. package/sankey/data-binding/create-sankey-data.d.ts +9 -0
  43. package/sankey/data-binding/flat-binding.directive.d.ts +38 -0
  44. package/sankey/data-binding/flat-binding.event.d.ts +24 -0
  45. package/sankey/events/index.d.ts +8 -0
  46. package/sankey/events/instance-event.service.d.ts +14 -0
  47. package/sankey/events/sankey-base-event.d.ts +24 -0
  48. package/sankey/events/sankey-link-event.d.ts +20 -0
  49. package/sankey/events/sankey-node-event.d.ts +20 -0
  50. package/sankey/labels.component.d.ts +36 -0
  51. package/sankey/legend.component.d.ts +82 -0
  52. package/sankey/links.component.d.ts +22 -0
  53. package/sankey/localization/custom-messages.component.d.ts +18 -0
  54. package/sankey/localization/localized-messages.directive.d.ts +16 -0
  55. package/sankey/localization/messages.d.ts +17 -0
  56. package/sankey/nodes.component.d.ts +34 -0
  57. package/sankey/title.component.d.ts +70 -0
  58. package/sankey/tooltip/link-tooltip-template-context.d.ts +26 -0
  59. package/sankey/tooltip/link-tooltip-template.directive.d.ts +78 -0
  60. package/sankey/tooltip/node-tooltip-template-context.d.ts +26 -0
  61. package/sankey/tooltip/node-tooltip-template.directive.d.ts +55 -0
  62. package/sankey/tooltip/square-symbol.directive.d.ts +16 -0
  63. package/sankey/tooltip/tooltip-popup.component.d.ts +60 -0
  64. package/sankey/tooltip/tooltip-template.service.d.ts +15 -0
  65. package/sankey/tooltip.component.d.ts +49 -0
  66. package/sankey.component.d.ts +200 -0
  67. package/sankey.directives.d.ts +27 -0
  68. package/sankey.module.d.ts +51 -0
@@ -3,12 +3,12 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { isDevMode, Directive, Optional, Injectable, SimpleChange, TemplateRef, Component, ChangeDetectionStrategy, Input, ContentChild, ElementRef, ViewChild, ViewChildren, EventEmitter, Output, ContentChildren, LOCALE_ID, Inject, InjectionToken, NgModule } from '@angular/core';
6
+ import { isDevMode, Directive, Optional, Injectable, SimpleChange, TemplateRef, Component, ChangeDetectionStrategy, Input, ContentChild, ElementRef, ViewChild, ViewChildren, EventEmitter, Output, ContentChildren, LOCALE_ID, Inject, InjectionToken, NgModule, HostBinding, forwardRef } from '@angular/core';
7
7
  import * as i8 from '@progress/kendo-angular-common';
8
- import { isDocumentAvailable, shouldShowValidationUI, ResizeSensorModule, WatermarkModule } from '@progress/kendo-angular-common';
8
+ import { isDocumentAvailable, shouldShowValidationUI, ResizeSensorModule, WatermarkModule, PreventableEvent as PreventableEvent$1, isChanged } from '@progress/kendo-angular-common';
9
9
  import * as i4 from '@progress/kendo-angular-l10n';
10
- import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
11
- import { DateCategoryAxis, DateValueAxis, DomEventsBuilder as DomEventsBuilder$1, InstanceObserver, chartBaseTheme, Chart, StockChart, Sparkline } from '@progress/kendo-charts';
10
+ import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
11
+ import { DateCategoryAxis, DateValueAxis, DomEventsBuilder as DomEventsBuilder$1, InstanceObserver, chartBaseTheme, Chart, StockChart, Sparkline, Sankey } from '@progress/kendo-charts';
12
12
  import { exportImage, exportSVG } from '@progress/kendo-drawing';
13
13
  import { validatePackage } from '@progress/kendo-licensing';
14
14
  import { Subject, BehaviorSubject, combineLatest, Subscription } from 'rxjs';
@@ -18,9 +18,12 @@ import { PopupService, POPUP_CONTAINER, PopupModule } from '@progress/kendo-angu
18
18
  import * as i4$1 from '@angular/common';
19
19
  import { CommonModule } from '@angular/common';
20
20
  import * as i3 from '@progress/kendo-angular-intl';
21
- import { homeIcon } from '@progress/kendo-svg-icons';
21
+ import { homeIcon, arrowRightIcon } from '@progress/kendo-svg-icons';
22
22
  import * as i1$1 from '@progress/kendo-angular-navigation';
23
23
  import { BreadCrumbModule } from '@progress/kendo-angular-navigation';
24
+ import * as i5 from '@progress/kendo-angular-icons';
25
+ import { IconsModule } from '@progress/kendo-angular-icons';
26
+ import { getter } from '@progress/kendo-common';
24
27
 
25
28
  const getTouch = (domEvent) => {
26
29
  return {
@@ -1817,7 +1820,7 @@ class ZoomStartEvent extends PreventableEvent {
1817
1820
  }
1818
1821
  }
1819
1822
 
1820
- const EVENT_MAP$1 = {
1823
+ const EVENT_MAP$2 = {
1821
1824
  axisLabelClick: AxisLabelClickEvent,
1822
1825
  drag: DragEvent,
1823
1826
  dragEnd: DragEndEvent,
@@ -1846,10 +1849,10 @@ const EVENT_MAP$1 = {
1846
1849
  /**
1847
1850
  * @hidden
1848
1851
  */
1849
- class InstanceEventService {
1852
+ class InstanceEventService$1 {
1850
1853
  create(name, args, sender) {
1851
- if (EVENT_MAP$1[name]) {
1852
- return new EVENT_MAP$1[name](args, sender);
1854
+ if (EVENT_MAP$2[name]) {
1855
+ return new EVENT_MAP$2[name](args, sender);
1853
1856
  }
1854
1857
  }
1855
1858
  }
@@ -1873,8 +1876,8 @@ const packageMetadata = {
1873
1876
  name: '@progress/kendo-angular-charts',
1874
1877
  productName: 'Kendo UI for Angular',
1875
1878
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
1876
- publishDate: 1712910844,
1877
- version: '15.5.0-develop.9',
1879
+ publishDate: 1714060786,
1880
+ version: '16.0.0-develop.1',
1878
1881
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
1879
1882
  };
1880
1883
 
@@ -1982,6 +1985,13 @@ class DrilldownEvent extends PreventableEvent {
1982
1985
  }
1983
1986
  }
1984
1987
 
1988
+ /**
1989
+ * @hidden
1990
+ */
1991
+ function hasObservers(emitter) {
1992
+ return emitter.observers.length > 0;
1993
+ }
1994
+
1985
1995
  /**
1986
1996
  * Fallback theme in case the Theme Service fails
1987
1997
  * to read the variables from the main theme.
@@ -2302,6 +2312,10 @@ class ThemeService extends ConfigurationService {
2302
2312
  this.mapColor('seriesDefaults.waterfall.line.color', 'chart-major-lines');
2303
2313
  this.mapColor('title.color', 'normal-text-color');
2304
2314
  this.mapColor('subtitle.color', 'normal-text-color');
2315
+ // Sankey diagram
2316
+ this.mapColor('labels.color', 'normal-text-color');
2317
+ this.mapColor('labels.stroke.color', 'background');
2318
+ this.mapColor('links.color', 'chart-major-lines');
2305
2319
  const opacity = parseFloat(this.queryStyle('chart-area-opacity').opacity);
2306
2320
  if (!isNaN(opacity)) {
2307
2321
  this.setStyle('seriesDefaults.area.opacity', opacity);
@@ -2332,6 +2346,8 @@ class ThemeService extends ConfigurationService {
2332
2346
  this.setStyle('title.font', titleFont);
2333
2347
  this.setStyle('subtitle.font', paneTitleFont);
2334
2348
  this.setStyle('paneDefaults.title.font', paneTitleFont);
2349
+ // Sankey diagram
2350
+ this.setStyle('labels.font', defaultFont);
2335
2351
  }
2336
2352
  setSeriesColors() {
2337
2353
  const element = this.element;
@@ -2365,9 +2381,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2365
2381
  type: Injectable
2366
2382
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
2367
2383
 
2368
- function hasObservers(emitter) {
2369
- return emitter.observers.length > 0;
2370
- }
2371
2384
  /**
2372
2385
  * The root Chart component.
2373
2386
  *
@@ -3056,11 +3069,11 @@ class ChartComponent {
3056
3069
  return Boolean(this.localizationService.rtl);
3057
3070
  }
3058
3071
  }
3059
- ChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChartComponent, deps: [{ token: ConfigurationService }, { token: ThemeService }, { token: i0.ElementRef }, { token: i3.IntlService }, { token: i4.LocalizationService }, { token: i0.NgZone }, { token: InstanceEventService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3072
+ ChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChartComponent, deps: [{ token: ConfigurationService }, { token: ThemeService }, { token: i0.ElementRef }, { token: i3.IntlService }, { token: i4.LocalizationService }, { token: i0.NgZone }, { token: InstanceEventService$1 }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3060
3073
  ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ChartComponent, selector: "kendo-chart", inputs: { pannable: "pannable", renderAs: "renderAs", seriesColors: "seriesColors", subtitle: "subtitle", title: "title", transitions: "transitions", zoomable: "zoomable", axisDefaults: "axisDefaults", categoryAxis: "categoryAxis", chartArea: "chartArea", legend: "legend", panes: "panes", paneDefaults: "paneDefaults", plotArea: "plotArea", series: "series", seriesDefaults: "seriesDefaults", tooltip: "tooltip", valueAxis: "valueAxis", xAxis: "xAxis", yAxis: "yAxis", resizeRateLimit: "resizeRateLimit", popupSettings: "popupSettings", drilldownLevel: "drilldownLevel" }, outputs: { axisLabelClick: "axisLabelClick", drag: "drag", dragEnd: "dragEnd", dragStart: "dragStart", legendItemHover: "legendItemHover", legendItemLeave: "legendItemLeave", noteClick: "noteClick", noteHover: "noteHover", noteLeave: "noteLeave", paneRender: "paneRender", plotAreaClick: "plotAreaClick", plotAreaHover: "plotAreaHover", plotAreaLeave: "plotAreaLeave", render: "render", select: "select", selectEnd: "selectEnd", selectStart: "selectStart", seriesClick: "seriesClick", drilldown: "drilldown", seriesHover: "seriesHover", seriesOver: "seriesOver", seriesLeave: "seriesLeave", zoom: "zoom", zoomEnd: "zoomEnd", zoomStart: "zoomStart", legendItemClick: "legendItemClick", drilldownLevelChange: "drilldownLevelChange" }, providers: [
3061
3074
  ConfigurationService,
3062
3075
  TooltipTemplateService,
3063
- InstanceEventService,
3076
+ InstanceEventService$1,
3064
3077
  LocalizationService,
3065
3078
  {
3066
3079
  provide: L10N_PREFIX,
@@ -3087,7 +3100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3087
3100
  providers: [
3088
3101
  ConfigurationService,
3089
3102
  TooltipTemplateService,
3090
- InstanceEventService,
3103
+ InstanceEventService$1,
3091
3104
  LocalizationService,
3092
3105
  {
3093
3106
  provide: L10N_PREFIX,
@@ -3109,7 +3122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3109
3122
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
3110
3123
  `
3111
3124
  }]
3112
- }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: ThemeService }, { type: i0.ElementRef }, { type: i3.IntlService }, { type: i4.LocalizationService }, { type: i0.NgZone }, { type: InstanceEventService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { pannable: [{
3125
+ }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: ThemeService }, { type: i0.ElementRef }, { type: i3.IntlService }, { type: i4.LocalizationService }, { type: i0.NgZone }, { type: InstanceEventService$1 }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { pannable: [{
3113
3126
  type: Input
3114
3127
  }], renderAs: [{
3115
3128
  type: Input
@@ -6636,16 +6649,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6636
6649
  type: Injectable
6637
6650
  }] });
6638
6651
 
6639
- const EVENT_MAP = {
6652
+ const EVENT_MAP$1 = {
6640
6653
  navigatorFilter: NavigatorFilterEvent
6641
6654
  };
6642
6655
  /**
6643
6656
  * @hidden
6644
6657
  */
6645
- class StockInstanceEventService extends InstanceEventService {
6658
+ class StockInstanceEventService extends InstanceEventService$1 {
6646
6659
  create(name, args, sender) {
6647
- if (EVENT_MAP[name]) {
6648
- return new EVENT_MAP[name](args, sender);
6660
+ if (EVENT_MAP$1[name]) {
6661
+ return new EVENT_MAP$1[name](args, sender);
6649
6662
  }
6650
6663
  return super.create(name, args, sender);
6651
6664
  }
@@ -7667,11 +7680,11 @@ class SparklineComponent extends ChartComponent {
7667
7680
  this.instance.setOptions(Sparkline.normalizeOptions(this.options));
7668
7681
  }
7669
7682
  }
7670
- SparklineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SparklineComponent, deps: [{ token: ConfigurationService }, { token: ThemeService }, { token: i0.ElementRef }, { token: i3.IntlService }, { token: i4.LocalizationService }, { token: i0.NgZone }, { token: InstanceEventService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
7683
+ SparklineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SparklineComponent, deps: [{ token: ConfigurationService }, { token: ThemeService }, { token: i0.ElementRef }, { token: i3.IntlService }, { token: i4.LocalizationService }, { token: i0.NgZone }, { token: InstanceEventService$1 }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
7671
7684
  SparklineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SparklineComponent, selector: "kendo-sparkline", inputs: { type: "type", data: "data", drilldownLevel: "drilldownLevel" }, outputs: { drilldown: "drilldown", drilldownLevelChange: "drilldownLevelChange" }, providers: [
7672
7685
  ConfigurationService,
7673
7686
  TooltipTemplateService,
7674
- InstanceEventService,
7687
+ InstanceEventService$1,
7675
7688
  LocalizationService,
7676
7689
  {
7677
7690
  provide: L10N_PREFIX,
@@ -7696,7 +7709,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7696
7709
  providers: [
7697
7710
  ConfigurationService,
7698
7711
  TooltipTemplateService,
7699
- InstanceEventService,
7712
+ InstanceEventService$1,
7700
7713
  LocalizationService,
7701
7714
  {
7702
7715
  provide: L10N_PREFIX,
@@ -7716,7 +7729,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7716
7729
  <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
7717
7730
  `
7718
7731
  }]
7719
- }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: ThemeService }, { type: i0.ElementRef }, { type: i3.IntlService }, { type: i4.LocalizationService }, { type: i0.NgZone }, { type: InstanceEventService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { type: [{
7732
+ }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: ThemeService }, { type: i0.ElementRef }, { type: i3.IntlService }, { type: i4.LocalizationService }, { type: i0.NgZone }, { type: InstanceEventService$1 }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { type: [{
7720
7733
  type: Input
7721
7734
  }], data: [{
7722
7735
  type: Input
@@ -7850,6 +7863,1316 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7850
7863
  }]
7851
7864
  }] });
7852
7865
 
7866
+ /**
7867
+ * @hidden
7868
+ */
7869
+ class SankeyBaseEvent extends PreventableEvent$1 {
7870
+ /**
7871
+ * @hidden
7872
+ */
7873
+ constructor(e, sender) {
7874
+ super();
7875
+ this.sender = sender;
7876
+ this.originalEvent = e.originalEvent;
7877
+ }
7878
+ }
7879
+
7880
+ /**
7881
+ * Arguments for the node-related events of the [`SankeyComponent`]({% slug api_charts_sankeycomponent %}).
7882
+ */
7883
+ class SankeyNodeEvent extends SankeyBaseEvent {
7884
+ /**
7885
+ * @hidden
7886
+ */
7887
+ constructor(e, sender) {
7888
+ super(e, sender);
7889
+ this.dataItem = e.dataItem;
7890
+ }
7891
+ }
7892
+
7893
+ /**
7894
+ * Arguments for the link-related events of the [`SankeyComponent`]({% slug api_charts_sankeycomponent %}).
7895
+ */
7896
+ class SankeyLinkEvent extends SankeyBaseEvent {
7897
+ /**
7898
+ * @hidden
7899
+ */
7900
+ constructor(e, sender) {
7901
+ super(e, sender);
7902
+ this.dataItem = e.dataItem;
7903
+ }
7904
+ }
7905
+
7906
+ const EVENT_MAP = {
7907
+ nodeEnter: SankeyNodeEvent,
7908
+ nodeLeave: SankeyNodeEvent,
7909
+ linkEnter: SankeyLinkEvent,
7910
+ linkLeave: SankeyLinkEvent,
7911
+ nodeClick: SankeyNodeEvent,
7912
+ linkClick: SankeyLinkEvent
7913
+ };
7914
+ /**
7915
+ * @hidden
7916
+ */
7917
+ class InstanceEventService {
7918
+ create(name, args, sender) {
7919
+ return new EVENT_MAP[name](args, sender);
7920
+ }
7921
+ }
7922
+
7923
+ /**
7924
+ * The context that is passed to the Sankey diagram Link tooltip template.
7925
+ */
7926
+ class SankeyLinkTooltipTemplateContext {
7927
+ /**
7928
+ * @hidden
7929
+ */
7930
+ constructor(e) {
7931
+ const dataItem = e.dataItem;
7932
+ this.source = dataItem.source;
7933
+ this.target = dataItem.target;
7934
+ this.value = dataItem.value;
7935
+ }
7936
+ }
7937
+
7938
+ /**
7939
+ * A directive that selects a [template](link:site.data.urls.angular['templatesyntax'])
7940
+ * within the `<kendo-sankey-tooltip>` component for the
7941
+ * [links tooltip](slug:tooltip_sankey#toc-specifying-a-template).
7942
+ * The following context fields are frequently utilized:
7943
+ * - `let-source="source"`&mdash;The link source data item..
7944
+ * - `let-target="target"`&mdash;The link target data item.
7945
+ * - `let-value="value"`&mdash;The link value.
7946
+ * For the full list of available fields, refer to the [`SankeyLinkTooltipTemplateContext`](slug:api_charts_sankeylinktooltiptemplatecontext).
7947
+ *
7948
+ * @example
7949
+ * ```ts
7950
+ * import { Component } from '@angular/core';
7951
+ *
7952
+ * _@Component({
7953
+ * selector: 'my-app',
7954
+ * template: `
7955
+ * <kendo-chart>
7956
+ * <kendo-chart-tooltip>
7957
+ * <ng-template kendoChartSeriesTooltipTemplate let-value="value">
7958
+ * Value is {{value}}
7959
+ * </ng-template>
7960
+ * </kendo-chart-tooltip>
7961
+ * <kendo-chart-series>
7962
+ * <kendo-chart-series-item [data]="[1, 2, 3]">
7963
+ * </kendo-chart-series-item>
7964
+ * </kendo-chart-series>
7965
+ * </kendo-chart>
7966
+ * `
7967
+ * })
7968
+ * class AppComponent {
7969
+ * }
7970
+ *
7971
+ * import { Component } from '@angular/core';
7972
+ * import { SankeyData } from '@progress/kendo-angular-charts';
7973
+ *
7974
+ * _@Component({
7975
+ * selector: 'my-app',
7976
+ * template: `
7977
+ * <kendo-sankey [data]="data">
7978
+ * <kendo-sankey-tooltip [followPointer]="true">
7979
+ * <ng-template kendoSankeyLinkTooltipTemplate let-source="source" let-target="target" let-value="value">
7980
+ * {{ source.label?.text }} - {{ target.label?.text }}: {{ value }}
7981
+ * </ng-template>
7982
+ * </kendo-sankey-tooltip>
7983
+ * </kendo-sankey>
7984
+ * `,
7985
+ * })
7986
+ * export class AppComponent {
7987
+ * public data: SankeyData = {
7988
+ * nodes: [
7989
+ * { id: 1, label: { text: 'Linux' } },
7990
+ * { id: 0, label: { text: 'iOS'} },
7991
+ * { id: 2, label: { text: 'Mobile' } },
7992
+ * { id: 3, label: { text: 'Desktop' } },
7993
+ * ],
7994
+ * links: [
7995
+ * { sourceId: 0, targetId: 2, value: 1 },
7996
+ * { sourceId: 1, targetId: 2, value: 2 },
7997
+ * { sourceId: 1, targetId: 3, value: 3 },
7998
+ * ],
7999
+ * };
8000
+ * }
8001
+ *
8002
+ * ```
8003
+ */
8004
+ class SankeyLinkTooltipTemplateDirective {
8005
+ constructor(templateRef) {
8006
+ this.templateRef = templateRef;
8007
+ }
8008
+ }
8009
+ SankeyLinkTooltipTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyLinkTooltipTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
8010
+ SankeyLinkTooltipTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SankeyLinkTooltipTemplateDirective, selector: "[kendoSankeyLinkTooltipTemplate]", ngImport: i0 });
8011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyLinkTooltipTemplateDirective, decorators: [{
8012
+ type: Directive,
8013
+ args: [{
8014
+ selector: '[kendoSankeyLinkTooltipTemplate]'
8015
+ }]
8016
+ }], ctorParameters: function () {
8017
+ return [{ type: i0.TemplateRef, decorators: [{
8018
+ type: Optional
8019
+ }] }];
8020
+ } });
8021
+
8022
+ /**
8023
+ * The context that is passed to the Sankey diagram Node tooltip template.
8024
+ */
8025
+ class SankeyNodeTooltipTemplateContext {
8026
+ /**
8027
+ * @hidden
8028
+ */
8029
+ constructor(e) {
8030
+ const dataItem = e.dataItem;
8031
+ this.label = dataItem.label;
8032
+ this.color = dataItem.color;
8033
+ this.value = e.nodeValue;
8034
+ }
8035
+ }
8036
+
8037
+ /**
8038
+ * A directive that selects a [template](link:site.data.urls.angular['templatesyntax'])
8039
+ * within the `<kendo-sankey-tooltip>` component for the
8040
+ * [series tooltip](slug:tooltip_sankey#toc-specifying-a-template).
8041
+ * The following context fields are frequently utilized:
8042
+ * - `let-color="color"`&mdash;The node color.
8043
+ * - `let-label="label"`&mdash;The node label data.
8044
+ * - `let-value="value"`&mdash;The node value.
8045
+ * For the full list of available fields, refer to the [`SankeyNodeTooltipTemplateContext`](slug:api_charts_sankeynodetooltiptemplatecontext).
8046
+ *
8047
+ * @example
8048
+ * ```ts
8049
+ * import { Component } from '@angular/core';
8050
+ * import { SankeyData } from '@progress/kendo-angular-charts';
8051
+ *
8052
+ * _@Component({
8053
+ * selector: 'my-app',
8054
+ * template: `
8055
+ * <kendo-sankey [data]="data">
8056
+ * <ng-template kendoSankeyNodeTooltipTemplate let-color="color" let-label="label" let-value="value">
8057
+ * {{ label.text }}: {{ value }}
8058
+ * </ng-template>
8059
+ * </kendo-sankey>
8060
+ * `,
8061
+ * })
8062
+ * export class AppComponent {
8063
+ * public data: SankeyData = {
8064
+ * nodes: [
8065
+ * { id: 1, label: { text: 'Linux' } },
8066
+ * { id: 0, label: { text: 'iOS'} },
8067
+ * { id: 2, label: { text: 'Mobile' } },
8068
+ * { id: 3, label: { text: 'Desktop' } },
8069
+ * ],
8070
+ * links: [
8071
+ * { sourceId: 0, targetId: 2, value: 1 },
8072
+ * { sourceId: 1, targetId: 2, value: 2 },
8073
+ * { sourceId: 1, targetId: 3, value: 3 },
8074
+ * ],
8075
+ * };
8076
+ * }
8077
+ *
8078
+ * ```
8079
+ */
8080
+ class SankeyNodeTooltipTemplateDirective {
8081
+ constructor(templateRef) {
8082
+ this.templateRef = templateRef;
8083
+ }
8084
+ }
8085
+ SankeyNodeTooltipTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyNodeTooltipTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
8086
+ SankeyNodeTooltipTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SankeyNodeTooltipTemplateDirective, selector: "[kendoSankeyNodeTooltipTemplate]", ngImport: i0 });
8087
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyNodeTooltipTemplateDirective, decorators: [{
8088
+ type: Directive,
8089
+ args: [{
8090
+ selector: '[kendoSankeyNodeTooltipTemplate]'
8091
+ }]
8092
+ }], ctorParameters: function () {
8093
+ return [{ type: i0.TemplateRef, decorators: [{
8094
+ type: Optional
8095
+ }] }];
8096
+ } });
8097
+
8098
+ /**
8099
+ * @hidden
8100
+ */
8101
+ class SankeyTooltipTemplateService {
8102
+ }
8103
+ SankeyTooltipTemplateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyTooltipTemplateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
8104
+ SankeyTooltipTemplateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyTooltipTemplateService });
8105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyTooltipTemplateService, decorators: [{
8106
+ type: Injectable
8107
+ }] });
8108
+
8109
+ /**
8110
+ * @hidden
8111
+ */
8112
+ class SquareSymbol {
8113
+ constructor() {
8114
+ this.size = 15;
8115
+ this.display = 'inline-flex';
8116
+ this.marginLeft = 3;
8117
+ }
8118
+ }
8119
+ SquareSymbol.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SquareSymbol, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8120
+ SquareSymbol.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SquareSymbol, selector: "[squareSymbol]", inputs: { color: "color", size: "size" }, host: { properties: { "style.backgroundColor": "this.color", "style.width.px": "this.size", "style.height.px": "this.size", "style.display": "this.display", "style.marginLeft.px": "this.marginLeft" } }, ngImport: i0 });
8121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SquareSymbol, decorators: [{
8122
+ type: Directive,
8123
+ args: [{
8124
+ selector: '[squareSymbol]'
8125
+ }]
8126
+ }], propDecorators: { color: [{
8127
+ type: Input
8128
+ }, {
8129
+ type: HostBinding,
8130
+ args: ['style.backgroundColor']
8131
+ }], size: [{
8132
+ type: Input
8133
+ }, {
8134
+ type: HostBinding,
8135
+ args: ['style.width.px']
8136
+ }, {
8137
+ type: HostBinding,
8138
+ args: ['style.height.px']
8139
+ }], display: [{
8140
+ type: HostBinding,
8141
+ args: ['style.display']
8142
+ }], marginLeft: [{
8143
+ type: HostBinding,
8144
+ args: ['style.marginLeft.px']
8145
+ }] } });
8146
+
8147
+ const DEFAULT_OFFSET = 12;
8148
+ /**
8149
+ * @hidden
8150
+ */
8151
+ class SankeyTooltipPopupComponent extends BaseTooltip {
8152
+ constructor(element, popupService, templateService, localizationService, intlService, ngZone) {
8153
+ super(popupService, localizationService);
8154
+ this.element = element;
8155
+ this.popupService = popupService;
8156
+ this.templateService = templateService;
8157
+ this.localizationService = localizationService;
8158
+ this.intlService = intlService;
8159
+ this.ngZone = ngZone;
8160
+ this.animate = false;
8161
+ this.wrapperClass = 'k-chart-tooltip-wrapper';
8162
+ this.arrowRightIcon = arrowRightIcon;
8163
+ // TODO: Move to themes
8164
+ this.textStyle = { margin: '0 3px' };
8165
+ this.tooltipStyle = { display: 'flex', alignItems: 'center' };
8166
+ }
8167
+ onInit() {
8168
+ this.popupRef.popupElement.className += ` ${this.wrapperClass}`;
8169
+ }
8170
+ show(e) {
8171
+ this.isNode = e.targetType === 'node';
8172
+ this.isLink = e.targetType === 'link';
8173
+ this.nodeTooltipTemplateRef = this.templateService.nodeTemplate || this.defaultNodeTooltipTemplate.templateRef;
8174
+ this.nodeTooltipContext = new SankeyNodeTooltipTemplateContext(e);
8175
+ this.linkTooltipTemplateRef = this.templateService.linkTemplate || this.defaultLinkTooltipTemplate.templateRef;
8176
+ this.linkTooltipContext = new SankeyLinkTooltipTemplateContext(e);
8177
+ super.show({
8178
+ style: {
8179
+ position: 'static' // Override k-tooltip positioning
8180
+ },
8181
+ anchor: {
8182
+ align: e.tooltipData.popupAlign,
8183
+ point: this.tooltipAnchor(e),
8184
+ },
8185
+ });
8186
+ }
8187
+ tooltipAnchor(e) {
8188
+ const element = this.element.nativeElement;
8189
+ const size = { width: element.offsetWidth, height: element.offsetHeight };
8190
+ const anchor = Object.assign({}, e.tooltipData.popupOffset);
8191
+ const popupAlign = e.tooltipData.popupAlign;
8192
+ const offset = this.offset || DEFAULT_OFFSET;
8193
+ anchor.left += (popupAlign.horizontal === 'left') ? offset : (-1 * offset);
8194
+ if (popupAlign.horizontal === 'right') {
8195
+ anchor.left -= size.width;
8196
+ }
8197
+ if (popupAlign.vertical === 'bottom') {
8198
+ anchor.top -= size.height + offset;
8199
+ }
8200
+ else {
8201
+ anchor.top += offset;
8202
+ }
8203
+ return anchor;
8204
+ }
8205
+ formatUnits(value) {
8206
+ return this.intlService.format(this.tooltipUnitFormat, value !== null && value !== void 0 ? value : 0);
8207
+ }
8208
+ }
8209
+ SankeyTooltipPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyTooltipPopupComponent, deps: [{ token: i0.ElementRef }, { token: i1.PopupService }, { token: SankeyTooltipTemplateService }, { token: i4.LocalizationService }, { token: i3.IntlService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
8210
+ SankeyTooltipPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SankeyTooltipPopupComponent, selector: "kendo-sankey-tooltip-popup", inputs: { animate: "animate", popupSettings: "popupSettings", wrapperClass: "wrapperClass", tooltipUnitFormat: "tooltipUnitFormat", offset: "offset" }, providers: [
8211
+ PopupService,
8212
+ {
8213
+ provide: POPUP_CONTAINER,
8214
+ useFactory: bodyFactory,
8215
+ },
8216
+ ], viewQueries: [{ propertyName: "defaultNodeTooltipTemplate", first: true, predicate: SankeyNodeTooltipTemplateDirective, descendants: true }, { propertyName: "defaultLinkTooltipTemplate", first: true, predicate: SankeyLinkTooltipTemplateDirective, descendants: true }, { propertyName: "templateRef", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
8217
+ <ng-template #content>
8218
+ <div class="k-tooltip k-sankey-tooltip k-chart-tooltip k-chart-shared-tooltip" [ngStyle]="style">
8219
+ <div class="k-tooltip-content">
8220
+ <ng-template
8221
+ [ngTemplateOutlet]="nodeTooltipTemplateRef"
8222
+ *ngIf="isNode"
8223
+ [ngTemplateOutletContext]="nodeTooltipContext"
8224
+ >
8225
+ </ng-template>
8226
+ <ng-template
8227
+ [ngTemplateOutlet]="linkTooltipTemplateRef"
8228
+ *ngIf="isLink"
8229
+ [ngTemplateOutletContext]="linkTooltipContext"
8230
+ >
8231
+ </ng-template>
8232
+ </div>
8233
+ </div>
8234
+ </ng-template>
8235
+
8236
+ <ng-template kendoSankeyNodeTooltipTemplate let-color="color" let-label="label" let-value="value">
8237
+ <div [ngStyle]="tooltipStyle">
8238
+ <div squareSymbol [color]="color"></div>
8239
+ <span [ngStyle]="textStyle">{{ label.text }}</span>
8240
+ <span [ngStyle]="textStyle">{{ formatUnits(value) }}</span>
8241
+ </div>
8242
+ </ng-template>
8243
+
8244
+ <ng-template kendoSankeyLinkTooltipTemplate let-source="source" let-target="target" let-value="value">
8245
+ <div [ngStyle]="tooltipStyle">
8246
+ <div squareSymbol [color]="source.color"></div>
8247
+ <span [ngStyle]="textStyle">{{ source.label?.text }}</span>
8248
+ <kendo-icon-wrapper name="arrow-right" [svgIcon]="arrowRightIcon"></kendo-icon-wrapper>
8249
+ <span [ngStyle]="textStyle">{{ target.label?.text }}</span>
8250
+ <span [ngStyle]="textStyle">{{ formatUnits(value) }}</span>
8251
+ </div>
8252
+ </ng-template>
8253
+ `, isInline: true, components: [{ type: i5.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: SankeyNodeTooltipTemplateDirective, selector: "[kendoSankeyNodeTooltipTemplate]" }, { type: SquareSymbol, selector: "[squareSymbol]", inputs: ["color", "size"] }, { type: SankeyLinkTooltipTemplateDirective, selector: "[kendoSankeyLinkTooltipTemplate]" }] });
8254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyTooltipPopupComponent, decorators: [{
8255
+ type: Component,
8256
+ args: [{
8257
+ providers: [
8258
+ PopupService,
8259
+ {
8260
+ provide: POPUP_CONTAINER,
8261
+ useFactory: bodyFactory,
8262
+ },
8263
+ ],
8264
+ selector: 'kendo-sankey-tooltip-popup',
8265
+ template: `
8266
+ <ng-template #content>
8267
+ <div class="k-tooltip k-sankey-tooltip k-chart-tooltip k-chart-shared-tooltip" [ngStyle]="style">
8268
+ <div class="k-tooltip-content">
8269
+ <ng-template
8270
+ [ngTemplateOutlet]="nodeTooltipTemplateRef"
8271
+ *ngIf="isNode"
8272
+ [ngTemplateOutletContext]="nodeTooltipContext"
8273
+ >
8274
+ </ng-template>
8275
+ <ng-template
8276
+ [ngTemplateOutlet]="linkTooltipTemplateRef"
8277
+ *ngIf="isLink"
8278
+ [ngTemplateOutletContext]="linkTooltipContext"
8279
+ >
8280
+ </ng-template>
8281
+ </div>
8282
+ </div>
8283
+ </ng-template>
8284
+
8285
+ <ng-template kendoSankeyNodeTooltipTemplate let-color="color" let-label="label" let-value="value">
8286
+ <div [ngStyle]="tooltipStyle">
8287
+ <div squareSymbol [color]="color"></div>
8288
+ <span [ngStyle]="textStyle">{{ label.text }}</span>
8289
+ <span [ngStyle]="textStyle">{{ formatUnits(value) }}</span>
8290
+ </div>
8291
+ </ng-template>
8292
+
8293
+ <ng-template kendoSankeyLinkTooltipTemplate let-source="source" let-target="target" let-value="value">
8294
+ <div [ngStyle]="tooltipStyle">
8295
+ <div squareSymbol [color]="source.color"></div>
8296
+ <span [ngStyle]="textStyle">{{ source.label?.text }}</span>
8297
+ <kendo-icon-wrapper name="arrow-right" [svgIcon]="arrowRightIcon"></kendo-icon-wrapper>
8298
+ <span [ngStyle]="textStyle">{{ target.label?.text }}</span>
8299
+ <span [ngStyle]="textStyle">{{ formatUnits(value) }}</span>
8300
+ </div>
8301
+ </ng-template>
8302
+ `,
8303
+ }]
8304
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PopupService }, { type: SankeyTooltipTemplateService }, { type: i4.LocalizationService }, { type: i3.IntlService }, { type: i0.NgZone }]; }, propDecorators: { defaultNodeTooltipTemplate: [{
8305
+ type: ViewChild,
8306
+ args: [SankeyNodeTooltipTemplateDirective, { static: false }]
8307
+ }], defaultLinkTooltipTemplate: [{
8308
+ type: ViewChild,
8309
+ args: [SankeyLinkTooltipTemplateDirective, { static: false }]
8310
+ }], templateRef: [{
8311
+ type: ViewChild,
8312
+ args: ['content', { static: true }]
8313
+ }], animate: [{
8314
+ type: Input
8315
+ }], popupSettings: [{
8316
+ type: Input
8317
+ }], wrapperClass: [{
8318
+ type: Input
8319
+ }], tooltipUnitFormat: [{
8320
+ type: Input
8321
+ }], offset: [{
8322
+ type: Input
8323
+ }] } });
8324
+
8325
+ /**
8326
+ * @hidden
8327
+ */
8328
+ class Messages extends ComponentMessages {
8329
+ }
8330
+ Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
8331
+ Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, selector: "[kendoSankeyMessages]", inputs: { tooltipUnitFormat: "tooltipUnitFormat" }, usesInheritance: true, ngImport: i0 });
8332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, decorators: [{
8333
+ type: Directive,
8334
+ args: [{
8335
+ selector: '[kendoSankeyMessages]'
8336
+ }]
8337
+ }], propDecorators: { tooltipUnitFormat: [{
8338
+ type: Input
8339
+ }] } });
8340
+
8341
+ /**
8342
+ * @hidden
8343
+ */
8344
+ class LocalizedMessagesDirective extends Messages {
8345
+ constructor(service) {
8346
+ super();
8347
+ this.service = service;
8348
+ }
8349
+ }
8350
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i4.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
8351
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LocalizedMessagesDirective, selector: "[kendoSankeyLocalizedMessages]", providers: [
8352
+ {
8353
+ provide: Messages,
8354
+ useExisting: forwardRef(() => LocalizedMessagesDirective)
8355
+ }
8356
+ ], usesInheritance: true, ngImport: i0 });
8357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
8358
+ type: Directive,
8359
+ args: [{
8360
+ providers: [
8361
+ {
8362
+ provide: Messages,
8363
+ useExisting: forwardRef(() => LocalizedMessagesDirective)
8364
+ }
8365
+ ],
8366
+ selector: '[kendoSankeyLocalizedMessages]'
8367
+ }]
8368
+ }], ctorParameters: function () { return [{ type: i4.LocalizationService }]; } });
8369
+
8370
+ /**
8371
+ * The Sankey diagram component.
8372
+ *
8373
+ * @example
8374
+ * ```ts
8375
+ * import { Component } from '@angular/core';
8376
+ *
8377
+ * _@Component({
8378
+ * selector: 'my-app',
8379
+ * template: `
8380
+ * <kendo-sankey [data]="data">
8381
+ * </kendo-sankey>
8382
+ * `,
8383
+ * })
8384
+ * export class AppComponent {
8385
+ * public data: SankeyData = {
8386
+ * nodes: [
8387
+ * { id: 1, label: { text: 'Linux' } },
8388
+ * { id: 0, label: { text: 'iOS'} },
8389
+ * { id: 2, label: { text: 'Mobile' } },
8390
+ * { id: 3, label: { text: 'Desktop' } },
8391
+ * ],
8392
+ * links: [
8393
+ * { sourceId: 0, targetId: 2, value: 1 },
8394
+ * { sourceId: 1, targetId: 2, value: 2 },
8395
+ * { sourceId: 1, targetId: 3, value: 3 },
8396
+ * ],
8397
+ * };
8398
+ * }
8399
+ * ```
8400
+ */
8401
+ class SankeyComponent {
8402
+ constructor(element, configurationService, themeService, localizationService, instanceEventService, ngZone, changeDetector, renderer) {
8403
+ this.element = element;
8404
+ this.configurationService = configurationService;
8405
+ this.themeService = themeService;
8406
+ this.localizationService = localizationService;
8407
+ this.instanceEventService = instanceEventService;
8408
+ this.ngZone = ngZone;
8409
+ this.changeDetector = changeDetector;
8410
+ this.renderer = renderer;
8411
+ /**
8412
+ * Fires when the mouse pointer enters a node. Similar to the `mouseenter` event.
8413
+ */
8414
+ this.nodeEnter = new EventEmitter();
8415
+ /**
8416
+ * Fires when the mouse pointer leaves a node. Similar to the `mouseleave` event.
8417
+ */
8418
+ this.nodeLeave = new EventEmitter();
8419
+ /**
8420
+ * Fires when a node is clicked.
8421
+ */
8422
+ this.nodeClick = new EventEmitter();
8423
+ /**
8424
+ * Fires when the mouse pointer enters a link. Similar to the `mouseenter` event,
8425
+ */
8426
+ this.linkEnter = new EventEmitter();
8427
+ /**
8428
+ * Fires when the mouse pointer leaves a link. Similar to the `mouseleave` event.
8429
+ */
8430
+ this.linkLeave = new EventEmitter();
8431
+ /**
8432
+ * Fires when a link is clicked.
8433
+ */
8434
+ this.linkClick = new EventEmitter();
8435
+ /**
8436
+ * @hidden
8437
+ */
8438
+ this.showLicenseWatermark = false;
8439
+ this.rtl = false;
8440
+ const isValid = validatePackage(packageMetadata);
8441
+ this.showLicenseWatermark = shouldShowValidationUI(isValid);
8442
+ this.themeService.loadTheme();
8443
+ this.refreshWait();
8444
+ }
8445
+ ngOnChanges(changes) {
8446
+ const store = this.configurationService.store;
8447
+ copyChanges(changes, store);
8448
+ store.popupSettings = null;
8449
+ this.configurationService.push(store);
8450
+ }
8451
+ /**
8452
+ * Updates the component fields with the specified values and refreshes the widget.
8453
+ *
8454
+ * Use this method when the configuration values cannot be set through the template.
8455
+ *
8456
+ * @example
8457
+ * ```ts-no-run
8458
+ * sankey.notifyChanges({ title: { text: 'New Title' } });
8459
+ * ```
8460
+ *
8461
+ * @param changes An object containing the updated input fields.
8462
+ */
8463
+ notifyChanges(changes) {
8464
+ this.ngOnChanges(toSimpleChanges(changes));
8465
+ }
8466
+ ngOnDestroy() {
8467
+ this.destroyed = true;
8468
+ if (this.optionsChange) {
8469
+ this.optionsChange.unsubscribe();
8470
+ }
8471
+ if (this.instance) {
8472
+ this.instance.destroy();
8473
+ this.instance = null;
8474
+ }
8475
+ if (this.subscriptions) {
8476
+ this.subscriptions.unsubscribe();
8477
+ }
8478
+ clearTimeout(this.redrawTimeout);
8479
+ }
8480
+ /**
8481
+ * @hidden
8482
+ */
8483
+ messageFor(key) {
8484
+ return this.localizationService.get(key);
8485
+ }
8486
+ createInstance(element) {
8487
+ this.instance = new Sankey(element, this.options, this.theme);
8488
+ ['nodeEnter', 'nodeLeave', 'nodeClick', 'linkEnter', 'linkLeave', 'linkClick'].forEach((eventName) => this.instance.bind(eventName, (e) => this.trigger(eventName, e)));
8489
+ this.instance.bind('tooltipShow', (e) => this.onShowTooltip(e));
8490
+ this.instance.bind('tooltipHide', () => this.onHideTooltip());
8491
+ }
8492
+ /**
8493
+ * Exports the Sankey diagram as an image. The export operation is asynchronous and returns a promise.
8494
+ *
8495
+ * @param {ImageExportOptions} options - The parameters for the exported image.
8496
+ * @returns {Promise<string>} - A promise that will be resolved with a PNG image encoded as a Data URI.
8497
+ */
8498
+ exportImage(options = {}) {
8499
+ return exportImage(this.exportVisual(options), options);
8500
+ }
8501
+ /**
8502
+ * Exports the Sankey diagram as an SVG document. The export operation is asynchronous and returns a promise.
8503
+ *
8504
+ * @param options - The parameters for the exported file.
8505
+ * @returns - A promise that will be resolved with an SVG document that is encoded as a Data URI.
8506
+ */
8507
+ exportSVG(options = {}) {
8508
+ return exportSVG(this.exportVisual(options), options);
8509
+ }
8510
+ /**
8511
+ * Exports the visual of the Sankey component to a drawing group.
8512
+ *
8513
+ * @param options - The parameters for the export operation.
8514
+ * @returns - The root Group of the scene.
8515
+ */
8516
+ exportVisual(options = {}) {
8517
+ return this.instance.exportVisual(options);
8518
+ }
8519
+ init() {
8520
+ if (!this.canRender) {
8521
+ return;
8522
+ }
8523
+ const element = this.instanceElement.nativeElement;
8524
+ this.createInstance(element);
8525
+ }
8526
+ /**
8527
+ * Reloads the Sankey appearance settings from the current [Kendo UI Theme]({% slug themesandstyles %}).
8528
+ *
8529
+ * Call this method after loading a different theme stylesheet.
8530
+ */
8531
+ reloadTheme() {
8532
+ if (!this.instance) {
8533
+ return;
8534
+ }
8535
+ this.themeService.reset();
8536
+ this.instance.destroy();
8537
+ this.instance = null;
8538
+ }
8539
+ onShowTooltip(e) {
8540
+ this.run(() => {
8541
+ this.tooltipInstance.show(e);
8542
+ }, true, true);
8543
+ }
8544
+ onHideTooltip() {
8545
+ if (this.tooltipInstance.active) {
8546
+ this.tooltipInstance.hide();
8547
+ this.detectChanges();
8548
+ }
8549
+ }
8550
+ trigger(name, e) {
8551
+ const emitter = this.activeEmitter(name);
8552
+ if (emitter) {
8553
+ const args = this.instanceEventService.create(name, e, this);
8554
+ this.run(() => {
8555
+ emitter.emit(args);
8556
+ });
8557
+ return args.isDefaultPrevented && args.isDefaultPrevented();
8558
+ }
8559
+ }
8560
+ requiresHandlers(names) {
8561
+ for (let idx = 0; idx < names.length; idx++) {
8562
+ if (this.activeEmitter(names[idx])) {
8563
+ return true;
8564
+ }
8565
+ }
8566
+ return false;
8567
+ }
8568
+ refresh() {
8569
+ clearTimeout(this.redrawTimeout);
8570
+ if (!this.instance) {
8571
+ this.init();
8572
+ return;
8573
+ }
8574
+ this.updateOptions();
8575
+ }
8576
+ updateOptions() {
8577
+ this.instance.setOptions(this.options);
8578
+ }
8579
+ get canRender() {
8580
+ return isDocumentAvailable() && Boolean(this.instanceElement);
8581
+ }
8582
+ activeEmitter(name) {
8583
+ const emitter = this[name];
8584
+ if (emitter && emitter.emit && hasObservers(emitter)) {
8585
+ return emitter;
8586
+ }
8587
+ }
8588
+ refreshWait() {
8589
+ this.ngZone.runOutsideAngular(() => {
8590
+ this.optionsChange = combineLatest([this.configurationService.onChange$, this.themeService.onChange$])
8591
+ .pipe(tap((result) => {
8592
+ this.options = result[0];
8593
+ this.theme = this.loadTheme(result[1]);
8594
+ }), auditTime(THROTTLE_MS))
8595
+ .subscribe(() => {
8596
+ this.refresh();
8597
+ });
8598
+ });
8599
+ }
8600
+ loadTheme(chartTheme) {
8601
+ return Object.assign(Object.assign({}, chartTheme), { nodeColors: chartTheme.seriesColors });
8602
+ }
8603
+ run(callback, inZone = true, detectChanges) {
8604
+ if (inZone) {
8605
+ if (detectChanges) {
8606
+ this.changeDetector.markForCheck();
8607
+ }
8608
+ this.ngZone.run(callback);
8609
+ }
8610
+ else {
8611
+ callback();
8612
+ if (detectChanges) {
8613
+ this.detectChanges();
8614
+ }
8615
+ }
8616
+ }
8617
+ detectChanges() {
8618
+ if (!this.destroyed) {
8619
+ this.changeDetector.detectChanges();
8620
+ }
8621
+ }
8622
+ }
8623
+ SankeyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyComponent, deps: [{ token: i0.ElementRef }, { token: ConfigurationService }, { token: ThemeService }, { token: i4.LocalizationService }, { token: InstanceEventService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
8624
+ SankeyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SankeyComponent, selector: "kendo-sankey", inputs: { data: "data", links: "links", nodes: "nodes", labels: "labels", title: "title", legend: "legend", tooltip: "tooltip", disableAutoLayout: "disableAutoLayout", popupSettings: "popupSettings" }, outputs: { nodeEnter: "nodeEnter", nodeLeave: "nodeLeave", nodeClick: "nodeClick", linkEnter: "linkEnter", linkLeave: "linkLeave", linkClick: "linkClick" }, providers: [
8625
+ ConfigurationService,
8626
+ LocalizationService,
8627
+ InstanceEventService,
8628
+ SankeyTooltipTemplateService,
8629
+ {
8630
+ provide: L10N_PREFIX,
8631
+ useValue: 'kendo.sankey',
8632
+ },
8633
+ ], viewQueries: [{ propertyName: "tooltipInstance", first: true, predicate: SankeyTooltipPopupComponent, descendants: true, static: true }, { propertyName: "instanceElement", first: true, predicate: ["instance"], descendants: true, static: true }], exportAs: ["kendoSankey"], usesOnChanges: true, ngImport: i0, template: `
8634
+ <ng-container
8635
+ kendoSankeyLocalizedMessages
8636
+ i18n-tooltipUnitFormat="kendo.sankey.tooltipUnitFormat|The format string to use when displaying node and link values in the tooltip"
8637
+ tooltipUnitFormat="({0} units)"
8638
+ ></ng-container>
8639
+ <div #instance></div>
8640
+ <kendo-sankey-tooltip-popup
8641
+ [popupSettings]="popupSettings"
8642
+ [tooltipUnitFormat]="messageFor('tooltipUnitFormat')"
8643
+ >
8644
+ </kendo-sankey-tooltip-popup>
8645
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
8646
+ `, isInline: true, components: [{ type: SankeyTooltipPopupComponent, selector: "kendo-sankey-tooltip-popup", inputs: ["animate", "popupSettings", "wrapperClass", "tooltipUnitFormat", "offset"] }, { type: i8.WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoSankeyLocalizedMessages]" }, { type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8647
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyComponent, decorators: [{
8648
+ type: Component,
8649
+ args: [{
8650
+ changeDetection: ChangeDetectionStrategy.OnPush,
8651
+ exportAs: 'kendoSankey',
8652
+ providers: [
8653
+ ConfigurationService,
8654
+ LocalizationService,
8655
+ InstanceEventService,
8656
+ SankeyTooltipTemplateService,
8657
+ {
8658
+ provide: L10N_PREFIX,
8659
+ useValue: 'kendo.sankey',
8660
+ },
8661
+ ],
8662
+ selector: 'kendo-sankey',
8663
+ template: `
8664
+ <ng-container
8665
+ kendoSankeyLocalizedMessages
8666
+ i18n-tooltipUnitFormat="kendo.sankey.tooltipUnitFormat|The format string to use when displaying node and link values in the tooltip"
8667
+ tooltipUnitFormat="({0} units)"
8668
+ ></ng-container>
8669
+ <div #instance></div>
8670
+ <kendo-sankey-tooltip-popup
8671
+ [popupSettings]="popupSettings"
8672
+ [tooltipUnitFormat]="messageFor('tooltipUnitFormat')"
8673
+ >
8674
+ </kendo-sankey-tooltip-popup>
8675
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
8676
+ `,
8677
+ }]
8678
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ConfigurationService }, { type: ThemeService }, { type: i4.LocalizationService }, { type: InstanceEventService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { data: [{
8679
+ type: Input
8680
+ }], links: [{
8681
+ type: Input
8682
+ }], nodes: [{
8683
+ type: Input
8684
+ }], labels: [{
8685
+ type: Input
8686
+ }], title: [{
8687
+ type: Input
8688
+ }], legend: [{
8689
+ type: Input
8690
+ }], tooltip: [{
8691
+ type: Input
8692
+ }], disableAutoLayout: [{
8693
+ type: Input
8694
+ }], popupSettings: [{
8695
+ type: Input
8696
+ }], nodeEnter: [{
8697
+ type: Output
8698
+ }], nodeLeave: [{
8699
+ type: Output
8700
+ }], nodeClick: [{
8701
+ type: Output
8702
+ }], linkEnter: [{
8703
+ type: Output
8704
+ }], linkLeave: [{
8705
+ type: Output
8706
+ }], linkClick: [{
8707
+ type: Output
8708
+ }], tooltipInstance: [{
8709
+ type: ViewChild,
8710
+ args: [SankeyTooltipPopupComponent, { static: true }]
8711
+ }], instanceElement: [{
8712
+ type: ViewChild,
8713
+ args: ['instance', { static: true }]
8714
+ }] } });
8715
+
8716
+ /**
8717
+ * @hidden
8718
+ */
8719
+ function createSankeyData(data, dimensions, measure) {
8720
+ const nodes = new Set();
8721
+ const links = new Map();
8722
+ const linksMap = new Map();
8723
+ data.forEach((row) => {
8724
+ dimensions.forEach((dimension) => {
8725
+ nodes.add(dimension(row));
8726
+ });
8727
+ for (let i = 0; i < dimensions.length - 1; i++) {
8728
+ const source = dimensions[i](row);
8729
+ const target = dimensions[i + 1](row);
8730
+ const key = `${source}_${target}`;
8731
+ const value = measure(row);
8732
+ if (links.has(key)) {
8733
+ links.set(key, links.get(key) + value);
8734
+ }
8735
+ else {
8736
+ links.set(key, value);
8737
+ linksMap.set(key, { source, target });
8738
+ }
8739
+ }
8740
+ });
8741
+ const nodesId = new Map();
8742
+ const nodesArray = Array.from(nodes).map((node, index) => {
8743
+ nodesId.set(node, index);
8744
+ return { id: index, label: { text: String(node) } };
8745
+ });
8746
+ const linksArray = Array.from(links).map(([key, value]) => {
8747
+ const { source, target } = linksMap.get(key);
8748
+ return {
8749
+ sourceId: nodesId.get(source),
8750
+ targetId: nodesId.get(target),
8751
+ value
8752
+ };
8753
+ });
8754
+ return { nodes: nodesArray, links: linksArray };
8755
+ }
8756
+ ;
8757
+
8758
+ /**
8759
+ * Arguments for the `dataBound` event of the [`[kendoSankeyFlatBinding]`]({% slug api_charts_sankeyflatbindingdirective %}) directive.
8760
+ */
8761
+ class SankeyFlatBindingDataBoundEvent {
8762
+ /**
8763
+ * @hidden
8764
+ */
8765
+ constructor(data) {
8766
+ this.data = data;
8767
+ }
8768
+ }
8769
+
8770
+ /**
8771
+ * A directive which encapsulates the retrieval of the nodes and links when flat data is provided.
8772
+ *
8773
+ * See [Data Binding - Binding to Flat Data]({% slug data_binding_sankey %}#toc-binding-to-flat-data).
8774
+ */
8775
+ class SankeyFlatBindingDirective {
8776
+ constructor(sankey) {
8777
+ this.sankey = sankey;
8778
+ /**
8779
+ * Represents the fields which identify the nodes.
8780
+ */
8781
+ this.dimensionFields = [];
8782
+ /**
8783
+ * Fires when the flat data has been converted to `SankeyData`.
8784
+ *
8785
+ * To customize the created nodes and links, modify the data.
8786
+ */
8787
+ this.dataBound = new EventEmitter();
8788
+ }
8789
+ ngOnChanges(changes) {
8790
+ var _a;
8791
+ if (!isChanged('data', changes, false)) {
8792
+ return;
8793
+ }
8794
+ if (((_a = this.dimensionFields) === null || _a === void 0 ? void 0 : _a.length) === 0) {
8795
+ throw new Error('kendoSankeyFlatBinding: dimensionFields is required');
8796
+ }
8797
+ if (!this.valueField) {
8798
+ throw new Error('kendoSankeyFlatBinding: valueField is required');
8799
+ }
8800
+ const dimensions = this.dimensionFields.map(field => getter(field));
8801
+ const measure = getter(this.valueField);
8802
+ const data = createSankeyData(this.data, dimensions, measure);
8803
+ this.dataBound.emit(new SankeyFlatBindingDataBoundEvent(data));
8804
+ this.sankey.notifyChanges({ data });
8805
+ }
8806
+ }
8807
+ SankeyFlatBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyFlatBindingDirective, deps: [{ token: SankeyComponent }], target: i0.ɵɵFactoryTarget.Directive });
8808
+ SankeyFlatBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SankeyFlatBindingDirective, selector: "[kendoSankeyFlatBinding]", inputs: { data: ["kendoSankeyFlatBinding", "data"], dimensionFields: "dimensionFields", valueField: "valueField" }, outputs: { dataBound: "dataBound" }, usesOnChanges: true, ngImport: i0 });
8809
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyFlatBindingDirective, decorators: [{
8810
+ type: Directive,
8811
+ args: [{
8812
+ selector: '[kendoSankeyFlatBinding]'
8813
+ }]
8814
+ }], ctorParameters: function () { return [{ type: SankeyComponent }]; }, propDecorators: { data: [{
8815
+ type: Input,
8816
+ args: ['kendoSankeyFlatBinding']
8817
+ }], dimensionFields: [{
8818
+ type: Input
8819
+ }], valueField: [{
8820
+ type: Input
8821
+ }], dataBound: [{
8822
+ type: Output
8823
+ }] } });
8824
+
8825
+ /**
8826
+ * The configuration options of the Sankey legend
8827
+ * ([see example]({% slug legend_sankey %})).
8828
+ */
8829
+ class SankeyLabelsComponent extends SettingsComponent {
8830
+ constructor(configurationService) {
8831
+ super('labels', configurationService);
8832
+ this.configurationService = configurationService;
8833
+ }
8834
+ }
8835
+ SankeyLabelsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyLabelsComponent, deps: [{ token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
8836
+ SankeyLabelsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SankeyLabelsComponent, selector: "kendo-sankey-labels", inputs: { visible: "visible", font: "font", color: "color", align: "align", position: "position", padding: "padding", margin: "margin", border: "border", offset: "offset", stroke: "stroke" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
8837
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyLabelsComponent, decorators: [{
8838
+ type: Component,
8839
+ args: [{
8840
+ changeDetection: ChangeDetectionStrategy.OnPush,
8841
+ selector: 'kendo-sankey-labels',
8842
+ template: '',
8843
+ }]
8844
+ }], ctorParameters: function () { return [{ type: ConfigurationService }]; }, propDecorators: { visible: [{
8845
+ type: Input
8846
+ }], font: [{
8847
+ type: Input
8848
+ }], color: [{
8849
+ type: Input
8850
+ }], align: [{
8851
+ type: Input
8852
+ }], position: [{
8853
+ type: Input
8854
+ }], padding: [{
8855
+ type: Input
8856
+ }], margin: [{
8857
+ type: Input
8858
+ }], border: [{
8859
+ type: Input
8860
+ }], offset: [{
8861
+ type: Input
8862
+ }], stroke: [{
8863
+ type: Input
8864
+ }] } });
8865
+
8866
+ /**
8867
+ * The configuration options of the Sankey legend
8868
+ * ([see example]({% slug legend_sankey %})).
8869
+ */
8870
+ class SankeyLegendComponent extends SettingsComponent {
8871
+ constructor(configurationService) {
8872
+ super('legend', configurationService);
8873
+ this.configurationService = configurationService;
8874
+ this.markAsVisible();
8875
+ }
8876
+ }
8877
+ SankeyLegendComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyLegendComponent, deps: [{ token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
8878
+ SankeyLegendComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SankeyLegendComponent, selector: "kendo-sankey-legend", inputs: { align: "align", background: "background", border: "border", height: "height", labels: "labels", margin: "margin", offsetX: "offsetX", offsetY: "offsetY", orientation: "orientation", padding: "padding", position: "position", reverse: "reverse", visible: "visible", width: "width", markers: "markers", spacing: "spacing", title: "title" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
8879
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyLegendComponent, decorators: [{
8880
+ type: Component,
8881
+ args: [{
8882
+ changeDetection: ChangeDetectionStrategy.OnPush,
8883
+ selector: 'kendo-sankey-legend',
8884
+ template: ''
8885
+ }]
8886
+ }], ctorParameters: function () { return [{ type: ConfigurationService }]; }, propDecorators: { align: [{
8887
+ type: Input
8888
+ }], background: [{
8889
+ type: Input
8890
+ }], border: [{
8891
+ type: Input
8892
+ }], height: [{
8893
+ type: Input
8894
+ }], labels: [{
8895
+ type: Input
8896
+ }], margin: [{
8897
+ type: Input
8898
+ }], offsetX: [{
8899
+ type: Input
8900
+ }], offsetY: [{
8901
+ type: Input
8902
+ }], orientation: [{
8903
+ type: Input
8904
+ }], padding: [{
8905
+ type: Input
8906
+ }], position: [{
8907
+ type: Input
8908
+ }], reverse: [{
8909
+ type: Input
8910
+ }], visible: [{
8911
+ type: Input
8912
+ }], width: [{
8913
+ type: Input
8914
+ }], markers: [{
8915
+ type: Input
8916
+ }], spacing: [{
8917
+ type: Input
8918
+ }], title: [{
8919
+ type: Input
8920
+ }] } });
8921
+
8922
+ /**
8923
+ * The configuration options of the Sankey legend
8924
+ * ([see example]({% slug legend_sankey %})).
8925
+ */
8926
+ class SankeyLinksComponent extends SettingsComponent {
8927
+ constructor(configurationService) {
8928
+ super('links', configurationService);
8929
+ this.configurationService = configurationService;
8930
+ }
8931
+ }
8932
+ SankeyLinksComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyLinksComponent, deps: [{ token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
8933
+ SankeyLinksComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SankeyLinksComponent, selector: "kendo-sankey-links", inputs: { colorType: "colorType", color: "color", opacity: "opacity", highlight: "highlight" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
8934
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyLinksComponent, decorators: [{
8935
+ type: Component,
8936
+ args: [{
8937
+ changeDetection: ChangeDetectionStrategy.OnPush,
8938
+ selector: 'kendo-sankey-links',
8939
+ template: '',
8940
+ }]
8941
+ }], ctorParameters: function () { return [{ type: ConfigurationService }]; }, propDecorators: { colorType: [{
8942
+ type: Input
8943
+ }], color: [{
8944
+ type: Input
8945
+ }], opacity: [{
8946
+ type: Input
8947
+ }], highlight: [{
8948
+ type: Input
8949
+ }] } });
8950
+
8951
+ /**
8952
+ * Custom component messages override default component messages
8953
+ * ([see example]({% slug globalization_filter %}#toc-localization)).
8954
+ */
8955
+ class SankeyCustomMessagesComponent extends Messages {
8956
+ constructor(service) {
8957
+ super();
8958
+ this.service = service;
8959
+ }
8960
+ get override() {
8961
+ return true;
8962
+ }
8963
+ }
8964
+ SankeyCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyCustomMessagesComponent, deps: [{ token: i4.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
8965
+ SankeyCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SankeyCustomMessagesComponent, selector: "kendo-sankey-messages", providers: [
8966
+ {
8967
+ provide: Messages,
8968
+ useExisting: forwardRef(() => SankeyCustomMessagesComponent)
8969
+ }
8970
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
8971
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyCustomMessagesComponent, decorators: [{
8972
+ type: Component,
8973
+ args: [{
8974
+ providers: [
8975
+ {
8976
+ provide: Messages,
8977
+ useExisting: forwardRef(() => SankeyCustomMessagesComponent)
8978
+ }
8979
+ ],
8980
+ selector: 'kendo-sankey-messages',
8981
+ template: ``
8982
+ }]
8983
+ }], ctorParameters: function () { return [{ type: i4.LocalizationService }]; } });
8984
+
8985
+ /**
8986
+ * The configuration options of the Sankey legend
8987
+ * ([see example]({% slug legend_sankey %})).
8988
+ */
8989
+ class SankeyNodesComponent extends SettingsComponent {
8990
+ constructor(configurationService) {
8991
+ super('nodes', configurationService);
8992
+ this.configurationService = configurationService;
8993
+ }
8994
+ }
8995
+ SankeyNodesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyNodesComponent, deps: [{ token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
8996
+ SankeyNodesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SankeyNodesComponent, selector: "kendo-sankey-nodes", inputs: { colorType: "colorType", color: "color", opacity: "opacity", offset: "offset", padding: "padding", width: "width", align: "align" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
8997
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyNodesComponent, decorators: [{
8998
+ type: Component,
8999
+ args: [{
9000
+ changeDetection: ChangeDetectionStrategy.OnPush,
9001
+ selector: 'kendo-sankey-nodes',
9002
+ template: '',
9003
+ }]
9004
+ }], ctorParameters: function () { return [{ type: ConfigurationService }]; }, propDecorators: { colorType: [{
9005
+ type: Input
9006
+ }], color: [{
9007
+ type: Input
9008
+ }], opacity: [{
9009
+ type: Input
9010
+ }], offset: [{
9011
+ type: Input
9012
+ }], padding: [{
9013
+ type: Input
9014
+ }], width: [{
9015
+ type: Input
9016
+ }], align: [{
9017
+ type: Input
9018
+ }] } });
9019
+
9020
+ /**
9021
+ * The configuration options of the Sankey title or text
9022
+ * ([see example]({% slug title_sankey %})).
9023
+ *
9024
+ * @example
9025
+ * ```html
9026
+ * <kendo-sankey [data]="data">
9027
+ * <kendo-sankey-title text="Title Text" [padding]="{bottom: 20}"></kendo-sankey-title>
9028
+ * ...
9029
+ * </kendo-sankey>
9030
+ * ```
9031
+ */
9032
+ class SankeyTitleComponent extends SettingsComponent {
9033
+ constructor(configurationService) {
9034
+ super('title', configurationService);
9035
+ this.configurationService = configurationService;
9036
+ }
9037
+ }
9038
+ SankeyTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyTitleComponent, deps: [{ token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
9039
+ SankeyTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SankeyTitleComponent, selector: "kendo-sankey-title", inputs: { align: "align", background: "background", border: "border", color: "color", font: "font", margin: "margin", padding: "padding", position: "position", text: "text", description: "description", visible: "visible" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
9040
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyTitleComponent, decorators: [{
9041
+ type: Component,
9042
+ args: [{
9043
+ changeDetection: ChangeDetectionStrategy.OnPush,
9044
+ selector: 'kendo-sankey-title',
9045
+ template: ''
9046
+ }]
9047
+ }], ctorParameters: function () { return [{ type: ConfigurationService }]; }, propDecorators: { align: [{
9048
+ type: Input
9049
+ }], background: [{
9050
+ type: Input
9051
+ }], border: [{
9052
+ type: Input
9053
+ }], color: [{
9054
+ type: Input
9055
+ }], font: [{
9056
+ type: Input
9057
+ }], margin: [{
9058
+ type: Input
9059
+ }], padding: [{
9060
+ type: Input
9061
+ }], position: [{
9062
+ type: Input
9063
+ }], text: [{
9064
+ type: Input
9065
+ }], description: [{
9066
+ type: Input
9067
+ }], visible: [{
9068
+ type: Input
9069
+ }] } });
9070
+
9071
+ /**
9072
+ * The configuration options of the Sankey tooltip
9073
+ * ([see example]({% slug tooltip_sankey %})).
9074
+ */
9075
+ class SankeyTooltipComponent extends SettingsComponent {
9076
+ constructor(configurationService, templateService) {
9077
+ super('tooltip', configurationService);
9078
+ this.configurationService = configurationService;
9079
+ this.templateService = templateService;
9080
+ this.markAsVisible();
9081
+ }
9082
+ ngAfterContentChecked() {
9083
+ var _a, _b;
9084
+ this.templateService.linkTemplate = (_a = this.linkTooltipTemplate) === null || _a === void 0 ? void 0 : _a.templateRef;
9085
+ this.templateService.nodeTemplate = (_b = this.nodeTooltipTemplate) === null || _b === void 0 ? void 0 : _b.templateRef;
9086
+ }
9087
+ }
9088
+ SankeyTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyTooltipComponent, deps: [{ token: ConfigurationService }, { token: SankeyTooltipTemplateService }], target: i0.ɵɵFactoryTarget.Component });
9089
+ SankeyTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SankeyTooltipComponent, selector: "kendo-sankey-tooltip", inputs: { followPointer: "followPointer", delay: "delay", offset: "offset", visible: "visible" }, queries: [{ propertyName: "linkTooltipTemplate", first: true, predicate: SankeyLinkTooltipTemplateDirective, descendants: true }, { propertyName: "nodeTooltipTemplate", first: true, predicate: SankeyNodeTooltipTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
9090
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyTooltipComponent, decorators: [{
9091
+ type: Component,
9092
+ args: [{
9093
+ selector: 'kendo-sankey-tooltip',
9094
+ template: '',
9095
+ }]
9096
+ }], ctorParameters: function () { return [{ type: ConfigurationService }, { type: SankeyTooltipTemplateService }]; }, propDecorators: { followPointer: [{
9097
+ type: Input
9098
+ }], delay: [{
9099
+ type: Input
9100
+ }], offset: [{
9101
+ type: Input
9102
+ }], visible: [{
9103
+ type: Input
9104
+ }], linkTooltipTemplate: [{
9105
+ type: ContentChild,
9106
+ args: [SankeyLinkTooltipTemplateDirective, { static: false }]
9107
+ }], nodeTooltipTemplate: [{
9108
+ type: ContentChild,
9109
+ args: [SankeyNodeTooltipTemplateDirective, { static: false }]
9110
+ }] } });
9111
+
9112
+ /**
9113
+ * @hidden
9114
+ */
9115
+ const SANKEY_EXPORTS = [
9116
+ SankeyComponent,
9117
+ SankeyTooltipPopupComponent,
9118
+ SankeyLinkTooltipTemplateDirective,
9119
+ SankeyNodeTooltipTemplateDirective,
9120
+ SankeyCustomMessagesComponent,
9121
+ LocalizedMessagesDirective,
9122
+ SankeyTitleComponent,
9123
+ SankeyLegendComponent,
9124
+ SankeyTooltipComponent,
9125
+ SankeyLinksComponent,
9126
+ SankeyNodesComponent,
9127
+ SankeyLabelsComponent,
9128
+ SankeyFlatBindingDirective
9129
+ ];
9130
+ /**
9131
+ * @hidden
9132
+ */
9133
+ const SANKEY_DIRECTIVES = [
9134
+ ...SANKEY_EXPORTS,
9135
+ SquareSymbol
9136
+ ];
9137
+
9138
+ /**
9139
+ * A [module](link:site.data.urls.angular['ngmoduleapi']) that includes the Sparkline component and directives.
9140
+ *
9141
+ * Imports the SparklineModule into your application
9142
+ * [root module](link:site.data.urls.angular['ngmodules']#angular-modularity) or any other sub-module
9143
+ * that will use the Sparkline component.
9144
+ *
9145
+ * @example
9146
+ * ```ts-no-run
9147
+ * import { NgModule } from '@angular/core';
9148
+ * import { BrowserModule } from '@angular/platform-browser';
9149
+ * import { SparklineModule } from '@progress/kendo-angular-charts';
9150
+ * import { AppComponent } from './app.component';
9151
+ *
9152
+ * _@NgModule({
9153
+ * bootstrap: [AppComponent],
9154
+ * declarations: [AppComponent],
9155
+ * imports: [BrowserModule, SparklineModule]
9156
+ * })
9157
+ * export class AppModule {
9158
+ * }
9159
+ * ```
9160
+ */
9161
+ class SankeyModule {
9162
+ }
9163
+ SankeyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9164
+ SankeyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyModule, declarations: [SankeyComponent, SankeyTooltipPopupComponent, SankeyLinkTooltipTemplateDirective, SankeyNodeTooltipTemplateDirective, SankeyCustomMessagesComponent, LocalizedMessagesDirective, SankeyTitleComponent, SankeyLegendComponent, SankeyTooltipComponent, SankeyLinksComponent, SankeyNodesComponent, SankeyLabelsComponent, SankeyFlatBindingDirective, SquareSymbol], imports: [CommonModule, IconsModule, PopupModule, ResizeSensorModule, WatermarkModule], exports: [SankeyComponent, SankeyTooltipPopupComponent, SankeyLinkTooltipTemplateDirective, SankeyNodeTooltipTemplateDirective, SankeyCustomMessagesComponent, LocalizedMessagesDirective, SankeyTitleComponent, SankeyLegendComponent, SankeyTooltipComponent, SankeyLinksComponent, SankeyNodesComponent, SankeyLabelsComponent, SankeyFlatBindingDirective] });
9165
+ SankeyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyModule, providers: [ThemeService], imports: [[CommonModule, IconsModule, PopupModule, ResizeSensorModule, WatermarkModule]] });
9166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SankeyModule, decorators: [{
9167
+ type: NgModule,
9168
+ args: [{
9169
+ declarations: [SANKEY_DIRECTIVES],
9170
+ exports: [SANKEY_EXPORTS],
9171
+ imports: [CommonModule, IconsModule, PopupModule, ResizeSensorModule, WatermarkModule],
9172
+ providers: [ThemeService],
9173
+ }]
9174
+ }] });
9175
+
7853
9176
  /**
7854
9177
  * A [module](link:site.data.urls.angular['ngmoduleapi']) that includes all Chart components and directives.
7855
9178
  *
@@ -7876,12 +9199,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7876
9199
  class ChartsModule {
7877
9200
  }
7878
9201
  ChartsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChartsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7879
- ChartsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChartsModule, exports: [ChartModule, SparklineModule, StockChartModule] });
7880
- ChartsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChartsModule, imports: [ChartModule, SparklineModule, StockChartModule] });
9202
+ ChartsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChartsModule, exports: [ChartModule, SparklineModule, StockChartModule, SankeyModule] });
9203
+ ChartsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChartsModule, imports: [ChartModule, SparklineModule, StockChartModule, SankeyModule] });
7881
9204
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ChartsModule, decorators: [{
7882
9205
  type: NgModule,
7883
9206
  args: [{
7884
- exports: [ChartModule, SparklineModule, StockChartModule]
9207
+ exports: [ChartModule, SparklineModule, StockChartModule, SankeyModule]
7885
9208
  }]
7886
9209
  }] });
7887
9210
 
@@ -7889,5 +9212,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7889
9212
  * Generated bundle index. Do not edit.
7890
9213
  */
7891
9214
 
7892
- export { AxisDefaultsComponent, AxisDefaultsCrosshairComponent, AxisDefaultsCrosshairTooltipComponent, AxisDefaultsLabelsComponent, AxisDefaultsTitleComponent, AxisLabelClickEvent, CHART_DIRECTIVES, CategoryAxisComponent, CategoryAxisCrosshairComponent, CategoryAxisCrosshairTooltipComponent, CategoryAxisItemComponent, CategoryAxisLabelsComponent, CategoryAxisNotesComponent, CategoryAxisNotesIconComponent, CategoryAxisNotesLabelComponent, CategoryAxisRangeLabelsComponent, CategoryAxisSelectComponent, CategoryAxisTitleComponent, ChartAreaComponent, ChartBreadcrumbComponent, ChartComponent, ChartModule, ChartsModule, CollectionService, ConfigurationService, CrosshairTooltipComponent, CrosshairTooltipsContainerComponent, DonutCenterTemplateDirective, DragEndEvent, DragEvent, DragStartEvent, DrilldownEvent, LegendComponent, LegendInactiveItemsComponent, LegendItemClickEvent, LegendItemComponent, LegendItemHoverEvent, LegendItemLeaveEvent, NavigatorCategoryAxisComponent, NavigatorCategoryAxisCrosshairComponent, NavigatorCategoryAxisCrosshairTooltipComponent, NavigatorCategoryAxisLabelsComponent, NavigatorCategoryAxisNotesComponent, NavigatorCategoryAxisNotesIconComponent, NavigatorCategoryAxisNotesLabelComponent, NavigatorCategoryAxisSelectComponent, NavigatorCategoryAxisTitleComponent, NavigatorComponent, NavigatorFilterEvent, NavigatorHintComponent, NavigatorPaneComponent, NavigatorPaneTitleComponent, NavigatorSelectComponent, NavigatorSeriesComponent, NavigatorSeriesErrorBarsComponent, NavigatorSeriesExtremesComponent, NavigatorSeriesHighlightComponent, NavigatorSeriesItemComponent, NavigatorSeriesLabelsComponent, NavigatorSeriesLabelsFromComponent, NavigatorSeriesLabelsToComponent, NavigatorSeriesMarkersComponent, NavigatorSeriesNotesComponent, NavigatorSeriesNotesIconComponent, NavigatorSeriesNotesLabelComponent, NavigatorSeriesOutliersComponent, NavigatorSeriesTooltipComponent, NoteClickEvent, NoteHoverEvent, PaneComponent, PaneDefaultsComponent, PaneDefaultsTitleComponent, PaneRenderEvent, PanesComponent, PanesTitleComponent, PlotAreaClickEvent, PlotAreaComponent, PlotAreaHoverEvent, RenderEvent, SPARKLINE_DIRECTIVES, STOCK_CHART_DIRECTIVES, SelectEndEvent, SelectEvent, SelectStartEvent, SeriesClickEvent, SeriesComponent, SeriesDefaultsComponent, SeriesDefaultsLabelsComponent, SeriesDefaultsLabelsFromComponent, SeriesDefaultsLabelsToComponent, SeriesDefaultsNotesComponent, SeriesDefaultsNotesIconComponent, SeriesDefaultsNotesLabelComponent, SeriesDefaultsTooltipComponent, SeriesDrilldownTemplateDirective, SeriesErrorBarsComponent, SeriesExtremesComponent, SeriesHighlightComponent, SeriesHoverEvent, SeriesItemComponent, SeriesLabelsComponent, SeriesLabelsFromComponent, SeriesLabelsToComponent, SeriesMarkersComponent, SeriesNotesComponent, SeriesNotesIconComponent, SeriesNotesLabelComponent, SeriesOutliersComponent, SeriesTooltipComponent, SeriesTooltipTemplateDirective, SeriesTrendlineComponent, SeriesTrendlineForecastComponent, SharedTooltipTemplateDirective, SparklineComponent, SparklineModule, StockChartComponent, StockChartModule, SubtitleComponent, TitleComponent, TooltipComponent, TooltipPopupComponent, TooltipTemplateService, ValueAxisComponent, ValueAxisCrosshairComponent, ValueAxisCrosshairTooltipComponent, ValueAxisItemComponent, ValueAxisLabelsComponent, ValueAxisNotesComponent, ValueAxisNotesIconComponent, ValueAxisNotesLabelComponent, ValueAxisTitleComponent, WeekStartDay, XAxisComponent, XAxisCrosshairComponent, XAxisCrosshairTooltipComponent, XAxisItemComponent, XAxisLabelsComponent, XAxisNotesComponent, XAxisNotesIconComponent, XAxisNotesLabelComponent, XAxisTitleComponent, YAxisComponent, YAxisCrosshairComponent, YAxisCrosshairTooltipComponent, YAxisItemComponent, YAxisLabelsComponent, YAxisNotesComponent, YAxisNotesIconComponent, YAxisNotesLabelComponent, YAxisTitleComponent, ZoomEndEvent, ZoomEvent, ZoomStartEvent, ZoomableComponent };
9215
+ export { AxisDefaultsComponent, AxisDefaultsCrosshairComponent, AxisDefaultsCrosshairTooltipComponent, AxisDefaultsLabelsComponent, AxisDefaultsTitleComponent, AxisLabelClickEvent, CHART_DIRECTIVES, CategoryAxisComponent, CategoryAxisCrosshairComponent, CategoryAxisCrosshairTooltipComponent, CategoryAxisItemComponent, CategoryAxisLabelsComponent, CategoryAxisNotesComponent, CategoryAxisNotesIconComponent, CategoryAxisNotesLabelComponent, CategoryAxisRangeLabelsComponent, CategoryAxisSelectComponent, CategoryAxisTitleComponent, ChartAreaComponent, ChartBreadcrumbComponent, ChartComponent, ChartModule, ChartsModule, CollectionService, ConfigurationService, CrosshairTooltipComponent, CrosshairTooltipsContainerComponent, DonutCenterTemplateDirective, DragEndEvent, DragEvent, DragStartEvent, DrilldownEvent, InstanceEventService, LegendComponent, LegendInactiveItemsComponent, LegendItemClickEvent, LegendItemComponent, LegendItemHoverEvent, LegendItemLeaveEvent, LocalizedMessagesDirective, NavigatorCategoryAxisComponent, NavigatorCategoryAxisCrosshairComponent, NavigatorCategoryAxisCrosshairTooltipComponent, NavigatorCategoryAxisLabelsComponent, NavigatorCategoryAxisNotesComponent, NavigatorCategoryAxisNotesIconComponent, NavigatorCategoryAxisNotesLabelComponent, NavigatorCategoryAxisSelectComponent, NavigatorCategoryAxisTitleComponent, NavigatorComponent, NavigatorFilterEvent, NavigatorHintComponent, NavigatorPaneComponent, NavigatorPaneTitleComponent, NavigatorSelectComponent, NavigatorSeriesComponent, NavigatorSeriesErrorBarsComponent, NavigatorSeriesExtremesComponent, NavigatorSeriesHighlightComponent, NavigatorSeriesItemComponent, NavigatorSeriesLabelsComponent, NavigatorSeriesLabelsFromComponent, NavigatorSeriesLabelsToComponent, NavigatorSeriesMarkersComponent, NavigatorSeriesNotesComponent, NavigatorSeriesNotesIconComponent, NavigatorSeriesNotesLabelComponent, NavigatorSeriesOutliersComponent, NavigatorSeriesTooltipComponent, NoteClickEvent, NoteHoverEvent, PaneComponent, PaneDefaultsComponent, PaneDefaultsTitleComponent, PaneRenderEvent, PanesComponent, PanesTitleComponent, PlotAreaClickEvent, PlotAreaComponent, PlotAreaHoverEvent, RenderEvent, SANKEY_DIRECTIVES, SANKEY_EXPORTS, SPARKLINE_DIRECTIVES, STOCK_CHART_DIRECTIVES, SankeyBaseEvent, SankeyComponent, SankeyCustomMessagesComponent, SankeyFlatBindingDataBoundEvent, SankeyFlatBindingDirective, SankeyLabelsComponent, SankeyLegendComponent, SankeyLinkEvent, SankeyLinkTooltipTemplateDirective, SankeyLinksComponent, SankeyModule, SankeyNodeEvent, SankeyNodeTooltipTemplateDirective, SankeyNodesComponent, SankeyTitleComponent, SankeyTooltipComponent, SankeyTooltipPopupComponent, SelectEndEvent, SelectEvent, SelectStartEvent, SeriesClickEvent, SeriesComponent, SeriesDefaultsComponent, SeriesDefaultsLabelsComponent, SeriesDefaultsLabelsFromComponent, SeriesDefaultsLabelsToComponent, SeriesDefaultsNotesComponent, SeriesDefaultsNotesIconComponent, SeriesDefaultsNotesLabelComponent, SeriesDefaultsTooltipComponent, SeriesDrilldownTemplateDirective, SeriesErrorBarsComponent, SeriesExtremesComponent, SeriesHighlightComponent, SeriesHoverEvent, SeriesItemComponent, SeriesLabelsComponent, SeriesLabelsFromComponent, SeriesLabelsToComponent, SeriesMarkersComponent, SeriesNotesComponent, SeriesNotesIconComponent, SeriesNotesLabelComponent, SeriesOutliersComponent, SeriesTooltipComponent, SeriesTooltipTemplateDirective, SeriesTrendlineComponent, SeriesTrendlineForecastComponent, SharedTooltipTemplateDirective, SparklineComponent, SparklineModule, StockChartComponent, StockChartModule, SubtitleComponent, TitleComponent, TooltipComponent, TooltipPopupComponent, TooltipTemplateService, ValueAxisComponent, ValueAxisCrosshairComponent, ValueAxisCrosshairTooltipComponent, ValueAxisItemComponent, ValueAxisLabelsComponent, ValueAxisNotesComponent, ValueAxisNotesIconComponent, ValueAxisNotesLabelComponent, ValueAxisTitleComponent, WeekStartDay, XAxisComponent, XAxisCrosshairComponent, XAxisCrosshairTooltipComponent, XAxisItemComponent, XAxisLabelsComponent, XAxisNotesComponent, XAxisNotesIconComponent, XAxisNotesLabelComponent, XAxisTitleComponent, YAxisComponent, YAxisCrosshairComponent, YAxisCrosshairTooltipComponent, YAxisItemComponent, YAxisLabelsComponent, YAxisNotesComponent, YAxisNotesIconComponent, YAxisNotesLabelComponent, YAxisTitleComponent, ZoomEndEvent, ZoomEvent, ZoomStartEvent, ZoomableComponent };
7893
9216