@skdx/angular-charts 0.32.0 → 0.33.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.
- package/fesm2022/skdx-angular-charts-area.mjs +14 -32
- package/fesm2022/skdx-angular-charts-area.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-bar.mjs +14 -38
- package/fesm2022/skdx-angular-charts-bar.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-boxplot.mjs +10 -10
- package/fesm2022/skdx-angular-charts-boxplot.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-candlestick.mjs +10 -10
- package/fesm2022/skdx-angular-charts-candlestick.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-chord.mjs +10 -10
- package/fesm2022/skdx-angular-charts-chord.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-funnel.mjs +11 -43
- package/fesm2022/skdx-angular-charts-funnel.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-gantt.mjs +10 -10
- package/fesm2022/skdx-angular-charts-gantt.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-heatmap.mjs +4 -69
- package/fesm2022/skdx-angular-charts-heatmap.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-internal.mjs +235 -411
- package/fesm2022/skdx-angular-charts-internal.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-line.mjs +13 -15
- package/fesm2022/skdx-angular-charts-line.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-map.mjs +2 -8
- package/fesm2022/skdx-angular-charts-map.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-pie.mjs +11 -21
- package/fesm2022/skdx-angular-charts-pie.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-radar.mjs +14 -77
- package/fesm2022/skdx-angular-charts-radar.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-sankey.mjs +10 -10
- package/fesm2022/skdx-angular-charts-sankey.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-scatter.mjs +13 -15
- package/fesm2022/skdx-angular-charts-scatter.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-sparkline.mjs +11 -55
- package/fesm2022/skdx-angular-charts-sparkline.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-sunburst.mjs +10 -10
- package/fesm2022/skdx-angular-charts-sunburst.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-treemap.mjs +2 -10
- package/fesm2022/skdx-angular-charts-treemap.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-waterfall.mjs +10 -10
- package/fesm2022/skdx-angular-charts-waterfall.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts.mjs.map +1 -1
- package/package.json +2 -11
- package/types/skdx-angular-charts-area.d.ts +1 -1
- package/types/skdx-angular-charts-bar.d.ts +1 -1
- package/types/skdx-angular-charts-funnel.d.ts +1 -1
- package/types/skdx-angular-charts-heatmap.d.ts +1 -8
- package/types/skdx-angular-charts-internal.d.ts +26 -200
- package/types/skdx-angular-charts-line.d.ts +1 -1
- package/types/skdx-angular-charts-pie.d.ts +1 -1
- package/types/skdx-angular-charts-radar.d.ts +1 -8
- package/types/skdx-angular-charts-scatter.d.ts +1 -1
- package/types/skdx-angular-charts-sparkline.d.ts +1 -1
- 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, layoutAreaChart,
|
|
3
|
+
import { SkdxChartBase, layoutAreaChart, SkdxChartRootComponent } from '@skdx/angular-charts/internal';
|
|
4
4
|
|
|
5
5
|
/*
|
|
6
6
|
* Copyright (c) 2026 SkandaDX
|
|
@@ -15,19 +15,13 @@ class SkdxAreaChartComponent extends SkdxChartBase {
|
|
|
15
15
|
...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
|
|
16
16
|
}
|
|
17
17
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxAreaChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
19
|
-
<skdx-chart-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
fill-opacity="0.25"
|
|
26
|
-
></svg:path>
|
|
27
|
-
}
|
|
28
|
-
<svg:g skdxChartLines [lines]="layout().lines" [points]="layout().points"></svg:g>
|
|
29
|
-
</skdx-chart-frame>
|
|
30
|
-
`, 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 }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: SkdxAreaChartComponent, isStandalone: true, selector: "skdx-area-chart", usesInheritance: true, ngImport: i0, template: `
|
|
19
|
+
<skdx-chart-root
|
|
20
|
+
[layout]="layout()"
|
|
21
|
+
kind="area"
|
|
22
|
+
[label]="label() ?? 'Area 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 }); }
|
|
31
25
|
}
|
|
32
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxAreaChartComponent, decorators: [{
|
|
33
27
|
type: Component,
|
|
@@ -35,29 +29,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
35
29
|
selector: 'skdx-area-chart',
|
|
36
30
|
standalone: true,
|
|
37
31
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
38
|
-
imports: [
|
|
32
|
+
imports: [SkdxChartRootComponent],
|
|
39
33
|
template: `
|
|
40
|
-
<skdx-chart-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
[attr.fill]="a.color"
|
|
46
|
-
fill-opacity="0.25"
|
|
47
|
-
></svg:path>
|
|
48
|
-
}
|
|
49
|
-
<svg:g skdxChartLines [lines]="layout().lines" [points]="layout().points"></svg:g>
|
|
50
|
-
</skdx-chart-frame>
|
|
34
|
+
<skdx-chart-root
|
|
35
|
+
[layout]="layout()"
|
|
36
|
+
kind="area"
|
|
37
|
+
[label]="label() ?? 'Area chart'"
|
|
38
|
+
></skdx-chart-root>
|
|
51
39
|
`,
|
|
52
40
|
}]
|
|
53
41
|
}] });
|
|
54
42
|
|
|
55
|
-
/*
|
|
56
|
-
* Copyright (c) 2026 SkandaDX
|
|
57
|
-
* This file is part of the SkandaDX organization.
|
|
58
|
-
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
59
|
-
*/
|
|
60
|
-
|
|
61
43
|
/**
|
|
62
44
|
* Generated bundle index. Do not edit.
|
|
63
45
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skdx-angular-charts-area.mjs","sources":["../../src/area/
|
|
1
|
+
{"version":3,"file":"skdx-angular-charts-area.mjs","sources":["../../src/area/index.ts","../../src/area/skdx-angular-charts-area.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 layoutAreaChart,\n SkdxChartBase,\n SkdxChartRootComponent,\n} from '@skdx/angular-charts/internal';\n\n/** A line chart with each series filled down to the zero baseline. */\n@Component({\n selector: 'skdx-area-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"layout()\"\n kind=\"area\"\n [label]=\"label() ?? 'Area chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxAreaChartComponent extends SkdxChartBase {\n protected readonly layout = computed(() => layoutAreaChart(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,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
-
import { SkdxChartBase, layoutBarChart,
|
|
3
|
+
import { SkdxChartBase, layoutBarChart, SkdxChartRootComponent } from '@skdx/angular-charts/internal';
|
|
4
4
|
|
|
5
5
|
/*
|
|
6
6
|
* Copyright (c) 2026 SkandaDX
|
|
@@ -24,22 +24,13 @@ class SkdxBarChartComponent extends SkdxChartBase {
|
|
|
24
24
|
...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
|
|
25
25
|
}
|
|
26
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxBarChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
28
|
-
<skdx-chart-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
[attr.width]="b.width"
|
|
35
|
-
[attr.height]="b.height"
|
|
36
|
-
[attr.fill]="b.color"
|
|
37
|
-
>
|
|
38
|
-
<svg:title>{{ b.title }}</svg:title>
|
|
39
|
-
</svg:rect>
|
|
40
|
-
}
|
|
41
|
-
</skdx-chart-frame>
|
|
42
|
-
`, isInline: true, dependencies: [{ kind: "component", type: SkdxChartFrameComponent, selector: "skdx-chart-frame", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxBarChartComponent, isStandalone: true, selector: "skdx-bar-chart", inputs: { stacked: { classPropertyName: "stacked", publicName: "stacked", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
28
|
+
<skdx-chart-root
|
|
29
|
+
[layout]="layout()"
|
|
30
|
+
kind="bar"
|
|
31
|
+
[label]="label() ?? 'Bar chart'"
|
|
32
|
+
></skdx-chart-root>
|
|
33
|
+
`, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
43
34
|
}
|
|
44
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxBarChartComponent, decorators: [{
|
|
45
36
|
type: Component,
|
|
@@ -47,32 +38,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
47
38
|
selector: 'skdx-bar-chart',
|
|
48
39
|
standalone: true,
|
|
49
40
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
50
|
-
imports: [
|
|
41
|
+
imports: [SkdxChartRootComponent],
|
|
51
42
|
template: `
|
|
52
|
-
<skdx-chart-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
[attr.y]="b.y"
|
|
58
|
-
[attr.width]="b.width"
|
|
59
|
-
[attr.height]="b.height"
|
|
60
|
-
[attr.fill]="b.color"
|
|
61
|
-
>
|
|
62
|
-
<svg:title>{{ b.title }}</svg:title>
|
|
63
|
-
</svg:rect>
|
|
64
|
-
}
|
|
65
|
-
</skdx-chart-frame>
|
|
43
|
+
<skdx-chart-root
|
|
44
|
+
[layout]="layout()"
|
|
45
|
+
kind="bar"
|
|
46
|
+
[label]="label() ?? 'Bar chart'"
|
|
47
|
+
></skdx-chart-root>
|
|
66
48
|
`,
|
|
67
49
|
}]
|
|
68
50
|
}], propDecorators: { stacked: [{ type: i0.Input, args: [{ isSignal: true, alias: "stacked", required: false }] }] } });
|
|
69
51
|
|
|
70
|
-
/*
|
|
71
|
-
* Copyright (c) 2026 SkandaDX
|
|
72
|
-
* This file is part of the SkandaDX organization.
|
|
73
|
-
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
74
|
-
*/
|
|
75
|
-
|
|
76
52
|
/**
|
|
77
53
|
* Generated bundle index. Do not edit.
|
|
78
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skdx-angular-charts-bar.mjs","sources":["../../src/bar/
|
|
1
|
+
{"version":3,"file":"skdx-angular-charts-bar.mjs","sources":["../../src/bar/index.ts","../../src/bar/skdx-angular-charts-bar.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 layoutBarChart,\n SkdxChartBase,\n SkdxChartRootComponent,\n} from '@skdx/angular-charts/internal';\n\n/**\n * Grouped or stacked vertical bars, one per value.\n *\n * ```html\n * <skdx-bar-chart [series]=\"[{ name: 'Sales', data: [3, 5, 2] }]\" [categories]=\"['Q1', 'Q2', 'Q3']\"></skdx-bar-chart>\n * ```\n */\n@Component({\n selector: 'skdx-bar-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"layout()\"\n kind=\"bar\"\n [label]=\"label() ?? 'Bar chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxBarChartComponent extends SkdxChartBase {\n /** Stack series on top of each other instead of grouping them side by side. */\n readonly stacked = input(false);\n\n protected readonly layout = computed(() =>\n layoutBarChart({ ...this.input(), stacked: this.stacked() }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAUH;;;;;;AAMG;AAcG,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AAbxD,IAAA,WAAA,GAAA;;;QAeW,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK;oFAAC;QAEZ,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MACnC,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;mFAC7D;AACF,IAAA;8GAPY,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,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,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;;;ACjCD;;AAEG;;"}
|
|
@@ -18,8 +18,11 @@ class SkdxBoxplotComponent extends SkdxSizedBase {
|
|
|
18
18
|
}
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxBoxplotComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
20
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxBoxplotComponent, isStandalone: true, selector: "skdx-boxplot", inputs: { series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
21
|
-
<skdx-chart-root
|
|
22
|
-
|
|
21
|
+
<skdx-chart-root
|
|
22
|
+
[layout]="l()"
|
|
23
|
+
kind="boxplot"
|
|
24
|
+
[label]="label() ?? 'Box plot'"
|
|
25
|
+
></skdx-chart-root>
|
|
23
26
|
`, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
27
|
}
|
|
25
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxBoxplotComponent, decorators: [{
|
|
@@ -30,18 +33,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
30
33
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
31
34
|
imports: [SkdxChartRootComponent],
|
|
32
35
|
template: `
|
|
33
|
-
<skdx-chart-root
|
|
34
|
-
|
|
36
|
+
<skdx-chart-root
|
|
37
|
+
[layout]="l()"
|
|
38
|
+
kind="boxplot"
|
|
39
|
+
[label]="label() ?? 'Box plot'"
|
|
40
|
+
></skdx-chart-root>
|
|
35
41
|
`,
|
|
36
42
|
}]
|
|
37
43
|
}], propDecorators: { series: [{ type: i0.Input, args: [{ isSignal: true, alias: "series", required: true }] }] } });
|
|
38
44
|
|
|
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-boxplot.mjs","sources":["../../src/boxplot/
|
|
1
|
+
{"version":3,"file":"skdx-angular-charts-boxplot.mjs","sources":["../../src/boxplot/index.ts","../../src/boxplot/skdx-angular-charts-boxplot.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 layoutBoxplot,\n type Series,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** Quartile boxes with Tukey whiskers and outliers, one per series. */\n@Component({\n selector: 'skdx-boxplot',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"l()\"\n kind=\"boxplot\"\n [label]=\"label() ?? 'Box plot'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxBoxplotComponent extends SkdxSizedBase {\n readonly series = input.required<Series[]>();\n\n protected readonly l = computed(() => layoutBoxplot({ ...this.sized(), series: this.series() }));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAcM,MAAO,oBAAqB,SAAQ,aAAa,CAAA;AAbvD,IAAA,WAAA,GAAA;;QAcW,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ;mFAAY;QAEzB,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAAM,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;8EAAC;AACjG,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,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,EARrB;;;;;;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,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,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;;;;;;AAMT,EAAA,CAAA;AACF,iBAAA;;;AC5BD;;AAEG;;"}
|
|
@@ -18,8 +18,11 @@ class SkdxCandlestickChartComponent extends SkdxSizedBase {
|
|
|
18
18
|
}
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxCandlestickChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
20
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxCandlestickChartComponent, isStandalone: true, selector: "skdx-candlestick-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
21
|
-
<skdx-chart-root
|
|
22
|
-
|
|
21
|
+
<skdx-chart-root
|
|
22
|
+
[layout]="l()"
|
|
23
|
+
kind="candlestick"
|
|
24
|
+
[label]="label() ?? 'Candlestick chart'"
|
|
25
|
+
></skdx-chart-root>
|
|
23
26
|
`, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
27
|
}
|
|
25
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxCandlestickChartComponent, decorators: [{
|
|
@@ -30,18 +33,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
30
33
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
31
34
|
imports: [SkdxChartRootComponent],
|
|
32
35
|
template: `
|
|
33
|
-
<skdx-chart-root
|
|
34
|
-
|
|
36
|
+
<skdx-chart-root
|
|
37
|
+
[layout]="l()"
|
|
38
|
+
kind="candlestick"
|
|
39
|
+
[label]="label() ?? 'Candlestick chart'"
|
|
40
|
+
></skdx-chart-root>
|
|
35
41
|
`,
|
|
36
42
|
}]
|
|
37
43
|
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }] } });
|
|
38
44
|
|
|
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-candlestick.mjs","sources":["../../src/candlestick/
|
|
1
|
+
{"version":3,"file":"skdx-angular-charts-candlestick.mjs","sources":["../../src/candlestick/index.ts","../../src/candlestick/skdx-angular-charts-candlestick.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 Candle,\n layoutCandlestick,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** Open/high/low/close candles, green when closing higher. */\n@Component({\n selector: 'skdx-candlestick-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"l()\"\n kind=\"candlestick\"\n [label]=\"label() ?? 'Candlestick chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxCandlestickChartComponent extends SkdxSizedBase {\n readonly data = input.required<Candle[]>();\n\n protected readonly l = computed(() => layoutCandlestick({ ...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;AAcM,MAAO,6BAA8B,SAAQ,aAAa,CAAA;AAbhE,IAAA,WAAA,GAAA;;QAcW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAY;QAEvB,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAAM,iBAAiB,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;8EAAC;AACjG,IAAA;8GAJY,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,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,EAR9B;;;;;;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,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAbzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,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;;"}
|
|
@@ -21,8 +21,11 @@ class SkdxChordChartComponent extends SkdxSizedBase {
|
|
|
21
21
|
}
|
|
22
22
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxChordChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
23
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxChordChartComponent, isStandalone: true, selector: "skdx-chord-chart", inputs: { names: { classPropertyName: "names", publicName: "names", isSignal: true, isRequired: true, transformFunction: null }, matrix: { classPropertyName: "matrix", publicName: "matrix", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
24
|
-
<skdx-chart-root
|
|
25
|
-
|
|
24
|
+
<skdx-chart-root
|
|
25
|
+
[layout]="l()"
|
|
26
|
+
kind="chord"
|
|
27
|
+
[label]="label() ?? 'Chord chart'"
|
|
28
|
+
></skdx-chart-root>
|
|
26
29
|
`, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27
30
|
}
|
|
28
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxChordChartComponent, decorators: [{
|
|
@@ -33,18 +36,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
33
36
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
34
37
|
imports: [SkdxChartRootComponent],
|
|
35
38
|
template: `
|
|
36
|
-
<skdx-chart-root
|
|
37
|
-
|
|
39
|
+
<skdx-chart-root
|
|
40
|
+
[layout]="l()"
|
|
41
|
+
kind="chord"
|
|
42
|
+
[label]="label() ?? 'Chord chart'"
|
|
43
|
+
></skdx-chart-root>
|
|
38
44
|
`,
|
|
39
45
|
}]
|
|
40
46
|
}], propDecorators: { names: [{ type: i0.Input, args: [{ isSignal: true, alias: "names", required: true }] }], matrix: [{ type: i0.Input, args: [{ isSignal: true, alias: "matrix", required: true }] }] } });
|
|
41
47
|
|
|
42
|
-
/*
|
|
43
|
-
* Copyright (c) 2026 SkandaDX
|
|
44
|
-
* This file is part of the SkandaDX organization.
|
|
45
|
-
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
48
|
/**
|
|
49
49
|
* Generated bundle index. Do not edit.
|
|
50
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skdx-angular-charts-chord.mjs","sources":["../../src/chord/
|
|
1
|
+
{"version":3,"file":"skdx-angular-charts-chord.mjs","sources":["../../src/chord/index.ts","../../src/chord/skdx-angular-charts-chord.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 { layoutChord, SkdxChartRootComponent, SkdxSizedBase } from '@skdx/angular-charts/internal';\n\n/** Ribbons between groups sized by the flow matrix. */\n@Component({\n selector: 'skdx-chord-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"l()\"\n kind=\"chord\"\n [label]=\"label() ?? 'Chord chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxChordChartComponent extends SkdxSizedBase {\n readonly names = input.required<string[]>();\n /** `matrix[i][j]` is the flow from `i` to `j`. */\n readonly matrix = input.required<number[][]>();\n\n protected readonly l = computed(() =>\n layoutChord({ ...this.sized(), names: this.names(), matrix: this.matrix() }),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAMH;AAcM,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AAb1D,IAAA,WAAA,GAAA;;QAcW,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ;kFAAY;;QAElC,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ;mFAAc;AAE3B,QAAA,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAC9B,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;8EAC7E;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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,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,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;;;ACvBD;;AAEG;;"}
|
|
@@ -17,25 +17,12 @@ class SkdxFunnelChartComponent extends SkdxSizedBase {
|
|
|
17
17
|
...(ngDevMode ? [{ debugName: "l" }] : /* istanbul ignore next */ []));
|
|
18
18
|
}
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxFunnelChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
21
|
-
<skdx-chart-root
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
</svg:path>
|
|
27
|
-
<svg:text
|
|
28
|
-
[attr.x]="s.x"
|
|
29
|
-
[attr.y]="s.y"
|
|
30
|
-
text-anchor="middle"
|
|
31
|
-
dominant-baseline="middle"
|
|
32
|
-
fill="var(--skdx-color-text-on-accent)"
|
|
33
|
-
>
|
|
34
|
-
{{ s.label }}
|
|
35
|
-
</svg:text>
|
|
36
|
-
</svg:g>
|
|
37
|
-
}
|
|
38
|
-
</skdx-chart-root>
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxFunnelChartComponent, isStandalone: true, selector: "skdx-funnel-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="funnel"
|
|
24
|
+
[label]="label() ?? 'Funnel chart'"
|
|
25
|
+
></skdx-chart-root>
|
|
39
26
|
`, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40
27
|
}
|
|
41
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxFunnelChartComponent, decorators: [{
|
|
@@ -46,34 +33,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
46
33
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
47
34
|
imports: [SkdxChartRootComponent],
|
|
48
35
|
template: `
|
|
49
|
-
<skdx-chart-root
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
</svg:path>
|
|
55
|
-
<svg:text
|
|
56
|
-
[attr.x]="s.x"
|
|
57
|
-
[attr.y]="s.y"
|
|
58
|
-
text-anchor="middle"
|
|
59
|
-
dominant-baseline="middle"
|
|
60
|
-
fill="var(--skdx-color-text-on-accent)"
|
|
61
|
-
>
|
|
62
|
-
{{ s.label }}
|
|
63
|
-
</svg:text>
|
|
64
|
-
</svg:g>
|
|
65
|
-
}
|
|
66
|
-
</skdx-chart-root>
|
|
36
|
+
<skdx-chart-root
|
|
37
|
+
[layout]="l()"
|
|
38
|
+
kind="funnel"
|
|
39
|
+
[label]="label() ?? 'Funnel chart'"
|
|
40
|
+
></skdx-chart-root>
|
|
67
41
|
`,
|
|
68
42
|
}]
|
|
69
43
|
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }] } });
|
|
70
44
|
|
|
71
|
-
/*
|
|
72
|
-
* Copyright (c) 2026 SkandaDX
|
|
73
|
-
* This file is part of the SkandaDX organization.
|
|
74
|
-
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
75
|
-
*/
|
|
76
|
-
|
|
77
45
|
/**
|
|
78
46
|
* Generated bundle index. Do not edit.
|
|
79
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skdx-angular-charts-funnel.mjs","sources":["../../src/funnel/
|
|
1
|
+
{"version":3,"file":"skdx-angular-charts-funnel.mjs","sources":["../../src/funnel/index.ts","../../src/funnel/skdx-angular-charts-funnel.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 layoutFunnelChart,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** Centered stages, each narrowing toward the next, labelled in place. */\n@Component({\n selector: 'skdx-funnel-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"l()\"\n kind=\"funnel\"\n [label]=\"label() ?? 'Funnel chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxFunnelChartComponent extends SkdxSizedBase {\n readonly data = input.required<Datum[]>();\n\n protected readonly l = computed(() => layoutFunnelChart({ ...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;AAcM,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AAb3D,IAAA,WAAA,GAAA;;QAcW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAW;QAEtB,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAAM,iBAAiB,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;8EAAC;AACjG,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,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,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;;"}
|
|
@@ -21,8 +21,11 @@ class SkdxGanttChartComponent extends SkdxSizedBase {
|
|
|
21
21
|
}
|
|
22
22
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxGanttChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
23
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxGanttChartComponent, isStandalone: true, selector: "skdx-gantt-chart", inputs: { tasks: { classPropertyName: "tasks", publicName: "tasks", isSignal: true, isRequired: true, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
24
|
-
<skdx-chart-root
|
|
25
|
-
|
|
24
|
+
<skdx-chart-root
|
|
25
|
+
[layout]="l()"
|
|
26
|
+
kind="gantt"
|
|
27
|
+
[label]="label() ?? 'Gantt chart'"
|
|
28
|
+
></skdx-chart-root>
|
|
26
29
|
`, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27
30
|
}
|
|
28
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxGanttChartComponent, decorators: [{
|
|
@@ -33,18 +36,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
33
36
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
34
37
|
imports: [SkdxChartRootComponent],
|
|
35
38
|
template: `
|
|
36
|
-
<skdx-chart-root
|
|
37
|
-
|
|
39
|
+
<skdx-chart-root
|
|
40
|
+
[layout]="l()"
|
|
41
|
+
kind="gantt"
|
|
42
|
+
[label]="label() ?? 'Gantt chart'"
|
|
43
|
+
></skdx-chart-root>
|
|
38
44
|
`,
|
|
39
45
|
}]
|
|
40
46
|
}], propDecorators: { tasks: [{ type: i0.Input, args: [{ isSignal: true, alias: "tasks", required: true }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }] } });
|
|
41
47
|
|
|
42
|
-
/*
|
|
43
|
-
* Copyright (c) 2026 SkandaDX
|
|
44
|
-
* This file is part of the SkandaDX organization.
|
|
45
|
-
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
48
|
/**
|
|
49
49
|
* Generated bundle index. Do not edit.
|
|
50
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skdx-angular-charts-gantt.mjs","sources":["../../src/gantt/
|
|
1
|
+
{"version":3,"file":"skdx-angular-charts-gantt.mjs","sources":["../../src/gantt/index.ts","../../src/gantt/skdx-angular-charts-gantt.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 GanttTask,\n layoutGantt,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** One bar per task on a numeric time axis. */\n@Component({\n selector: 'skdx-gantt-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root\n [layout]=\"l()\"\n kind=\"gantt\"\n [label]=\"label() ?? 'Gantt chart'\"\n ></skdx-chart-root>\n `,\n})\nexport class SkdxGanttChartComponent extends SkdxSizedBase {\n readonly tasks = input.required<GanttTask[]>();\n /** Formats the x-axis ticks, e.g. a timestamp as a date. */\n readonly format = input<(value: number) => string>();\n\n protected readonly l = computed(() =>\n layoutGantt({ ...this.sized(), tasks: this.tasks(), format: this.format() }),\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,KAAK,GAAG,KAAK,CAAC,QAAQ;kFAAe;;AAErC,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK;8FAA6B;AAEjC,QAAA,IAAA,CAAA,CAAC,GAAG,QAAQ,CAAC,MAC9B,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;8EAC7E;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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,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,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
-
import { SkdxSizedBase,
|
|
3
|
+
import { SkdxSizedBase, layoutHeatmap, SkdxChartRootComponent } from '@skdx/angular-charts/internal';
|
|
4
4
|
|
|
5
5
|
/*
|
|
6
6
|
* Copyright (c) 2026 SkandaDX
|
|
@@ -21,7 +21,6 @@ class SkdxHeatmapComponent extends SkdxSizedBase {
|
|
|
21
21
|
/** The cell color; each cell's opacity follows its value. */
|
|
22
22
|
this.color = input(/* @ts-ignore */
|
|
23
23
|
...(ngDevMode ? [undefined, { debugName: "color" }] : /* istanbul ignore next */ []));
|
|
24
|
-
this.colors = CHART_COLORS;
|
|
25
24
|
this.l = computed(() => layoutHeatmap({
|
|
26
25
|
...this.sized(),
|
|
27
26
|
rows: this.rows(),
|
|
@@ -32,37 +31,8 @@ class SkdxHeatmapComponent extends SkdxSizedBase {
|
|
|
32
31
|
...(ngDevMode ? [{ debugName: "l" }] : /* istanbul ignore next */ []));
|
|
33
32
|
}
|
|
34
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxHeatmapComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
36
|
-
<skdx-chart-root [layout]="l()" kind="heatmap" [label]="label() ?? 'Heatmap'">
|
|
37
|
-
<svg:g
|
|
38
|
-
data-skdx-part="y-labels"
|
|
39
|
-
[attr.fill]="colors.label"
|
|
40
|
-
text-anchor="end"
|
|
41
|
-
dominant-baseline="middle"
|
|
42
|
-
>
|
|
43
|
-
@for (t of l().rowLabels; track t.label) {
|
|
44
|
-
<svg:text [attr.x]="t.x" [attr.y]="t.y">{{ t.label }}</svg:text>
|
|
45
|
-
}
|
|
46
|
-
</svg:g>
|
|
47
|
-
<svg:g data-skdx-part="x-labels" [attr.fill]="colors.label" text-anchor="middle">
|
|
48
|
-
@for (t of l().columnLabels; track t.label) {
|
|
49
|
-
<svg:text [attr.x]="t.x" [attr.y]="t.y">{{ t.label }}</svg:text>
|
|
50
|
-
}
|
|
51
|
-
</svg:g>
|
|
52
|
-
@for (c of l().cells; track $index) {
|
|
53
|
-
<svg:rect
|
|
54
|
-
data-skdx-part="cell"
|
|
55
|
-
[attr.x]="c.x"
|
|
56
|
-
[attr.y]="c.y"
|
|
57
|
-
[attr.width]="c.width"
|
|
58
|
-
[attr.height]="c.height"
|
|
59
|
-
[attr.fill]="c.color"
|
|
60
|
-
[attr.fill-opacity]="c.opacity"
|
|
61
|
-
>
|
|
62
|
-
<svg:title>{{ c.title }}</svg:title>
|
|
63
|
-
</svg:rect>
|
|
64
|
-
}
|
|
65
|
-
</skdx-chart-root>
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxHeatmapComponent, isStandalone: true, selector: "skdx-heatmap", inputs: { rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, 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: `
|
|
35
|
+
<skdx-chart-root [layout]="l()" kind="heatmap" [label]="label() ?? 'Heatmap'"></skdx-chart-root>
|
|
66
36
|
`, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
67
37
|
}
|
|
68
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxHeatmapComponent, decorators: [{
|
|
@@ -73,46 +43,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
73
43
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
74
44
|
imports: [SkdxChartRootComponent],
|
|
75
45
|
template: `
|
|
76
|
-
<skdx-chart-root [layout]="l()" kind="heatmap" [label]="label() ?? 'Heatmap'">
|
|
77
|
-
<svg:g
|
|
78
|
-
data-skdx-part="y-labels"
|
|
79
|
-
[attr.fill]="colors.label"
|
|
80
|
-
text-anchor="end"
|
|
81
|
-
dominant-baseline="middle"
|
|
82
|
-
>
|
|
83
|
-
@for (t of l().rowLabels; track t.label) {
|
|
84
|
-
<svg:text [attr.x]="t.x" [attr.y]="t.y">{{ t.label }}</svg:text>
|
|
85
|
-
}
|
|
86
|
-
</svg:g>
|
|
87
|
-
<svg:g data-skdx-part="x-labels" [attr.fill]="colors.label" text-anchor="middle">
|
|
88
|
-
@for (t of l().columnLabels; track t.label) {
|
|
89
|
-
<svg:text [attr.x]="t.x" [attr.y]="t.y">{{ t.label }}</svg:text>
|
|
90
|
-
}
|
|
91
|
-
</svg:g>
|
|
92
|
-
@for (c of l().cells; track $index) {
|
|
93
|
-
<svg:rect
|
|
94
|
-
data-skdx-part="cell"
|
|
95
|
-
[attr.x]="c.x"
|
|
96
|
-
[attr.y]="c.y"
|
|
97
|
-
[attr.width]="c.width"
|
|
98
|
-
[attr.height]="c.height"
|
|
99
|
-
[attr.fill]="c.color"
|
|
100
|
-
[attr.fill-opacity]="c.opacity"
|
|
101
|
-
>
|
|
102
|
-
<svg:title>{{ c.title }}</svg:title>
|
|
103
|
-
</svg:rect>
|
|
104
|
-
}
|
|
105
|
-
</skdx-chart-root>
|
|
46
|
+
<skdx-chart-root [layout]="l()" kind="heatmap" [label]="label() ?? 'Heatmap'"></skdx-chart-root>
|
|
106
47
|
`,
|
|
107
48
|
}]
|
|
108
49
|
}], propDecorators: { rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: true }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }] } });
|
|
109
50
|
|
|
110
|
-
/*
|
|
111
|
-
* Copyright (c) 2026 SkandaDX
|
|
112
|
-
* This file is part of the SkandaDX organization.
|
|
113
|
-
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
114
|
-
*/
|
|
115
|
-
|
|
116
51
|
/**
|
|
117
52
|
* Generated bundle index. Do not edit.
|
|
118
53
|
*/
|