@visactor/vchart-extension 1.13.9-alpha.1 → 1.13.9-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/build/index.js +818 -9
  2. package/build/index.min.js +1 -1
  3. package/cjs/charts/sequence-scatter-kde/constant.d.ts +3 -0
  4. package/cjs/charts/sequence-scatter-kde/constant.js +7 -0
  5. package/cjs/charts/sequence-scatter-kde/constant.js.map +1 -0
  6. package/cjs/charts/sequence-scatter-kde/interface.d.ts +29 -0
  7. package/cjs/charts/sequence-scatter-kde/interface.js +6 -0
  8. package/cjs/charts/sequence-scatter-kde/interface.js.map +1 -0
  9. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.d.ts +6 -0
  10. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js +142 -0
  11. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -0
  12. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +16 -0
  13. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js +34 -0
  14. package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -0
  15. package/cjs/charts/sequence-scatter-kde/utils.d.ts +9 -0
  16. package/cjs/charts/sequence-scatter-kde/utils.js +42 -0
  17. package/cjs/charts/sequence-scatter-kde/utils.js.map +1 -0
  18. package/cjs/charts/sequence-scatter-link/interface.d.ts +59 -0
  19. package/cjs/charts/sequence-scatter-link/interface.js +6 -0
  20. package/cjs/charts/sequence-scatter-link/interface.js.map +1 -0
  21. package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.d.ts +6 -0
  22. package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +328 -0
  23. package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -0
  24. package/cjs/charts/sequence-scatter-link/sequence-scatter-link.d.ts +16 -0
  25. package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js +34 -0
  26. package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -0
  27. package/cjs/charts/sequence-scatter-link/utils.d.ts +9 -0
  28. package/cjs/charts/sequence-scatter-link/utils.js +108 -0
  29. package/cjs/charts/sequence-scatter-link/utils.js.map +1 -0
  30. package/cjs/charts/sequence-scatter-pixel/constant.d.ts +3 -0
  31. package/cjs/charts/sequence-scatter-pixel/constant.js +7 -0
  32. package/cjs/charts/sequence-scatter-pixel/constant.js.map +1 -0
  33. package/cjs/charts/sequence-scatter-pixel/interface.d.ts +29 -0
  34. package/cjs/charts/sequence-scatter-pixel/interface.js +6 -0
  35. package/cjs/charts/sequence-scatter-pixel/interface.js.map +1 -0
  36. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.d.ts +4 -0
  37. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js +68 -0
  38. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -0
  39. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +16 -0
  40. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js +34 -0
  41. package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -0
  42. package/cjs/charts/sequence-scatter-pixel/utils.d.ts +3 -0
  43. package/cjs/charts/sequence-scatter-pixel/utils.js +53 -0
  44. package/cjs/charts/sequence-scatter-pixel/utils.js.map +1 -0
  45. package/cjs/components/series-label/type.js +2 -1
  46. package/cjs/index.d.ts +3 -0
  47. package/cjs/index.js +5 -2
  48. package/cjs/index.js.map +1 -1
  49. package/esm/charts/sequence-scatter-kde/constant.d.ts +3 -0
  50. package/esm/charts/sequence-scatter-kde/constant.js +6 -0
  51. package/esm/charts/sequence-scatter-kde/constant.js.map +1 -0
  52. package/esm/charts/sequence-scatter-kde/interface.d.ts +29 -0
  53. package/esm/charts/sequence-scatter-kde/interface.js +2 -0
  54. package/esm/charts/sequence-scatter-kde/interface.js.map +1 -0
  55. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.d.ts +6 -0
  56. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js +137 -0
  57. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -0
  58. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +16 -0
  59. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js +28 -0
  60. package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -0
  61. package/esm/charts/sequence-scatter-kde/utils.d.ts +9 -0
  62. package/esm/charts/sequence-scatter-kde/utils.js +34 -0
  63. package/esm/charts/sequence-scatter-kde/utils.js.map +1 -0
  64. package/esm/charts/sequence-scatter-link/interface.d.ts +59 -0
  65. package/esm/charts/sequence-scatter-link/interface.js +2 -0
  66. package/esm/charts/sequence-scatter-link/interface.js.map +1 -0
  67. package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.d.ts +6 -0
  68. package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +321 -0
  69. package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -0
  70. package/esm/charts/sequence-scatter-link/sequence-scatter-link.d.ts +16 -0
  71. package/esm/charts/sequence-scatter-link/sequence-scatter-link.js +28 -0
  72. package/esm/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -0
  73. package/esm/charts/sequence-scatter-link/utils.d.ts +9 -0
  74. package/esm/charts/sequence-scatter-link/utils.js +100 -0
  75. package/esm/charts/sequence-scatter-link/utils.js.map +1 -0
  76. package/esm/charts/sequence-scatter-pixel/constant.d.ts +3 -0
  77. package/esm/charts/sequence-scatter-pixel/constant.js +6 -0
  78. package/esm/charts/sequence-scatter-pixel/constant.js.map +1 -0
  79. package/esm/charts/sequence-scatter-pixel/interface.d.ts +29 -0
  80. package/esm/charts/sequence-scatter-pixel/interface.js +2 -0
  81. package/esm/charts/sequence-scatter-pixel/interface.js.map +1 -0
  82. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.d.ts +4 -0
  83. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js +64 -0
  84. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -0
  85. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +16 -0
  86. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js +28 -0
  87. package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -0
  88. package/esm/charts/sequence-scatter-pixel/utils.d.ts +3 -0
  89. package/esm/charts/sequence-scatter-pixel/utils.js +45 -0
  90. package/esm/charts/sequence-scatter-pixel/utils.js.map +1 -0
  91. package/esm/components/series-label/type.js +2 -1
  92. package/esm/index.d.ts +3 -0
  93. package/esm/index.js +6 -0
  94. package/esm/index.js.map +1 -1
  95. package/package.json +5 -5
@@ -0,0 +1,29 @@
1
+ import { IPlayerSpec } from '@visactor/vchart';
2
+ import { Datum } from '@visactor/vchart/src/typings/common';
3
+ import { ITextGraphicAttribute } from '@visactor/vrender-core';
4
+ type IterationData = Datum[];
5
+ type ISequenceScatterPixelData = {
6
+ [Iteration: string]: IterationData;
7
+ };
8
+ export interface ISequenceScatterPixelSpec {
9
+ type: 'sequenceScatterPixel';
10
+ data: ISequenceScatterPixelData;
11
+ xField: string;
12
+ yField: string;
13
+ player: Omit<IPlayerSpec, 'specs'>;
14
+ infoLabel: {
15
+ visible: boolean;
16
+ style: ITextGraphicAttribute;
17
+ };
18
+ backgroundColors: {
19
+ [Iteration: string]: any;
20
+ };
21
+ width: number;
22
+ height: number;
23
+ }
24
+ export interface Point {
25
+ x: number;
26
+ y: number;
27
+ label?: string;
28
+ }
29
+ export {};
@@ -0,0 +1,2 @@
1
+ export { };
2
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["charts/sequence-scatter-pixel/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import { IPlayerSpec } from '@visactor/vchart';\nimport { Datum } from '@visactor/vchart/src/typings/common';\nimport { ITextGraphicAttribute } from '@visactor/vrender-core';\n\ntype IterationData = Datum[];\ntype ISequenceScatterPixelData = {\n /**\n * key: 迭代信息\n * value: 每个迭代的数据\n */\n [Iteration: string]: IterationData;\n\n // TODO: 支持边的绘制\n // [Iteration: string]: {\n // /**\n // * 节点数据\n // */\n // nodes: IterationNodesData;\n // /**\n // * 边数据\n // */\n // edges: IterationEdgesData;\n // };\n};\n\nexport interface ISequenceScatterPixelSpec {\n /**\n * 图表类型\n */\n type: 'sequenceScatterPixel';\n /**\n * 数据\n */\n data: ISequenceScatterPixelData;\n /**\n * x轴字段\n */\n xField: string;\n /**\n * y轴字段\n */\n yField: string;\n /**\n * 播放器配置\n */\n player: Omit<IPlayerSpec, 'specs'>;\n /**\n * 文字标记(标记当前处于第几个迭代)\n */\n infoLabel: {\n visible: boolean;\n style: ITextGraphicAttribute;\n };\n /**\n * 背景数据\n */\n backgroundColors: {\n [Iteration: string]: any;\n };\n /**\n * 宽度\n */\n width: number;\n /**\n * 高度\n */\n height: number;\n}\n\nexport interface Point {\n x: number;\n y: number;\n label?: string;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { CommonChartSpecTransformer } from '@visactor/vchart';
2
+ export declare class SequenceScatterPixelChartSpecTransformer extends CommonChartSpecTransformer<any> {
3
+ transformSpec(spec: any): void;
4
+ }
@@ -0,0 +1,64 @@
1
+ import { CommonChartSpecTransformer } from "@visactor/vchart";
2
+
3
+ import { processSequenceData } from "./utils";
4
+
5
+ import { DATA_KEY } from "./constant";
6
+
7
+ export class SequenceScatterPixelChartSpecTransformer extends CommonChartSpecTransformer {
8
+ transformSpec(spec) {
9
+ var _a, _b, _c, _d, _e;
10
+ super.transformSpec(spec);
11
+ const dataSpecs = processSequenceData(spec);
12
+ spec.type = "common", spec.dataKey = DATA_KEY, spec.data = dataSpecs[0].data, spec.width = 300,
13
+ spec.height = 300, spec.autoFit = !1, spec.series = [ {
14
+ type: "scatter",
15
+ xField: spec.xField,
16
+ yField: spec.yField
17
+ } ], spec.player && (spec.player = Object.assign(Object.assign({}, spec.player), {
18
+ specs: dataSpecs
19
+ }), spec.animationAppear = {
20
+ duration: null !== (_b = null === (_a = spec.player) || void 0 === _a ? void 0 : _a.duration) && void 0 !== _b ? _b : 2e3,
21
+ easing: "linear"
22
+ }, spec.animationUpdate = {
23
+ duration: null !== (_d = null === (_c = spec.player) || void 0 === _c ? void 0 : _c.duration) && void 0 !== _d ? _d : 2e3,
24
+ easing: "linear"
25
+ }), spec.axes = [ {
26
+ orient: "left",
27
+ type: "linear"
28
+ }, {
29
+ orient: "bottom",
30
+ label: {
31
+ visible: !0
32
+ },
33
+ type: "linear"
34
+ } ], spec.customMark = [ {
35
+ type: "image",
36
+ dataIndex: 2,
37
+ style: {
38
+ x: 0,
39
+ y: 0,
40
+ width: 300,
41
+ height: 300,
42
+ image: datum => datum.imageData,
43
+ zIndex: -1
44
+ }
45
+ }, {
46
+ type: "text",
47
+ dataIndex: 1,
48
+ style: Object.assign({
49
+ text: datum => datum.inter,
50
+ x: 50,
51
+ y: () => 10,
52
+ textBaseline: "top",
53
+ textAlign: "left",
54
+ fontSize: 100,
55
+ fontWeight: "bolder",
56
+ fill: "black",
57
+ fillOpacity: .2
58
+ }, null === (_e = spec.infoLabel) || void 0 === _e ? void 0 : _e.style)
59
+ } ], spec.tooltip = {
60
+ visible: !1
61
+ }, super.transformSpec(spec);
62
+ }
63
+ }
64
+ //# sourceMappingURL=sequence-scatter-pixel-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,OAAO,wCAAyC,SAAQ,0BAA+B;IAC3F,aAAa,CAAC,IAAS;;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAA4C,CAAC,CAAC;QAEpF,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,MAAM,GAAG;YACZ;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,mCACN,IAAI,CAAC,MAAM,KACd,KAAK,EAAE,SAAS,GACjB,CAAC;YACF,IAAI,CAAC,eAAe,GAAG;gBACrB,QAAQ,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,mCAAI,IAAI;gBACvC,MAAM,EAAE,QAAQ;aACjB,CAAC;YAEF,IAAI,CAAC,eAAe,GAAG;gBACrB,QAAQ,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,mCAAI,IAAI;gBACvC,MAAM,EAAE,QAAQ;aACjB,CAAC;SACH;QAED,IAAI,CAAC,IAAI,GAAG;YACV;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBACxB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG;YAEhB;gBACE,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;oBACxC,MAAM,EAAE,CAAC,CAAC;iBACX;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC;gBACZ,KAAK,kBACH,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EACtC,CAAC,EAAE,EAAE,EACL,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EACX,YAAY,EAAE,KAAK,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,QAAQ,EACpB,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,GAAG,IACb,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,CACzB;aACF;SACF,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF","file":"sequence-scatter-pixel-transformer.js","sourcesContent":["import { Datum } from '@visactor/vchart/src/typings';\nimport type { ISequenceScatterPixelSpec } from './interface';\nimport { CommonChartSpecTransformer } from '@visactor/vchart';\nimport { processSequenceData } from './utils';\nimport { DATA_KEY } from './constant';\n\nexport class SequenceScatterPixelChartSpecTransformer extends CommonChartSpecTransformer<any> {\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n const dataSpecs = processSequenceData(spec as unknown as ISequenceScatterPixelSpec);\n\n spec.type = 'common';\n spec.dataKey = DATA_KEY;\n spec.data = dataSpecs[0].data;\n\n spec.width = 300;\n spec.height = 300;\n spec.autoFit = false;\n\n spec.series = [\n {\n type: 'scatter',\n xField: spec.xField,\n yField: spec.yField\n }\n ];\n\n if (spec.player) {\n spec.player = {\n ...spec.player,\n specs: dataSpecs\n };\n spec.animationAppear = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n\n spec.animationUpdate = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n }\n\n spec.axes = [\n {\n orient: 'left',\n type: 'linear'\n },\n {\n orient: 'bottom',\n label: { visible: true },\n type: 'linear'\n }\n ];\n\n spec.customMark = [\n // 背景图像\n {\n type: 'image',\n dataIndex: 2,\n style: {\n x: 0,\n y: 0,\n width: 300,\n height: 300,\n image: (datum: Datum) => datum.imageData,\n zIndex: -1\n }\n },\n {\n type: 'text',\n dataIndex: 1,\n style: {\n text: (datum: Datum) => datum['inter'],\n x: 50,\n y: () => 10,\n textBaseline: 'top',\n textAlign: 'left',\n fontSize: 100,\n fontWeight: 'bolder',\n fill: 'black',\n fillOpacity: 0.2,\n ...spec.infoLabel?.style\n }\n }\n ];\n\n spec.tooltip = {\n visible: false\n };\n\n super.transformSpec(spec);\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import { ISequenceScatterPixelSpec } from './interface';
2
+ import { VChart, BaseChart } from '@visactor/vchart';
3
+ import { SequenceScatterPixelChartSpecTransformer } from './sequence-scatter-pixel-transformer';
4
+ export declare class SequenceScatterPixel extends BaseChart<Omit<ISequenceScatterPixelSpec, 'data'>> {
5
+ type: string;
6
+ static type: string;
7
+ static readonly view: string;
8
+ _spec: ISequenceScatterPixelSpec;
9
+ static readonly transformerConstructor: typeof SequenceScatterPixelChartSpecTransformer;
10
+ readonly transformerConstructor: typeof SequenceScatterPixelChartSpecTransformer;
11
+ init(): void;
12
+ protected isValid(): boolean;
13
+ }
14
+ export declare const registerSequenceScatterPixel: (option?: {
15
+ VChart?: typeof VChart;
16
+ }) => void;
@@ -0,0 +1,28 @@
1
+ import { VChart, BaseChart, ScatterChart } from "@visactor/vchart";
2
+
3
+ import { SequenceScatterPixelChartSpecTransformer } from "./sequence-scatter-pixel-transformer";
4
+
5
+ export class SequenceScatterPixel extends BaseChart {
6
+ constructor() {
7
+ super(...arguments), this.type = "sequenceScatterPixel", this.transformerConstructor = SequenceScatterPixelChartSpecTransformer;
8
+ }
9
+ init() {
10
+ this.isValid() && super.init();
11
+ }
12
+ isValid() {
13
+ var _a, _b, _c, _d;
14
+ const {xField: xField, yField: yField, data: data} = this._spec;
15
+ return xField && yField ? !!data || (null === (_d = (_c = this._option).onError) || void 0 === _d || _d.call(_c, "Data is required"),
16
+ !1) : (null === (_b = (_a = this._option).onError) || void 0 === _b || _b.call(_a, "Missing Required Config: `xField`, `yField` "),
17
+ !1);
18
+ }
19
+ }
20
+
21
+ SequenceScatterPixel.type = "sequenceScatterPixel", SequenceScatterPixel.view = "singleDefault",
22
+ SequenceScatterPixel.transformerConstructor = SequenceScatterPixelChartSpecTransformer;
23
+
24
+ export const registerSequenceScatterPixel = option => {
25
+ const vchartConstructor = (null == option ? void 0 : option.VChart) || VChart;
26
+ vchartConstructor && vchartConstructor.useChart([ SequenceScatterPixel, ScatterChart ]);
27
+ };
28
+ //# sourceMappingURL=sequence-scatter-pixel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["charts/sequence-scatter-pixel/sequence-scatter-pixel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,wCAAwC,EAAE,MAAM,sCAAsC,CAAC;AAEhG,MAAM,OAAO,oBAAqB,SAAQ,SAAkD;IAA5F;;QACE,SAAI,GAAG,sBAAsB,CAAC;QAOrB,2BAAsB,GAAG,wCAAwC,CAAC;IAqB7E,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;YACtB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,8CAA8C,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA1BM,yBAAI,GAAG,sBAAsB,CAAC;AACrB,yBAAI,GAAW,eAAe,CAAC;AAI/B,2CAAsB,GAAG,wCAAwC,CAAC;AAwBpF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,MAAmC,EAAE,EAAE;IAClF,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,MAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC;KAClE;AACH,CAAC,CAAC","file":"sequence-scatter-pixel.js","sourcesContent":["import { ISequenceScatterPixelSpec } from './interface';\nimport { VChart, BaseChart, ScatterChart } from '@visactor/vchart';\nimport { SequenceScatterPixelChartSpecTransformer } from './sequence-scatter-pixel-transformer';\n\nexport class SequenceScatterPixel extends BaseChart<Omit<ISequenceScatterPixelSpec, 'data'>> {\n type = 'sequenceScatterPixel';\n static type = 'sequenceScatterPixel';\n static readonly view: string = 'singleDefault';\n\n declare _spec: ISequenceScatterPixelSpec;\n\n static readonly transformerConstructor = SequenceScatterPixelChartSpecTransformer;\n readonly transformerConstructor = SequenceScatterPixelChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, data } = this._spec;\n if (!xField || !yField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerSequenceScatterPixel = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([SequenceScatterPixel, ScatterChart]);\n }\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import { ISequenceScatterPixelSpec } from './interface';
2
+ export declare function createImageDataFromColorMatrix(colorMatrix: any[][], spec: ISequenceScatterPixelSpec): string | null;
3
+ export declare function processSequenceData(spec: ISequenceScatterPixelSpec): any[];
@@ -0,0 +1,45 @@
1
+ import { BACKGROUND_KEY, DATA_KEY } from "./constant";
2
+
3
+ export function createImageDataFromColorMatrix(colorMatrix, spec) {
4
+ var _a;
5
+ if ("undefined" == typeof document) throw new Error("Canvas rendering requires browser environment with document object");
6
+ const canvas = document.createElement("canvas");
7
+ canvas.width = spec.width, canvas.height = spec.height;
8
+ const ctx = canvas.getContext("2d");
9
+ if (!ctx) throw new Error("Failed to get 2D rendering context from canvas");
10
+ const imageData = ctx.createImageData(spec.width, spec.height);
11
+ for (let y = 0; y < 300; y++) for (let x = 0; x < 300; x++) {
12
+ const rgb = (null === (_a = colorMatrix[y]) || void 0 === _a ? void 0 : _a[x]) || [ 0, 0, 0 ], pixelIndex = 4 * (300 * y + x);
13
+ imageData.data[pixelIndex] = Math.round(255 * rgb[0]), imageData.data[pixelIndex + 1] = Math.round(255 * rgb[1]),
14
+ imageData.data[pixelIndex + 2] = Math.round(255 * rgb[2]), imageData.data[pixelIndex + 3] = 255;
15
+ }
16
+ return ctx.putImageData(imageData, 0, 0), canvas.toDataURL("image/png");
17
+ }
18
+
19
+ export function processSequenceData(spec) {
20
+ const result = [];
21
+ return Object.keys(spec.data).forEach((inter => {
22
+ let backgroundData = null;
23
+ if (spec.backgroundColors && spec.backgroundColors[inter]) {
24
+ backgroundData = {
25
+ imageData: createImageDataFromColorMatrix(spec.backgroundColors[inter], spec)
26
+ };
27
+ }
28
+ result.push({
29
+ data: [ {
30
+ id: "nodes",
31
+ values: spec.data[inter].map(((d, i) => Object.assign(Object.assign({}, d), {
32
+ [DATA_KEY]: i
33
+ })))
34
+ }, {
35
+ id: "inter",
36
+ values: [ {
37
+ inter: inter
38
+ } ]
39
+ }, {
40
+ id: BACKGROUND_KEY,
41
+ values: backgroundData ? [ backgroundData ] : []
42
+ } ]
43
+ });
44
+ })), result;
45
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["charts/sequence-scatter-pixel/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtD,MAAM,UAAU,8BAA8B,CAAC,WAAoB,EAAE,IAA+B;;IAElG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;KACvF;IAGD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACnE;IAGD,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAG/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAG,CAAA,MAAA,WAAW,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,KAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAGrC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACtD,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC1D,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC1D,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;SACtC;KACF;IAGD,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAA+B;IACjE,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACrC,IAAI,cAAc,GAAG,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;YACzD,MAAM,SAAS,GAAG,8BAA8B,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;YACrF,cAAc,GAAG,EAAE,SAAS,EAAE,CAAC;SAChC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE;gBACJ;oBACE,EAAE,EAAE,OAAO;oBACX,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACpC,uCAAY,CAAC,KAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAG;oBACjC,CAAC,CAAC;iBACH;gBACD;oBACE,EAAE,EAAE,OAAO;oBACX,MAAM,EAAE;wBACN;4BACE,KAAK;yBACN;qBACF;iBACF;gBACD;oBACE,EAAE,EAAE,cAAc;oBAClB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;iBAC/C;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC","file":"utils.js","sourcesContent":["import { ISequenceScatterPixelSpec } from './interface';\nimport { BACKGROUND_KEY, DATA_KEY } from './constant';\n\n// 将RGB三元组数组转换为Canvas可用的imageData\nexport function createImageDataFromColorMatrix(colorMatrix: any[][], spec: ISequenceScatterPixelSpec): string | null {\n // 浏览器环境检查\n if (typeof document === 'undefined') {\n throw new Error('Canvas rendering requires browser environment with document object'); // 非浏览器环境下返回null\n }\n\n // 创建Canvas离屏渲染\n const canvas = document.createElement('canvas');\n canvas.width = spec.width;\n canvas.height = spec.height;\n const ctx = canvas.getContext('2d');\n\n if (!ctx) {\n throw new Error('Failed to get 2D rendering context from canvas'); // Canvas context creation failed\n }\n\n // 创建imageData\n const imageData = ctx.createImageData(spec.width, spec.height);\n\n // 填充像素数据\n for (let y = 0; y < 300; y++) {\n for (let x = 0; x < 300; x++) {\n const rgb = colorMatrix[y]?.[x] || [0, 0, 0];\n const pixelIndex = (y * 300 + x) * 4;\n\n // 转换0-1范围到0-255\n imageData.data[pixelIndex] = Math.round(rgb[0] * 255); // R\n imageData.data[pixelIndex + 1] = Math.round(rgb[1] * 255); // G\n imageData.data[pixelIndex + 2] = Math.round(rgb[2] * 255); // B\n imageData.data[pixelIndex + 3] = 255; // A (完全不透明)\n }\n }\n\n // 将imageData绘制到canvas然后返回dataURL\n ctx.putImageData(imageData, 0, 0);\n return canvas.toDataURL('image/png');\n}\n\nexport function processSequenceData(spec: ISequenceScatterPixelSpec) {\n const result: any[] = [];\n Object.keys(spec.data).forEach(inter => {\n let backgroundData = null;\n if (spec.backgroundColors && spec.backgroundColors[inter]) {\n const imageData = createImageDataFromColorMatrix(spec.backgroundColors[inter], spec);\n backgroundData = { imageData };\n }\n result.push({\n data: [\n {\n id: 'nodes',\n values: spec.data[inter].map((d, i) => {\n return { ...d, [DATA_KEY]: i };\n })\n },\n {\n id: 'inter',\n values: [\n {\n inter\n }\n ]\n },\n {\n id: BACKGROUND_KEY,\n values: backgroundData ? [backgroundData] : []\n }\n ]\n });\n });\n return result;\n}\n"]}
@@ -1 +1,2 @@
1
- export { };
1
+ export { };
2
+ //# sourceMappingURL=type.js.map
package/esm/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  export * from './charts/ranking-bar/ranking-bar';
2
2
  export * from './charts/ranking-list/ranking-list';
3
3
  export * from './charts/conversion-funnel';
4
+ export * from './charts/sequence-scatter-link/sequence-scatter-link';
5
+ export * from './charts/sequence-scatter-kde/sequence-scatter-kde';
6
+ export * from './charts/sequence-scatter-pixel/sequence-scatter-pixel';
4
7
  export * from './components/series-break';
5
8
  export * from './components/bar-link';
6
9
  export * from './components/series-label';
package/esm/index.js CHANGED
@@ -4,6 +4,12 @@ export * from "./charts/ranking-list/ranking-list";
4
4
 
5
5
  export * from "./charts/conversion-funnel";
6
6
 
7
+ export * from "./charts/sequence-scatter-link/sequence-scatter-link";
8
+
9
+ export * from "./charts/sequence-scatter-kde/sequence-scatter-kde";
10
+
11
+ export * from "./charts/sequence-scatter-pixel/sequence-scatter-pixel";
12
+
7
13
  export * from "./components/series-break";
8
14
 
9
15
  export * from "./components/bar-link";
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAE3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC","file":"index.js","sourcesContent":["export * from './charts/ranking-bar/ranking-bar';\nexport * from './charts/ranking-list/ranking-list';\nexport * from './charts/conversion-funnel';\n\nexport * from './components/series-break';\nexport * from './components/bar-link';\nexport * from './components/series-label';\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AACnE,cAAc,wDAAwD,CAAC;AAEvE,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC","file":"index.js","sourcesContent":["export * from './charts/ranking-bar/ranking-bar';\nexport * from './charts/ranking-list/ranking-list';\nexport * from './charts/conversion-funnel';\nexport * from './charts/sequence-scatter-link/sequence-scatter-link';\nexport * from './charts/sequence-scatter-kde/sequence-scatter-kde';\nexport * from './charts/sequence-scatter-pixel/sequence-scatter-pixel';\n\nexport * from './components/series-break';\nexport * from './components/bar-link';\nexport * from './components/series-label';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vchart-extension",
3
- "version": "1.13.9-alpha.1",
3
+ "version": "1.13.9-alpha.11",
4
4
  "description": "vchart extension package, including extension plugins and components",
5
5
  "sideEffects": false,
6
6
  "main": "cjs/index.js",
@@ -12,13 +12,13 @@
12
12
  "build"
13
13
  ],
14
14
  "dependencies": {
15
- "@visactor/vrender-core": "0.22.7-alpha.2",
16
- "@visactor/vrender-kits": "0.22.7-alpha.2",
17
- "@visactor/vrender-components": "0.22.7-alpha.2",
15
+ "@visactor/vrender-core": "0.22.6",
16
+ "@visactor/vrender-kits": "0.22.6",
17
+ "@visactor/vrender-components": "0.22.6",
18
18
  "@visactor/vgrammar-core": "0.16.3",
19
19
  "@visactor/vutils": "~0.19.4",
20
20
  "@visactor/vdataset": "~0.19.4",
21
- "@visactor/vchart": "1.13.9-alpha.1"
21
+ "@visactor/vchart": "1.13.9-alpha.11"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@rushstack/eslint-patch": "~1.1.4",