@visactor/vseed 0.1.40 → 0.1.42

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 (193) hide show
  1. package/dist/cjs/index.cjs +3 -3
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/builder.d.ts +3211 -349
  4. package/dist/esm/pipeline/advanced/chart/pipeline/column.js +3 -2
  5. package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
  6. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -2
  7. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  8. package/dist/esm/pipeline/advanced/chart/pipes/analysis/common.d.ts +3 -0
  9. package/dist/esm/pipeline/advanced/chart/pipes/analysis/common.js +22 -0
  10. package/dist/esm/pipeline/advanced/chart/pipes/analysis/common.js.map +1 -0
  11. package/dist/esm/pipeline/advanced/chart/pipes/analysis/index.d.ts +1 -0
  12. package/dist/esm/pipeline/advanced/chart/pipes/analysis/index.js +1 -0
  13. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortLegend.js +1 -19
  14. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortLegend.js.map +1 -1
  15. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortXBand.d.ts +1 -2
  16. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortXBand.js +2 -20
  17. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortXBand.js.map +1 -1
  18. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortYBand.js +1 -1
  19. package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortYBand.js.map +1 -1
  20. package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js +28 -1
  21. package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js.map +1 -1
  22. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js +0 -1
  23. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
  24. package/dist/esm/pipeline/spec/chart/pipeline/area.js +7 -4
  25. package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
  26. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js +3 -2
  27. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
  28. package/dist/esm/pipeline/spec/chart/pipeline/bar.js +4 -2
  29. package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
  30. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js +4 -2
  31. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
  32. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js +4 -2
  33. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
  34. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js +3 -2
  35. package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
  36. package/dist/esm/pipeline/spec/chart/pipeline/column.js +8 -4
  37. package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
  38. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js +4 -2
  39. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
  40. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js +4 -2
  41. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
  42. package/dist/esm/pipeline/spec/chart/pipeline/donut.js +3 -1
  43. package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
  44. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js +3 -2
  45. package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
  46. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js +2 -1
  47. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
  48. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js +3 -2
  49. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
  50. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +7 -4
  51. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
  52. package/dist/esm/pipeline/spec/chart/pipeline/line.js +7 -4
  53. package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
  54. package/dist/esm/pipeline/spec/chart/pipeline/pie.js +4 -2
  55. package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
  56. package/dist/esm/pipeline/spec/chart/pipeline/radar.js +3 -1
  57. package/dist/esm/pipeline/spec/chart/pipeline/radar.js.map +1 -1
  58. package/dist/esm/pipeline/spec/chart/pipeline/rose.js +3 -1
  59. package/dist/esm/pipeline/spec/chart/pipeline/rose.js.map +1 -1
  60. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js +3 -1
  61. package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js.map +1 -1
  62. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js +11 -4
  63. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
  64. package/dist/esm/pipeline/spec/chart/pipes/annotation/index.d.ts +1 -0
  65. package/dist/esm/pipeline/spec/chart/pipes/annotation/index.js +2 -1
  66. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.d.ts +2 -0
  67. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js +172 -0
  68. package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js.map +1 -0
  69. package/dist/esm/pipeline/spec/chart/pipes/index.d.ts +1 -0
  70. package/dist/esm/pipeline/spec/chart/pipes/index.js +1 -0
  71. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.js +1 -1
  72. package/dist/esm/pipeline/spec/chart/pipes/init/pivot.js.map +1 -1
  73. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.d.ts +2 -0
  74. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.js +3 -1
  75. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.d.ts +2 -0
  76. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js +13 -0
  77. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -0
  78. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js +38 -32
  79. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
  80. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.d.ts +2 -0
  81. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js +28 -0
  82. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -0
  83. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.d.ts +2 -0
  84. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.js +10 -0
  85. package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.js.map +1 -0
  86. package/dist/esm/pipeline/spec/chart/pipes/region/index.d.ts +1 -0
  87. package/dist/esm/pipeline/spec/chart/pipes/region/index.js +1 -0
  88. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.d.ts +2 -0
  89. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js +150 -0
  90. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js.map +1 -0
  91. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/common.d.ts +4 -0
  92. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/common.js +21 -0
  93. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/common.js.map +1 -0
  94. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.d.ts +2 -0
  95. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js +98 -0
  96. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js.map +1 -0
  97. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/index.d.ts +4 -1
  98. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/index.js +4 -1
  99. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.d.ts +2 -0
  100. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js +98 -0
  101. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js.map +1 -0
  102. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.d.ts +16 -0
  103. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js +159 -0
  104. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js.map +1 -0
  105. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +2 -2
  106. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +5 -5
  107. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  108. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js +2 -2
  109. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
  110. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +1 -1
  111. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js +1 -6
  112. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
  113. package/dist/esm/theme/common/color.d.ts +4 -0
  114. package/dist/esm/theme/common/color.js +6 -2
  115. package/dist/esm/theme/common/color.js.map +1 -1
  116. package/dist/esm/theme/common/regressionLine.d.ts +8 -4
  117. package/dist/esm/theme/common/regressionLine.js +60 -8
  118. package/dist/esm/theme/common/regressionLine.js.map +1 -1
  119. package/dist/esm/theme/common/table.d.ts +6 -0
  120. package/dist/esm/theme/common/table.js +4 -1
  121. package/dist/esm/theme/common/table.js.map +1 -1
  122. package/dist/esm/theme/dark/dark.js +8 -6
  123. package/dist/esm/theme/dark/dark.js.map +1 -1
  124. package/dist/esm/theme/light/light.js +8 -6
  125. package/dist/esm/theme/light/light.js.map +1 -1
  126. package/dist/esm/types/advancedVSeed.d.ts +1028 -37
  127. package/dist/esm/types/advancedVSeed.js +2 -2
  128. package/dist/esm/types/advancedVSeed.js.map +1 -1
  129. package/dist/esm/types/chartType/column/column.d.ts +6 -1
  130. package/dist/esm/types/chartType/column/zColumn.d.ts +25 -0
  131. package/dist/esm/types/chartType/column/zColumn.js +2 -1
  132. package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
  133. package/dist/esm/types/chartType/histogram/histogram.d.ts +7 -3
  134. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +19 -4
  135. package/dist/esm/types/chartType/histogram/zHistogram.js +3 -2
  136. package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -1
  137. package/dist/esm/types/chartType/scatter/scatter.d.ts +21 -1
  138. package/dist/esm/types/chartType/scatter/zScatter.d.ts +94 -0
  139. package/dist/esm/types/chartType/scatter/zScatter.js +5 -1
  140. package/dist/esm/types/chartType/scatter/zScatter.js.map +1 -1
  141. package/dist/esm/types/properties/annotation/annotationHorizontalLine.d.ts +13 -0
  142. package/dist/esm/types/properties/config/area.d.ts +6 -0
  143. package/dist/esm/types/properties/config/bar.d.ts +9 -0
  144. package/dist/esm/types/properties/config/boxplot.d.ts +3 -0
  145. package/dist/esm/types/properties/config/color/color.d.ts +8 -0
  146. package/dist/esm/types/properties/config/color/color.js.map +1 -1
  147. package/dist/esm/types/properties/config/column.d.ts +141 -2
  148. package/dist/esm/types/properties/config/column.js +6 -3
  149. package/dist/esm/types/properties/config/column.js.map +1 -1
  150. package/dist/esm/types/properties/config/config.d.ts +449 -9
  151. package/dist/esm/types/properties/config/dualAxis.d.ts +3 -0
  152. package/dist/esm/types/properties/config/funnel.d.ts +3 -0
  153. package/dist/esm/types/properties/config/heatmap.d.ts +3 -0
  154. package/dist/esm/types/properties/config/histogram.d.ts +132 -9
  155. package/dist/esm/types/properties/config/histogram.js +2 -2
  156. package/dist/esm/types/properties/config/histogram.js.map +1 -1
  157. package/dist/esm/types/properties/config/line.d.ts +3 -0
  158. package/dist/esm/types/properties/config/pie.d.ts +9 -0
  159. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.d.ts +3 -0
  160. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js +4 -1
  161. package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js.map +1 -1
  162. package/dist/esm/types/properties/config/rose.d.ts +6 -0
  163. package/dist/esm/types/properties/config/scatter.d.ts +133 -0
  164. package/dist/esm/types/properties/config/scatter.js +3 -1
  165. package/dist/esm/types/properties/config/scatter.js.map +1 -1
  166. package/dist/esm/types/properties/regressionLine/{histogramRegressionLine.d.ts → ecdfRegressionLine.d.ts} +2 -7
  167. package/dist/esm/types/properties/regressionLine/index.d.ts +7 -2
  168. package/dist/esm/types/properties/regressionLine/index.js +1 -1
  169. package/dist/esm/types/properties/regressionLine/kdeRegressionLine.d.ts +40 -0
  170. package/dist/esm/types/properties/regressionLine/linearRegressionLine.d.ts +53 -0
  171. package/dist/esm/types/properties/regressionLine/logisticRegressionLine.d.ts +53 -0
  172. package/dist/esm/types/properties/regressionLine/logisticRegressionLine.js +0 -0
  173. package/dist/esm/types/properties/regressionLine/lowessRegressionLine.d.ts +53 -0
  174. package/dist/esm/types/properties/regressionLine/lowessRegressionLine.js +0 -0
  175. package/dist/esm/types/properties/regressionLine/polynomialRegressionLine.d.ts +57 -0
  176. package/dist/esm/types/properties/regressionLine/polynomialRegressionLine.js +0 -0
  177. package/dist/esm/types/properties/regressionLine/zRegressionLine.d.ts +199 -0
  178. package/dist/esm/types/properties/regressionLine/zRegressionLine.js +32 -0
  179. package/dist/esm/types/properties/regressionLine/zRegressionLine.js.map +1 -0
  180. package/dist/esm/types/properties/theme/customTheme.d.ts +898 -18
  181. package/dist/esm/types/zVseed.d.ts +138 -4
  182. package/dist/umd/index.js +1889 -279
  183. package/dist/umd/index.js.map +1 -1
  184. package/package.json +1 -1
  185. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.d.ts +0 -2
  186. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.js +0 -126
  187. package/dist/esm/pipeline/spec/chart/pipes/regressionLine/histogramRegressionLine.js.map +0 -1
  188. package/dist/esm/types/properties/regressionLine/zHistogramRegressionLine.d.ts +0 -11
  189. package/dist/esm/types/properties/regressionLine/zHistogramRegressionLine.js +0 -17
  190. package/dist/esm/types/properties/regressionLine/zHistogramRegressionLine.js.map +0 -1
  191. /package/dist/esm/{pipeline/advanced/chart/pipes/analysis/sort.d.ts → types/properties/regressionLine/ecdfRegressionLine.js} +0 -0
  192. /package/dist/esm/{pipeline/advanced/chart/pipes/analysis/sort.js → types/properties/regressionLine/kdeRegressionLine.js} +0 -0
  193. /package/dist/esm/types/properties/regressionLine/{histogramRegressionLine.js → linearRegressionLine.js} +0 -0
@@ -0,0 +1,159 @@
1
+ import { isNullish } from "remeda";
2
+ import { array, clamper, regressionLinear, regressionLogistic, regressionLowess, regressionPolynomial } from "@visactor/vutils";
3
+ const generateRegressionLinePipe = (type, regressionFunction, getOptions)=>(spec, context)=>{
4
+ const result = {
5
+ ...spec
6
+ };
7
+ const { advancedVSeed } = context;
8
+ const { chartType, regressionLine } = advancedVSeed;
9
+ const lineTheme = advancedVSeed.config[chartType]?.regressionLine;
10
+ if (!regressionLine || !regressionLine[type]) return result;
11
+ const lineList = array(regressionLine[type]);
12
+ if (!result.customMark) result.customMark = [];
13
+ lineList.forEach((line, lineIndex)=>{
14
+ const theme = lineTheme.linearRegressionLine ?? {};
15
+ const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight, confidenceIntervalOpacity, confidenceIntervalVisible = theme.confidenceIntervalVisible } = line;
16
+ const childrenMarks = [];
17
+ result.customMark.push({
18
+ type: 'group',
19
+ interactive: false,
20
+ zIndex: 500,
21
+ name: `${type}-${lineIndex}`,
22
+ style: {
23
+ data: (datum, ctx)=>{
24
+ const vchart = ctx.vchart;
25
+ const chart = vchart.getChart();
26
+ const s = chart.getAllSeries()[0];
27
+ if (s) {
28
+ const rect = s.getRegion().getLayoutRect();
29
+ const segments = [];
30
+ if (0 === rect.width || 0 === rect.height) return segments;
31
+ const start = s.getRegion().getLayoutStartPoint();
32
+ const yClamper = clamper(start.y, start.y + rect.height);
33
+ const colorAttrOptions = s.getColorAttribute();
34
+ const groups = s.getSeriesKeys();
35
+ const data = s.getViewData()?.latestData;
36
+ const fieldX = s.fieldX?.[0];
37
+ const fieldY = s.fieldY?.[0];
38
+ if (!groups.length) groups.push(void 0);
39
+ groups.forEach((group)=>{
40
+ const groupData = data.filter((d)=>d[colorAttrOptions?.field] === group);
41
+ if (!groupData.length) return;
42
+ const { confidenceInterval, evaluateGrid } = regressionFunction(groupData, (datum)=>datum?.[fieldX], (datum)=>datum?.[fieldY], getOptions?.(line));
43
+ const N = Math.max(3, Math.floor(groupData.length / 4));
44
+ const mainColor = color ?? colorAttrOptions?.scale?.scale(group);
45
+ const lineData = evaluateGrid(N);
46
+ const linePoints = lineData.map((ld)=>{
47
+ const d = {
48
+ [fieldX]: ld.x,
49
+ [fieldY]: ld.y
50
+ };
51
+ return {
52
+ x: s.dataToPositionX(d) + start.x,
53
+ y: yClamper(s.dataToPositionY(d) + start.y)
54
+ };
55
+ });
56
+ segments.push({
57
+ color: mainColor,
58
+ linePoints
59
+ });
60
+ if (confidenceIntervalVisible) {
61
+ const intervalData = confidenceInterval(N);
62
+ const areaPoints = intervalData.map((datum)=>{
63
+ const d = {
64
+ [fieldX]: datum.x,
65
+ [fieldY]: datum.lower
66
+ };
67
+ return {
68
+ x: s.dataToPositionX(d) + start.x,
69
+ y: yClamper(s.dataToPositionY(d) + start.y),
70
+ y1: yClamper(s.dataToPositionY({
71
+ [fieldY]: datum.upper
72
+ }) + start.y)
73
+ };
74
+ });
75
+ segments[segments.length - 1].areaPoints = areaPoints;
76
+ }
77
+ });
78
+ return segments;
79
+ }
80
+ return [];
81
+ }
82
+ },
83
+ children: childrenMarks
84
+ });
85
+ if (confidenceIntervalVisible) childrenMarks.push({
86
+ type: 'area',
87
+ interactive: false,
88
+ zIndex: 500,
89
+ style: {
90
+ lineWidth: lineWidth ?? theme.lineWidth,
91
+ lineDash: lineDash ?? theme.lineDash,
92
+ fillOpacity: confidenceIntervalOpacity ?? theme.confidenceIntervalOpacity,
93
+ fill: 'red',
94
+ segments: (datum, ctx, opt)=>{
95
+ const parentNode = opt.mark?._product?.parent;
96
+ if (parentNode?.attribute?.data?.length) return parentNode.attribute.data.map((d)=>({
97
+ points: d.areaPoints ?? [],
98
+ fill: d.color
99
+ }));
100
+ return [];
101
+ }
102
+ }
103
+ });
104
+ childrenMarks.push({
105
+ type: 'line',
106
+ interactive: false,
107
+ zIndex: 500,
108
+ style: {
109
+ lineWidth: lineWidth ?? theme.lineWidth,
110
+ lineDash: lineDash ?? theme.lineDash,
111
+ stroke: 'red',
112
+ segments: (datum, ctx, opt)=>{
113
+ const parentNode = opt.mark?._product?.parent;
114
+ if (parentNode?.attribute?.data?.length) return parentNode.attribute.data.map((d)=>({
115
+ points: d.linePoints,
116
+ stroke: d.color
117
+ }));
118
+ return [];
119
+ }
120
+ }
121
+ });
122
+ if (!isNullish(text)) childrenMarks.push({
123
+ type: 'text',
124
+ interactive: false,
125
+ zIndex: 500,
126
+ style: {
127
+ textAlign: 'end',
128
+ fill: textColor ?? theme.textColor,
129
+ fontSize: textFontSize ?? theme.textFontSize,
130
+ fontWeight: textFontWeight ?? theme.textFontWeight,
131
+ text: text,
132
+ x: (datum, ctx, opt)=>{
133
+ const parentNode = opt.mark?._product?.parent;
134
+ if (parentNode?.attribute?.data?.length) {
135
+ const point = parentNode.attribute.data[parentNode.attribute.data.length - 1].linePoints;
136
+ return point[point.length - 1]?.x;
137
+ }
138
+ },
139
+ y: (datum, ctx, opt)=>{
140
+ const parentNode = opt.mark?._product?.parent;
141
+ if (parentNode?.attribute?.data?.length) {
142
+ const point = parentNode.attribute.data[parentNode.attribute.data.length - 1].linePoints;
143
+ return point[point.length - 1]?.y;
144
+ }
145
+ }
146
+ }
147
+ });
148
+ });
149
+ return result;
150
+ };
151
+ const linearRegressionLine = generateRegressionLinePipe('linearRegressionLine', regressionLinear);
152
+ const lowessRegressionLine = generateRegressionLinePipe('lowessRegressionLine', regressionLowess);
153
+ const polynomialRegressionLine = generateRegressionLinePipe('polynomialRegressionLine', regressionPolynomial, (lineConfig)=>({
154
+ degree: lineConfig.degree ?? 2
155
+ }));
156
+ const logisticRegressionLine = generateRegressionLinePipe('logisticRegressionLine', regressionLogistic);
157
+ export { generateRegressionLinePipe, linearRegressionLine, logisticRegressionLine, lowessRegressionLine, polynomialRegressionLine };
158
+
159
+ //# sourceMappingURL=linearRegressionLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IScatterChartSpec, IVChart } from '@visactor/vchart'\nimport { isNullish } from 'remeda'\nimport {\n array,\n clamper,\n regressionLinear,\n regressionLowess,\n regressionPolynomial,\n regressionLogistic,\n} from '@visactor/vutils'\nimport type {\n Datum,\n SpecPipe,\n RegressionLineConfig,\n LinearRegressionLine,\n SpecPipelineContext,\n PolynomialRegressionLine,\n} from 'src/types'\n\nexport const generateRegressionLinePipe = (\n type: 'linearRegressionLine' | 'lowessRegressionLine' | 'polynomialRegressionLine' | 'logisticRegressionLine',\n regressionFunction: (\n arr: Datum[],\n xAccessor: (d: Datum) => number,\n yAccessor: (d: Datum) => number,\n options?: any,\n ) => {\n confidenceInterval: (N: number) => { lower: number; upper: number; x: number }[]\n evaluateGrid: (N: number) => { x: number; y: number }[]\n },\n getOptions?: (lineConfig: any) => any,\n): SpecPipe => {\n return ((spec: Partial<IScatterChartSpec>, context: SpecPipelineContext): Partial<IScatterChartSpec> => {\n const result = { ...spec }\n const { advancedVSeed } = context\n const { chartType, regressionLine } = advancedVSeed\n const lineTheme = advancedVSeed.config[chartType as 'scatter']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine[type]) {\n return result\n }\n\n const lineList = array(regressionLine[type])\n\n if (!result.customMark) {\n result.customMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n const theme = (lineTheme.linearRegressionLine ?? {}) as LinearRegressionLine\n const {\n color,\n lineWidth,\n lineDash,\n text,\n textColor,\n textFontSize,\n textFontWeight,\n confidenceIntervalOpacity,\n confidenceIntervalVisible = theme.confidenceIntervalVisible,\n } = line as LinearRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.customMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `${type}-${lineIndex}`,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const s = chart.getAllSeries()[0] as ICartesianSeries\n\n if (s) {\n const rect = s.getRegion().getLayoutRect()\n const segments: {\n areaPoints?: { x: number; y: number; y1: number }[]\n linePoints: { x: number; y: number }[]\n color: string\n }[] = []\n\n if (rect.width === 0 || rect.height === 0) {\n return segments\n }\n\n const start = s.getRegion().getLayoutStartPoint()\n const yClamper = clamper(start.y, start.y + rect.height)\n const colorAttrOptions = s.getColorAttribute()\n const groups: (string | undefined)[] = s.getSeriesKeys()\n const data = s.getViewData()?.latestData as Datum[]\n const fieldX = s.fieldX?.[0]\n const fieldY = s.fieldY?.[0]\n\n if (!groups.length) {\n groups.push(undefined)\n }\n\n groups.forEach((group) => {\n const groupData = data.filter((d: Datum) => d[colorAttrOptions?.field] === group)\n\n if (!groupData.length) {\n return\n }\n const { confidenceInterval, evaluateGrid } = regressionFunction(\n groupData,\n (datum: Datum) => datum?.[fieldX],\n (datum: Datum) => datum?.[fieldY],\n getOptions?.(line),\n )\n const N = Math.max(3, Math.floor(groupData.length / 4))\n const mainColor = color ?? colorAttrOptions?.scale?.scale(group)\n\n const lineData = evaluateGrid(N)\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x, [fieldY]: ld.y }\n return {\n x: s.dataToPositionX(d)! + start.x,\n y: yClamper(s.dataToPositionY(d)! + start.y),\n }\n })\n\n segments.push({\n color: mainColor,\n linePoints,\n })\n\n if (confidenceIntervalVisible) {\n const intervalData = confidenceInterval(N)\n const areaPoints = intervalData.map((datum: Datum) => {\n const d = { [fieldX]: datum.x, [fieldY]: datum.lower }\n return {\n x: s.dataToPositionX(d)! + start.x,\n y: yClamper(s.dataToPositionY(d)! + start.y),\n y1: yClamper(s.dataToPositionY({ [fieldY]: datum.upper })! + start.y),\n }\n })\n\n segments[segments.length - 1].areaPoints = areaPoints\n }\n })\n\n return segments\n }\n return []\n },\n },\n children: childrenMarks,\n })\n\n if (confidenceIntervalVisible) {\n childrenMarks.push({\n type: 'area',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n fillOpacity: confidenceIntervalOpacity ?? theme.confidenceIntervalOpacity,\n fill: 'red', // vrender bug,必须要设置一个全局的fill,才会绘制\n segments: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data?.length) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n return parentNode.attribute.data.map((d: any) => {\n return {\n points: d.areaPoints ?? [],\n fill: d.color,\n }\n })\n }\n\n return []\n },\n },\n })\n }\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: 'red', // vrender bug,必须要设置一个全局的stroke,才会绘制\n segments: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data?.length) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n return parentNode.attribute.data.map((d: any) => {\n return {\n points: d.linePoints,\n stroke: d.color,\n }\n })\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data?.length) {\n const point = parentNode.attribute.data[parentNode.attribute.data.length - 1].linePoints\n return point[point.length - 1]?.x\n }\n\n return undefined\n },\n y: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data?.length) {\n const point = parentNode.attribute.data[parentNode.attribute.data.length - 1].linePoints\n return point[point.length - 1]?.y\n }\n\n return undefined\n },\n },\n })\n }\n })\n\n return result\n }) as SpecPipe\n}\n\nexport const linearRegressionLine: SpecPipe = generateRegressionLinePipe('linearRegressionLine', regressionLinear)\nexport const lowessRegressionLine: SpecPipe = generateRegressionLinePipe('lowessRegressionLine', regressionLowess)\nexport const polynomialRegressionLine: SpecPipe = generateRegressionLinePipe(\n 'polynomialRegressionLine',\n regressionPolynomial,\n (lineConfig: PolynomialRegressionLine) => {\n return { degree: lineConfig.degree ?? 2 }\n },\n)\nexport const logisticRegressionLine: SpecPipe = generateRegressionLinePipe('logisticRegressionLine', regressionLogistic)\n"],"names":["generateRegressionLinePipe","type","regressionFunction","getOptions","spec","context","result","advancedVSeed","chartType","regressionLine","lineTheme","lineList","array","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","confidenceIntervalOpacity","confidenceIntervalVisible","childrenMarks","datum","ctx","vchart","chart","s","rect","segments","start","yClamper","clamper","colorAttrOptions","groups","data","fieldX","fieldY","undefined","group","groupData","d","confidenceInterval","evaluateGrid","N","Math","mainColor","lineData","linePoints","ld","intervalData","areaPoints","opt","parentNode","isNullish","point","linearRegressionLine","regressionLinear","lowessRegressionLine","regressionLowess","polynomialRegressionLine","regressionPolynomial","lineConfig","logisticRegressionLine","regressionLogistic"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { Dimensions, FoldInfo, Measures, SpecPipe, UnfoldInfo } from '../../../../../types';
2
2
  export declare const tooltip: SpecPipe;
3
- export declare const createDimensionContent: (measures: Measures, foldInfo: FoldInfo, unfoldInfo: UnfoldInfo) => {
3
+ export declare const createDimensionContent: (dimensions: Dimensions, measures: Measures, foldInfo: FoldInfo, unfoldInfo: UnfoldInfo) => {
4
4
  visible: boolean;
5
5
  shapeType: string;
6
6
  hasShape: boolean;
7
- key: (v: unknown) => string;
7
+ key: string | ((v: unknown) => string) | undefined;
8
8
  value: (v: unknown) => string;
9
9
  }[];
10
10
  export declare const createMarkContent: (tooltip: string[], dimensions: Dimensions, measures: Measures, foldInfo: FoldInfo, unfoldInfo: UnfoldInfo) => ({
@@ -25,23 +25,23 @@ const tooltip_tooltip = (spec, context)=>{
25
25
  title: {
26
26
  visible: true
27
27
  },
28
- content: createDimensionContent(measures, foldInfo, unfoldInfo)
28
+ content: createDimensionContent(dimensions, measures, foldInfo, unfoldInfo)
29
29
  }
30
30
  };
31
31
  return result;
32
32
  };
33
- const createDimensionContent = (measures, foldInfo, unfoldInfo)=>{
34
- const { measureId, measureValue } = foldInfo;
33
+ const createDimensionContent = (dimensions, measures, foldInfo, unfoldInfo)=>{
34
+ const { measureId, measureValue, foldMap } = foldInfo;
35
35
  const { encodingColor } = unfoldInfo;
36
36
  return [
37
37
  {
38
38
  visible: true,
39
39
  shapeType: 'rectRound',
40
40
  hasShape: true,
41
- key: (v)=>{
41
+ key: dimensions.some((d)=>'color' === d.encoding) ? (v)=>{
42
42
  const datum = v;
43
43
  return datum && datum[encodingColor] || '';
44
- },
44
+ } : Object.values(foldMap)[0],
45
45
  value: (v)=>{
46
46
  const datum = v;
47
47
  if (!datum) return '';
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltip.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltip.ts"],"sourcesContent":["import { pipe, uniqueBy } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures, findMeasureById } from '../../../../utils'\nimport type { Datum, Dimensions, FoldInfo, Measures, SpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { ORIGINAL_DATA } from 'src/dataReshape'\n\nexport const tooltip: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0] as unknown as {\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfo,\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(measures, foldInfo, unfoldInfo),\n },\n }\n return result\n}\n\nexport const createDimensionContent = (measures: Measures, foldInfo: FoldInfo, unfoldInfo: UnfoldInfo) => {\n const { measureId, measureValue } = foldInfo\n const { encodingColor } = unfoldInfo\n\n return [\n {\n visible: true,\n shapeType: 'rectRound',\n hasShape: true,\n key: (v: unknown) => {\n const datum = v as Datum\n return (datum && (datum[encodingColor] as string)) || ''\n },\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n },\n ]\n}\n\nexport const createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n measures: Measures,\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n) => {\n const dims = pipe(\n dimensions.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item) => item.id),\n uniqueBy((item) => item.alias),\n )\n const meas = pipe(\n measures.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item) => item.id),\n uniqueBy((item) => item.alias),\n )\n\n const dimContent = dims.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const datum = v as Datum\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return datum && (datum[item.id] as string)\n },\n value: (v: unknown) => {\n const datum = v as Datum\n return datum && (datum[item.id] as string)\n },\n }))\n\n const meaContent = meas.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) {\n return ''\n }\n const originalData = datum[ORIGINAL_DATA] as Datum\n const value = originalData[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n const defaultContent = {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const { measureName } = foldInfo\n const { encodingColor: colorName } = unfoldInfo\n\n const datum = v as Datum\n return (datum && (datum[measureName || colorName] as string)) || ''\n },\n value: (v: unknown) => {\n const { measureId, measureValue } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }\n\n return [...dimContent, defaultContent, ...meaContent]\n}\n"],"names":["tooltip","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","baseConfig","enable","foldInfo","unfoldInfo","createMarkContent","findAllMeasures","createDimensionContent","measureId","measureValue","encodingColor","v","datum","value","id","measure","findMeasureById","formatter","createFormatterByMeasure","dims","pipe","item","uniqueBy","meas","dimContent","meaContent","ORIGINAL_DATA","originalData","defaultContent","measureName","colorName","String"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltip.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltip.ts"],"sourcesContent":["import { pipe, uniqueBy } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures, findMeasureById } from '../../../../utils'\nimport type { Datum, Dimensions, FoldInfo, Measures, SpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { ORIGINAL_DATA } from 'src/dataReshape'\n\nexport const tooltip: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const { foldInfo, unfoldInfo } = datasetReshapeInfo[0] as unknown as {\n foldInfo: FoldInfo\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfo,\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(dimensions, measures, foldInfo, unfoldInfo),\n },\n }\n return result\n}\n\nexport const createDimensionContent = (\n dimensions: Dimensions,\n measures: Measures,\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n) => {\n const { measureId, measureValue, foldMap } = foldInfo\n const { encodingColor } = unfoldInfo\n\n return [\n {\n visible: true,\n shapeType: 'rectRound',\n hasShape: true,\n key: dimensions.some((d) => d.encoding === 'color')\n ? (v: unknown) => {\n const datum = v as Datum\n return (datum && (datum[encodingColor] as string)) || ''\n }\n : Object.values(foldMap)[0],\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n },\n ]\n}\n\nexport const createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n measures: Measures,\n foldInfo: FoldInfo,\n unfoldInfo: UnfoldInfo,\n) => {\n const dims = pipe(\n dimensions.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item) => item.id),\n uniqueBy((item) => item.alias),\n )\n const meas = pipe(\n measures.filter((item) => tooltip.includes(item.id)),\n uniqueBy((item) => item.id),\n uniqueBy((item) => item.alias),\n )\n\n const dimContent = dims.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const datum = v as Datum\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return datum && (datum[item.id] as string)\n },\n value: (v: unknown) => {\n const datum = v as Datum\n return datum && (datum[item.id] as string)\n },\n }))\n\n const meaContent = meas.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) {\n return ''\n }\n const originalData = datum[ORIGINAL_DATA] as Datum\n const value = originalData[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n const defaultContent = {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const { measureName } = foldInfo\n const { encodingColor: colorName } = unfoldInfo\n\n const datum = v as Datum\n return (datum && (datum[measureName || colorName] as string)) || ''\n },\n value: (v: unknown) => {\n const { measureId, measureValue } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n if (!measure) {\n return String(value)\n }\n\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }\n\n return [...dimContent, defaultContent, ...meaContent]\n}\n"],"names":["tooltip","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","baseConfig","enable","foldInfo","unfoldInfo","createMarkContent","findAllMeasures","createDimensionContent","measureId","measureValue","foldMap","encodingColor","d","v","datum","Object","value","id","measure","findMeasureById","formatter","createFormatterByMeasure","dims","pipe","item","uniqueBy","meas","dimContent","meaContent","ORIGINAL_DATA","originalData","defaultContent","measureName","colorName","String"],"mappings":"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"}
@@ -26,7 +26,7 @@ const tooltipPrimary = (spec, context)=>{
26
26
  title: {
27
27
  visible: true
28
28
  },
29
- content: createDimensionContent(measures, foldInfoList[0], unfoldInfo)
29
+ content: createDimensionContent(dimensions, measures, foldInfoList[0], unfoldInfo)
30
30
  }
31
31
  };
32
32
  return result;
@@ -57,7 +57,7 @@ const tooltipSecondary = (spec, context)=>{
57
57
  title: {
58
58
  visible: true
59
59
  },
60
- content: createDimensionContent(measures, foldInfoList[1], unfoldInfo)
60
+ content: createDimensionContent(dimensions, measures, foldInfoList[1], unfoldInfo)
61
61
  }
62
62
  };
63
63
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.ts"],"sourcesContent":["import { isNullish } from 'remeda'\nimport { createDimensionContent, createMarkContent } from './tooltip'\nimport type { FoldInfo, SpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { findAllMeasures } from 'src/pipeline/utils'\n\nexport const tooltipPrimary: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo\n\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfoList[0],\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(measures, foldInfoList[0], unfoldInfo),\n },\n }\n return result\n}\n\nexport const tooltipSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n if (isNullish(datasetReshapeInfo[0].foldInfoList?.[1])) {\n return result\n }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo as UnfoldInfo\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfoList[1],\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(measures, foldInfoList[1], unfoldInfo),\n },\n }\n return result\n}\n"],"names":["tooltipPrimary","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","baseConfig","tooltip","enable","foldInfoList","unfoldInfo","createMarkContent","findAllMeasures","createDimensionContent","tooltipSecondary","isNullish"],"mappings":";;;AAKO,MAAMA,iBAA2B,CAACC,MAAMC;IAC7C,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,QAAQ,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGN;IAC1E,MAAMO,aAAaP,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;IAEnB,MAAME,eAAeP,kBAAkB,CAAC,EAAE,CAAC,YAAY;IACvD,MAAMQ,aAAaR,kBAAkB,CAAC,EAAE,CAAC,UAAU;IAEnDJ,OAAO,OAAO,GAAG;QACf,SAASU;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASG,kBACPN,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAQ,gBAAgBZ,MAAM,QAAQ,GAC9BS,YAAY,CAAC,EAAE,EACfC;QAEJ;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASG,uBAAuBZ,UAAUQ,YAAY,CAAC,EAAE,EAAEC;QAC7D;IACF;IACA,OAAOZ;AACT;AAEO,MAAMgB,mBAA6B,CAAClB,MAAMC;IAC/C,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,QAAQ,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGN;IAC1E,MAAMO,aAAaP,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;IAEnB,IAAIQ,UAAUb,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GACnD,OAAOJ;IAGT,MAAMW,eAAeP,kBAAkB,CAAC,EAAE,CAAC,YAAY;IACvD,MAAMQ,aAAaR,kBAAkB,CAAC,EAAE,CAAC,UAAU;IACnDJ,OAAO,OAAO,GAAG;QACf,SAASU;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASG,kBACPN,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAQ,gBAAgBZ,MAAM,QAAQ,GAC9BS,YAAY,CAAC,EAAE,EACfC;QAEJ;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASG,uBAAuBZ,UAAUQ,YAAY,CAAC,EAAE,EAAEC;QAC7D;IACF;IACA,OAAOZ;AACT"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.ts"],"sourcesContent":["import { isNullish } from 'remeda'\nimport { createDimensionContent, createMarkContent } from './tooltip'\nimport type { FoldInfo, SpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { findAllMeasures } from 'src/pipeline/utils'\n\nexport const tooltipPrimary: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo\n\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfoList[0],\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(dimensions, measures, foldInfoList[0], unfoldInfo),\n },\n }\n return result\n}\n\nexport const tooltipSecondary: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n\n if (isNullish(datasetReshapeInfo[0].foldInfoList?.[1])) {\n return result\n }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n const unfoldInfo = datasetReshapeInfo[0].unfoldInfo as UnfoldInfo\n result.tooltip = {\n visible: enable,\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n foldInfoList[1],\n unfoldInfo,\n ),\n },\n dimension: {\n title: {\n visible: true,\n },\n content: createDimensionContent(dimensions, measures, foldInfoList[1], unfoldInfo),\n },\n }\n return result\n}\n"],"names":["tooltipPrimary","spec","context","result","advancedVSeed","vseed","measures","datasetReshapeInfo","chartType","dimensions","encoding","baseConfig","tooltip","enable","foldInfoList","unfoldInfo","createMarkContent","findAllMeasures","createDimensionContent","tooltipSecondary","isNullish"],"mappings":";;;AAKO,MAAMA,iBAA2B,CAACC,MAAMC;IAC7C,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,QAAQ,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGN;IAC1E,MAAMO,aAAaP,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;IAEnB,MAAME,eAAeP,kBAAkB,CAAC,EAAE,CAAC,YAAY;IACvD,MAAMQ,aAAaR,kBAAkB,CAAC,EAAE,CAAC,UAAU;IAEnDJ,OAAO,OAAO,GAAG;QACf,SAASU;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASG,kBACPN,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAQ,gBAAgBZ,MAAM,QAAQ,GAC9BS,YAAY,CAAC,EAAE,EACfC;QAEJ;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASG,uBAAuBT,YAAYH,UAAUQ,YAAY,CAAC,EAAE,EAAEC;QACzE;IACF;IACA,OAAOZ;AACT;AAEO,MAAMgB,mBAA6B,CAAClB,MAAMC;IAC/C,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,QAAQ,EAAEC,kBAAkB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGN;IAC1E,MAAMO,aAAaP,cAAc,MAAM,CAACI,UAAU;IAClD,MAAM,EAAEI,UAAU;QAAE,QAAQ;IAAK,CAAC,EAAE,GAAGD;IACvC,MAAM,EAAEE,MAAM,EAAE,GAAGD;IAEnB,IAAIQ,UAAUb,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GACnD,OAAOJ;IAGT,MAAMW,eAAeP,kBAAkB,CAAC,EAAE,CAAC,YAAY;IACvD,MAAMQ,aAAaR,kBAAkB,CAAC,EAAE,CAAC,UAAU;IACnDJ,OAAO,OAAO,GAAG;QACf,SAASU;QACT,MAAM;YACJ,OAAO;gBACL,SAAS;YACX;YACA,SAASG,kBACPN,SAAS,OAAO,IAAI,EAAE,EACtBD,YACAQ,gBAAgBZ,MAAM,QAAQ,GAC9BS,YAAY,CAAC,EAAE,EACfC;QAEJ;QACA,WAAW;YACT,OAAO;gBACL,SAAS;YACX;YACA,SAASG,uBAAuBT,YAAYH,UAAUQ,YAAY,CAAC,EAAE,EAAEC;QACzE;IACF;IACA,OAAOZ;AACT"}
@@ -10,6 +10,6 @@ export declare const createMarkContent: (tooltip: string[], dimensions: Dimensio
10
10
  visible: boolean;
11
11
  hasShape: boolean;
12
12
  shapeType: string;
13
- key: string;
13
+ key: string | undefined;
14
14
  value: (v: unknown) => string;
15
15
  })[];
@@ -65,12 +65,7 @@ const createMarkContent = (tooltip, dimensions, measures, locale, foldInfoList)=
65
65
  visible: true,
66
66
  hasShape: true,
67
67
  shapeType: 'rectRound',
68
- key: (v)=>{
69
- const { measureId, foldMap } = foldInfo;
70
- const datum = v;
71
- const id = datum[measureId];
72
- return foldMap[id] || id;
73
- },
68
+ key: Object.values(foldInfo.foldMap)[0],
74
69
  value: (v)=>{
75
70
  const { measureId, measureValue } = foldInfo;
76
71
  const datum = v;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipScatter.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures, findMeasureById } from '../../../../utils'\nimport type { Datum, Dimensions, FoldInfo, Locale, Measures, SpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { ORIGINAL_DATA } from 'src/dataReshape'\n\nexport const tooltipScatter: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const { foldInfoList } = datasetReshapeInfo[0] as unknown as {\n foldInfoList: FoldInfo[]\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n visible: enable,\n\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n locale,\n foldInfoList,\n ),\n },\n dimension: {\n visible: false,\n },\n }\n return result\n}\n\nexport const createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n measures: Measures,\n locale: Locale,\n foldInfoList: FoldInfo[],\n) => {\n const dims = uniqueBy(\n dimensions.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n const meas = uniqueBy(\n measures.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n\n const dimContent = dims.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const datum = v as Datum\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return datum && (datum[item.id] as string)\n },\n value: (v: unknown) => {\n const datum = v as Datum\n return datum && (datum[item.id] as string)\n },\n }))\n\n const meaContent = meas.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) {\n return ''\n }\n const originalData = datum[ORIGINAL_DATA] as Datum\n const value = originalData[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n const foldMeaContent = foldInfoList.map((foldInfo) => {\n return {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const { measureId, foldMap } = foldInfo\n const datum = v as Datum\n const id = datum[measureId] as string\n return foldMap[id] || id\n },\n value: (v: unknown) => {\n const { measureId, measureValue } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }\n })\n return [...dimContent, ...foldMeaContent, ...meaContent]\n}\n"],"names":["tooltipScatter","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","locale","dimensions","encoding","baseConfig","tooltip","enable","foldInfoList","createMarkContent","findAllMeasures","measures","dims","uniqueBy","item","meas","dimContent","v","datum","meaContent","id","ORIGINAL_DATA","originalData","value","measure","findMeasureById","formatter","createFormatterByMeasure","foldMeaContent","foldInfo","measureId","foldMap","measureValue"],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/tooltip/tooltipScatter.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { createFormatterByMeasure, findAllMeasures, findMeasureById } from '../../../../utils'\nimport type { Datum, Dimensions, FoldInfo, Locale, Measures, SpecPipe, Tooltip, UnfoldInfo } from 'src/types'\nimport { ORIGINAL_DATA } from 'src/dataReshape'\n\nexport const tooltipScatter: SpecPipe = (spec, context) => {\n const result = { ...spec }\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo, chartType, locale, dimensions, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { tooltip: Tooltip }\n const { tooltip = { enable: true } } = baseConfig\n const { enable } = tooltip\n const { foldInfoList } = datasetReshapeInfo[0] as unknown as {\n foldInfoList: FoldInfo[]\n unfoldInfo: UnfoldInfo\n }\n\n result.tooltip = {\n visible: enable,\n\n mark: {\n title: {\n visible: false,\n },\n content: createMarkContent(\n encoding.tooltip || [],\n dimensions,\n findAllMeasures(vseed.measures),\n locale,\n foldInfoList,\n ),\n },\n dimension: {\n visible: false,\n },\n }\n return result\n}\n\nexport const createMarkContent = (\n tooltip: string[],\n dimensions: Dimensions,\n measures: Measures,\n locale: Locale,\n foldInfoList: FoldInfo[],\n) => {\n const dims = uniqueBy(\n dimensions.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n const meas = uniqueBy(\n measures.filter((item) => tooltip.includes(item.id)),\n (item) => item.id,\n )\n\n const dimContent = dims.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: (v: unknown) => {\n const datum = v as Datum\n if (item.alias || item.id) {\n return item.alias || item.id\n }\n return datum && (datum[item.id] as string)\n },\n value: (v: unknown) => {\n const datum = v as Datum\n return datum && (datum[item.id] as string)\n },\n }))\n\n const meaContent = meas.map((item) => ({\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: item.alias || item.id,\n value: (v: unknown) => {\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const id = item.id\n if (!datum || !datum[ORIGINAL_DATA] || !datum[ORIGINAL_DATA]) {\n return ''\n }\n const originalData = datum[ORIGINAL_DATA] as Datum\n const value = originalData[id] as string | number\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }))\n\n const foldMeaContent = foldInfoList.map((foldInfo) => {\n return {\n visible: true,\n hasShape: true,\n shapeType: 'rectRound',\n key: Object.values(foldInfo.foldMap)[0],\n value: (v: unknown) => {\n const { measureId, measureValue } = foldInfo\n\n const datum = v as Datum\n if (!datum) {\n return ''\n }\n const value = datum[measureValue] as string | number\n const id = datum[measureId] as string\n const measure = findMeasureById(measures, id)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n },\n }\n })\n return [...dimContent, ...foldMeaContent, ...meaContent]\n}\n"],"names":["tooltipScatter","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","locale","dimensions","encoding","baseConfig","tooltip","enable","foldInfoList","createMarkContent","findAllMeasures","measures","dims","uniqueBy","item","meas","dimContent","v","datum","meaContent","id","ORIGINAL_DATA","originalData","value","measure","findMeasureById","formatter","createFormatterByMeasure","foldMeaContent","foldInfo","Object","measureId","measureValue"],"mappings":"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"}
@@ -5,8 +5,12 @@ export declare const getDarkLinearColorScheme: () => string[];
5
5
  export declare const getLightColor: () => {
6
6
  linearColorScheme: string[];
7
7
  colorScheme: string[];
8
+ positiveColor: string;
9
+ negativeColor: string;
8
10
  };
9
11
  export declare const getDarkColor: () => {
10
12
  linearColorScheme: string[];
11
13
  colorScheme: string[];
14
+ positiveColor: string;
15
+ negativeColor: string;
12
16
  };
@@ -32,11 +32,15 @@ const getDarkLinearColorScheme = ()=>[
32
32
  ];
33
33
  const getLightColor = ()=>({
34
34
  linearColorScheme: getLightLinearColorScheme(),
35
- colorScheme: getLightColorScheme()
35
+ colorScheme: getLightColorScheme(),
36
+ positiveColor: '#7E5DFF',
37
+ negativeColor: '#EB3373'
36
38
  });
37
39
  const getDarkColor = ()=>({
38
40
  linearColorScheme: getDarkLinearColorScheme(),
39
- colorScheme: getDarkColorScheme()
41
+ colorScheme: getDarkColorScheme(),
42
+ positiveColor: '#7E5DFF',
43
+ negativeColor: '#EB3373'
40
44
  });
41
45
  export { getDarkColor, getDarkColorScheme, getDarkLinearColorScheme, getLightColor, getLightColorScheme, getLightLinearColorScheme };
42
46
 
@@ -1 +1 @@
1
- {"version":3,"file":"theme/common/color.js","sources":["webpack://@visactor/vseed/./src/theme/common/color.ts"],"sourcesContent":["export const getLightColorScheme = () => [\n '#8D72F6',\n '#5766EC',\n '#66A3FE',\n '#51D5E6',\n '#4EC0B3',\n '#F9DF90',\n '#F9AD71',\n '#ED8888',\n '#E9A0C3',\n '#D77DD3',\n]\nexport const getDarkColorScheme = () => [\n '#2E62F1',\n '#4DC36A',\n '#FF8406',\n '#FFCC00',\n '#4F44CF',\n '#5AC8FA',\n '#003A8C',\n '#B08AE2',\n '#FF6341',\n '#98DD62',\n]\nexport const getLightLinearColorScheme = () => ['#C2CEFF', '#5766EC']\nexport const getDarkLinearColorScheme = () => ['#A0CEFF', '#2E62F1']\nexport const getLightColor = () => ({\n linearColorScheme: getLightLinearColorScheme(),\n colorScheme: getLightColorScheme(),\n})\nexport const getDarkColor = () => ({\n linearColorScheme: getDarkLinearColorScheme(),\n colorScheme: getDarkColorScheme(),\n})\n"],"names":["getLightColorScheme","getDarkColorScheme","getLightLinearColorScheme","getDarkLinearColorScheme","getLightColor","getDarkColor"],"mappings":"AAAO,MAAMA,sBAAsB,IAAM;QACvC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;AACM,MAAMC,qBAAqB,IAAM;QACtC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;AACM,MAAMC,4BAA4B,IAAM;QAAC;QAAW;KAAU;AAC9D,MAAMC,2BAA2B,IAAM;QAAC;QAAW;KAAU;AAC7D,MAAMC,gBAAgB,IAAO;QAClC,mBAAmBF;QACnB,aAAaF;IACf;AACO,MAAMK,eAAe,IAAO;QACjC,mBAAmBF;QACnB,aAAaF;IACf"}
1
+ {"version":3,"file":"theme/common/color.js","sources":["webpack://@visactor/vseed/./src/theme/common/color.ts"],"sourcesContent":["export const getLightColorScheme = () => [\n '#8D72F6',\n '#5766EC',\n '#66A3FE',\n '#51D5E6',\n '#4EC0B3',\n '#F9DF90',\n '#F9AD71',\n '#ED8888',\n '#E9A0C3',\n '#D77DD3',\n]\nexport const getDarkColorScheme = () => [\n '#2E62F1',\n '#4DC36A',\n '#FF8406',\n '#FFCC00',\n '#4F44CF',\n '#5AC8FA',\n '#003A8C',\n '#B08AE2',\n '#FF6341',\n '#98DD62',\n]\nexport const getLightLinearColorScheme = () => ['#C2CEFF', '#5766EC']\nexport const getDarkLinearColorScheme = () => ['#A0CEFF', '#2E62F1']\nexport const getLightColor = () => ({\n linearColorScheme: getLightLinearColorScheme(),\n colorScheme: getLightColorScheme(),\n positiveColor: '#7E5DFF',\n negativeColor: '#EB3373',\n})\nexport const getDarkColor = () => ({\n linearColorScheme: getDarkLinearColorScheme(),\n colorScheme: getDarkColorScheme(),\n positiveColor: '#7E5DFF',\n negativeColor: '#EB3373',\n})\n"],"names":["getLightColorScheme","getDarkColorScheme","getLightLinearColorScheme","getDarkLinearColorScheme","getLightColor","getDarkColor"],"mappings":"AAAO,MAAMA,sBAAsB,IAAM;QACvC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;AACM,MAAMC,qBAAqB,IAAM;QACtC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;AACM,MAAMC,4BAA4B,IAAM;QAAC;QAAW;KAAU;AAC9D,MAAMC,2BAA2B,IAAM;QAAC;QAAW;KAAU;AAC7D,MAAMC,gBAAgB,IAAO;QAClC,mBAAmBF;QACnB,aAAaF;QACb,eAAe;QACf,eAAe;IACjB;AACO,MAAMK,eAAe,IAAO;QACjC,mBAAmBF;QACnB,aAAaF;QACb,eAAe;QACf,eAAe;IACjB"}
@@ -1,4 +1,8 @@
1
- import type { HistogramRegressionLine } from '../../types/properties/regressionLine';
2
- export declare const getDefaultHistogramRegressionLine: () => Partial<HistogramRegressionLine>;
3
- export declare const getLightHistogramRegressionLine: () => Partial<HistogramRegressionLine>;
4
- export declare const getDarkHistogramRegressionLine: () => Partial<HistogramRegressionLine>;
1
+ import type { RegressionLineConfig } from '../../types/properties/regressionLine';
2
+ export declare const getDefaultRegressionLine: () => {
3
+ lineWidth: number;
4
+ textFontSize: number;
5
+ textFontWeight: number;
6
+ };
7
+ export declare const getLightRegressionLine: () => Partial<RegressionLineConfig>;
8
+ export declare const getDarkRegressionLine: () => Partial<RegressionLineConfig>;
@@ -1,16 +1,68 @@
1
- const getDefaultHistogramRegressionLine = ()=>({
1
+ const getDefaultRegressionLine = ()=>({
2
2
  lineWidth: 2,
3
3
  textFontSize: 12,
4
4
  textFontWeight: 400
5
5
  });
6
- const getLightHistogramRegressionLine = ()=>({
7
- ...getDefaultHistogramRegressionLine(),
8
- textColor: '#364159'
6
+ const getLightRegressionLine = ()=>({
7
+ kdeRegressionLine: {
8
+ ...getDefaultRegressionLine(),
9
+ textColor: '#364159'
10
+ },
11
+ ecdfRegressionLine: {
12
+ ...getDefaultRegressionLine(),
13
+ textColor: '#364159'
14
+ },
15
+ linearRegressionLine: {
16
+ ...getDefaultRegressionLine(),
17
+ textColor: '#364159',
18
+ confidenceIntervalOpacity: 0.2
19
+ },
20
+ lowessRegressionLine: {
21
+ ...getDefaultRegressionLine(),
22
+ textColor: '#364159',
23
+ confidenceIntervalOpacity: 0.2
24
+ },
25
+ polynomialRegressionLine: {
26
+ ...getDefaultRegressionLine(),
27
+ textColor: '#364159',
28
+ confidenceIntervalOpacity: 0.2
29
+ },
30
+ logisticRegressionLine: {
31
+ ...getDefaultRegressionLine(),
32
+ textColor: '#364159',
33
+ confidenceIntervalOpacity: 0.2
34
+ }
9
35
  });
10
- const getDarkHistogramRegressionLine = ()=>({
11
- ...getDefaultHistogramRegressionLine(),
12
- textColor: '#ffffff'
36
+ const getDarkRegressionLine = ()=>({
37
+ kdeRegressionLine: {
38
+ ...getDefaultRegressionLine(),
39
+ textColor: '#FFFFFF'
40
+ },
41
+ ecdfRegressionLine: {
42
+ ...getDefaultRegressionLine(),
43
+ textColor: '#FFFFFF'
44
+ },
45
+ linearRegressionLine: {
46
+ ...getDefaultRegressionLine(),
47
+ textColor: '#FFFFFF',
48
+ confidenceIntervalOpacity: 0.2
49
+ },
50
+ lowessRegressionLine: {
51
+ ...getDefaultRegressionLine(),
52
+ textColor: '#FFFFFF',
53
+ confidenceIntervalOpacity: 0.2
54
+ },
55
+ polynomialRegressionLine: {
56
+ ...getDefaultRegressionLine(),
57
+ textColor: '#FFFFFF',
58
+ confidenceIntervalOpacity: 0.2
59
+ },
60
+ logisticRegressionLine: {
61
+ ...getDefaultRegressionLine(),
62
+ textColor: '#FFFFFF',
63
+ confidenceIntervalOpacity: 0.2
64
+ }
13
65
  });
14
- export { getDarkHistogramRegressionLine, getDefaultHistogramRegressionLine, getLightHistogramRegressionLine };
66
+ export { getDarkRegressionLine, getDefaultRegressionLine, getLightRegressionLine };
15
67
 
16
68
  //# sourceMappingURL=regressionLine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme/common/regressionLine.js","sources":["webpack://@visactor/vseed/./src/theme/common/regressionLine.ts"],"sourcesContent":["import type { HistogramRegressionLine } from 'src/types/properties/regressionLine'\n\nexport const getDefaultHistogramRegressionLine = (): Partial<HistogramRegressionLine> => {\n return {\n lineWidth: 2,\n textFontSize: 12,\n textFontWeight: 400,\n }\n}\n\nexport const getLightHistogramRegressionLine = (): Partial<HistogramRegressionLine> => {\n return {\n ...getDefaultHistogramRegressionLine(),\n textColor: '#364159',\n }\n}\n\nexport const getDarkHistogramRegressionLine = (): Partial<HistogramRegressionLine> => {\n return {\n ...getDefaultHistogramRegressionLine(),\n textColor: '#ffffff',\n }\n}\n"],"names":["getDefaultHistogramRegressionLine","getLightHistogramRegressionLine","getDarkHistogramRegressionLine"],"mappings":"AAEO,MAAMA,oCAAoC,IACxC;QACL,WAAW;QACX,cAAc;QACd,gBAAgB;IAClB;AAGK,MAAMC,kCAAkC,IACtC;QACL,GAAGD,mCAAmC;QACtC,WAAW;IACb;AAGK,MAAME,iCAAiC,IACrC;QACL,GAAGF,mCAAmC;QACtC,WAAW;IACb"}
1
+ {"version":3,"file":"theme/common/regressionLine.js","sources":["webpack://@visactor/vseed/./src/theme/common/regressionLine.ts"],"sourcesContent":["import type { RegressionLineConfig } from 'src/types/properties/regressionLine'\n\nexport const getDefaultRegressionLine = () => {\n return {\n lineWidth: 2,\n textFontSize: 12,\n textFontWeight: 400,\n }\n}\n\nexport const getLightRegressionLine = (): Partial<RegressionLineConfig> => {\n return {\n kdeRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#364159',\n },\n ecdfRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#364159',\n },\n linearRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#364159',\n confidenceIntervalOpacity: 0.2,\n },\n lowessRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#364159',\n confidenceIntervalOpacity: 0.2,\n },\n polynomialRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#364159',\n confidenceIntervalOpacity: 0.2,\n },\n logisticRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#364159',\n confidenceIntervalOpacity: 0.2,\n },\n }\n}\n\nexport const getDarkRegressionLine = (): Partial<RegressionLineConfig> => {\n return {\n kdeRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#FFFFFF',\n },\n ecdfRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#FFFFFF',\n },\n linearRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#FFFFFF',\n confidenceIntervalOpacity: 0.2,\n },\n lowessRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#FFFFFF',\n confidenceIntervalOpacity: 0.2,\n },\n polynomialRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#FFFFFF',\n confidenceIntervalOpacity: 0.2,\n },\n logisticRegressionLine: {\n ...getDefaultRegressionLine(),\n textColor: '#FFFFFF',\n confidenceIntervalOpacity: 0.2,\n },\n }\n}\n"],"names":["getDefaultRegressionLine","getLightRegressionLine","getDarkRegressionLine"],"mappings":"AAEO,MAAMA,2BAA2B,IAC/B;QACL,WAAW;QACX,cAAc;QACd,gBAAgB;IAClB;AAGK,MAAMC,yBAAyB,IAC7B;QACL,mBAAmB;YACjB,GAAGD,0BAA0B;YAC7B,WAAW;QACb;QACA,oBAAoB;YAClB,GAAGA,0BAA0B;YAC7B,WAAW;QACb;QACA,sBAAsB;YACpB,GAAGA,0BAA0B;YAC7B,WAAW;YACX,2BAA2B;QAC7B;QACA,sBAAsB;YACpB,GAAGA,0BAA0B;YAC7B,WAAW;YACX,2BAA2B;QAC7B;QACA,0BAA0B;YACxB,GAAGA,0BAA0B;YAC7B,WAAW;YACX,2BAA2B;QAC7B;QACA,wBAAwB;YACtB,GAAGA,0BAA0B;YAC7B,WAAW;YACX,2BAA2B;QAC7B;IACF;AAGK,MAAME,wBAAwB,IAC5B;QACL,mBAAmB;YACjB,GAAGF,0BAA0B;YAC7B,WAAW;QACb;QACA,oBAAoB;YAClB,GAAGA,0BAA0B;YAC7B,WAAW;QACb;QACA,sBAAsB;YACpB,GAAGA,0BAA0B;YAC7B,WAAW;YACX,2BAA2B;QAC7B;QACA,sBAAsB;YACpB,GAAGA,0BAA0B;YAC7B,WAAW;YACX,2BAA2B;QAC7B;QACA,0BAA0B;YACxB,GAAGA,0BAA0B;YAC7B,WAAW;YACX,2BAA2B;QAC7B;QACA,wBAAwB;YACtB,GAAGA,0BAA0B;YAC7B,WAAW;YACX,2BAA2B;QAC7B;IACF"}
@@ -43,6 +43,9 @@ export declare const getLightPivotChartGridConfig: () => {
43
43
  headerBackgroundColor: string;
44
44
  hoverHeaderBackgroundColor: any;
45
45
  hoverHeaderInlineBackgroundColor: any;
46
+ titleFontColor: any;
47
+ titleFontSize: any;
48
+ titleFontWeight: string;
46
49
  };
47
50
  export declare const getDarkPivotChartGridConfig: () => {
48
51
  outlineBorderLineWidth: number;
@@ -53,4 +56,7 @@ export declare const getDarkPivotChartGridConfig: () => {
53
56
  headerBackgroundColor: string;
54
57
  hoverHeaderBackgroundColor: any;
55
58
  hoverHeaderInlineBackgroundColor: any;
59
+ titleFontColor: any;
60
+ titleFontSize: any;
61
+ titleFontWeight: string;
56
62
  };
@@ -38,7 +38,10 @@ const pickPivotChartGridConfig = (tableConfig)=>({
38
38
  headerFontColor: tableConfig.headerFontColor,
39
39
  headerBackgroundColor: 'transparent',
40
40
  hoverHeaderBackgroundColor: tableConfig.hoverHeaderBackgroundColor,
41
- hoverHeaderInlineBackgroundColor: tableConfig.hoverHeaderInlineBackgroundColor
41
+ hoverHeaderInlineBackgroundColor: tableConfig.hoverHeaderInlineBackgroundColor,
42
+ titleFontColor: tableConfig.headerFontColor,
43
+ titleFontSize: tableConfig.headerFontSize,
44
+ titleFontWeight: 'bold'
42
45
  });
43
46
  const getLightPivotChartGridConfig = ()=>pickPivotChartGridConfig(getLightTableConfig());
44
47
  const getDarkPivotChartGridConfig = ()=>pickPivotChartGridConfig(getDarkTableConfig());
@@ -1 +1 @@
1
- {"version":3,"file":"theme/common/table.js","sources":["webpack://@visactor/vseed/./src/theme/common/table.ts"],"sourcesContent":["export const getDefaultTableConfig = () => ({\n bodyFontSize: 12,\n bodyBackgroundColor: 'transparent',\n headerFontSize: 12,\n})\n\nexport const getLightTableConfig = () => ({\n ...getDefaultTableConfig(),\n borderColor: '#e3e5eb',\n\n bodyFontColor: '#141414',\n\n headerFontColor: '#21252c',\n headerBackgroundColor: '#f6f7f9',\n\n hoverBodyBackgroundColor: '#bedaff',\n hoverBodyInlineBackgroundColor: '#bedaff33',\n hoverHeaderBackgroundColor: '#D9DDE4',\n hoverHeaderInlineBackgroundColor: '#D9DDE455',\n\n selectedBorderColor: '#4080ff',\n selectedBackgroundColor: '#bedaff33',\n\n backgroundColor: 'transparent',\n})\n\nexport const getDarkTableConfig = () => ({\n ...getDefaultTableConfig(),\n borderColor: '#4b4e53',\n\n bodyFontColor: '#fdfdfd',\n headerFontColor: '#fdfdfd',\n headerBackgroundColor: '#36393e',\n\n hoverBodyBackgroundColor: '#4284ff66',\n hoverBodyInlineBackgroundColor: '#4284ff10',\n hoverHeaderBackgroundColor: '#6f7984cc',\n hoverHeaderInlineBackgroundColor: '#4b4f54',\n\n selectedBorderColor: '#3073f2',\n selectedBackgroundColor: '#4284ff33',\n})\n\nconst pickPivotChartGridConfig = (tableConfig: any) => {\n return {\n outlineBorderLineWidth: 0,\n frameCornerRadius: 0,\n borderColor: tableConfig.borderColor,\n bodyFontColor: tableConfig.bodyFontColor,\n headerFontColor: tableConfig.headerFontColor,\n headerBackgroundColor: 'transparent',\n hoverHeaderBackgroundColor: tableConfig.hoverHeaderBackgroundColor,\n hoverHeaderInlineBackgroundColor: tableConfig.hoverHeaderInlineBackgroundColor,\n }\n}\n\nexport const getLightPivotChartGridConfig = () => {\n return pickPivotChartGridConfig(getLightTableConfig())\n}\n\nexport const getDarkPivotChartGridConfig = () => {\n return pickPivotChartGridConfig(getDarkTableConfig())\n}\n"],"names":["getDefaultTableConfig","getLightTableConfig","getDarkTableConfig","pickPivotChartGridConfig","tableConfig","getLightPivotChartGridConfig","getDarkPivotChartGridConfig"],"mappings":"AAAO,MAAMA,wBAAwB,IAAO;QAC1C,cAAc;QACd,qBAAqB;QACrB,gBAAgB;IAClB;AAEO,MAAMC,sBAAsB,IAAO;QACxC,GAAGD,uBAAuB;QAC1B,aAAa;QAEb,eAAe;QAEf,iBAAiB;QACjB,uBAAuB;QAEvB,0BAA0B;QAC1B,gCAAgC;QAChC,4BAA4B;QAC5B,kCAAkC;QAElC,qBAAqB;QACrB,yBAAyB;QAEzB,iBAAiB;IACnB;AAEO,MAAME,qBAAqB,IAAO;QACvC,GAAGF,uBAAuB;QAC1B,aAAa;QAEb,eAAe;QACf,iBAAiB;QACjB,uBAAuB;QAEvB,0BAA0B;QAC1B,gCAAgC;QAChC,4BAA4B;QAC5B,kCAAkC;QAElC,qBAAqB;QACrB,yBAAyB;IAC3B;AAEA,MAAMG,2BAA2B,CAACC,cACzB;QACL,wBAAwB;QACxB,mBAAmB;QACnB,aAAaA,YAAY,WAAW;QACpC,eAAeA,YAAY,aAAa;QACxC,iBAAiBA,YAAY,eAAe;QAC5C,uBAAuB;QACvB,4BAA4BA,YAAY,0BAA0B;QAClE,kCAAkCA,YAAY,gCAAgC;IAChF;AAGK,MAAMC,+BAA+B,IACnCF,yBAAyBF;AAG3B,MAAMK,8BAA8B,IAClCH,yBAAyBD"}
1
+ {"version":3,"file":"theme/common/table.js","sources":["webpack://@visactor/vseed/./src/theme/common/table.ts"],"sourcesContent":["export const getDefaultTableConfig = () => ({\n bodyFontSize: 12,\n bodyBackgroundColor: 'transparent',\n headerFontSize: 12,\n})\n\nexport const getLightTableConfig = () => ({\n ...getDefaultTableConfig(),\n borderColor: '#e3e5eb',\n\n bodyFontColor: '#141414',\n\n headerFontColor: '#21252c',\n headerBackgroundColor: '#f6f7f9',\n\n hoverBodyBackgroundColor: '#bedaff',\n hoverBodyInlineBackgroundColor: '#bedaff33',\n hoverHeaderBackgroundColor: '#D9DDE4',\n hoverHeaderInlineBackgroundColor: '#D9DDE455',\n\n selectedBorderColor: '#4080ff',\n selectedBackgroundColor: '#bedaff33',\n\n backgroundColor: 'transparent',\n})\n\nexport const getDarkTableConfig = () => ({\n ...getDefaultTableConfig(),\n borderColor: '#4b4e53',\n\n bodyFontColor: '#fdfdfd',\n headerFontColor: '#fdfdfd',\n headerBackgroundColor: '#36393e',\n\n hoverBodyBackgroundColor: '#4284ff66',\n hoverBodyInlineBackgroundColor: '#4284ff10',\n hoverHeaderBackgroundColor: '#6f7984cc',\n hoverHeaderInlineBackgroundColor: '#4b4f54',\n\n selectedBorderColor: '#3073f2',\n selectedBackgroundColor: '#4284ff33',\n})\n\nconst pickPivotChartGridConfig = (tableConfig: any) => {\n return {\n outlineBorderLineWidth: 0,\n frameCornerRadius: 0,\n borderColor: tableConfig.borderColor,\n bodyFontColor: tableConfig.bodyFontColor,\n headerFontColor: tableConfig.headerFontColor,\n\n headerBackgroundColor: 'transparent',\n hoverHeaderBackgroundColor: tableConfig.hoverHeaderBackgroundColor,\n hoverHeaderInlineBackgroundColor: tableConfig.hoverHeaderInlineBackgroundColor,\n\n titleFontColor: tableConfig.headerFontColor,\n titleFontSize: tableConfig.headerFontSize,\n titleFontWeight: 'bold',\n }\n}\n\nexport const getLightPivotChartGridConfig = () => {\n return pickPivotChartGridConfig(getLightTableConfig())\n}\n\nexport const getDarkPivotChartGridConfig = () => {\n return pickPivotChartGridConfig(getDarkTableConfig())\n}\n"],"names":["getDefaultTableConfig","getLightTableConfig","getDarkTableConfig","pickPivotChartGridConfig","tableConfig","getLightPivotChartGridConfig","getDarkPivotChartGridConfig"],"mappings":"AAAO,MAAMA,wBAAwB,IAAO;QAC1C,cAAc;QACd,qBAAqB;QACrB,gBAAgB;IAClB;AAEO,MAAMC,sBAAsB,IAAO;QACxC,GAAGD,uBAAuB;QAC1B,aAAa;QAEb,eAAe;QAEf,iBAAiB;QACjB,uBAAuB;QAEvB,0BAA0B;QAC1B,gCAAgC;QAChC,4BAA4B;QAC5B,kCAAkC;QAElC,qBAAqB;QACrB,yBAAyB;QAEzB,iBAAiB;IACnB;AAEO,MAAME,qBAAqB,IAAO;QACvC,GAAGF,uBAAuB;QAC1B,aAAa;QAEb,eAAe;QACf,iBAAiB;QACjB,uBAAuB;QAEvB,0BAA0B;QAC1B,gCAAgC;QAChC,4BAA4B;QAC5B,kCAAkC;QAElC,qBAAqB;QACrB,yBAAyB;IAC3B;AAEA,MAAMG,2BAA2B,CAACC,cACzB;QACL,wBAAwB;QACxB,mBAAmB;QACnB,aAAaA,YAAY,WAAW;QACpC,eAAeA,YAAY,aAAa;QACxC,iBAAiBA,YAAY,eAAe;QAE5C,uBAAuB;QACvB,4BAA4BA,YAAY,0BAA0B;QAClE,kCAAkCA,YAAY,gCAAgC;QAE9E,gBAAgBA,YAAY,eAAe;QAC3C,eAAeA,YAAY,cAAc;QACzC,iBAAiB;IACnB;AAGK,MAAMC,+BAA+B,IACnCF,yBAAyBF;AAG3B,MAAMK,8BAA8B,IAClCH,yBAAyBD"}