@skdx/angular-charts 0.1.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/fesm2022/skdx-angular-charts-area.mjs +32 -14
  2. package/fesm2022/skdx-angular-charts-area.mjs.map +1 -1
  3. package/fesm2022/skdx-angular-charts-bar.mjs +38 -14
  4. package/fesm2022/skdx-angular-charts-bar.mjs.map +1 -1
  5. package/fesm2022/skdx-angular-charts-boxplot.mjs +10 -10
  6. package/fesm2022/skdx-angular-charts-boxplot.mjs.map +1 -1
  7. package/fesm2022/skdx-angular-charts-candlestick.mjs +10 -10
  8. package/fesm2022/skdx-angular-charts-candlestick.mjs.map +1 -1
  9. package/fesm2022/skdx-angular-charts-chord.mjs +10 -10
  10. package/fesm2022/skdx-angular-charts-chord.mjs.map +1 -1
  11. package/fesm2022/skdx-angular-charts-funnel.mjs +43 -11
  12. package/fesm2022/skdx-angular-charts-funnel.mjs.map +1 -1
  13. package/fesm2022/skdx-angular-charts-gantt.mjs +10 -10
  14. package/fesm2022/skdx-angular-charts-gantt.mjs.map +1 -1
  15. package/fesm2022/skdx-angular-charts-heatmap.mjs +69 -4
  16. package/fesm2022/skdx-angular-charts-heatmap.mjs.map +1 -1
  17. package/fesm2022/skdx-angular-charts-internal.mjs +411 -235
  18. package/fesm2022/skdx-angular-charts-internal.mjs.map +1 -1
  19. package/fesm2022/skdx-angular-charts-line.mjs +15 -13
  20. package/fesm2022/skdx-angular-charts-line.mjs.map +1 -1
  21. package/fesm2022/skdx-angular-charts-map.mjs +8 -2
  22. package/fesm2022/skdx-angular-charts-map.mjs.map +1 -1
  23. package/fesm2022/skdx-angular-charts-pie.mjs +21 -11
  24. package/fesm2022/skdx-angular-charts-pie.mjs.map +1 -1
  25. package/fesm2022/skdx-angular-charts-radar.mjs +77 -14
  26. package/fesm2022/skdx-angular-charts-radar.mjs.map +1 -1
  27. package/fesm2022/skdx-angular-charts-sankey.mjs +10 -10
  28. package/fesm2022/skdx-angular-charts-sankey.mjs.map +1 -1
  29. package/fesm2022/skdx-angular-charts-scatter.mjs +15 -13
  30. package/fesm2022/skdx-angular-charts-scatter.mjs.map +1 -1
  31. package/fesm2022/skdx-angular-charts-sparkline.mjs +55 -11
  32. package/fesm2022/skdx-angular-charts-sparkline.mjs.map +1 -1
  33. package/fesm2022/skdx-angular-charts-sunburst.mjs +10 -10
  34. package/fesm2022/skdx-angular-charts-sunburst.mjs.map +1 -1
  35. package/fesm2022/skdx-angular-charts-treemap.mjs +10 -2
  36. package/fesm2022/skdx-angular-charts-treemap.mjs.map +1 -1
  37. package/fesm2022/skdx-angular-charts-waterfall.mjs +10 -10
  38. package/fesm2022/skdx-angular-charts-waterfall.mjs.map +1 -1
  39. package/fesm2022/skdx-angular-charts.mjs.map +1 -1
  40. package/package.json +11 -2
  41. package/types/skdx-angular-charts-area.d.ts +1 -1
  42. package/types/skdx-angular-charts-bar.d.ts +1 -1
  43. package/types/skdx-angular-charts-funnel.d.ts +1 -1
  44. package/types/skdx-angular-charts-heatmap.d.ts +8 -1
  45. package/types/skdx-angular-charts-internal.d.ts +200 -26
  46. package/types/skdx-angular-charts-line.d.ts +1 -1
  47. package/types/skdx-angular-charts-pie.d.ts +1 -1
  48. package/types/skdx-angular-charts-radar.d.ts +8 -1
  49. package/types/skdx-angular-charts-scatter.d.ts +1 -1
  50. package/types/skdx-angular-charts-sparkline.d.ts +1 -1
  51. package/types/skdx-angular-charts.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { SkdxChartBase, layoutLineChart, SkdxChartRootComponent } from '@skdx/angular-charts/internal';
3
+ import { SkdxChartBase, layoutLineChart, SkdxChartFrameComponent, SkdxChartLinesComponent } from '@skdx/angular-charts/internal';
4
4
 
5
5
  /*
6
6
  * Copyright (c) 2026 SkandaDX
@@ -16,12 +16,10 @@ class SkdxLineChartComponent extends SkdxChartBase {
16
16
  }
17
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxLineChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
18
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: SkdxLineChartComponent, isStandalone: true, selector: "skdx-line-chart", usesInheritance: true, ngImport: i0, template: `
19
- <skdx-chart-root
20
- [layout]="layout()"
21
- kind="line"
22
- [label]="label() ?? 'Line chart'"
23
- ></skdx-chart-root>
24
- `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ <skdx-chart-frame [layout]="layout()" kind="line" [label]="label() ?? 'Line chart'">
20
+ <svg:g skdxChartLines [lines]="layout().lines" [points]="layout().points"></svg:g>
21
+ </skdx-chart-frame>
22
+ `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartFrameComponent, selector: "skdx-chart-frame", inputs: ["layout", "kind", "label"] }, { kind: "component", type: SkdxChartLinesComponent, selector: "g[skdxChartLines]", inputs: ["lines", "points"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
23
  }
26
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxLineChartComponent, decorators: [{
27
25
  type: Component,
@@ -29,17 +27,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
29
27
  selector: 'skdx-line-chart',
30
28
  standalone: true,
31
29
  changeDetection: ChangeDetectionStrategy.OnPush,
32
- imports: [SkdxChartRootComponent],
30
+ imports: [SkdxChartFrameComponent, SkdxChartLinesComponent],
33
31
  template: `
34
- <skdx-chart-root
35
- [layout]="layout()"
36
- kind="line"
37
- [label]="label() ?? 'Line chart'"
38
- ></skdx-chart-root>
32
+ <skdx-chart-frame [layout]="layout()" kind="line" [label]="label() ?? 'Line chart'">
33
+ <svg:g skdxChartLines [lines]="layout().lines" [points]="layout().points"></svg:g>
34
+ </skdx-chart-frame>
39
35
  `,
40
36
  }]
41
37
  }] });
42
38
 
39
+ /*
40
+ * Copyright (c) 2026 SkandaDX
41
+ * This file is part of the SkandaDX organization.
42
+ * Licensed under the MIT License. See LICENSE in the repository root.
43
+ */
44
+
43
45
  /**
44
46
  * Generated bundle index. Do not edit.
45
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skdx-angular-charts-line.mjs","sources":["../../src/line/index.ts","../../src/line/skdx-angular-charts-line.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\nimport {\n layoutLineChart,\n SkdxChartBase,\n SkdxChartRootComponent,\n} from '@skdx/angular-charts/internal';\n\n/** One polyline per series with a dot per value. */\n@Component({\n selector: 'skdx-line-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"layout()\"\n kind=\"line\"\n [label]=\"label() ?? 'Line chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxLineChartComponent extends SkdxChartBase {\n protected readonly layout = computed(() => layoutLineChart(this.input()));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAUH;AAcM,MAAO,sBAAuB,SAAQ,aAAa,CAAA;AAbzD,IAAA,WAAA,GAAA;;AAcqB,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;mFAAC;AAC1E,IAAA;8GAFY,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARvB;;;;;;AAMT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAPS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FASrB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAblC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;AAMT,EAAA,CAAA;AACF,iBAAA;;;AC3BD;;AAEG;;"}
1
+ {"version":3,"file":"skdx-angular-charts-line.mjs","sources":["../../src/line/line-chart.component.ts","../../src/line/index.ts","../../src/line/skdx-angular-charts-line.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\nimport {\n layoutLineChart,\n SkdxChartBase,\n SkdxChartFrameComponent,\n SkdxChartLinesComponent,\n} from '@skdx/angular-charts/internal';\n\n/** One polyline per series with a dot per value. */\n@Component({\n selector: 'skdx-line-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartFrameComponent, SkdxChartLinesComponent],\n template: `\n <skdx-chart-frame [layout]=\"layout()\" kind=\"line\" [label]=\"label() ?? 'Line chart'\">\n <svg:g skdxChartLines [lines]=\"layout().lines\" [points]=\"layout().points\"></svg:g>\n </skdx-chart-frame>\n `,\n})\nexport class SkdxLineChartComponent extends SkdxChartBase {\n protected readonly layout = computed(() => layoutLineChart(this.input()));\n}\n","/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nexport { SkdxLineChartComponent } from './line-chart.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAYM,MAAO,sBAAuB,SAAQ,aAAa,CAAA;AAXzD,IAAA,WAAA,GAAA;;AAYqB,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;mFAAC;AAC1E,IAAA;8GAFY,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EANvB;;;;GAIT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EALS,uBAAuB,kGAAE,uBAAuB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAO/C,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAXlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;AAC3D,oBAAA,QAAQ,EAAE;;;;AAIT,EAAA,CAAA;AACF,iBAAA;;;AC1BD;;;;AAIG;;ACJH;;AAEG;;"}
@@ -21,7 +21,7 @@ class SkdxMapChartComponent extends SkdxSizedBase {
21
21
  }
22
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxMapChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
23
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxMapChartComponent, isStandalone: true, selector: "skdx-map-chart", inputs: { features: { classPropertyName: "features", publicName: "features", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
24
- <skdx-chart-root [layout]="l()" kind="map" [label]="label() ?? 'Map'"></skdx-chart-root>
24
+ <skdx-chart-root [layout]="l()" kind="map" [label]="label() ?? 'Map'"> </skdx-chart-root>
25
25
  `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxMapChartComponent, decorators: [{
@@ -32,11 +32,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
32
32
  changeDetection: ChangeDetectionStrategy.OnPush,
33
33
  imports: [SkdxChartRootComponent],
34
34
  template: `
35
- <skdx-chart-root [layout]="l()" kind="map" [label]="label() ?? 'Map'"></skdx-chart-root>
35
+ <skdx-chart-root [layout]="l()" kind="map" [label]="label() ?? 'Map'"> </skdx-chart-root>
36
36
  `,
37
37
  }]
38
38
  }], propDecorators: { features: [{ type: i0.Input, args: [{ isSignal: true, alias: "features", required: true }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
39
39
 
40
+ /*
41
+ * Copyright (c) 2026 SkandaDX
42
+ * This file is part of the SkandaDX organization.
43
+ * Licensed under the MIT License. See LICENSE in the repository root.
44
+ */
45
+
40
46
  /**
41
47
  * Generated bundle index. Do not edit.
42
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skdx-angular-charts-map.mjs","sources":["../../src/map/index.ts","../../src/map/skdx-angular-charts-map.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n layoutMap,\n type MapFeature,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** Choropleth of GeoJSON-shaped regions, opacity by value. */\n@Component({\n selector: 'skdx-map-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root [layout]=\"l()\" kind=\"map\" [label]=\"label() ?? 'Map'\"></skdx-chart-root>\n `,\n})\nexport class SkdxMapChartComponent extends SkdxSizedBase {\n readonly features = input.required<MapFeature[]>();\n /** The region color; each region's opacity follows its value. */\n readonly color = input<string>();\n\n protected readonly l = computed(() =>\n layoutMap({ ...this.sized(), features: this.features(), color: this.color() }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAUM,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AATxD,IAAA,WAAA,GAAA;;QAUW,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ;qFAAgB;;AAEzC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK;6FAAU;AAEb,QAAA,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAC9B,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;8EAC/E;AACF,IAAA;8GARY,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJtB;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAHS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKrB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;AAET,EAAA,CAAA;AACF,iBAAA;;;ACxBD;;AAEG;;"}
1
+ {"version":3,"file":"skdx-angular-charts-map.mjs","sources":["../../src/map/map-chart.component.ts","../../src/map/index.ts","../../src/map/skdx-angular-charts-map.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n layoutMap,\n type MapFeature,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** Choropleth of GeoJSON-shaped regions, opacity by value. */\n@Component({\n selector: 'skdx-map-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root [layout]=\"l()\" kind=\"map\" [label]=\"label() ?? 'Map'\"> </skdx-chart-root>\n `,\n})\nexport class SkdxMapChartComponent extends SkdxSizedBase {\n readonly features = input.required<MapFeature[]>();\n /** The region color; each region's opacity follows its value. */\n readonly color = input<string>();\n\n protected readonly l = computed(() =>\n layoutMap({ ...this.sized(), features: this.features(), color: this.color() }),\n );\n}\n","/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nexport { SkdxMapChartComponent } from './map-chart.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAUM,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AATxD,IAAA,WAAA,GAAA;;QAUW,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ;qFAAgB;;AAEzC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK;6FAAU;AAEb,QAAA,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAC9B,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;8EAC/E;AACF,IAAA;8GARY,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJtB;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAHS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKrB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;AAET,EAAA,CAAA;AACF,iBAAA;;;ACxBD;;;;AAIG;;ACJH;;AAEG;;"}
@@ -20,12 +20,14 @@ class SkdxPieChartComponent extends SkdxSizedBase {
20
20
  ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
21
21
  }
22
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxPieChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxPieChartComponent, isStandalone: true, selector: "skdx-pie-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, innerRadius: { classPropertyName: "innerRadius", publicName: "innerRadius", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
24
- <skdx-chart-root
25
- [layout]="layout()"
26
- kind="pie"
27
- [label]="label() ?? 'Pie chart'"
28
- ></skdx-chart-root>
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: SkdxPieChartComponent, isStandalone: true, selector: "skdx-pie-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, innerRadius: { classPropertyName: "innerRadius", publicName: "innerRadius", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
24
+ <skdx-chart-root [layout]="layout()" kind="pie" [label]="label() ?? 'Pie chart'">
25
+ @for (s of layout().slices; track s.name) {
26
+ <svg:path data-skdx-part="slice" [attr.d]="s.d" [attr.fill]="s.color">
27
+ <svg:title>{{ s.title }}</svg:title>
28
+ </svg:path>
29
+ }
30
+ </skdx-chart-root>
29
31
  `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
32
  }
31
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxPieChartComponent, decorators: [{
@@ -36,15 +38,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
36
38
  changeDetection: ChangeDetectionStrategy.OnPush,
37
39
  imports: [SkdxChartRootComponent],
38
40
  template: `
39
- <skdx-chart-root
40
- [layout]="layout()"
41
- kind="pie"
42
- [label]="label() ?? 'Pie chart'"
43
- ></skdx-chart-root>
41
+ <skdx-chart-root [layout]="layout()" kind="pie" [label]="label() ?? 'Pie chart'">
42
+ @for (s of layout().slices; track s.name) {
43
+ <svg:path data-skdx-part="slice" [attr.d]="s.d" [attr.fill]="s.color">
44
+ <svg:title>{{ s.title }}</svg:title>
45
+ </svg:path>
46
+ }
47
+ </skdx-chart-root>
44
48
  `,
45
49
  }]
46
50
  }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], innerRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "innerRadius", required: false }] }] } });
47
51
 
52
+ /*
53
+ * Copyright (c) 2026 SkandaDX
54
+ * This file is part of the SkandaDX organization.
55
+ * Licensed under the MIT License. See LICENSE in the repository root.
56
+ */
57
+
48
58
  /**
49
59
  * Generated bundle index. Do not edit.
50
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skdx-angular-charts-pie.mjs","sources":["../../src/pie/index.ts","../../src/pie/skdx-angular-charts-pie.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n type Datum,\n layoutPieChart,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** A pie, or a donut when `innerRadius` is set; one slice per datum. */\n@Component({\n selector: 'skdx-pie-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"layout()\"\n kind=\"pie\"\n [label]=\"label() ?? 'Pie chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxPieChartComponent extends SkdxSizedBase {\n readonly data = input.required<Datum[]>();\n /** Hole radius as a fraction of the outer radius: 0 is a pie, 0.6 a donut. */\n readonly innerRadius = input<number>();\n\n protected readonly layout = computed(() =>\n layoutPieChart({ ...this.sized(), data: this.data(), innerRadius: this.innerRadius() }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAcM,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AAbxD,IAAA,WAAA,GAAA;;QAcW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAW;;AAEhC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK;mGAAU;AAEnB,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MACnC,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;mFACxF;AACF,IAAA;8GARY,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARtB;;;;;;AAMT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAPS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FASrB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAbjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;AAMT,EAAA,CAAA;AACF,iBAAA;;;AC5BD;;AAEG;;"}
1
+ {"version":3,"file":"skdx-angular-charts-pie.mjs","sources":["../../src/pie/pie-chart.component.ts","../../src/pie/index.ts","../../src/pie/skdx-angular-charts-pie.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n layoutPieChart,\n type Datum,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** A pie, or a donut when `innerRadius` is set; one slice per datum. */\n@Component({\n selector: 'skdx-pie-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root [layout]=\"layout()\" kind=\"pie\" [label]=\"label() ?? 'Pie chart'\">\n @for (s of layout().slices; track s.name) {\n <svg:path data-skdx-part=\"slice\" [attr.d]=\"s.d\" [attr.fill]=\"s.color\">\n <svg:title>{{ s.title }}</svg:title>\n </svg:path>\n }\n </skdx-chart-root>\n `,\n})\nexport class SkdxPieChartComponent extends SkdxSizedBase {\n readonly data = input.required<Datum[]>();\n /** Hole radius as a fraction of the outer radius: 0 is a pie, 0.6 a donut. */\n readonly innerRadius = input<number>();\n\n protected readonly layout = computed(() =>\n layoutPieChart({ ...this.sized(), data: this.data(), innerRadius: this.innerRadius() }),\n );\n}\n","/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nexport { SkdxPieChartComponent } from './pie-chart.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAgBM,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AAfxD,IAAA,WAAA,GAAA;;QAgBW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAW;;AAEhC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK;mGAAU;AAEnB,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MACnC,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;mFACxF;AACF,IAAA;8GARY,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAVtB;;;;;;;;AAQT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EATS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAWrB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAfjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;AAQT,EAAA,CAAA;AACF,iBAAA;;;AC9BD;;;;AAIG;;ACJH;;AAEG;;"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { SkdxSizedBase, layoutRadarChart, SkdxChartRootComponent } from '@skdx/angular-charts/internal';
3
+ import { SkdxSizedBase, CHART_COLORS, layoutRadarChart, SkdxChartRootComponent, SkdxChartPointsComponent } from '@skdx/angular-charts/internal';
4
4
 
5
5
  /*
6
6
  * Copyright (c) 2026 SkandaDX
@@ -16,17 +16,46 @@ class SkdxRadarChartComponent extends SkdxSizedBase {
16
16
  /** One axis per category. */
17
17
  this.categories = input.required(/* @ts-ignore */
18
18
  ...(ngDevMode ? [{ debugName: "categories" }] : /* istanbul ignore next */ []));
19
+ this.colors = CHART_COLORS;
19
20
  this.l = computed(() => layoutRadarChart({ ...this.sized(), series: this.series(), categories: this.categories() }), /* @ts-ignore */
20
21
  ...(ngDevMode ? [{ debugName: "l" }] : /* istanbul ignore next */ []));
21
22
  }
22
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxRadarChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxRadarChartComponent, isStandalone: true, selector: "skdx-radar-chart", inputs: { series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: true, transformFunction: null }, categories: { classPropertyName: "categories", publicName: "categories", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
24
- <skdx-chart-root
25
- [layout]="l()"
26
- kind="radar"
27
- [label]="label() ?? 'Radar chart'"
28
- ></skdx-chart-root>
29
- `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: SkdxRadarChartComponent, isStandalone: true, selector: "skdx-radar-chart", inputs: { series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: true, transformFunction: null }, categories: { classPropertyName: "categories", publicName: "categories", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
25
+ <skdx-chart-root [layout]="l()" kind="radar" [label]="label() ?? 'Radar chart'">
26
+ <svg:g data-skdx-part="grid" [attr.stroke]="colors.grid" fill="none">
27
+ @for (r of l().rings; track r.label.label) {
28
+ <svg:path [attr.d]="r.d"></svg:path>
29
+ }
30
+ @for (s of l().spokes; track $index) {
31
+ <svg:line [attr.x1]="s.x1" [attr.y1]="s.y1" [attr.x2]="s.x2" [attr.y2]="s.y2"></svg:line>
32
+ }
33
+ </svg:g>
34
+ <svg:g data-skdx-part="y-labels" [attr.fill]="colors.label" dominant-baseline="middle">
35
+ @for (r of l().rings; track r.label.label) {
36
+ <svg:text [attr.x]="r.label.x" [attr.y]="r.label.y">{{ r.label.label }}</svg:text>
37
+ }
38
+ </svg:g>
39
+ <svg:g data-skdx-part="x-labels" [attr.fill]="colors.label" dominant-baseline="middle">
40
+ @for (a of l().axisLabels; track a.label) {
41
+ <svg:text [attr.x]="a.x" [attr.y]="a.y" [attr.text-anchor]="a.anchor">
42
+ {{ a.label }}
43
+ </svg:text>
44
+ }
45
+ </svg:g>
46
+ @for (p of l().polygons; track p.series) {
47
+ <svg:path
48
+ data-skdx-part="area"
49
+ [attr.d]="p.d"
50
+ [attr.fill]="p.color"
51
+ fill-opacity="0.25"
52
+ [attr.stroke]="p.color"
53
+ stroke-width="2"
54
+ ></svg:path>
55
+ }
56
+ <svg:g skdxChartPoints [points]="l().points"></svg:g>
57
+ </skdx-chart-root>
58
+ `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }, { kind: "component", type: SkdxChartPointsComponent, selector: "g[skdxChartPoints]", inputs: ["points"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
59
  }
31
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxRadarChartComponent, decorators: [{
32
61
  type: Component,
@@ -34,17 +63,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
34
63
  selector: 'skdx-radar-chart',
35
64
  standalone: true,
36
65
  changeDetection: ChangeDetectionStrategy.OnPush,
37
- imports: [SkdxChartRootComponent],
66
+ imports: [SkdxChartRootComponent, SkdxChartPointsComponent],
38
67
  template: `
39
- <skdx-chart-root
40
- [layout]="l()"
41
- kind="radar"
42
- [label]="label() ?? 'Radar chart'"
43
- ></skdx-chart-root>
68
+ <skdx-chart-root [layout]="l()" kind="radar" [label]="label() ?? 'Radar chart'">
69
+ <svg:g data-skdx-part="grid" [attr.stroke]="colors.grid" fill="none">
70
+ @for (r of l().rings; track r.label.label) {
71
+ <svg:path [attr.d]="r.d"></svg:path>
72
+ }
73
+ @for (s of l().spokes; track $index) {
74
+ <svg:line [attr.x1]="s.x1" [attr.y1]="s.y1" [attr.x2]="s.x2" [attr.y2]="s.y2"></svg:line>
75
+ }
76
+ </svg:g>
77
+ <svg:g data-skdx-part="y-labels" [attr.fill]="colors.label" dominant-baseline="middle">
78
+ @for (r of l().rings; track r.label.label) {
79
+ <svg:text [attr.x]="r.label.x" [attr.y]="r.label.y">{{ r.label.label }}</svg:text>
80
+ }
81
+ </svg:g>
82
+ <svg:g data-skdx-part="x-labels" [attr.fill]="colors.label" dominant-baseline="middle">
83
+ @for (a of l().axisLabels; track a.label) {
84
+ <svg:text [attr.x]="a.x" [attr.y]="a.y" [attr.text-anchor]="a.anchor">
85
+ {{ a.label }}
86
+ </svg:text>
87
+ }
88
+ </svg:g>
89
+ @for (p of l().polygons; track p.series) {
90
+ <svg:path
91
+ data-skdx-part="area"
92
+ [attr.d]="p.d"
93
+ [attr.fill]="p.color"
94
+ fill-opacity="0.25"
95
+ [attr.stroke]="p.color"
96
+ stroke-width="2"
97
+ ></svg:path>
98
+ }
99
+ <svg:g skdxChartPoints [points]="l().points"></svg:g>
100
+ </skdx-chart-root>
44
101
  `,
45
102
  }]
46
103
  }], propDecorators: { series: [{ type: i0.Input, args: [{ isSignal: true, alias: "series", required: true }] }], categories: [{ type: i0.Input, args: [{ isSignal: true, alias: "categories", required: true }] }] } });
47
104
 
105
+ /*
106
+ * Copyright (c) 2026 SkandaDX
107
+ * This file is part of the SkandaDX organization.
108
+ * Licensed under the MIT License. See LICENSE in the repository root.
109
+ */
110
+
48
111
  /**
49
112
  * Generated bundle index. Do not edit.
50
113
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skdx-angular-charts-radar.mjs","sources":["../../src/radar/index.ts","../../src/radar/skdx-angular-charts-radar.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n layoutRadarChart,\n type Series,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** One polygon per series over a spoke per category. */\n@Component({\n selector: 'skdx-radar-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"l()\"\n kind=\"radar\"\n [label]=\"label() ?? 'Radar chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxRadarChartComponent extends SkdxSizedBase {\n readonly series = input.required<Series[]>();\n /** One axis per category. */\n readonly categories = input.required<string[]>();\n\n protected readonly l = computed(() =>\n layoutRadarChart({ ...this.sized(), series: this.series(), categories: this.categories() }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAcM,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AAb1D,IAAA,WAAA,GAAA;;QAcW,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ;mFAAY;;QAEnC,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ;uFAAY;AAE7B,QAAA,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAC9B,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;8EAC5F;AACF,IAAA;8GARY,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARxB;;;;;;AAMT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAPS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FASrB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;AAMT,EAAA,CAAA;AACF,iBAAA;;;AC5BD;;AAEG;;"}
1
+ {"version":3,"file":"skdx-angular-charts-radar.mjs","sources":["../../src/radar/radar-chart.component.ts","../../src/radar/index.ts","../../src/radar/skdx-angular-charts-radar.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n CHART_COLORS,\n layoutRadarChart,\n type Series,\n SkdxChartPointsComponent,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** One polygon per series over a spoke per category. */\n@Component({\n selector: 'skdx-radar-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent, SkdxChartPointsComponent],\n template: `\n <skdx-chart-root [layout]=\"l()\" kind=\"radar\" [label]=\"label() ?? 'Radar chart'\">\n <svg:g data-skdx-part=\"grid\" [attr.stroke]=\"colors.grid\" fill=\"none\">\n @for (r of l().rings; track r.label.label) {\n <svg:path [attr.d]=\"r.d\"></svg:path>\n }\n @for (s of l().spokes; track $index) {\n <svg:line [attr.x1]=\"s.x1\" [attr.y1]=\"s.y1\" [attr.x2]=\"s.x2\" [attr.y2]=\"s.y2\"></svg:line>\n }\n </svg:g>\n <svg:g data-skdx-part=\"y-labels\" [attr.fill]=\"colors.label\" dominant-baseline=\"middle\">\n @for (r of l().rings; track r.label.label) {\n <svg:text [attr.x]=\"r.label.x\" [attr.y]=\"r.label.y\">{{ r.label.label }}</svg:text>\n }\n </svg:g>\n <svg:g data-skdx-part=\"x-labels\" [attr.fill]=\"colors.label\" dominant-baseline=\"middle\">\n @for (a of l().axisLabels; track a.label) {\n <svg:text [attr.x]=\"a.x\" [attr.y]=\"a.y\" [attr.text-anchor]=\"a.anchor\">\n {{ a.label }}\n </svg:text>\n }\n </svg:g>\n @for (p of l().polygons; track p.series) {\n <svg:path\n data-skdx-part=\"area\"\n [attr.d]=\"p.d\"\n [attr.fill]=\"p.color\"\n fill-opacity=\"0.25\"\n [attr.stroke]=\"p.color\"\n stroke-width=\"2\"\n ></svg:path>\n }\n <svg:g skdxChartPoints [points]=\"l().points\"></svg:g>\n </skdx-chart-root>\n `,\n})\nexport class SkdxRadarChartComponent extends SkdxSizedBase {\n readonly series = input.required<Series[]>();\n /** One axis per category. */\n readonly categories = input.required<string[]>();\n\n protected readonly colors = CHART_COLORS;\n protected readonly l = computed(() =>\n layoutRadarChart({ ...this.sized(), series: this.series(), categories: this.categories() }),\n );\n}\n","/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nexport { SkdxRadarChartComponent } from './radar-chart.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAaH;AA0CM,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AAzC1D,IAAA,WAAA,GAAA;;QA0CW,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ;mFAAY;;QAEnC,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ;uFAAY;QAE7B,IAAA,CAAA,MAAM,GAAG,YAAY;AACrB,QAAA,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAC9B,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;8EAC5F;AACF,IAAA;8GATY,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApCxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAnCS,sBAAsB,iGAAE,wBAAwB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAqC/C,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAzCnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;AAC3D,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCT,EAAA,CAAA;AACF,iBAAA;;;AC1DD;;;;AAIG;;ACJH;;AAEG;;"}
@@ -18,11 +18,8 @@ class SkdxSankeyChartComponent extends SkdxSizedBase {
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxSankeyChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
20
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxSankeyChartComponent, isStandalone: true, selector: "skdx-sankey-chart", inputs: { links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
21
- <skdx-chart-root
22
- [layout]="l()"
23
- kind="sankey"
24
- [label]="label() ?? 'Sankey chart'"
25
- ></skdx-chart-root>
21
+ <skdx-chart-root [layout]="l()" kind="sankey" [label]="label() ?? 'Sankey chart'">
22
+ </skdx-chart-root>
26
23
  `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
24
  }
28
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxSankeyChartComponent, decorators: [{
@@ -33,15 +30,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
33
30
  changeDetection: ChangeDetectionStrategy.OnPush,
34
31
  imports: [SkdxChartRootComponent],
35
32
  template: `
36
- <skdx-chart-root
37
- [layout]="l()"
38
- kind="sankey"
39
- [label]="label() ?? 'Sankey chart'"
40
- ></skdx-chart-root>
33
+ <skdx-chart-root [layout]="l()" kind="sankey" [label]="label() ?? 'Sankey chart'">
34
+ </skdx-chart-root>
41
35
  `,
42
36
  }]
43
37
  }], propDecorators: { links: [{ type: i0.Input, args: [{ isSignal: true, alias: "links", required: true }] }] } });
44
38
 
39
+ /*
40
+ * Copyright (c) 2026 SkandaDX
41
+ * This file is part of the SkandaDX organization.
42
+ * Licensed under the MIT License. See LICENSE in the repository root.
43
+ */
44
+
45
45
  /**
46
46
  * Generated bundle index. Do not edit.
47
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skdx-angular-charts-sankey.mjs","sources":["../../src/sankey/index.ts","../../src/sankey/skdx-angular-charts-sankey.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n layoutSankey,\n type SankeyLink,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** Flows between nodes as ribbons, nodes placed by depth. */\n@Component({\n selector: 'skdx-sankey-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"l()\"\n kind=\"sankey\"\n [label]=\"label() ?? 'Sankey chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxSankeyChartComponent extends SkdxSizedBase {\n readonly links = input.required<SankeyLink[]>();\n\n protected readonly l = computed(() => layoutSankey({ ...this.sized(), links: this.links() }));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAcM,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AAb3D,IAAA,WAAA,GAAA;;QAcW,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ;kFAAgB;QAE5B,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAAM,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;8EAAC;AAC9F,IAAA;8GAJY,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARzB;;;;;;AAMT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAPS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FASrB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;AAMT,EAAA,CAAA;AACF,iBAAA;;;AC5BD;;AAEG;;"}
1
+ {"version":3,"file":"skdx-angular-charts-sankey.mjs","sources":["../../src/sankey/sankey-chart.component.ts","../../src/sankey/index.ts","../../src/sankey/skdx-angular-charts-sankey.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n layoutSankey,\n type SankeyLink,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** Flows between nodes as ribbons, nodes placed by depth. */\n@Component({\n selector: 'skdx-sankey-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root [layout]=\"l()\" kind=\"sankey\" [label]=\"label() ?? 'Sankey chart'\">\n </skdx-chart-root>\n `,\n})\nexport class SkdxSankeyChartComponent extends SkdxSizedBase {\n readonly links = input.required<SankeyLink[]>();\n\n protected readonly l = computed(() => layoutSankey({ ...this.sized(), links: this.links() }));\n}\n","/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nexport { SkdxSankeyChartComponent } from './sankey-chart.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAWM,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AAV3D,IAAA,WAAA,GAAA;;QAWW,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ;kFAAgB;QAE5B,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAAM,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;8EAAC;AAC9F,IAAA;8GAJY,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EALzB;;;AAGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAJS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAMrB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;AAGT,EAAA,CAAA;AACF,iBAAA;;;ACzBD;;;;AAIG;;ACJH;;AAEG;;"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { SkdxSizedBase, layoutScatterChart, SkdxChartRootComponent } from '@skdx/angular-charts/internal';
3
+ import { SkdxSizedBase, layoutScatterChart, SkdxChartFrameComponent, SkdxChartPointsComponent } from '@skdx/angular-charts/internal';
4
4
 
5
5
  /*
6
6
  * Copyright (c) 2026 SkandaDX
@@ -18,12 +18,10 @@ class SkdxScatterChartComponent extends SkdxSizedBase {
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxScatterChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
20
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxScatterChartComponent, isStandalone: true, selector: "skdx-scatter-chart", inputs: { series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
21
- <skdx-chart-root
22
- [layout]="layout()"
23
- kind="scatter"
24
- [label]="label() ?? 'Scatter chart'"
25
- ></skdx-chart-root>
26
- `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ <skdx-chart-frame [layout]="layout()" kind="scatter" [label]="label() ?? 'Scatter chart'">
22
+ <svg:g skdxChartPoints [points]="layout().points"></svg:g>
23
+ </skdx-chart-frame>
24
+ `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartFrameComponent, selector: "skdx-chart-frame", inputs: ["layout", "kind", "label"] }, { kind: "component", type: SkdxChartPointsComponent, selector: "g[skdxChartPoints]", inputs: ["points"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
25
  }
28
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxScatterChartComponent, decorators: [{
29
27
  type: Component,
@@ -31,17 +29,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
31
29
  selector: 'skdx-scatter-chart',
32
30
  standalone: true,
33
31
  changeDetection: ChangeDetectionStrategy.OnPush,
34
- imports: [SkdxChartRootComponent],
32
+ imports: [SkdxChartFrameComponent, SkdxChartPointsComponent],
35
33
  template: `
36
- <skdx-chart-root
37
- [layout]="layout()"
38
- kind="scatter"
39
- [label]="label() ?? 'Scatter chart'"
40
- ></skdx-chart-root>
34
+ <skdx-chart-frame [layout]="layout()" kind="scatter" [label]="label() ?? 'Scatter chart'">
35
+ <svg:g skdxChartPoints [points]="layout().points"></svg:g>
36
+ </skdx-chart-frame>
41
37
  `,
42
38
  }]
43
39
  }], propDecorators: { series: [{ type: i0.Input, args: [{ isSignal: true, alias: "series", required: true }] }] } });
44
40
 
41
+ /*
42
+ * Copyright (c) 2026 SkandaDX
43
+ * This file is part of the SkandaDX organization.
44
+ * Licensed under the MIT License. See LICENSE in the repository root.
45
+ */
46
+
45
47
  /**
46
48
  * Generated bundle index. Do not edit.
47
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skdx-angular-charts-scatter.mjs","sources":["../../src/scatter/index.ts","../../src/scatter/skdx-angular-charts-scatter.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n layoutScatterChart,\n type ScatterSeries,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** One dot per `[x, y]` pair on two linear axes. */\n@Component({\n selector: 'skdx-scatter-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"layout()\"\n kind=\"scatter\"\n [label]=\"label() ?? 'Scatter chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxScatterChartComponent extends SkdxSizedBase {\n readonly series = input.required<ScatterSeries[]>();\n\n protected readonly layout = computed(() =>\n layoutScatterChart({ ...this.sized(), series: this.series() }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAcM,MAAO,yBAA0B,SAAQ,aAAa,CAAA;AAb5D,IAAA,WAAA,GAAA;;QAcW,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ;mFAAmB;QAEhC,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MACnC,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;mFAC/D;AACF,IAAA;8GANY,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAR1B;;;;;;AAMT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAPS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FASrB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAbrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;AAMT,EAAA,CAAA;AACF,iBAAA;;;AC5BD;;AAEG;;"}
1
+ {"version":3,"file":"skdx-angular-charts-scatter.mjs","sources":["../../src/scatter/scatter-chart.component.ts","../../src/scatter/index.ts","../../src/scatter/skdx-angular-charts-scatter.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n layoutScatterChart,\n type ScatterSeries,\n SkdxChartFrameComponent,\n SkdxChartPointsComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** One dot per `[x, y]` pair on two linear axes. */\n@Component({\n selector: 'skdx-scatter-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartFrameComponent, SkdxChartPointsComponent],\n template: `\n <skdx-chart-frame [layout]=\"layout()\" kind=\"scatter\" [label]=\"label() ?? 'Scatter chart'\">\n <svg:g skdxChartPoints [points]=\"layout().points\"></svg:g>\n </skdx-chart-frame>\n `,\n})\nexport class SkdxScatterChartComponent extends SkdxSizedBase {\n readonly series = input.required<ScatterSeries[]>();\n\n protected readonly layout = computed(() =>\n layoutScatterChart({ ...this.sized(), series: this.series() }),\n );\n}\n","/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nexport { SkdxScatterChartComponent } from './scatter-chart.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAYH;AAYM,MAAO,yBAA0B,SAAQ,aAAa,CAAA;AAX5D,IAAA,WAAA,GAAA;;QAYW,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ;mFAAmB;QAEhC,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MACnC,kBAAkB,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;mFAC/D;AACF,IAAA;8GANY,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAN1B;;;;GAIT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EALS,uBAAuB,kGAAE,wBAAwB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAOhD,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAXrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;AAC5D,oBAAA,QAAQ,EAAE;;;;AAIT,EAAA,CAAA;AACF,iBAAA;;;AC3BD;;;;AAIG;;ACJH;;AAEG;;"}
@@ -19,12 +19,31 @@ class SkdxSparklineComponent extends SkdxSizedBase {
19
19
  ...(ngDevMode ? [{ debugName: "l" }] : /* istanbul ignore next */ []));
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxSparklineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxSparklineComponent, isStandalone: true, selector: "skdx-sparkline", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
23
- <skdx-chart-root
24
- [layout]="l()"
25
- kind="sparkline"
26
- [label]="label() ?? 'Sparkline'"
27
- ></skdx-chart-root>
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: SkdxSparklineComponent, isStandalone: true, selector: "skdx-sparkline", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
23
+ <skdx-chart-root [layout]="l()" kind="sparkline" [label]="label() ?? 'Sparkline'">
24
+ <svg:path
25
+ data-skdx-part="area"
26
+ [attr.d]="l().area"
27
+ [attr.fill]="l().color"
28
+ fill-opacity="0.15"
29
+ ></svg:path>
30
+ <svg:path
31
+ data-skdx-part="line"
32
+ [attr.d]="l().line"
33
+ fill="none"
34
+ [attr.stroke]="l().color"
35
+ stroke-width="1.5"
36
+ ></svg:path>
37
+ @if (l().last; as last) {
38
+ <svg:circle
39
+ data-skdx-part="point"
40
+ [attr.cx]="last.x"
41
+ [attr.cy]="last.y"
42
+ r="2"
43
+ [attr.fill]="l().color"
44
+ ></svg:circle>
45
+ }
46
+ </skdx-chart-root>
28
47
  `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
48
  }
30
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxSparklineComponent, decorators: [{
@@ -35,15 +54,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
35
54
  changeDetection: ChangeDetectionStrategy.OnPush,
36
55
  imports: [SkdxChartRootComponent],
37
56
  template: `
38
- <skdx-chart-root
39
- [layout]="l()"
40
- kind="sparkline"
41
- [label]="label() ?? 'Sparkline'"
42
- ></skdx-chart-root>
57
+ <skdx-chart-root [layout]="l()" kind="sparkline" [label]="label() ?? 'Sparkline'">
58
+ <svg:path
59
+ data-skdx-part="area"
60
+ [attr.d]="l().area"
61
+ [attr.fill]="l().color"
62
+ fill-opacity="0.15"
63
+ ></svg:path>
64
+ <svg:path
65
+ data-skdx-part="line"
66
+ [attr.d]="l().line"
67
+ fill="none"
68
+ [attr.stroke]="l().color"
69
+ stroke-width="1.5"
70
+ ></svg:path>
71
+ @if (l().last; as last) {
72
+ <svg:circle
73
+ data-skdx-part="point"
74
+ [attr.cx]="last.x"
75
+ [attr.cy]="last.y"
76
+ r="2"
77
+ [attr.fill]="l().color"
78
+ ></svg:circle>
79
+ }
80
+ </skdx-chart-root>
43
81
  `,
44
82
  }]
45
83
  }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
46
84
 
85
+ /*
86
+ * Copyright (c) 2026 SkandaDX
87
+ * This file is part of the SkandaDX organization.
88
+ * Licensed under the MIT License. See LICENSE in the repository root.
89
+ */
90
+
47
91
  /**
48
92
  * Generated bundle index. Do not edit.
49
93
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skdx-angular-charts-sparkline.mjs","sources":["../../src/sparkline/index.ts","../../src/sparkline/skdx-angular-charts-sparkline.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n layoutSparkline,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** A small axis-less trend line with the last point marked. */\n@Component({\n selector: 'skdx-sparkline',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"l()\"\n kind=\"sparkline\"\n [label]=\"label() ?? 'Sparkline'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxSparklineComponent extends SkdxSizedBase {\n readonly data = input.required<number[]>();\n readonly color = input<string>();\n\n protected readonly l = computed(() =>\n layoutSparkline({ ...this.sized(), data: this.data(), color: this.color() }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAUH;AAcM,MAAO,sBAAuB,SAAQ,aAAa,CAAA;AAbzD,IAAA,WAAA,GAAA;;QAcW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAY;AACjC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK;6FAAU;AAEb,QAAA,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAC9B,eAAe,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;8EAC7E;AACF,IAAA;8GAPY,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARvB;;;;;;AAMT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAPS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FASrB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAblC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;AAMT,EAAA,CAAA;AACF,iBAAA;;;AC3BD;;AAEG;;"}
1
+ {"version":3,"file":"skdx-angular-charts-sparkline.mjs","sources":["../../src/sparkline/sparkline.component.ts","../../src/sparkline/index.ts","../../src/sparkline/skdx-angular-charts-sparkline.ts"],"sourcesContent":["/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport {\n layoutSparkline,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** A small axis-less trend line with the last point marked. */\n@Component({\n selector: 'skdx-sparkline',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root [layout]=\"l()\" kind=\"sparkline\" [label]=\"label() ?? 'Sparkline'\">\n <svg:path\n data-skdx-part=\"area\"\n [attr.d]=\"l().area\"\n [attr.fill]=\"l().color\"\n fill-opacity=\"0.15\"\n ></svg:path>\n <svg:path\n data-skdx-part=\"line\"\n [attr.d]=\"l().line\"\n fill=\"none\"\n [attr.stroke]=\"l().color\"\n stroke-width=\"1.5\"\n ></svg:path>\n @if (l().last; as last) {\n <svg:circle\n data-skdx-part=\"point\"\n [attr.cx]=\"last.x\"\n [attr.cy]=\"last.y\"\n r=\"2\"\n [attr.fill]=\"l().color\"\n ></svg:circle>\n }\n </skdx-chart-root>\n `,\n})\nexport class SkdxSparklineComponent extends SkdxSizedBase {\n readonly data = input.required<number[]>();\n readonly color = input<string>();\n\n protected readonly l = computed(() =>\n layoutSparkline({ ...this.sized(), data: this.data(), color: this.color() }),\n );\n}\n","/*\n * Copyright (c) 2026 SkandaDX\n * This file is part of the SkandaDX organization.\n * Licensed under the MIT License. See LICENSE in the repository root.\n */\n\nexport { SkdxSparklineComponent } from './sparkline.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAUH;AAiCM,MAAO,sBAAuB,SAAQ,aAAa,CAAA;AAhCzD,IAAA,WAAA,GAAA;;QAiCW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAY;AACjC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK;6FAAU;AAEb,QAAA,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAC9B,eAAe,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;8EAC7E;AACF,IAAA;8GAPY,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA3BvB;;;;;;;;;;;;;;;;;;;;;;;;;AAyBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EA1BS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FA4BrB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAhClC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;AAyBT,EAAA,CAAA;AACF,iBAAA;;;AC9CD;;;;AAIG;;ACJH;;AAEG;;"}
@@ -18,11 +18,8 @@ class SkdxSunburstChartComponent extends SkdxSizedBase {
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxSunburstChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
20
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxSunburstChartComponent, isStandalone: true, selector: "skdx-sunburst-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
21
- <skdx-chart-root
22
- [layout]="l()"
23
- kind="sunburst"
24
- [label]="label() ?? 'Sunburst chart'"
25
- ></skdx-chart-root>
21
+ <skdx-chart-root [layout]="l()" kind="sunburst" [label]="label() ?? 'Sunburst chart'">
22
+ </skdx-chart-root>
26
23
  `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
24
  }
28
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxSunburstChartComponent, decorators: [{
@@ -33,15 +30,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
33
30
  changeDetection: ChangeDetectionStrategy.OnPush,
34
31
  imports: [SkdxChartRootComponent],
35
32
  template: `
36
- <skdx-chart-root
37
- [layout]="l()"
38
- kind="sunburst"
39
- [label]="label() ?? 'Sunburst chart'"
40
- ></skdx-chart-root>
33
+ <skdx-chart-root [layout]="l()" kind="sunburst" [label]="label() ?? 'Sunburst chart'">
34
+ </skdx-chart-root>
41
35
  `,
42
36
  }]
43
37
  }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }] } });
44
38
 
39
+ /*
40
+ * Copyright (c) 2026 SkandaDX
41
+ * This file is part of the SkandaDX organization.
42
+ * Licensed under the MIT License. See LICENSE in the repository root.
43
+ */
44
+
45
45
  /**
46
46
  * Generated bundle index. Do not edit.
47
47
  */