@skdx/angular-charts 0.32.0 → 0.34.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 (65) hide show
  1. package/README.md +96 -41
  2. package/fesm2022/skdx-angular-charts-area.mjs +27 -33
  3. package/fesm2022/skdx-angular-charts-area.mjs.map +1 -1
  4. package/fesm2022/skdx-angular-charts-bar.mjs +30 -51
  5. package/fesm2022/skdx-angular-charts-bar.mjs.map +1 -1
  6. package/fesm2022/skdx-angular-charts-boxplot.mjs +26 -14
  7. package/fesm2022/skdx-angular-charts-boxplot.mjs.map +1 -1
  8. package/fesm2022/skdx-angular-charts-candlestick.mjs +49 -16
  9. package/fesm2022/skdx-angular-charts-candlestick.mjs.map +1 -1
  10. package/fesm2022/skdx-angular-charts-chord.mjs +26 -14
  11. package/fesm2022/skdx-angular-charts-chord.mjs.map +1 -1
  12. package/fesm2022/skdx-angular-charts-funnel.mjs +37 -48
  13. package/fesm2022/skdx-angular-charts-funnel.mjs.map +1 -1
  14. package/fesm2022/skdx-angular-charts-gantt.mjs +31 -19
  15. package/fesm2022/skdx-angular-charts-gantt.mjs.map +1 -1
  16. package/fesm2022/skdx-angular-charts-heatmap.mjs +54 -81
  17. package/fesm2022/skdx-angular-charts-heatmap.mjs.map +1 -1
  18. package/fesm2022/skdx-angular-charts-internal.mjs +2746 -707
  19. package/fesm2022/skdx-angular-charts-internal.mjs.map +1 -1
  20. package/fesm2022/skdx-angular-charts-line.mjs +26 -16
  21. package/fesm2022/skdx-angular-charts-line.mjs.map +1 -1
  22. package/fesm2022/skdx-angular-charts-map.mjs +35 -14
  23. package/fesm2022/skdx-angular-charts-map.mjs.map +1 -1
  24. package/fesm2022/skdx-angular-charts-pie.mjs +47 -25
  25. package/fesm2022/skdx-angular-charts-pie.mjs.map +1 -1
  26. package/fesm2022/skdx-angular-charts-radar.mjs +45 -81
  27. package/fesm2022/skdx-angular-charts-radar.mjs.map +1 -1
  28. package/fesm2022/skdx-angular-charts-radial.mjs +108 -0
  29. package/fesm2022/skdx-angular-charts-radial.mjs.map +1 -0
  30. package/fesm2022/skdx-angular-charts-sankey.mjs +26 -14
  31. package/fesm2022/skdx-angular-charts-sankey.mjs.map +1 -1
  32. package/fesm2022/skdx-angular-charts-scatter.mjs +49 -19
  33. package/fesm2022/skdx-angular-charts-scatter.mjs.map +1 -1
  34. package/fesm2022/skdx-angular-charts-sparkline.mjs +50 -60
  35. package/fesm2022/skdx-angular-charts-sparkline.mjs.map +1 -1
  36. package/fesm2022/skdx-angular-charts-sunburst.mjs +26 -14
  37. package/fesm2022/skdx-angular-charts-sunburst.mjs.map +1 -1
  38. package/fesm2022/skdx-angular-charts-treemap.mjs +26 -14
  39. package/fesm2022/skdx-angular-charts-treemap.mjs.map +1 -1
  40. package/fesm2022/skdx-angular-charts-waterfall.mjs +26 -14
  41. package/fesm2022/skdx-angular-charts-waterfall.mjs.map +1 -1
  42. package/fesm2022/skdx-angular-charts.mjs +2 -0
  43. package/fesm2022/skdx-angular-charts.mjs.map +1 -1
  44. package/package.json +7 -12
  45. package/types/skdx-angular-charts-area.d.ts +2 -2
  46. package/types/skdx-angular-charts-bar.d.ts +5 -13
  47. package/types/skdx-angular-charts-boxplot.d.ts +2 -2
  48. package/types/skdx-angular-charts-candlestick.d.ts +10 -4
  49. package/types/skdx-angular-charts-chord.d.ts +2 -2
  50. package/types/skdx-angular-charts-funnel.d.ts +5 -3
  51. package/types/skdx-angular-charts-gantt.d.ts +6 -6
  52. package/types/skdx-angular-charts-heatmap.d.ts +16 -15
  53. package/types/skdx-angular-charts-internal.d.ts +595 -232
  54. package/types/skdx-angular-charts-line.d.ts +2 -2
  55. package/types/skdx-angular-charts-map.d.ts +4 -3
  56. package/types/skdx-angular-charts-pie.d.ts +11 -3
  57. package/types/skdx-angular-charts-radar.d.ts +8 -10
  58. package/types/skdx-angular-charts-radial.d.ts +34 -0
  59. package/types/skdx-angular-charts-sankey.d.ts +2 -2
  60. package/types/skdx-angular-charts-scatter.d.ts +11 -4
  61. package/types/skdx-angular-charts-sparkline.d.ts +13 -5
  62. package/types/skdx-angular-charts-sunburst.d.ts +2 -2
  63. package/types/skdx-angular-charts-treemap.d.ts +4 -4
  64. package/types/skdx-angular-charts-waterfall.d.ts +2 -2
  65. package/types/skdx-angular-charts.d.ts +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skdx-angular-charts-radial.mjs","sources":["../../src/radial/index.ts","../../src/radial/skdx-angular-charts-radial.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 layoutRadialBar,\n SkdxChartRootComponent,\n SkdxSizedBase,\n type Datum,\n type RadialBand,\n} from '@skdx/angular-charts/internal';\n\n/** Concentric arcs, one per datum, each a share of `max`: KPI completion, utilization, quota, health. */\n@Component({\n selector: 'skdx-radial-bar-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"layout()\"\n kind=\"radial\"\n [label]=\"label() ?? 'Radial bar chart'\"\n [zoomable]=\"zoomable()\"\n [responsive]=\"responsive()\"\n (itemClick)=\"itemClick.emit($event)\"\n (hiddenSeriesChange)=\"toggle($event)\"\n (zoomChange)=\"zoom.set($event)\"\n (measured)=\"measuredWidth.set($event)\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxRadialBarChartComponent extends SkdxSizedBase {\n readonly data = input.required<Datum[]>();\n /** The value a full arc represents. */\n readonly max = input<number>();\n /** Degrees clockwise from 12 o'clock. */\n readonly startAngle = input<number>();\n readonly endAngle = input<number>();\n /** Hole radius as a fraction of the outer radius. */\n readonly innerRadius = input<number>();\n /** Gap between arcs as a fraction of one arc's thickness. */\n readonly gap = input<number>();\n /** Draw the full-range track behind each arc. */\n readonly track = input(true);\n /** Round the arc ends. */\n readonly rounded = input(true);\n /** Write each name and value at the arc start. */\n readonly labels = input(false);\n /** Threshold sectors outside the arcs, in value units. */\n readonly bands = input<RadialBand[]>();\n /** A tick across every arc at this value. */\n readonly target = input<number>();\n /** Text in the middle, e.g. the headline value. */\n readonly centerLabel = input<string>();\n\n protected readonly layout = computed(() =>\n layoutRadialBar({\n ...this.sized(),\n data: this.data(),\n max: this.max(),\n startAngle: this.startAngle(),\n endAngle: this.endAngle(),\n innerRadius: this.innerRadius(),\n gap: this.gap(),\n track: this.track(),\n rounded: this.rounded(),\n labels: this.labels(),\n bands: this.bands(),\n target: this.target(),\n centerLabel: this.centerLabel(),\n }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -7,20 +7,29 @@ import { SkdxSizedBase, layoutSankey, SkdxChartRootComponent } from '@skdx/angul
7
7
  * This file is part of the SkandaDX organization.
8
8
  * Licensed under the MIT License. See LICENSE in the repository root.
9
9
  */
10
- /** Flows between nodes as ribbons, nodes placed by depth. */
10
+ /** Flows between nodes, node heights and ribbon widths by value. */
11
11
  class SkdxSankeyChartComponent extends SkdxSizedBase {
12
12
  constructor() {
13
13
  super(...arguments);
14
14
  this.links = input.required(/* @ts-ignore */
15
15
  ...(ngDevMode ? [{ debugName: "links" }] : /* istanbul ignore next */ []));
16
- this.l = computed(() => layoutSankey({ ...this.sized(), links: this.links() }), /* @ts-ignore */
17
- ...(ngDevMode ? [{ debugName: "l" }] : /* istanbul ignore next */ []));
16
+ this.layout = computed(() => layoutSankey({ ...this.sized(), links: this.links() }), /* @ts-ignore */
17
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
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 [layout]="l()" kind="sankey" [label]="label() ?? 'Sankey chart'">
22
- </skdx-chart-root>
23
- `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ <skdx-chart-root
22
+ [layout]="layout()"
23
+ kind="sankey"
24
+ [label]="label() ?? 'Sankey chart'"
25
+ [zoomable]="zoomable()"
26
+ [responsive]="responsive()"
27
+ (itemClick)="itemClick.emit($event)"
28
+ (hiddenSeriesChange)="toggle($event)"
29
+ (zoomChange)="zoom.set($event)"
30
+ (measured)="measuredWidth.set($event)"
31
+ ></skdx-chart-root>
32
+ `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label", "zoomable", "responsive"], outputs: ["itemClick", "hiddenSeriesChange", "zoomChange", "measured"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
33
  }
25
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxSankeyChartComponent, decorators: [{
26
35
  type: Component,
@@ -30,18 +39,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
30
39
  changeDetection: ChangeDetectionStrategy.OnPush,
31
40
  imports: [SkdxChartRootComponent],
32
41
  template: `
33
- <skdx-chart-root [layout]="l()" kind="sankey" [label]="label() ?? 'Sankey chart'">
34
- </skdx-chart-root>
42
+ <skdx-chart-root
43
+ [layout]="layout()"
44
+ kind="sankey"
45
+ [label]="label() ?? 'Sankey chart'"
46
+ [zoomable]="zoomable()"
47
+ [responsive]="responsive()"
48
+ (itemClick)="itemClick.emit($event)"
49
+ (hiddenSeriesChange)="toggle($event)"
50
+ (zoomChange)="zoom.set($event)"
51
+ (measured)="measuredWidth.set($event)"
52
+ ></skdx-chart-root>
35
53
  `,
36
54
  }]
37
55
  }], propDecorators: { links: [{ type: i0.Input, args: [{ isSignal: true, alias: "links", required: true }] }] } });
38
56
 
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
57
  /**
46
58
  * Generated bundle index. Do not edit.
47
59
  */
@@ -1 +1 @@
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
+ {"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 SkdxChartRootComponent,\n SkdxSizedBase,\n type SankeyLink,\n} from '@skdx/angular-charts/internal';\n\n/** Flows between nodes, node heights and ribbon widths by value. */\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]=\"layout()\"\n kind=\"sankey\"\n [label]=\"label() ?? 'Sankey chart'\"\n [zoomable]=\"zoomable()\"\n [responsive]=\"responsive()\"\n (itemClick)=\"itemClick.emit($event)\"\n (hiddenSeriesChange)=\"toggle($event)\"\n (zoomChange)=\"zoom.set($event)\"\n (measured)=\"measuredWidth.set($event)\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxSankeyChartComponent extends SkdxSizedBase {\n readonly links = input.required<SankeyLink[]>();\n\n protected readonly layout = computed(() =>\n layoutSankey({ ...this.sized(), links: this.links() }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAoBM,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AAnB3D,IAAA,WAAA,GAAA;;QAoBW,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ;kFAAgB;QAE5B,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MACnC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;mFACvD;AACF,IAAA;8GANY,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,EAdzB;;;;;;;;;;;;AAYT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAbS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAerB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAnBpC,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;;;;;;;;;;;;AAYT,EAAA,CAAA;AACF,iBAAA;;;AClCD;;AAEG;;"}
@@ -1,27 +1,55 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { SkdxSizedBase, layoutScatterChart, SkdxChartFrameComponent, SkdxChartPointsComponent } from '@skdx/angular-charts/internal';
3
+ import { SkdxSizedBase, layoutScatterChart, SkdxChartRootComponent } from '@skdx/angular-charts/internal';
4
4
 
5
5
  /*
6
6
  * Copyright (c) 2026 SkandaDX
7
7
  * This file is part of the SkandaDX organization.
8
8
  * Licensed under the MIT License. See LICENSE in the repository root.
9
9
  */
10
- /** One dot per `[x, y]` pair on two linear axes. */
10
+ /** One dot per `[x, y]` pair, or a bubble per `[x, y, size]` triple, on two linear axes. */
11
11
  class SkdxScatterChartComponent extends SkdxSizedBase {
12
12
  constructor() {
13
13
  super(...arguments);
14
14
  this.series = input.required(/* @ts-ignore */
15
15
  ...(ngDevMode ? [{ debugName: "series" }] : /* istanbul ignore next */ []));
16
- this.layout = computed(() => layoutScatterChart({ ...this.sized(), series: this.series() }), /* @ts-ignore */
16
+ /** Bubble radius range in pixels. */
17
+ this.sizeRange = input(/* @ts-ignore */
18
+ ...(ngDevMode ? [undefined, { debugName: "sizeRange" }] : /* istanbul ignore next */ []));
19
+ /** Least-squares line per series. */
20
+ this.trendline = input(false, /* @ts-ignore */
21
+ ...(ngDevMode ? [{ debugName: "trendline" }] : /* istanbul ignore next */ []));
22
+ this.xAxis = input(/* @ts-ignore */
23
+ ...(ngDevMode ? [undefined, { debugName: "xAxis" }] : /* istanbul ignore next */ []));
24
+ this.yAxis = input(/* @ts-ignore */
25
+ ...(ngDevMode ? [undefined, { debugName: "yAxis" }] : /* istanbul ignore next */ []));
26
+ this.references = input(/* @ts-ignore */
27
+ ...(ngDevMode ? [undefined, { debugName: "references" }] : /* istanbul ignore next */ []));
28
+ this.layout = computed(() => layoutScatterChart({
29
+ ...this.sized(),
30
+ series: this.series(),
31
+ sizeRange: this.sizeRange(),
32
+ trendline: this.trendline(),
33
+ xAxis: this.xAxis(),
34
+ yAxis: this.yAxis(),
35
+ references: this.references(),
36
+ }), /* @ts-ignore */
17
37
  ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
18
38
  }
19
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxScatterChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
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-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 }); }
40
+ 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 }, sizeRange: { classPropertyName: "sizeRange", publicName: "sizeRange", isSignal: true, isRequired: false, transformFunction: null }, trendline: { classPropertyName: "trendline", publicName: "trendline", isSignal: true, isRequired: false, transformFunction: null }, xAxis: { classPropertyName: "xAxis", publicName: "xAxis", isSignal: true, isRequired: false, transformFunction: null }, yAxis: { classPropertyName: "yAxis", publicName: "yAxis", isSignal: true, isRequired: false, transformFunction: null }, references: { classPropertyName: "references", publicName: "references", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
41
+ <skdx-chart-root
42
+ [layout]="layout()"
43
+ kind="scatter"
44
+ [label]="label() ?? 'Scatter chart'"
45
+ [zoomable]="zoomable()"
46
+ [responsive]="responsive()"
47
+ (itemClick)="itemClick.emit($event)"
48
+ (hiddenSeriesChange)="toggle($event)"
49
+ (zoomChange)="zoom.set($event)"
50
+ (measured)="measuredWidth.set($event)"
51
+ ></skdx-chart-root>
52
+ `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label", "zoomable", "responsive"], outputs: ["itemClick", "hiddenSeriesChange", "zoomChange", "measured"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
53
  }
26
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxScatterChartComponent, decorators: [{
27
55
  type: Component,
@@ -29,20 +57,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
29
57
  selector: 'skdx-scatter-chart',
30
58
  standalone: true,
31
59
  changeDetection: ChangeDetectionStrategy.OnPush,
32
- imports: [SkdxChartFrameComponent, SkdxChartPointsComponent],
60
+ imports: [SkdxChartRootComponent],
33
61
  template: `
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>
62
+ <skdx-chart-root
63
+ [layout]="layout()"
64
+ kind="scatter"
65
+ [label]="label() ?? 'Scatter chart'"
66
+ [zoomable]="zoomable()"
67
+ [responsive]="responsive()"
68
+ (itemClick)="itemClick.emit($event)"
69
+ (hiddenSeriesChange)="toggle($event)"
70
+ (zoomChange)="zoom.set($event)"
71
+ (measured)="measuredWidth.set($event)"
72
+ ></skdx-chart-root>
37
73
  `,
38
74
  }]
39
- }], propDecorators: { series: [{ type: i0.Input, args: [{ isSignal: true, alias: "series", required: true }] }] } });
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
- */
75
+ }], propDecorators: { series: [{ type: i0.Input, args: [{ isSignal: true, alias: "series", required: true }] }], sizeRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "sizeRange", required: false }] }], trendline: [{ type: i0.Input, args: [{ isSignal: true, alias: "trendline", required: false }] }], xAxis: [{ type: i0.Input, args: [{ isSignal: true, alias: "xAxis", required: false }] }], yAxis: [{ type: i0.Input, args: [{ isSignal: true, alias: "yAxis", required: false }] }], references: [{ type: i0.Input, args: [{ isSignal: true, alias: "references", required: false }] }] } });
46
76
 
47
77
  /**
48
78
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
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;;"}
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 SkdxChartRootComponent,\n SkdxSizedBase,\n type AxisOptions,\n type Reference,\n type ScatterSeries,\n} from '@skdx/angular-charts/internal';\n\n/** One dot per `[x, y]` pair, or a bubble per `[x, y, size]` triple, 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 [zoomable]=\"zoomable()\"\n [responsive]=\"responsive()\"\n (itemClick)=\"itemClick.emit($event)\"\n (hiddenSeriesChange)=\"toggle($event)\"\n (zoomChange)=\"zoom.set($event)\"\n (measured)=\"measuredWidth.set($event)\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxScatterChartComponent extends SkdxSizedBase {\n readonly series = input.required<ScatterSeries[]>();\n /** Bubble radius range in pixels. */\n readonly sizeRange = input<[number, number]>();\n /** Least-squares line per series. */\n readonly trendline = input(false);\n readonly xAxis = input<AxisOptions>();\n readonly yAxis = input<AxisOptions>();\n readonly references = input<Reference[]>();\n\n protected readonly layout = computed(() =>\n layoutScatterChart({\n ...this.sized(),\n series: this.series(),\n sizeRange: this.sizeRange(),\n trendline: this.trendline(),\n xAxis: this.xAxis(),\n yAxis: this.yAxis(),\n references: this.references(),\n }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { SkdxSizedBase, layoutSparkline, SkdxChartRootComponent } from '@skdx/an
7
7
  * This file is part of the SkandaDX organization.
8
8
  * Licensed under the MIT License. See LICENSE in the repository root.
9
9
  */
10
- /** A small axis-less trend line with the last point marked. */
10
+ /** A small axis-less trend: an area, a bare line or bars, with optional extremes and last value. */
11
11
  class SkdxSparklineComponent extends SkdxSizedBase {
12
12
  constructor() {
13
13
  super(...arguments);
@@ -15,36 +15,45 @@ class SkdxSparklineComponent extends SkdxSizedBase {
15
15
  ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
16
16
  this.color = input(/* @ts-ignore */
17
17
  ...(ngDevMode ? [undefined, { debugName: "color" }] : /* istanbul ignore next */ []));
18
- this.l = computed(() => layoutSparkline({ ...this.sized(), data: this.data(), color: this.color() }), /* @ts-ignore */
19
- ...(ngDevMode ? [{ debugName: "l" }] : /* istanbul ignore next */ []));
18
+ this.curve = input(/* @ts-ignore */
19
+ ...(ngDevMode ? [undefined, { debugName: "curve" }] : /* istanbul ignore next */ []));
20
+ this.variant = input(/* @ts-ignore */
21
+ ...(ngDevMode ? [undefined, { debugName: "variant" }] : /* istanbul ignore next */ []));
22
+ /** Color by direction: success when rising, danger when falling. */
23
+ this.trend = input(false, /* @ts-ignore */
24
+ ...(ngDevMode ? [{ debugName: "trend" }] : /* istanbul ignore next */ []));
25
+ /** Mark the minimum and maximum. */
26
+ this.extremes = input(false, /* @ts-ignore */
27
+ ...(ngDevMode ? [{ debugName: "extremes" }] : /* istanbul ignore next */ []));
28
+ /** Write the last value after the line. */
29
+ this.lastValue = input(false, /* @ts-ignore */
30
+ ...(ngDevMode ? [{ debugName: "lastValue" }] : /* istanbul ignore next */ []));
31
+ this.layout = computed(() => layoutSparkline({
32
+ ...this.sized(),
33
+ data: this.data(),
34
+ color: this.color(),
35
+ curve: this.curve(),
36
+ variant: this.variant(),
37
+ trend: this.trend(),
38
+ extremes: this.extremes(),
39
+ lastValue: this.lastValue(),
40
+ }), /* @ts-ignore */
41
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
20
42
  }
21
43
  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.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>
47
- `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
+ 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 }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, trend: { classPropertyName: "trend", publicName: "trend", isSignal: true, isRequired: false, transformFunction: null }, extremes: { classPropertyName: "extremes", publicName: "extremes", isSignal: true, isRequired: false, transformFunction: null }, lastValue: { classPropertyName: "lastValue", publicName: "lastValue", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
45
+ <skdx-chart-root
46
+ [layout]="layout()"
47
+ kind="sparkline"
48
+ [label]="label() ?? 'Sparkline'"
49
+ [zoomable]="zoomable()"
50
+ [responsive]="responsive()"
51
+ (itemClick)="itemClick.emit($event)"
52
+ (hiddenSeriesChange)="toggle($event)"
53
+ (zoomChange)="zoom.set($event)"
54
+ (measured)="measuredWidth.set($event)"
55
+ ></skdx-chart-root>
56
+ `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label", "zoomable", "responsive"], outputs: ["itemClick", "hiddenSeriesChange", "zoomChange", "measured"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
57
  }
49
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxSparklineComponent, decorators: [{
50
59
  type: Component,
@@ -54,39 +63,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
54
63
  changeDetection: ChangeDetectionStrategy.OnPush,
55
64
  imports: [SkdxChartRootComponent],
56
65
  template: `
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>
66
+ <skdx-chart-root
67
+ [layout]="layout()"
68
+ kind="sparkline"
69
+ [label]="label() ?? 'Sparkline'"
70
+ [zoomable]="zoomable()"
71
+ [responsive]="responsive()"
72
+ (itemClick)="itemClick.emit($event)"
73
+ (hiddenSeriesChange)="toggle($event)"
74
+ (zoomChange)="zoom.set($event)"
75
+ (measured)="measuredWidth.set($event)"
76
+ ></skdx-chart-root>
81
77
  `,
82
78
  }]
83
- }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
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
- */
79
+ }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], curve: [{ type: i0.Input, args: [{ isSignal: true, alias: "curve", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], trend: [{ type: i0.Input, args: [{ isSignal: true, alias: "trend", required: false }] }], extremes: [{ type: i0.Input, args: [{ isSignal: true, alias: "extremes", required: false }] }], lastValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "lastValue", required: false }] }] } });
90
80
 
91
81
  /**
92
82
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
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;;"}
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 type Curve,\n type Value,\n} from '@skdx/angular-charts/internal';\n\n/** A small axis-less trend: an area, a bare line or bars, with optional extremes and last value. */\n@Component({\n selector: 'skdx-sparkline',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"layout()\"\n kind=\"sparkline\"\n [label]=\"label() ?? 'Sparkline'\"\n [zoomable]=\"zoomable()\"\n [responsive]=\"responsive()\"\n (itemClick)=\"itemClick.emit($event)\"\n (hiddenSeriesChange)=\"toggle($event)\"\n (zoomChange)=\"zoom.set($event)\"\n (measured)=\"measuredWidth.set($event)\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxSparklineComponent extends SkdxSizedBase {\n readonly data = input.required<Value[]>();\n readonly color = input<string>();\n readonly curve = input<Curve>();\n readonly variant = input<'area' | 'line' | 'bar'>();\n /** Color by direction: success when rising, danger when falling. */\n readonly trend = input(false);\n /** Mark the minimum and maximum. */\n readonly extremes = input(false);\n /** Write the last value after the line. */\n readonly lastValue = input(false);\n\n protected readonly layout = computed(() =>\n layoutSparkline({\n ...this.sized(),\n data: this.data(),\n color: this.color(),\n curve: this.curve(),\n variant: this.variant(),\n trend: this.trend(),\n extremes: this.extremes(),\n lastValue: this.lastValue(),\n }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -7,20 +7,29 @@ import { SkdxSizedBase, layoutSunburst, SkdxChartRootComponent } from '@skdx/ang
7
7
  * This file is part of the SkandaDX organization.
8
8
  * Licensed under the MIT License. See LICENSE in the repository root.
9
9
  */
10
- /** Nested rings, one per tree depth, children within their parent span. */
10
+ /** Nested rings, one per tree depth, children inside their parent's span. */
11
11
  class SkdxSunburstChartComponent extends SkdxSizedBase {
12
12
  constructor() {
13
13
  super(...arguments);
14
14
  this.data = input.required(/* @ts-ignore */
15
15
  ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
16
- this.l = computed(() => layoutSunburst({ ...this.sized(), data: this.data() }), /* @ts-ignore */
17
- ...(ngDevMode ? [{ debugName: "l" }] : /* istanbul ignore next */ []));
16
+ this.layout = computed(() => layoutSunburst({ ...this.sized(), data: this.data() }), /* @ts-ignore */
17
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
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 [layout]="l()" kind="sunburst" [label]="label() ?? 'Sunburst chart'">
22
- </skdx-chart-root>
23
- `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ <skdx-chart-root
22
+ [layout]="layout()"
23
+ kind="sunburst"
24
+ [label]="label() ?? 'Sunburst chart'"
25
+ [zoomable]="zoomable()"
26
+ [responsive]="responsive()"
27
+ (itemClick)="itemClick.emit($event)"
28
+ (hiddenSeriesChange)="toggle($event)"
29
+ (zoomChange)="zoom.set($event)"
30
+ (measured)="measuredWidth.set($event)"
31
+ ></skdx-chart-root>
32
+ `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label", "zoomable", "responsive"], outputs: ["itemClick", "hiddenSeriesChange", "zoomChange", "measured"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
33
  }
25
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxSunburstChartComponent, decorators: [{
26
35
  type: Component,
@@ -30,18 +39,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
30
39
  changeDetection: ChangeDetectionStrategy.OnPush,
31
40
  imports: [SkdxChartRootComponent],
32
41
  template: `
33
- <skdx-chart-root [layout]="l()" kind="sunburst" [label]="label() ?? 'Sunburst chart'">
34
- </skdx-chart-root>
42
+ <skdx-chart-root
43
+ [layout]="layout()"
44
+ kind="sunburst"
45
+ [label]="label() ?? 'Sunburst chart'"
46
+ [zoomable]="zoomable()"
47
+ [responsive]="responsive()"
48
+ (itemClick)="itemClick.emit($event)"
49
+ (hiddenSeriesChange)="toggle($event)"
50
+ (zoomChange)="zoom.set($event)"
51
+ (measured)="measuredWidth.set($event)"
52
+ ></skdx-chart-root>
35
53
  `,
36
54
  }]
37
55
  }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }] } });
38
56
 
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
57
  /**
46
58
  * Generated bundle index. Do not edit.
47
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skdx-angular-charts-sunburst.mjs","sources":["../../src/sunburst/sunburst-chart.component.ts","../../src/sunburst/index.ts","../../src/sunburst/skdx-angular-charts-sunburst.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 layoutSunburst,\n type TreeNode,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** Nested rings, one per tree depth, children within their parent span. */\n@Component({\n selector: 'skdx-sunburst-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root [layout]=\"l()\" kind=\"sunburst\" [label]=\"label() ?? 'Sunburst chart'\">\n </skdx-chart-root>\n `,\n})\nexport class SkdxSunburstChartComponent extends SkdxSizedBase {\n readonly data = input.required<TreeNode[]>();\n\n protected readonly l = computed(() => layoutSunburst({ ...this.sized(), data: this.data() }));\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 { SkdxSunburstChartComponent } from './sunburst-chart.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAWM,MAAO,0BAA2B,SAAQ,aAAa,CAAA;AAV7D,IAAA,WAAA,GAAA;;QAWW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAc;QAEzB,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAAM,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;8EAAC;AAC9F,IAAA;8GAJY,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,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,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAL3B;;;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,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAVtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,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
+ {"version":3,"file":"skdx-angular-charts-sunburst.mjs","sources":["../../src/sunburst/index.ts","../../src/sunburst/skdx-angular-charts-sunburst.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 layoutSunburst,\n SkdxChartRootComponent,\n SkdxSizedBase,\n type TreeNode,\n} from '@skdx/angular-charts/internal';\n\n/** Nested rings, one per tree depth, children inside their parent's span. */\n@Component({\n selector: 'skdx-sunburst-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"layout()\"\n kind=\"sunburst\"\n [label]=\"label() ?? 'Sunburst chart'\"\n [zoomable]=\"zoomable()\"\n [responsive]=\"responsive()\"\n (itemClick)=\"itemClick.emit($event)\"\n (hiddenSeriesChange)=\"toggle($event)\"\n (zoomChange)=\"zoom.set($event)\"\n (measured)=\"measuredWidth.set($event)\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxSunburstChartComponent extends SkdxSizedBase {\n readonly data = input.required<TreeNode[]>();\n\n protected readonly layout = computed(() =>\n layoutSunburst({ ...this.sized(), data: this.data() }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAoBM,MAAO,0BAA2B,SAAQ,aAAa,CAAA;AAnB7D,IAAA,WAAA,GAAA;;QAoBW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAc;QAEzB,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MACnC,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;mFACvD;AACF,IAAA;8GANY,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,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,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAd3B;;;;;;;;;;;;AAYT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAbS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAerB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAnBtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;AAYT,EAAA,CAAA;AACF,iBAAA;;;AClCD;;AAEG;;"}
@@ -7,20 +7,29 @@ import { SkdxSizedBase, layoutTreemap, SkdxChartRootComponent } from '@skdx/angu
7
7
  * This file is part of the SkandaDX organization.
8
8
  * Licensed under the MIT License. See LICENSE in the repository root.
9
9
  */
10
- /** Squarified tiles, one per datum, sized by value. */
10
+ /** Squarified tiles by value; branches are outlined and their children tiled inside. */
11
11
  class SkdxTreemapComponent extends SkdxSizedBase {
12
12
  constructor() {
13
13
  super(...arguments);
14
14
  this.data = input.required(/* @ts-ignore */
15
15
  ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
16
- this.l = computed(() => layoutTreemap({ ...this.sized(), data: this.data() }), /* @ts-ignore */
17
- ...(ngDevMode ? [{ debugName: "l" }] : /* istanbul ignore next */ []));
16
+ this.layout = computed(() => layoutTreemap({ ...this.sized(), data: this.data() }), /* @ts-ignore */
17
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxTreemapComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
20
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxTreemapComponent, isStandalone: true, selector: "skdx-treemap", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
21
- <skdx-chart-root [layout]="l()" kind="treemap" [label]="label() ?? 'Treemap'">
22
- </skdx-chart-root>
23
- `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ <skdx-chart-root
22
+ [layout]="layout()"
23
+ kind="treemap"
24
+ [label]="label() ?? 'Treemap'"
25
+ [zoomable]="zoomable()"
26
+ [responsive]="responsive()"
27
+ (itemClick)="itemClick.emit($event)"
28
+ (hiddenSeriesChange)="toggle($event)"
29
+ (zoomChange)="zoom.set($event)"
30
+ (measured)="measuredWidth.set($event)"
31
+ ></skdx-chart-root>
32
+ `, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label", "zoomable", "responsive"], outputs: ["itemClick", "hiddenSeriesChange", "zoomChange", "measured"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
33
  }
25
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxTreemapComponent, decorators: [{
26
35
  type: Component,
@@ -30,18 +39,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
30
39
  changeDetection: ChangeDetectionStrategy.OnPush,
31
40
  imports: [SkdxChartRootComponent],
32
41
  template: `
33
- <skdx-chart-root [layout]="l()" kind="treemap" [label]="label() ?? 'Treemap'">
34
- </skdx-chart-root>
42
+ <skdx-chart-root
43
+ [layout]="layout()"
44
+ kind="treemap"
45
+ [label]="label() ?? 'Treemap'"
46
+ [zoomable]="zoomable()"
47
+ [responsive]="responsive()"
48
+ (itemClick)="itemClick.emit($event)"
49
+ (hiddenSeriesChange)="toggle($event)"
50
+ (zoomChange)="zoom.set($event)"
51
+ (measured)="measuredWidth.set($event)"
52
+ ></skdx-chart-root>
35
53
  `,
36
54
  }]
37
55
  }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }] } });
38
56
 
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
57
  /**
46
58
  * Generated bundle index. Do not edit.
47
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skdx-angular-charts-treemap.mjs","sources":["../../src/treemap/treemap.component.ts","../../src/treemap/index.ts","../../src/treemap/skdx-angular-charts-treemap.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 layoutTreemap,\n type Datum,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** Squarified tiles, one per datum, sized by value. */\n@Component({\n selector: 'skdx-treemap',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root [layout]=\"l()\" kind=\"treemap\" [label]=\"label() ?? 'Treemap'\">\n </skdx-chart-root>\n `,\n})\nexport class SkdxTreemapComponent extends SkdxSizedBase {\n readonly data = input.required<Datum[]>();\n\n protected readonly l = computed(() => layoutTreemap({ ...this.sized(), data: this.data() }));\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 { SkdxTreemapComponent } from './treemap.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAWM,MAAO,oBAAqB,SAAQ,aAAa,CAAA;AAVvD,IAAA,WAAA,GAAA;;QAWW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAW;QAEtB,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAAM,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;8EAAC;AAC7F,IAAA;8GAJY,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,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,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EALrB;;;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,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,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
+ {"version":3,"file":"skdx-angular-charts-treemap.mjs","sources":["../../src/treemap/index.ts","../../src/treemap/skdx-angular-charts-treemap.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 layoutTreemap,\n SkdxChartRootComponent,\n SkdxSizedBase,\n type TreeNode,\n} from '@skdx/angular-charts/internal';\n\n/** Squarified tiles by value; branches are outlined and their children tiled inside. */\n@Component({\n selector: 'skdx-treemap',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"layout()\"\n kind=\"treemap\"\n [label]=\"label() ?? 'Treemap'\"\n [zoomable]=\"zoomable()\"\n [responsive]=\"responsive()\"\n (itemClick)=\"itemClick.emit($event)\"\n (hiddenSeriesChange)=\"toggle($event)\"\n (zoomChange)=\"zoom.set($event)\"\n (measured)=\"measuredWidth.set($event)\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxTreemapComponent extends SkdxSizedBase {\n readonly data = input.required<TreeNode[]>();\n\n protected readonly layout = computed(() => layoutTreemap({ ...this.sized(), data: this.data() }));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAoBM,MAAO,oBAAqB,SAAQ,aAAa,CAAA;AAnBvD,IAAA,WAAA,GAAA;;QAoBW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAc;QAEzB,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;mFAAC;AAClG,IAAA;8GAJY,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,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,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAdrB;;;;;;;;;;;;AAYT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAbS,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAerB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAnBhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;AAYT,EAAA,CAAA;AACF,iBAAA;;;AClCD;;AAEG;;"}