@skdx/angular-charts 0.1.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/skdx-angular-charts-area.mjs +32 -14
- package/fesm2022/skdx-angular-charts-area.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-bar.mjs +38 -14
- 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 +43 -11
- 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 +69 -4
- package/fesm2022/skdx-angular-charts-heatmap.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-internal.mjs +411 -235
- package/fesm2022/skdx-angular-charts-internal.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-line.mjs +15 -13
- package/fesm2022/skdx-angular-charts-line.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-map.mjs +8 -2
- package/fesm2022/skdx-angular-charts-map.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-pie.mjs +21 -11
- package/fesm2022/skdx-angular-charts-pie.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-radar.mjs +77 -14
- 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 +15 -13
- package/fesm2022/skdx-angular-charts-scatter.mjs.map +1 -1
- package/fesm2022/skdx-angular-charts-sparkline.mjs +55 -11
- 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 +10 -2
- 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 +11 -2
- 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 +8 -1
- package/types/skdx-angular-charts-internal.d.ts +200 -26
- 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 +8 -1
- 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 +1 @@
|
|
|
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
|
|
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;;"}
|
|
@@ -18,7 +18,8 @@ class SkdxTreemapComponent extends SkdxSizedBase {
|
|
|
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'"
|
|
21
|
+
<skdx-chart-root [layout]="l()" kind="treemap" [label]="label() ?? 'Treemap'">
|
|
22
|
+
</skdx-chart-root>
|
|
22
23
|
`, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
24
|
}
|
|
24
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxTreemapComponent, decorators: [{
|
|
@@ -29,11 +30,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
29
30
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
30
31
|
imports: [SkdxChartRootComponent],
|
|
31
32
|
template: `
|
|
32
|
-
<skdx-chart-root [layout]="l()" kind="treemap" [label]="label() ?? 'Treemap'"
|
|
33
|
+
<skdx-chart-root [layout]="l()" kind="treemap" [label]="label() ?? 'Treemap'">
|
|
34
|
+
</skdx-chart-root>
|
|
33
35
|
`,
|
|
34
36
|
}]
|
|
35
37
|
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }] } });
|
|
36
38
|
|
|
39
|
+
/*
|
|
40
|
+
* Copyright (c) 2026 SkandaDX
|
|
41
|
+
* This file is part of the SkandaDX organization.
|
|
42
|
+
* Licensed under the MIT License. See LICENSE in the repository root.
|
|
43
|
+
*/
|
|
44
|
+
|
|
37
45
|
/**
|
|
38
46
|
* Generated bundle index. Do not edit.
|
|
39
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
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 type Datum,\n
|
|
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;;"}
|
|
@@ -21,11 +21,8 @@ class SkdxWaterfallChartComponent extends SkdxSizedBase {
|
|
|
21
21
|
}
|
|
22
22
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxWaterfallChartComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
23
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: SkdxWaterfallChartComponent, isStandalone: true, selector: "skdx-waterfall-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, total: { classPropertyName: "total", publicName: "total", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
24
|
-
<skdx-chart-root
|
|
25
|
-
|
|
26
|
-
kind="waterfall"
|
|
27
|
-
[label]="label() ?? 'Waterfall chart'"
|
|
28
|
-
></skdx-chart-root>
|
|
24
|
+
<skdx-chart-root [layout]="l()" kind="waterfall" [label]="label() ?? 'Waterfall chart'">
|
|
25
|
+
</skdx-chart-root>
|
|
29
26
|
`, isInline: true, dependencies: [{ kind: "component", type: SkdxChartRootComponent, selector: "skdx-chart-root", inputs: ["layout", "kind", "label"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
27
|
}
|
|
31
28
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SkdxWaterfallChartComponent, decorators: [{
|
|
@@ -36,15 +33,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
36
33
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
37
34
|
imports: [SkdxChartRootComponent],
|
|
38
35
|
template: `
|
|
39
|
-
<skdx-chart-root
|
|
40
|
-
|
|
41
|
-
kind="waterfall"
|
|
42
|
-
[label]="label() ?? 'Waterfall chart'"
|
|
43
|
-
></skdx-chart-root>
|
|
36
|
+
<skdx-chart-root [layout]="l()" kind="waterfall" [label]="label() ?? 'Waterfall chart'">
|
|
37
|
+
</skdx-chart-root>
|
|
44
38
|
`,
|
|
45
39
|
}]
|
|
46
40
|
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], total: [{ type: i0.Input, args: [{ isSignal: true, alias: "total", required: false }] }] } });
|
|
47
41
|
|
|
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-waterfall.mjs","sources":["../../src/waterfall/index.ts","../../src/waterfall/skdx-angular-charts-waterfall.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
|
|
1
|
+
{"version":3,"file":"skdx-angular-charts-waterfall.mjs","sources":["../../src/waterfall/waterfall-chart.component.ts","../../src/waterfall/index.ts","../../src/waterfall/skdx-angular-charts-waterfall.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 layoutWaterfall,\n type Datum,\n SkdxChartRootComponent,\n SkdxSizedBase,\n} from '@skdx/angular-charts/internal';\n\n/** Signed deltas stacked on a running total. */\n@Component({\n selector: 'skdx-waterfall-chart',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [SkdxChartRootComponent],\n template: `\n <skdx-chart-root [layout]=\"l()\" kind=\"waterfall\" [label]=\"label() ?? 'Waterfall chart'\">\n </skdx-chart-root>\n `,\n})\nexport class SkdxWaterfallChartComponent extends SkdxSizedBase {\n readonly data = input.required<Datum[]>();\n /** Label of a final bar showing the running total. */\n readonly total = input<string>();\n\n protected readonly l = computed(() =>\n layoutWaterfall({ ...this.sized(), data: this.data(), total: this.total() }),\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 { SkdxWaterfallChartComponent } from './waterfall-chart.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;;AAIG;AAWH;AAWM,MAAO,2BAA4B,SAAQ,aAAa,CAAA;AAV9D,IAAA,WAAA,GAAA;;QAWW,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAW;;AAEhC,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;8GARY,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,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,EAL5B;;;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,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAVvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skdx-angular-charts.mjs","sources":["../../src/public-api.ts","../../src/skdx-angular-charts.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\nexport { SkdxBarChartComponent } from '@skdx/angular-charts/bar';\nexport { SkdxLineChartComponent } from '@skdx/angular-charts/line';\nexport { SkdxAreaChartComponent } from '@skdx/angular-charts/area';\nexport { SkdxPieChartComponent } from '@skdx/angular-charts/pie';\nexport { SkdxScatterChartComponent } from '@skdx/angular-charts/scatter';\nexport { SkdxSparklineComponent } from '@skdx/angular-charts/sparkline';\nexport { SkdxRadarChartComponent } from '@skdx/angular-charts/radar';\nexport { SkdxHeatmapComponent } from '@skdx/angular-charts/heatmap';\nexport { SkdxFunnelChartComponent } from '@skdx/angular-charts/funnel';\nexport { SkdxSankeyChartComponent } from '@skdx/angular-charts/sankey';\nexport { SkdxTreemapComponent } from '@skdx/angular-charts/treemap';\nexport { SkdxCandlestickChartComponent } from '@skdx/angular-charts/candlestick';\nexport { SkdxWaterfallChartComponent } from '@skdx/angular-charts/waterfall';\nexport { SkdxGanttChartComponent } from '@skdx/angular-charts/gantt';\nexport { SkdxBoxplotComponent } from '@skdx/angular-charts/boxplot';\nexport { SkdxSunburstChartComponent } from '@skdx/angular-charts/sunburst';\nexport { SkdxChordChartComponent } from '@skdx/angular-charts/chord';\nexport { SkdxMapChartComponent } from '@skdx/angular-charts/map';\nexport type {\n Candle,\n Datum,\n GanttTask,\n GeoMultiPolygon,\n GeoPolygon,\n MapFeature,\n SankeyLink,\n ScatterSeries,\n Series,\n TreeNode,\n} from '@skdx/angular-charts/internal';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;AAIG;;ACJH;;AAEG"}
|
|
1
|
+
{"version":3,"file":"skdx-angular-charts.mjs","sources":["../../src/public-api.ts","../../src/skdx-angular-charts.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\nexport { SkdxBarChartComponent } from '@skdx/angular-charts/bar';\nexport { SkdxLineChartComponent } from '@skdx/angular-charts/line';\nexport { SkdxAreaChartComponent } from '@skdx/angular-charts/area';\nexport { SkdxPieChartComponent } from '@skdx/angular-charts/pie';\nexport { SkdxScatterChartComponent } from '@skdx/angular-charts/scatter';\nexport { SkdxSparklineComponent } from '@skdx/angular-charts/sparkline';\nexport { SkdxRadarChartComponent } from '@skdx/angular-charts/radar';\nexport { SkdxHeatmapComponent } from '@skdx/angular-charts/heatmap';\nexport { SkdxFunnelChartComponent } from '@skdx/angular-charts/funnel';\nexport { SkdxSankeyChartComponent } from '@skdx/angular-charts/sankey';\nexport { SkdxTreemapComponent } from '@skdx/angular-charts/treemap';\nexport { SkdxCandlestickChartComponent } from '@skdx/angular-charts/candlestick';\nexport { SkdxWaterfallChartComponent } from '@skdx/angular-charts/waterfall';\nexport { SkdxGanttChartComponent } from '@skdx/angular-charts/gantt';\nexport { SkdxBoxplotComponent } from '@skdx/angular-charts/boxplot';\nexport { SkdxSunburstChartComponent } from '@skdx/angular-charts/sunburst';\nexport { SkdxChordChartComponent } from '@skdx/angular-charts/chord';\nexport { SkdxMapChartComponent } from '@skdx/angular-charts/map';\nexport type {\n Candle,\n Datum,\n GanttTask,\n GeoMultiPolygon,\n GeoPolygon,\n MapFeature,\n SankeyLink,\n ScatterSeries,\n Series,\n Shape,\n TreeNode,\n} from '@skdx/angular-charts/internal';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;AAIG;;ACJH;;AAEG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skdx/angular-charts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Eighteen SVG charts as standalone Angular components, from bar and line to sankey, sunburst and choropleth map — colored by @skdx/tokens",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -20,11 +20,20 @@
|
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"@angular/common": "^22.0.0",
|
|
22
22
|
"@angular/core": "^22.0.0",
|
|
23
|
-
"@skdx/tokens": "^0.
|
|
23
|
+
"@skdx/tokens": "^0.32.0"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"tslib": "^2.3.0"
|
|
27
27
|
},
|
|
28
|
+
"nx": {
|
|
29
|
+
"targets": {
|
|
30
|
+
"sync": {
|
|
31
|
+
"outputs": [
|
|
32
|
+
"{projectRoot}/src/internal/core"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
28
37
|
"module": "fesm2022/skdx-angular-charts.mjs",
|
|
29
38
|
"typings": "types/skdx-angular-charts.d.ts",
|
|
30
39
|
"exports": {
|
|
@@ -4,7 +4,7 @@ import { SkdxChartBase } from '@skdx/angular-charts/internal';
|
|
|
4
4
|
|
|
5
5
|
/** A line chart with each series filled down to the zero baseline. */
|
|
6
6
|
declare class SkdxAreaChartComponent extends SkdxChartBase {
|
|
7
|
-
protected readonly layout: i0.Signal<_skdx_angular_charts_internal.
|
|
7
|
+
protected readonly layout: i0.Signal<_skdx_angular_charts_internal.AreaChartLayout>;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkdxAreaChartComponent, never>;
|
|
9
9
|
static ɵcmp: i0.ɵɵComponentDeclaration<SkdxAreaChartComponent, "skdx-area-chart", never, {}, {}, never, never, true, never>;
|
|
10
10
|
}
|
|
@@ -12,7 +12,7 @@ import * as _angular_core from '@angular/core';
|
|
|
12
12
|
declare class SkdxBarChartComponent extends SkdxChartBase {
|
|
13
13
|
/** Stack series on top of each other instead of grouping them side by side. */
|
|
14
14
|
readonly stacked: _angular_core.InputSignal<boolean>;
|
|
15
|
-
protected readonly layout: _angular_core.Signal<_skdx_angular_charts_internal.
|
|
15
|
+
protected readonly layout: _angular_core.Signal<_skdx_angular_charts_internal.BarChartLayout>;
|
|
16
16
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxBarChartComponent, never>;
|
|
17
17
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxBarChartComponent, "skdx-bar-chart", never, { "stacked": { "alias": "stacked"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
18
18
|
}
|
|
@@ -5,7 +5,7 @@ import * as _angular_core from '@angular/core';
|
|
|
5
5
|
/** Centered stages, each narrowing toward the next, labelled in place. */
|
|
6
6
|
declare class SkdxFunnelChartComponent extends SkdxSizedBase {
|
|
7
7
|
readonly data: _angular_core.InputSignal<Datum[]>;
|
|
8
|
-
protected readonly l: _angular_core.Signal<_skdx_angular_charts_internal.
|
|
8
|
+
protected readonly l: _angular_core.Signal<_skdx_angular_charts_internal.FunnelChartLayout>;
|
|
9
9
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxFunnelChartComponent, never>;
|
|
10
10
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxFunnelChartComponent, "skdx-funnel-chart", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11
11
|
}
|
|
@@ -10,7 +10,14 @@ declare class SkdxHeatmapComponent extends SkdxSizedBase {
|
|
|
10
10
|
readonly data: _angular_core.InputSignal<number[][]>;
|
|
11
11
|
/** The cell color; each cell's opacity follows its value. */
|
|
12
12
|
readonly color: _angular_core.InputSignal<string | undefined>;
|
|
13
|
-
protected readonly
|
|
13
|
+
protected readonly colors: {
|
|
14
|
+
readonly axis: "var(--skdx-color-border-strong)";
|
|
15
|
+
readonly grid: "var(--skdx-color-border-subtle)";
|
|
16
|
+
readonly label: "var(--skdx-color-text-muted)";
|
|
17
|
+
readonly fontFamily: "var(--skdx-font-family)";
|
|
18
|
+
readonly fontSize: "var(--skdx-font-size-xs)";
|
|
19
|
+
};
|
|
20
|
+
protected readonly l: _angular_core.Signal<_skdx_angular_charts_internal.HeatmapLayout>;
|
|
14
21
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxHeatmapComponent, never>;
|
|
15
22
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxHeatmapComponent, "skdx-heatmap", never, { "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
16
23
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as _skdx_angular_charts_internal from '@skdx/angular-charts/internal';
|
|
1
2
|
import * as _angular_core from '@angular/core';
|
|
2
3
|
|
|
3
4
|
/** One plotted series: a name for the legend/title and a value per category. */
|
|
@@ -93,6 +94,11 @@ interface Box {
|
|
|
93
94
|
width: number;
|
|
94
95
|
height: number;
|
|
95
96
|
}
|
|
97
|
+
interface Label {
|
|
98
|
+
x: number;
|
|
99
|
+
y: number;
|
|
100
|
+
label: string;
|
|
101
|
+
}
|
|
96
102
|
/** What every axis chart shares: the outer size, the plot box and the axis ticks. */
|
|
97
103
|
interface Frame extends Canvas {
|
|
98
104
|
plot: Box;
|
|
@@ -101,6 +107,100 @@ interface Frame extends Canvas {
|
|
|
101
107
|
/** Pixel y of value 0 (clamped into the plot): where bars and areas start and the x axis is drawn. */
|
|
102
108
|
baseline: number;
|
|
103
109
|
}
|
|
110
|
+
interface Mark {
|
|
111
|
+
series: string;
|
|
112
|
+
color: string;
|
|
113
|
+
/** Native tooltip text, e.g. `Sales, Q1: 1,234`. */
|
|
114
|
+
title: string;
|
|
115
|
+
}
|
|
116
|
+
interface BarMark extends Mark, Box {
|
|
117
|
+
category: string;
|
|
118
|
+
value: number;
|
|
119
|
+
}
|
|
120
|
+
interface PointMark extends Mark {
|
|
121
|
+
x: number;
|
|
122
|
+
y: number;
|
|
123
|
+
}
|
|
124
|
+
interface PathMark {
|
|
125
|
+
series: string;
|
|
126
|
+
color: string;
|
|
127
|
+
/** SVG path data. */
|
|
128
|
+
d: string;
|
|
129
|
+
}
|
|
130
|
+
interface SliceMark extends Mark {
|
|
131
|
+
name: string;
|
|
132
|
+
value: number;
|
|
133
|
+
/** 0..1 share of the total. */
|
|
134
|
+
percent: number;
|
|
135
|
+
d: string;
|
|
136
|
+
}
|
|
137
|
+
interface CellMark extends Mark, Box {
|
|
138
|
+
row: string;
|
|
139
|
+
column: string;
|
|
140
|
+
value: number;
|
|
141
|
+
/** 0.15..1, the value's place between the smallest and largest cell. */
|
|
142
|
+
opacity: number;
|
|
143
|
+
}
|
|
144
|
+
interface StageMark extends Mark, Label {
|
|
145
|
+
name: string;
|
|
146
|
+
value: number;
|
|
147
|
+
/** 0..1 share of the first stage. */
|
|
148
|
+
percent: number;
|
|
149
|
+
d: string;
|
|
150
|
+
}
|
|
151
|
+
interface BarChartLayout extends Frame {
|
|
152
|
+
bars: BarMark[];
|
|
153
|
+
}
|
|
154
|
+
interface LineChartLayout extends Frame {
|
|
155
|
+
lines: PathMark[];
|
|
156
|
+
points: PointMark[];
|
|
157
|
+
}
|
|
158
|
+
interface AreaChartLayout extends LineChartLayout {
|
|
159
|
+
areas: PathMark[];
|
|
160
|
+
}
|
|
161
|
+
interface ScatterChartLayout extends Frame {
|
|
162
|
+
points: PointMark[];
|
|
163
|
+
}
|
|
164
|
+
interface PieChartLayout extends Canvas {
|
|
165
|
+
slices: SliceMark[];
|
|
166
|
+
}
|
|
167
|
+
interface SparklineLayout extends Canvas {
|
|
168
|
+
color: string;
|
|
169
|
+
line: string;
|
|
170
|
+
area: string;
|
|
171
|
+
/** The most recent point, drawn as a dot. */
|
|
172
|
+
last: {
|
|
173
|
+
x: number;
|
|
174
|
+
y: number;
|
|
175
|
+
} | undefined;
|
|
176
|
+
}
|
|
177
|
+
interface RadarChartLayout extends Canvas {
|
|
178
|
+
/** Concentric grid polygons, one per tick, innermost first. */
|
|
179
|
+
rings: {
|
|
180
|
+
d: string;
|
|
181
|
+
label: Label;
|
|
182
|
+
}[];
|
|
183
|
+
spokes: {
|
|
184
|
+
x1: number;
|
|
185
|
+
y1: number;
|
|
186
|
+
x2: number;
|
|
187
|
+
y2: number;
|
|
188
|
+
}[];
|
|
189
|
+
axisLabels: (Label & {
|
|
190
|
+
anchor: 'start' | 'middle' | 'end';
|
|
191
|
+
})[];
|
|
192
|
+
polygons: PathMark[];
|
|
193
|
+
points: PointMark[];
|
|
194
|
+
}
|
|
195
|
+
interface HeatmapLayout extends Canvas {
|
|
196
|
+
plot: Box;
|
|
197
|
+
cells: CellMark[];
|
|
198
|
+
rowLabels: Label[];
|
|
199
|
+
columnLabels: Label[];
|
|
200
|
+
}
|
|
201
|
+
interface FunnelChartLayout extends Canvas {
|
|
202
|
+
stages: StageMark[];
|
|
203
|
+
}
|
|
104
204
|
interface SankeyLink {
|
|
105
205
|
source: string;
|
|
106
206
|
target: string;
|
|
@@ -196,10 +296,7 @@ type Shape = (ShapeBase & {
|
|
|
196
296
|
fill?: string | undefined;
|
|
197
297
|
stroke?: string | undefined;
|
|
198
298
|
strokeWidth?: number | undefined;
|
|
199
|
-
strokeLinecap?: 'round' | undefined;
|
|
200
|
-
strokeLinejoin?: 'round' | undefined;
|
|
201
299
|
opacity?: number | undefined;
|
|
202
|
-
fillOpacity?: number | undefined;
|
|
203
300
|
}) | (ShapeBase & {
|
|
204
301
|
kind: 'rect';
|
|
205
302
|
x: number;
|
|
@@ -232,42 +329,78 @@ type Shape = (ShapeBase & {
|
|
|
232
329
|
baseline?: 'middle' | 'hanging' | undefined;
|
|
233
330
|
fill?: string | undefined;
|
|
234
331
|
});
|
|
235
|
-
/** What every layout returns: the outer size,
|
|
332
|
+
/** What every layout returns: the outer size, decorations (legend, labels) and the tooltip switch. */
|
|
236
333
|
interface Canvas {
|
|
237
334
|
width: number;
|
|
238
335
|
height: number;
|
|
239
|
-
/**
|
|
336
|
+
/** Decorations drawn after the marks, back to front: the legend, slice labels, or the whole chart. */
|
|
240
337
|
shapes: Shape[];
|
|
241
338
|
tooltip: boolean;
|
|
242
339
|
}
|
|
340
|
+
/** A chart described entirely as an ordered list of shapes. */
|
|
341
|
+
type ShapeLayout = Canvas;
|
|
243
342
|
interface LegendItem {
|
|
244
343
|
name: string;
|
|
245
344
|
color: string;
|
|
246
345
|
}
|
|
247
346
|
|
|
248
|
-
declare function layoutBarChart(input: BarChartInput):
|
|
347
|
+
declare function layoutBarChart(input: BarChartInput): BarChartLayout;
|
|
348
|
+
|
|
349
|
+
declare function layoutLineChart(input: LineChartInput): LineChartLayout;
|
|
350
|
+
declare function layoutAreaChart(input: AreaChartInput): AreaChartLayout;
|
|
249
351
|
|
|
250
|
-
declare function
|
|
251
|
-
declare function layoutAreaChart(input: AreaChartInput): Canvas;
|
|
352
|
+
declare function layoutScatterChart(input: ScatterChartInput): ScatterChartLayout;
|
|
252
353
|
|
|
253
|
-
declare function
|
|
354
|
+
declare function layoutPieChart(input: PieChartInput): PieChartLayout;
|
|
254
355
|
|
|
255
|
-
declare function
|
|
356
|
+
declare function layoutSparkline(input: SparklineInput): SparklineLayout;
|
|
256
357
|
|
|
257
|
-
declare function
|
|
358
|
+
declare function layoutRadarChart(input: RadarChartInput): RadarChartLayout;
|
|
258
359
|
|
|
259
|
-
declare function
|
|
360
|
+
declare function layoutHeatmap(input: HeatmapInput): HeatmapLayout;
|
|
260
361
|
|
|
261
|
-
declare function
|
|
362
|
+
declare function layoutFunnelChart(input: FunnelChartInput): FunnelChartLayout;
|
|
262
363
|
|
|
263
|
-
|
|
364
|
+
/** Maps `[d0, d1]` onto `[r0, r1]` linearly; a zero-width domain maps to `r0`. */
|
|
365
|
+
declare function linearScale([d0, d1]: readonly [number, number], [r0, r1]: readonly [number, number]): (value: number) => number;
|
|
366
|
+
/** Round tick values covering `[min, max]` with a 1/2/5 step, about `count` of them. */
|
|
367
|
+
declare function niceTicks(min: number, max: number, count?: number): number[];
|
|
368
|
+
declare const formatValue: (v: number) => string;
|
|
369
|
+
/** SVG path through the points: straight segments, or a monotone cubic (Fritsch–Carlson) that never overshoots. */
|
|
370
|
+
declare function pathThrough(points: {
|
|
371
|
+
x: number;
|
|
372
|
+
y: number;
|
|
373
|
+
}[], curve?: 'linear' | 'monotone'): string;
|
|
374
|
+
/** Ticks at powers of ten covering `[min, max]` (both > 0), with 2× and 5× steps when a decade or less. */
|
|
375
|
+
declare function logTicks(min: number, max: number): number[];
|
|
264
376
|
|
|
377
|
+
/** A tooltip box next to the pointer, kept inside the canvas. */
|
|
378
|
+
declare function tooltipShapes(x: number, y: number, text: string, width: number, height: number): Shape[];
|
|
379
|
+
/** Attributes for the `<svg>` root every framework renders. */
|
|
380
|
+
declare function svgAttrs(frame: {
|
|
381
|
+
width: number;
|
|
382
|
+
height: number;
|
|
383
|
+
}, kind: string, label: string): {
|
|
384
|
+
readonly viewBox: `0 0 ${number} ${number}`;
|
|
385
|
+
readonly width: number;
|
|
386
|
+
readonly height: number;
|
|
387
|
+
readonly role: "img";
|
|
388
|
+
readonly 'aria-label': string;
|
|
389
|
+
readonly 'data-skdx-chart': string;
|
|
390
|
+
readonly 'font-family': "var(--skdx-font-family)";
|
|
391
|
+
readonly 'font-size': "var(--skdx-font-size-xs)";
|
|
392
|
+
};
|
|
265
393
|
/**
|
|
266
394
|
* Tooltip shapes for the mark under the pointer, or none. Reads the mark's
|
|
267
395
|
* `<title>` and converts the pointer position into viewBox units.
|
|
268
396
|
*/
|
|
269
397
|
declare function hoverTooltip(target: EventTarget | null, svg: Element, clientX: number, clientY: number, width: number, height: number): Shape[];
|
|
270
398
|
|
|
399
|
+
/**
|
|
400
|
+
* Series colors, cycling through the `@skdx/tokens` scales so charts follow the
|
|
401
|
+
* active theme. Load `@skdx/tokens/css` (or any theme) for these to resolve.
|
|
402
|
+
*/
|
|
403
|
+
declare const SERIES_COLORS: readonly string[];
|
|
271
404
|
declare const CHART_COLORS: {
|
|
272
405
|
readonly axis: "var(--skdx-color-border-strong)";
|
|
273
406
|
readonly grid: "var(--skdx-color-border-subtle)";
|
|
@@ -275,25 +408,35 @@ declare const CHART_COLORS: {
|
|
|
275
408
|
readonly fontFamily: "var(--skdx-font-family)";
|
|
276
409
|
readonly fontSize: "var(--skdx-font-size-xs)";
|
|
277
410
|
};
|
|
411
|
+
declare const seriesColor: (index: number, override?: string | undefined) => string;
|
|
278
412
|
|
|
279
|
-
declare function layoutSankey(input: SankeyInput):
|
|
413
|
+
declare function layoutSankey(input: SankeyInput): ShapeLayout;
|
|
280
414
|
|
|
281
|
-
declare function layoutTreemap(input: TreemapInput):
|
|
415
|
+
declare function layoutTreemap(input: TreemapInput): ShapeLayout;
|
|
282
416
|
|
|
283
|
-
declare function layoutCandlestick(input: CandlestickInput):
|
|
417
|
+
declare function layoutCandlestick(input: CandlestickInput): ShapeLayout;
|
|
284
418
|
|
|
285
|
-
declare function layoutWaterfall(input: WaterfallInput):
|
|
419
|
+
declare function layoutWaterfall(input: WaterfallInput): ShapeLayout;
|
|
286
420
|
|
|
287
|
-
declare function layoutGantt(input: GanttInput):
|
|
421
|
+
declare function layoutGantt(input: GanttInput): ShapeLayout;
|
|
288
422
|
|
|
289
|
-
|
|
423
|
+
/** Five-number summary with Tukey fences: whiskers reach the last sample within 1.5 IQR. */
|
|
424
|
+
declare function boxStats(data: number[]): {
|
|
425
|
+
q1: number;
|
|
426
|
+
median: number;
|
|
427
|
+
q3: number;
|
|
428
|
+
low: number;
|
|
429
|
+
high: number;
|
|
430
|
+
outliers: number[];
|
|
431
|
+
};
|
|
432
|
+
declare function layoutBoxplot(input: BoxplotInput): ShapeLayout;
|
|
290
433
|
|
|
291
|
-
declare function layoutSunburst(input: SunburstInput):
|
|
434
|
+
declare function layoutSunburst(input: SunburstInput): ShapeLayout;
|
|
292
435
|
|
|
293
|
-
declare function layoutChord(input: ChordInput):
|
|
436
|
+
declare function layoutChord(input: ChordInput): ShapeLayout;
|
|
294
437
|
|
|
295
438
|
/** Projection fitted to the features' bounds (equirectangular by default, or Mercator); opacity follows the value. */
|
|
296
|
-
declare function layoutMap(input: MapInput):
|
|
439
|
+
declare function layoutMap(input: MapInput): ShapeLayout;
|
|
297
440
|
|
|
298
441
|
/** The accessible `<svg>` root every chart renders into: projected marks, then decorations, then the hover tooltip. */
|
|
299
442
|
declare class SkdxChartRootComponent {
|
|
@@ -310,9 +453,32 @@ declare class SkdxChartRootComponent {
|
|
|
310
453
|
protected readonly tip: _angular_core.WritableSignal<Shape[]>;
|
|
311
454
|
protected onPointerMove(e: PointerEvent): void;
|
|
312
455
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxChartRootComponent, never>;
|
|
313
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxChartRootComponent, "skdx-chart-root", never, { "layout": { "alias": "layout"; "required": true; "isSignal": true; }; "kind": { "alias": "kind"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never,
|
|
456
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxChartRootComponent, "skdx-chart-root", never, { "layout": { "alias": "layout"; "required": true; "isSignal": true; }; "kind": { "alias": "kind"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
314
457
|
}
|
|
315
458
|
/** The `<svg>` root, grid, axis and tick labels every axis chart shares; marks are projected. */
|
|
459
|
+
declare class SkdxChartFrameComponent {
|
|
460
|
+
readonly layout: _angular_core.InputSignal<Frame>;
|
|
461
|
+
readonly kind: _angular_core.InputSignal<string>;
|
|
462
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
463
|
+
protected readonly colors: {
|
|
464
|
+
readonly axis: "var(--skdx-color-border-strong)";
|
|
465
|
+
readonly grid: "var(--skdx-color-border-subtle)";
|
|
466
|
+
readonly label: "var(--skdx-color-text-muted)";
|
|
467
|
+
readonly fontFamily: "var(--skdx-font-family)";
|
|
468
|
+
readonly fontSize: "var(--skdx-font-size-xs)";
|
|
469
|
+
};
|
|
470
|
+
protected readonly plot: _angular_core.Signal<_skdx_angular_charts_internal.Box>;
|
|
471
|
+
protected readonly right: _angular_core.Signal<number>;
|
|
472
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxChartFrameComponent, never>;
|
|
473
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxChartFrameComponent, "skdx-chart-frame", never, { "layout": { "alias": "layout"; "required": true; "isSignal": true; }; "kind": { "alias": "kind"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
474
|
+
}
|
|
475
|
+
/** A dot per value with its native tooltip. */
|
|
476
|
+
declare class SkdxChartPointsComponent {
|
|
477
|
+
readonly points: _angular_core.InputSignal<PointMark[]>;
|
|
478
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxChartPointsComponent, never>;
|
|
479
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxChartPointsComponent, "g[skdxChartPoints]", never, { "points": { "alias": "points"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
480
|
+
}
|
|
481
|
+
/** Size and label inputs every chart takes. */
|
|
316
482
|
declare abstract class SkdxSizedBase {
|
|
317
483
|
readonly width: _angular_core.InputSignal<number | undefined>;
|
|
318
484
|
readonly height: _angular_core.InputSignal<number | undefined>;
|
|
@@ -347,6 +513,14 @@ declare abstract class SkdxChartBase extends SkdxSizedBase {
|
|
|
347
513
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SkdxChartBase, never, never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; "categories": { "alias": "categories"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
348
514
|
}
|
|
349
515
|
|
|
516
|
+
/** Line strokes plus a dot per value, shared by the line and area charts. */
|
|
517
|
+
declare class SkdxChartLinesComponent {
|
|
518
|
+
readonly lines: _angular_core.InputSignal<PathMark[]>;
|
|
519
|
+
readonly points: _angular_core.InputSignal<PointMark[]>;
|
|
520
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxChartLinesComponent, never>;
|
|
521
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxChartLinesComponent, "g[skdxChartLines]", never, { "lines": { "alias": "lines"; "required": true; "isSignal": true; }; "points": { "alias": "points"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
522
|
+
}
|
|
523
|
+
|
|
350
524
|
/** Draws a core shape list back to front. */
|
|
351
525
|
declare class SkdxChartShapesComponent {
|
|
352
526
|
readonly shapes: _angular_core.InputSignal<Shape[]>;
|
|
@@ -354,5 +528,5 @@ declare class SkdxChartShapesComponent {
|
|
|
354
528
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxChartShapesComponent, "g[skdxChartShapes]", never, { "shapes": { "alias": "shapes"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
355
529
|
}
|
|
356
530
|
|
|
357
|
-
export { CHART_COLORS, SkdxChartBase, SkdxChartRootComponent, SkdxChartShapesComponent, SkdxSizedBase, hoverTooltip, layoutAreaChart, layoutBarChart, layoutBoxplot, layoutCandlestick, layoutChord, layoutFunnelChart, layoutGantt, layoutHeatmap, layoutLineChart, layoutMap, layoutPieChart, layoutRadarChart, layoutSankey, layoutScatterChart, layoutSparkline, layoutSunburst, layoutTreemap, layoutWaterfall };
|
|
358
|
-
export type { AreaChartInput, BarChartInput, Box, BoxplotInput, Candle, CandlestickInput, Canvas, ChartInput, ChordInput, Curve, Datum, Frame, FunnelChartInput, GanttInput, GanttTask, GeoMultiPolygon, GeoPolygon, HeatmapInput, LegendItem, LineChartInput, MapFeature, MapInput, PieChartInput, RadarChartInput, SankeyInput, SankeyLink, ScatterChartInput, ScatterSeries, Series, Shape, Sized, SparklineInput, SunburstInput, Tick, TreeNode, TreemapInput, WaterfallInput };
|
|
531
|
+
export { CHART_COLORS, SERIES_COLORS, SkdxChartBase, SkdxChartFrameComponent, SkdxChartLinesComponent, SkdxChartPointsComponent, SkdxChartRootComponent, SkdxChartShapesComponent, SkdxSizedBase, boxStats, formatValue, hoverTooltip, layoutAreaChart, layoutBarChart, layoutBoxplot, layoutCandlestick, layoutChord, layoutFunnelChart, layoutGantt, layoutHeatmap, layoutLineChart, layoutMap, layoutPieChart, layoutRadarChart, layoutSankey, layoutScatterChart, layoutSparkline, layoutSunburst, layoutTreemap, layoutWaterfall, linearScale, logTicks, niceTicks, pathThrough, seriesColor, svgAttrs, tooltipShapes };
|
|
532
|
+
export type { AreaChartInput, AreaChartLayout, BarChartInput, BarChartLayout, BarMark, Box, BoxplotInput, Candle, CandlestickInput, Canvas, CellMark, ChartInput, ChordInput, Curve, Datum, Frame, FunnelChartInput, FunnelChartLayout, GanttInput, GanttTask, GeoMultiPolygon, GeoPolygon, HeatmapInput, HeatmapLayout, Label, LegendItem, LineChartInput, LineChartLayout, MapFeature, MapInput, Mark, PathMark, PieChartInput, PieChartLayout, PointMark, RadarChartInput, RadarChartLayout, SankeyInput, SankeyLink, ScatterChartInput, ScatterChartLayout, ScatterSeries, Series, Shape, ShapeLayout, Sized, SliceMark, SparklineInput, SparklineLayout, StageMark, SunburstInput, Tick, TreeNode, TreemapInput, WaterfallInput };
|
|
@@ -4,7 +4,7 @@ import { SkdxChartBase } from '@skdx/angular-charts/internal';
|
|
|
4
4
|
|
|
5
5
|
/** One polyline per series with a dot per value. */
|
|
6
6
|
declare class SkdxLineChartComponent extends SkdxChartBase {
|
|
7
|
-
protected readonly layout: i0.Signal<_skdx_angular_charts_internal.
|
|
7
|
+
protected readonly layout: i0.Signal<_skdx_angular_charts_internal.LineChartLayout>;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<SkdxLineChartComponent, never>;
|
|
9
9
|
static ɵcmp: i0.ɵɵComponentDeclaration<SkdxLineChartComponent, "skdx-line-chart", never, {}, {}, never, never, true, never>;
|
|
10
10
|
}
|
|
@@ -7,7 +7,7 @@ declare class SkdxPieChartComponent extends SkdxSizedBase {
|
|
|
7
7
|
readonly data: _angular_core.InputSignal<Datum[]>;
|
|
8
8
|
/** Hole radius as a fraction of the outer radius: 0 is a pie, 0.6 a donut. */
|
|
9
9
|
readonly innerRadius: _angular_core.InputSignal<number | undefined>;
|
|
10
|
-
protected readonly layout: _angular_core.Signal<_skdx_angular_charts_internal.
|
|
10
|
+
protected readonly layout: _angular_core.Signal<_skdx_angular_charts_internal.PieChartLayout>;
|
|
11
11
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxPieChartComponent, never>;
|
|
12
12
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxPieChartComponent, "skdx-pie-chart", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "innerRadius": { "alias": "innerRadius"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
13
13
|
}
|
|
@@ -7,7 +7,14 @@ declare class SkdxRadarChartComponent extends SkdxSizedBase {
|
|
|
7
7
|
readonly series: _angular_core.InputSignal<Series[]>;
|
|
8
8
|
/** One axis per category. */
|
|
9
9
|
readonly categories: _angular_core.InputSignal<string[]>;
|
|
10
|
-
protected readonly
|
|
10
|
+
protected readonly colors: {
|
|
11
|
+
readonly axis: "var(--skdx-color-border-strong)";
|
|
12
|
+
readonly grid: "var(--skdx-color-border-subtle)";
|
|
13
|
+
readonly label: "var(--skdx-color-text-muted)";
|
|
14
|
+
readonly fontFamily: "var(--skdx-font-family)";
|
|
15
|
+
readonly fontSize: "var(--skdx-font-size-xs)";
|
|
16
|
+
};
|
|
17
|
+
protected readonly l: _angular_core.Signal<_skdx_angular_charts_internal.RadarChartLayout>;
|
|
11
18
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxRadarChartComponent, never>;
|
|
12
19
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxRadarChartComponent, "skdx-radar-chart", never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; "categories": { "alias": "categories"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
13
20
|
}
|
|
@@ -5,7 +5,7 @@ import * as _angular_core from '@angular/core';
|
|
|
5
5
|
/** One dot per `[x, y]` pair on two linear axes. */
|
|
6
6
|
declare class SkdxScatterChartComponent extends SkdxSizedBase {
|
|
7
7
|
readonly series: _angular_core.InputSignal<ScatterSeries[]>;
|
|
8
|
-
protected readonly layout: _angular_core.Signal<_skdx_angular_charts_internal.
|
|
8
|
+
protected readonly layout: _angular_core.Signal<_skdx_angular_charts_internal.ScatterChartLayout>;
|
|
9
9
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxScatterChartComponent, never>;
|
|
10
10
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxScatterChartComponent, "skdx-scatter-chart", never, { "series": { "alias": "series"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11
11
|
}
|
|
@@ -6,7 +6,7 @@ import * as _angular_core from '@angular/core';
|
|
|
6
6
|
declare class SkdxSparklineComponent extends SkdxSizedBase {
|
|
7
7
|
readonly data: _angular_core.InputSignal<number[]>;
|
|
8
8
|
readonly color: _angular_core.InputSignal<string | undefined>;
|
|
9
|
-
protected readonly l: _angular_core.Signal<_skdx_angular_charts_internal.
|
|
9
|
+
protected readonly l: _angular_core.Signal<_skdx_angular_charts_internal.SparklineLayout>;
|
|
10
10
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkdxSparklineComponent, never>;
|
|
11
11
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkdxSparklineComponent, "skdx-sparkline", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
12
12
|
}
|
|
@@ -16,4 +16,4 @@ export { SkdxBoxplotComponent } from '@skdx/angular-charts/boxplot';
|
|
|
16
16
|
export { SkdxSunburstChartComponent } from '@skdx/angular-charts/sunburst';
|
|
17
17
|
export { SkdxChordChartComponent } from '@skdx/angular-charts/chord';
|
|
18
18
|
export { SkdxMapChartComponent } from '@skdx/angular-charts/map';
|
|
19
|
-
export { Candle, Datum, GanttTask, GeoMultiPolygon, GeoPolygon, MapFeature, SankeyLink, ScatterSeries, Series, TreeNode } from '@skdx/angular-charts/internal';
|
|
19
|
+
export { Candle, Datum, GanttTask, GeoMultiPolygon, GeoPolygon, MapFeature, SankeyLink, ScatterSeries, Series, Shape, TreeNode } from '@skdx/angular-charts/internal';
|