@visactor/vseed 0.3.2 → 0.3.3

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 (271) hide show
  1. package/dist/cjs/index.cjs +1 -1
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/builder/builder/builder.d.ts +1176 -0
  4. package/dist/esm/dataReshape/dataReshapeByEncoding.d.ts +1 -1
  5. package/dist/esm/dataReshape/dataReshapeByEncoding.js.map +1 -1
  6. package/dist/esm/dataReshape/foldMeasures.js +12 -11
  7. package/dist/esm/dataReshape/foldMeasures.js.map +1 -1
  8. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -1
  9. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  10. package/dist/esm/pipeline/advanced/chart/pipes/config/column.js +1 -0
  11. package/dist/esm/pipeline/advanced/chart/pipes/config/column.js.map +1 -1
  12. package/dist/esm/pipeline/advanced/chart/pipes/config/heatmap.d.ts +2 -0
  13. package/dist/esm/pipeline/advanced/chart/pipes/config/heatmap.js +31 -0
  14. package/dist/esm/pipeline/advanced/chart/pipes/config/heatmap.js.map +1 -0
  15. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js +1 -0
  16. package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js.map +1 -1
  17. package/dist/esm/pipeline/advanced/chart/pipes/config/index.d.ts +2 -2
  18. package/dist/esm/pipeline/advanced/chart/pipes/config/index.js +1 -1
  19. package/dist/esm/pipeline/advanced/chart/pipes/config/index.js.map +1 -1
  20. package/dist/esm/pipeline/advanced/chart/pipes/config/line.js +1 -0
  21. package/dist/esm/pipeline/advanced/chart/pipes/config/line.js.map +1 -1
  22. package/dist/esm/pipeline/advanced/chart/pipes/config/pie.js +2 -1
  23. package/dist/esm/pipeline/advanced/chart/pipes/config/pie.js.map +1 -1
  24. package/dist/esm/pipeline/advanced/chart/pipes/config/scatter.js +1 -0
  25. package/dist/esm/pipeline/advanced/chart/pipes/config/scatter.js.map +1 -1
  26. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.d.ts +2 -0
  27. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.js +29 -0
  28. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/addPivotDimensionsForScatter.js.map +1 -0
  29. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.d.ts +1 -0
  30. package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.js +1 -0
  31. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js +2 -6
  32. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
  33. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js +13 -4
  34. package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
  35. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js +16 -24
  36. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js.map +1 -1
  37. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
  38. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
  39. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +2 -1
  40. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
  41. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js +10 -6
  42. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
  43. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
  44. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +5 -2
  45. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
  46. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js +4 -2
  47. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
  48. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +2 -1
  49. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
  50. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +5 -2
  51. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
  52. package/dist/esm/pipeline/advanced/table/pipes/default/defaultDimensions.js.map +1 -1
  53. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
  54. package/dist/esm/pipeline/spec/chart/pipeline/area.js +3 -1
  55. package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
  56. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js +3 -1
  57. package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
  58. package/dist/esm/pipeline/spec/chart/pipeline/bar.js +3 -1
  59. package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
  60. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js +3 -1
  61. package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
  62. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js +3 -1
  63. package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
  64. package/dist/esm/pipeline/spec/chart/pipeline/column.js +3 -1
  65. package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
  66. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js +3 -1
  67. package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
  68. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js +3 -1
  69. package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
  70. package/dist/esm/pipeline/spec/chart/pipeline/donut.js +3 -1
  71. package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
  72. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js +3 -2
  73. package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
  74. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js +8 -5
  75. package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
  76. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +3 -1
  77. package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
  78. package/dist/esm/pipeline/spec/chart/pipeline/line.js +3 -1
  79. package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
  80. package/dist/esm/pipeline/spec/chart/pipeline/pie.js +3 -1
  81. package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
  82. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js +3 -1
  83. package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
  84. package/dist/esm/pipeline/spec/chart/pipes/brush/brush.d.ts +2 -0
  85. package/dist/esm/pipeline/spec/chart/pipes/brush/brush.js +37 -0
  86. package/dist/esm/pipeline/spec/chart/pipes/brush/brush.js.map +1 -0
  87. package/dist/esm/pipeline/spec/chart/pipes/brush/index.d.ts +1 -0
  88. package/dist/esm/pipeline/spec/chart/pipes/brush/index.js +1 -0
  89. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js +3 -3
  90. package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
  91. package/dist/esm/pipeline/spec/chart/pipes/color/index.d.ts +0 -1
  92. package/dist/esm/pipeline/spec/chart/pipes/color/index.js +1 -2
  93. package/dist/esm/pipeline/spec/chart/pipes/index.d.ts +1 -0
  94. package/dist/esm/pipeline/spec/chart/pipes/index.js +1 -0
  95. package/dist/esm/pipeline/spec/chart/pipes/label/label.d.ts +1 -0
  96. package/dist/esm/pipeline/spec/chart/pipes/label/label.js +2 -0
  97. package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
  98. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js +2 -2
  99. package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
  100. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js +17 -8
  101. package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js.map +1 -1
  102. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.d.ts +2 -0
  103. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.js +18 -0
  104. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/heatmapColorDomain.js.map +1 -0
  105. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.d.ts +1 -0
  106. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/index.js +2 -1
  107. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js +13 -7
  108. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -1
  109. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js +12 -3
  110. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js.map +1 -1
  111. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js +2 -2
  112. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
  113. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
  114. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js +12 -3
  115. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js.map +1 -1
  116. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js +4 -2
  117. package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -1
  118. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +1 -1
  119. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +8 -7
  120. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
  121. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js +1 -1
  122. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
  123. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +1 -1
  124. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js +9 -2
  125. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
  126. package/dist/esm/pipeline/utils/chatType.js +24 -4
  127. package/dist/esm/pipeline/utils/chatType.js.map +1 -1
  128. package/dist/esm/pipeline/utils/measures/typeGuard.d.ts +1 -1
  129. package/dist/esm/pipeline/utils/measures/typeGuard.js +30 -6
  130. package/dist/esm/pipeline/utils/measures/typeGuard.js.map +1 -1
  131. package/dist/esm/theme/common/brush.d.ts +3 -0
  132. package/dist/esm/theme/common/brush.js +21 -0
  133. package/dist/esm/theme/common/brush.js.map +1 -0
  134. package/dist/esm/theme/common/heatmapCell.js +4 -2
  135. package/dist/esm/theme/common/heatmapCell.js.map +1 -1
  136. package/dist/esm/theme/common/index.d.ts +1 -0
  137. package/dist/esm/theme/common/index.js +1 -0
  138. package/dist/esm/theme/common/label.d.ts +18 -0
  139. package/dist/esm/theme/common/label.js +9 -1
  140. package/dist/esm/theme/common/label.js.map +1 -1
  141. package/dist/esm/theme/dark/dark.js +4 -2
  142. package/dist/esm/theme/dark/dark.js.map +1 -1
  143. package/dist/esm/theme/light/light.js +4 -2
  144. package/dist/esm/theme/light/light.js.map +1 -1
  145. package/dist/esm/types/advancedVSeed.d.ts +392 -0
  146. package/dist/esm/types/chartType/area/area.d.ts +6 -1
  147. package/dist/esm/types/chartType/area/zArea.d.ts +4 -0
  148. package/dist/esm/types/chartType/area/zArea.js +2 -1
  149. package/dist/esm/types/chartType/area/zArea.js.map +1 -1
  150. package/dist/esm/types/chartType/areaPercent/areaPercent.d.ts +6 -1
  151. package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +4 -0
  152. package/dist/esm/types/chartType/areaPercent/zAreaPercent.js +2 -1
  153. package/dist/esm/types/chartType/areaPercent/zAreaPercent.js.map +1 -1
  154. package/dist/esm/types/chartType/bar/bar.d.ts +6 -1
  155. package/dist/esm/types/chartType/bar/zBar.d.ts +4 -0
  156. package/dist/esm/types/chartType/bar/zBar.js +2 -1
  157. package/dist/esm/types/chartType/bar/zBar.js.map +1 -1
  158. package/dist/esm/types/chartType/barParallel/barParallel.d.ts +6 -1
  159. package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +4 -0
  160. package/dist/esm/types/chartType/barParallel/zBarParallel.js +2 -1
  161. package/dist/esm/types/chartType/barParallel/zBarParallel.js.map +1 -1
  162. package/dist/esm/types/chartType/barPercent/barPercent.d.ts +6 -1
  163. package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +4 -0
  164. package/dist/esm/types/chartType/barPercent/zBarPercent.js +2 -1
  165. package/dist/esm/types/chartType/barPercent/zBarPercent.js.map +1 -1
  166. package/dist/esm/types/chartType/boxPlot/boxPlot.d.ts +6 -1
  167. package/dist/esm/types/chartType/boxPlot/zBoxPlot.d.ts +4 -0
  168. package/dist/esm/types/chartType/boxPlot/zBoxPlot.js +2 -1
  169. package/dist/esm/types/chartType/boxPlot/zBoxPlot.js.map +1 -1
  170. package/dist/esm/types/chartType/column/column.d.ts +6 -1
  171. package/dist/esm/types/chartType/column/zColumn.d.ts +4 -0
  172. package/dist/esm/types/chartType/column/zColumn.js +2 -1
  173. package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
  174. package/dist/esm/types/chartType/columnParallel/columnParallel.d.ts +6 -1
  175. package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +4 -0
  176. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js +2 -1
  177. package/dist/esm/types/chartType/columnParallel/zColumnParallel.js.map +1 -1
  178. package/dist/esm/types/chartType/columnPercent/columnPercent.d.ts +6 -1
  179. package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +4 -0
  180. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js +2 -1
  181. package/dist/esm/types/chartType/columnPercent/zColumnPercent.js.map +1 -1
  182. package/dist/esm/types/chartType/donut/donut.d.ts +6 -0
  183. package/dist/esm/types/chartType/donut/zDonut.d.ts +4 -0
  184. package/dist/esm/types/chartType/donut/zDonut.js +2 -1
  185. package/dist/esm/types/chartType/donut/zDonut.js.map +1 -1
  186. package/dist/esm/types/chartType/dualAxis/dualAxis.d.ts +6 -1
  187. package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +4 -0
  188. package/dist/esm/types/chartType/dualAxis/zDualAxis.js +2 -1
  189. package/dist/esm/types/chartType/dualAxis/zDualAxis.js.map +1 -1
  190. package/dist/esm/types/chartType/funnel/funnel.d.ts +6 -0
  191. package/dist/esm/types/chartType/funnel/zFunnel.d.ts +4 -0
  192. package/dist/esm/types/chartType/funnel/zFunnel.js +2 -1
  193. package/dist/esm/types/chartType/funnel/zFunnel.js.map +1 -1
  194. package/dist/esm/types/chartType/heatmap/heatmap.d.ts +6 -0
  195. package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +4 -0
  196. package/dist/esm/types/chartType/heatmap/zHeatmap.js +2 -1
  197. package/dist/esm/types/chartType/heatmap/zHeatmap.js.map +1 -1
  198. package/dist/esm/types/chartType/histogram/histogram.d.ts +6 -1
  199. package/dist/esm/types/chartType/histogram/zHistogram.d.ts +4 -0
  200. package/dist/esm/types/chartType/histogram/zHistogram.js +2 -1
  201. package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -1
  202. package/dist/esm/types/chartType/line/line.d.ts +6 -1
  203. package/dist/esm/types/chartType/line/zLine.d.ts +4 -0
  204. package/dist/esm/types/chartType/line/zLine.js +2 -1
  205. package/dist/esm/types/chartType/line/zLine.js.map +1 -1
  206. package/dist/esm/types/chartType/pie/pie.d.ts +6 -0
  207. package/dist/esm/types/chartType/pie/zPie.d.ts +4 -0
  208. package/dist/esm/types/chartType/pie/zPie.js +2 -1
  209. package/dist/esm/types/chartType/pie/zPie.js.map +1 -1
  210. package/dist/esm/types/chartType/radar/radar.d.ts +6 -0
  211. package/dist/esm/types/chartType/radar/zRadar.d.ts +4 -0
  212. package/dist/esm/types/chartType/radar/zRadar.js +2 -1
  213. package/dist/esm/types/chartType/radar/zRadar.js.map +1 -1
  214. package/dist/esm/types/chartType/rose/rose.d.ts +6 -0
  215. package/dist/esm/types/chartType/rose/zRose.d.ts +4 -0
  216. package/dist/esm/types/chartType/rose/zRose.js +2 -1
  217. package/dist/esm/types/chartType/rose/zRose.js.map +1 -1
  218. package/dist/esm/types/chartType/roseParallel/roseParallel.d.ts +6 -0
  219. package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +4 -0
  220. package/dist/esm/types/chartType/roseParallel/zRoseParallel.js +2 -1
  221. package/dist/esm/types/chartType/roseParallel/zRoseParallel.js.map +1 -1
  222. package/dist/esm/types/chartType/scatter/scatter.d.ts +6 -1
  223. package/dist/esm/types/chartType/scatter/zScatter.d.ts +4 -0
  224. package/dist/esm/types/chartType/scatter/zScatter.js +2 -1
  225. package/dist/esm/types/chartType/scatter/zScatter.js.map +1 -1
  226. package/dist/esm/types/properties/brush/brush.d.ts +13 -0
  227. package/dist/esm/types/properties/brush/brush.js +0 -0
  228. package/dist/esm/types/properties/brush/index.d.ts +4 -0
  229. package/dist/esm/types/properties/brush/index.js +2 -0
  230. package/dist/esm/types/properties/brush/zBrush.d.ts +19 -0
  231. package/dist/esm/types/properties/brush/zBrush.js +21 -0
  232. package/dist/esm/types/properties/brush/zBrush.js.map +1 -0
  233. package/dist/esm/types/properties/config/area.d.ts +26 -0
  234. package/dist/esm/types/properties/config/area.js +3 -1
  235. package/dist/esm/types/properties/config/area.js.map +1 -1
  236. package/dist/esm/types/properties/config/bar.d.ts +39 -0
  237. package/dist/esm/types/properties/config/bar.js +3 -1
  238. package/dist/esm/types/properties/config/bar.js.map +1 -1
  239. package/dist/esm/types/properties/config/column.d.ts +39 -0
  240. package/dist/esm/types/properties/config/column.js +3 -1
  241. package/dist/esm/types/properties/config/column.js.map +1 -1
  242. package/dist/esm/types/properties/config/config.d.ts +196 -0
  243. package/dist/esm/types/properties/config/heatmap/heatmap.d.ts +4 -0
  244. package/dist/esm/types/properties/config/heatmap/zHeatmap.d.ts +1 -0
  245. package/dist/esm/types/properties/config/heatmap/zHeatmap.js +2 -1
  246. package/dist/esm/types/properties/config/heatmap/zHeatmap.js.map +1 -1
  247. package/dist/esm/types/properties/config/heatmap.d.ts +14 -0
  248. package/dist/esm/types/properties/config/heatmap.js +3 -1
  249. package/dist/esm/types/properties/config/heatmap.js.map +1 -1
  250. package/dist/esm/types/properties/config/histogram.d.ts +13 -0
  251. package/dist/esm/types/properties/config/histogram.js +3 -1
  252. package/dist/esm/types/properties/config/histogram.js.map +1 -1
  253. package/dist/esm/types/properties/config/line.d.ts +13 -0
  254. package/dist/esm/types/properties/config/line.js +3 -1
  255. package/dist/esm/types/properties/config/line.js.map +1 -1
  256. package/dist/esm/types/properties/config/pie.d.ts +39 -0
  257. package/dist/esm/types/properties/config/pie.js +3 -1
  258. package/dist/esm/types/properties/config/pie.js.map +1 -1
  259. package/dist/esm/types/properties/config/scatter.d.ts +13 -0
  260. package/dist/esm/types/properties/config/scatter.js +3 -1
  261. package/dist/esm/types/properties/config/scatter.js.map +1 -1
  262. package/dist/esm/types/properties/index.d.ts +1 -0
  263. package/dist/esm/types/properties/index.js +1 -0
  264. package/dist/esm/types/properties/theme/customTheme.d.ts +392 -0
  265. package/dist/esm/types/zVseed.d.ts +80 -0
  266. package/dist/umd/index.js +456 -158
  267. package/dist/umd/index.js.map +1 -1
  268. package/package.json +3 -3
  269. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.d.ts +0 -2
  270. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js +0 -17
  271. package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js.map +0 -1
package/dist/umd/index.js CHANGED
@@ -117,6 +117,7 @@
117
117
  FoldMeasureName: ()=>FoldMeasureName,
118
118
  darkTheme: ()=>darkTheme,
119
119
  isVTable: ()=>isVTable,
120
+ zBrush: ()=>zBrush,
120
121
  BoxPlotPivotIndicator: ()=>BoxPlotPivotIndicator,
121
122
  ORIGINAL_DATA: ()=>ORIGINAL_DATA,
122
123
  zMeasureSelector: ()=>zMeasureSelector,
@@ -137,6 +138,7 @@
137
138
  zSelectors: ()=>zSelectors,
138
139
  FoldYMeasureId: ()=>FoldYMeasureId,
139
140
  findMeasureById: ()=>findMeasureById,
141
+ zBrushConfig: ()=>zBrushConfig,
140
142
  AngleEncoding: ()=>AngleEncoding,
141
143
  areaPercentAdvancedPipeline: ()=>areaPercentAdvancedPipeline,
142
144
  zBackgroundColor: ()=>zBackgroundColor,
@@ -527,31 +529,6 @@
527
529
  next: t
528
530
  });
529
531
  }
530
- const isMeasure = (measure)=>!('children' in measure);
531
- const isMeasureGroup = (measure)=>'children' in measure;
532
- const isMeasures = (measures)=>measures.every(isMeasure);
533
- const isPositionMeasure = (measure)=>!measure.encoding || ![
534
- 'color',
535
- 'size',
536
- 'label',
537
- 'tooltip',
538
- 'detail'
539
- ].includes(measure.encoding);
540
- const isMeasureTreeWithParentId = (measures)=>{
541
- if (!measures) return false;
542
- return measures.some((measure)=>'parentId' in measure);
543
- };
544
- const isCommonMeasureEncoding = (encoding)=>[
545
- 'color',
546
- 'label',
547
- 'tooltip'
548
- ].includes(encoding);
549
- const ensureParentIdInitialized = (parentId, measuresByView, parentIds)=>{
550
- if (!measuresByView[parentId]) {
551
- measuresByView[parentId] = [];
552
- parentIds.push(parentId);
553
- }
554
- };
555
532
  const DEFAULT_PARENT_ID = '__DefaultParentId__';
556
533
  const ChartTypeEnum = {
557
534
  Table: 'table',
@@ -578,6 +555,54 @@
578
555
  Histogram: 'histogram'
579
556
  };
580
557
  const DATUM_HIDE_KEY = '__VSEED_HideItem__';
558
+ const isMeasure = (measure)=>!('children' in measure);
559
+ const isMeasureGroup = (measure)=>'children' in measure;
560
+ const isMeasures = (measures)=>measures.every(isMeasure);
561
+ const isPositionMeasure = (measure, chartType)=>{
562
+ if (!measure.encoding) return true;
563
+ if (chartType === ChartTypeEnum.Funnel) return 'size' === measure.encoding;
564
+ if (chartType === ChartTypeEnum.Heatmap) return 'color' === measure.encoding;
565
+ if ([
566
+ ChartTypeEnum.Pie,
567
+ ChartTypeEnum.Donut,
568
+ ChartTypeEnum.Rose,
569
+ ChartTypeEnum.RoseParallel
570
+ ].includes(chartType)) return 'angle' === measure.encoding;
571
+ if (chartType === ChartTypeEnum.DualAxis) return [
572
+ 'primaryYAxis',
573
+ 'secondaryYAxis'
574
+ ].includes(measure.encoding);
575
+ if (ChartTypeEnum.Radar === chartType) return 'radius' === measure.encoding;
576
+ if ([
577
+ ChartTypeEnum.Line,
578
+ ChartTypeEnum.Area,
579
+ ChartTypeEnum.AreaPercent,
580
+ ChartTypeEnum.Column,
581
+ ChartTypeEnum.ColumnParallel,
582
+ ChartTypeEnum.ColumnPercent
583
+ ].includes(chartType)) return 'yAxis' === measure.encoding;
584
+ if ([
585
+ ChartTypeEnum.Bar,
586
+ ChartTypeEnum.BarParallel,
587
+ ChartTypeEnum.BarPercent
588
+ ].includes(chartType)) return 'xAxis' === measure.encoding;
589
+ return chartType === ChartTypeEnum.Boxplot && 'value' === measure.encoding;
590
+ };
591
+ const isMeasureTreeWithParentId = (measures)=>{
592
+ if (!measures) return false;
593
+ return measures.some((measure)=>'parentId' in measure);
594
+ };
595
+ const isCommonMeasureEncoding = (encoding)=>[
596
+ 'color',
597
+ 'label',
598
+ 'tooltip'
599
+ ].includes(encoding);
600
+ const ensureParentIdInitialized = (parentId, measuresByView, parentIds)=>{
601
+ if (!measuresByView[parentId]) {
602
+ measuresByView[parentId] = [];
603
+ parentIds.push(parentId);
604
+ }
605
+ };
581
606
  const isTable = (vseed)=>vseed.chartType === ChartTypeEnum.Table;
582
607
  const isPivotTable = (vseed)=>vseed.chartType === ChartTypeEnum.PivotTable;
583
608
  const isRadar = (vseed)=>vseed.chartType === ChartTypeEnum.Radar;
@@ -596,12 +621,32 @@
596
621
  return isCombination(vseed);
597
622
  };
598
623
  const chatType_isPivot = (vseed)=>{
599
- const { dimensions = [] } = vseed;
600
- return dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding);
624
+ const { dimensions = [], measures = [] } = vseed;
625
+ if (dimensions && dimensions.some((dimension)=>'row' === dimension.encoding || 'column' === dimension.encoding)) return true;
626
+ if (vseed.chartType === ChartTypeEnum.Scatter) {
627
+ const xCount = measures.filter((m)=>'xAxis' === m.encoding).length;
628
+ const yCount = measures.filter((m)=>'yAxis' === m.encoding).length;
629
+ const otherCount = measures.filter((m)=>![
630
+ 'size',
631
+ 'xAxis',
632
+ 'yAxis'
633
+ ].includes(m.encoding) && !isCommonMeasureEncoding(m.encoding)).length;
634
+ let finalXCount;
635
+ let finalYCount;
636
+ if (xCount > 0) {
637
+ finalXCount = xCount;
638
+ finalYCount = yCount + otherCount;
639
+ } else {
640
+ finalXCount = otherCount > 0 ? 1 : 0;
641
+ finalYCount = yCount + Math.max(otherCount - 1, 0);
642
+ }
643
+ if (finalXCount > 1 || finalYCount > 1) return true;
644
+ }
645
+ return false;
601
646
  };
602
647
  const isCombination = (vseed)=>{
603
648
  if (isMeasureTreeWithParentId(vseed.measures)) {
604
- const parentIds = vseed.measures?.filter(isPositionMeasure).map((measure)=>measure.parentId || DEFAULT_PARENT_ID);
649
+ const parentIds = vseed.measures?.filter((m)=>isPositionMeasure(m, vseed.chartType)).map((measure)=>measure.parentId || DEFAULT_PARENT_ID);
605
650
  return parentIds && chunk_QJLMYOTX_i(parentIds).length > 1;
606
651
  }
607
652
  const { measures = [] } = vseed;
@@ -1740,14 +1785,10 @@
1740
1785
  };
1741
1786
  const result = new Array(dataset.length * measures.length);
1742
1787
  let index = 0;
1743
- const ids = measures.map((d)=>d.id);
1744
1788
  for(let i = 0; i < dataset.length; i++)for(let j = 0; j < measures.length; j++){
1745
1789
  const datum = chunk_KI5X74E2_y({
1746
1790
  ...dataset[i]
1747
- }, [
1748
- ...ids,
1749
- ...omitIds
1750
- ]);
1791
+ }, omitIds);
1751
1792
  datum[ORIGINAL_DATA] = dataset[i];
1752
1793
  const measure = measures[j];
1753
1794
  const { id, alias } = measure;
@@ -1755,7 +1796,17 @@
1755
1796
  datum[measureId] = id;
1756
1797
  datum[measureName] = alias || id;
1757
1798
  datum[measureValue] = dataset[i][id];
1758
- if (colorMeasureId) {
1799
+ const valueNumber = Number(datum[id]);
1800
+ foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber);
1801
+ foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber);
1802
+ foldInfo.statistics.sum += valueNumber;
1803
+ foldInfo.statistics.count++;
1804
+ if ('color' === measure.encoding) {
1805
+ foldInfo.statistics.colorMin = foldInfo.statistics.min;
1806
+ foldInfo.statistics.colorMax = foldInfo.statistics.max;
1807
+ datum[ColorEncoding] = valueNumber;
1808
+ datum[ColorIdEncoding] = measure.id;
1809
+ } else if (colorMeasureId) {
1759
1810
  const value = datum[ORIGINAL_DATA][colorMeasureId];
1760
1811
  datum[ColorEncoding] = value;
1761
1812
  datum[ColorIdEncoding] = colorMeasureId;
@@ -1763,11 +1814,6 @@
1763
1814
  foldInfo.statistics.colorMin = Math.min(foldInfo.statistics.colorMin, valueNumber);
1764
1815
  foldInfo.statistics.colorMax = Math.max(foldInfo.statistics.colorMax, valueNumber);
1765
1816
  }
1766
- const valueNumber = Number(datum[id]);
1767
- foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber);
1768
- foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber);
1769
- foldInfo.statistics.sum += valueNumber;
1770
- foldInfo.statistics.count++;
1771
1817
  foldInfo.foldMap[id] = alias;
1772
1818
  result[index++] = datum;
1773
1819
  }
@@ -2449,10 +2495,10 @@
2449
2495
  };
2450
2496
  }
2451
2497
  const isLinearColor = (advancedVSeed, vseed)=>{
2452
- const { encoding } = advancedVSeed;
2498
+ const { encoding, chartType } = advancedVSeed;
2453
2499
  const measureIdList = (vseed.measures || advancedVSeed.measures).map((measure)=>measure.id);
2454
- const { color } = encoding;
2455
- return color?.length === 1 && measureIdList.includes(color[0]);
2500
+ const { color = [] } = encoding;
2501
+ return 'heatmap' === chartType ? color.length >= 1 && color.every((c)=>measureIdList.includes(c)) : 1 === color.length && measureIdList.includes(color[0]);
2456
2502
  };
2457
2503
  const getColorMeasureId = (advancedVSeed, vseed)=>{
2458
2504
  if (isLinearColor(advancedVSeed, vseed)) {
@@ -2467,11 +2513,13 @@
2467
2513
  };
2468
2514
  const { vseed } = context;
2469
2515
  const { dataset, chartType } = vseed;
2470
- const { encoding } = advancedVSeed;
2516
+ const { encoding, reshapeMeasures = [] } = advancedVSeed;
2517
+ const allMeasuresIds = (reshapeMeasures[0] ?? []).map((m)=>m.id);
2471
2518
  const colorMeasureId = getColorMeasureId(advancedVSeed, vseed);
2472
2519
  const { dataset: newDatasets, foldInfo, unfoldInfo } = dataReshapeByEncoding(dataset, T(advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [], (item)=>item.id), T(advancedVSeed.reshapeMeasures?.[0] ?? [], (item)=>item.id), encoding, {
2473
2520
  colorItemAsId: false,
2474
- colorMeasureId
2521
+ colorMeasureId,
2522
+ omitIds: allMeasuresIds
2475
2523
  });
2476
2524
  return {
2477
2525
  ...result,
@@ -2603,6 +2651,7 @@
2603
2651
  'xAxis',
2604
2652
  'yAxis',
2605
2653
  'crosshairLine',
2654
+ 'brush',
2606
2655
  'dimensionLinkage'
2607
2656
  ]);
2608
2657
  const config = replaceNullToUndefined(pickedConfig);
@@ -3064,6 +3113,40 @@
3064
3113
  ];
3065
3114
  return result;
3066
3115
  };
3116
+ const brush_brush = (spec, context)=>{
3117
+ const result = {
3118
+ ...spec
3119
+ };
3120
+ const { advancedVSeed, vseed } = context;
3121
+ const { brush = {}, chartType } = vseed;
3122
+ const theme = advancedVSeed.config?.[chartType]?.brush ?? {};
3123
+ const enable = brush.enable ?? theme?.enable;
3124
+ if (false === enable) return result;
3125
+ result.brush = {
3126
+ visible: true,
3127
+ removeOnClick: brush.removeOnClick,
3128
+ inBrush: {
3129
+ opacity: theme.inBrushStyle?.opacity,
3130
+ stroke: theme.inBrushStyle?.stroke,
3131
+ lineWidth: theme.inBrushStyle?.lineWidth
3132
+ },
3133
+ outOfBrush: {
3134
+ opacity: theme.outOfBrushStyle?.opacity,
3135
+ stroke: theme.outOfBrushStyle?.stroke,
3136
+ lineWidth: theme.outOfBrushStyle?.lineWidth
3137
+ }
3138
+ };
3139
+ if (result.label && false !== result.label.visible) {
3140
+ if (!result.label.state) result.label.state = {};
3141
+ result.label.state.outOfBrush = {
3142
+ opacity: result.brush.outOfBrush.opacity
3143
+ };
3144
+ result.label.state.inBrush = {
3145
+ opacity: result.brush.inBrush.opacity
3146
+ };
3147
+ }
3148
+ return result;
3149
+ };
3067
3150
  const verticalCrosshairLine = (spec, context)=>{
3068
3151
  const result = {
3069
3152
  ...spec
@@ -3599,6 +3682,7 @@
3599
3682
  if (wrap) return result;
3600
3683
  return result.join(' ');
3601
3684
  },
3685
+ syncState: true,
3602
3686
  position: labelPosition,
3603
3687
  style: {
3604
3688
  stroke: labelStroke,
@@ -3609,6 +3693,7 @@
3609
3693
  },
3610
3694
  smartInvert: labelColorSmartInvert
3611
3695
  };
3696
+ if (labelColorSmartInvert) result.style.lineWidth = 2;
3612
3697
  if (labelOverlap) result.overlap = {
3613
3698
  hideOnHit: true,
3614
3699
  clampForce: true
@@ -3723,21 +3808,26 @@
3723
3808
  title: {
3724
3809
  visible: true
3725
3810
  },
3726
- content: createDimensionContent(dimensions, measures, foldInfo, unfoldInfo, reshapeMeasures.length > 1)
3811
+ content: createDimensionContent(encoding.tooltip || [], measures, foldInfo, unfoldInfo, reshapeMeasures.length > 1)
3727
3812
  },
3728
3813
  updateElement: updateTooltipElement
3729
3814
  };
3730
3815
  return result;
3731
3816
  };
3732
- const createDimensionContent = (dimensions = [], measures = [], foldInfo, unfoldInfo, hasMultiMeasureGroup)=>{
3817
+ const createDimensionContent = (tooltip, measures = [], foldInfo, unfoldInfo, hasMultiMeasureGroup)=>{
3733
3818
  const { measureId, measureValue, foldMap } = foldInfo;
3734
3819
  const { encodingColor } = unfoldInfo;
3820
+ const hasMeasureTooltip = tooltip.some((d)=>measures.find((item)=>item.id === d));
3735
3821
  return [
3736
3822
  {
3737
3823
  visible: true,
3738
3824
  shapeType: 'rectRound',
3739
3825
  hasShape: true,
3740
- key: dimensions.some((d)=>'color' === d.encoding) ? (v)=>{
3826
+ key: hasMeasureTooltip ? (v)=>{
3827
+ const datum = v;
3828
+ const key = datum && datum[measureId] || '';
3829
+ return foldMap[key] ?? key;
3830
+ } : (v)=>{
3741
3831
  const datum = v;
3742
3832
  const key = datum && datum[encodingColor] || '';
3743
3833
  const colorKey = `${unfoldInfo.colorIdMap[key].alias ?? key}`;
@@ -3746,10 +3836,6 @@
3746
3836
  return `${colorKey}-${foldMap[mId] ?? mId}`;
3747
3837
  }
3748
3838
  return colorKey;
3749
- } : (v)=>{
3750
- const datum = v;
3751
- const key = datum && datum[measureId] || '';
3752
- return foldMap[key] ?? key;
3753
3839
  },
3754
3840
  value: (v)=>{
3755
3841
  const datum = v;
@@ -4917,9 +5003,9 @@
4917
5003
  borderColor,
4918
5004
  color: bodyFontColor,
4919
5005
  borderLineWidth: (arg)=>{
4920
- const noYAxis = 'pie' === chartType || 'rose' === chartType || 'donut' === chartType || 'funnel' === chartType || 'radar' === chartType || 'roseParallel' === chartType;
5006
+ const noYAxis = 'pie' === chartType || 'rose' === chartType || 'donut' === chartType || 'radar' === chartType || 'roseParallel' === chartType;
4921
5007
  return [
4922
- 0 === arg.row ? outlineBorderLineWidth : 1,
5008
+ 0 === arg.row || 'funnel' === chartType && 1 === arg.row && arg.table.rowCount <= 2 ? outlineBorderLineWidth : 1,
4923
5009
  outlineBorderLineWidth,
4924
5010
  0,
4925
5011
  0 === arg.col || noYAxis && 1 === arg.col && arg.table.colCount <= 2 ? outlineBorderLineWidth : 1
@@ -5212,7 +5298,7 @@
5212
5298
  const result = axisStyle(spec, context);
5213
5299
  if (result.axes) {
5214
5300
  const { advancedVSeed } = context;
5215
- const { config, chartType, encoding, reshapeMeasures } = advancedVSeed;
5301
+ const { config, chartType, encoding, reshapeMeasures, datasetReshapeInfo } = advancedVSeed;
5216
5302
  const themConfig = config?.[chartType]?.pivotGrid ?? {};
5217
5303
  result.axes.forEach((axis)=>{
5218
5304
  axis.domainLine = {
@@ -5221,11 +5307,16 @@
5221
5307
  if (themConfig.chartGridColor && axis.grid && axis.grid.visible && axis.grid.style) axis.grid.style.stroke = themConfig.chartGridColor;
5222
5308
  if (themConfig.axisLabelColor && axis.label && axis.label.visible && axis.label.style) axis.label.style.fill = themConfig.axisLabelColor;
5223
5309
  if ('band' === axis.type) {
5224
- if ('left' === axis.orient || 'right' === axis.orient) axis.innerOffset = {
5225
- top: 2,
5226
- bottom: 2
5227
- };
5228
- else if ('top' === axis.orient || 'bottom' === axis.orient) axis.innerOffset = {
5310
+ if ('left' === axis.orient || 'right' === axis.orient) {
5311
+ axis.innerOffset = {
5312
+ top: 2,
5313
+ bottom: 2
5314
+ };
5315
+ if (reshapeMeasures && reshapeMeasures.length > 1 && chartType === ChartTypeEnum.Heatmap && common_isNil(axis.title.text)) {
5316
+ axis.title.visible = true;
5317
+ axis.title.text = Object.values(datasetReshapeInfo[0].foldInfo.foldMap)[0];
5318
+ }
5319
+ } else if ('top' === axis.orient || 'bottom' === axis.orient) axis.innerOffset = {
5229
5320
  left: 2,
5230
5321
  right: 2
5231
5322
  };
@@ -5243,12 +5334,20 @@
5243
5334
  };
5244
5335
  const { advancedVSeed } = context;
5245
5336
  const dimensions = advancedVSeed.dimensions;
5337
+ const measures = advancedVSeed.measures ?? [];
5246
5338
  if (!dimensions) return result;
5247
5339
  const rowDimensions = dimensions.filter((dim)=>'row' === dim.encoding);
5248
- const rows = rowDimensions.map((dim)=>({
5340
+ const rows = rowDimensions.map((dim)=>{
5341
+ const baseConfig = {
5249
5342
  dimensionKey: dim.id,
5250
- title: dim.alias || dim.id
5251
- }));
5343
+ title: dim.alias ?? dim.id
5344
+ };
5345
+ if (dim.id === FoldYMeasureId) baseConfig.headerFormat = (title)=>{
5346
+ const measure = measures.find((m)=>m.id === title);
5347
+ return measure ? measure.alias ?? measure.id : title;
5348
+ };
5349
+ return baseConfig;
5350
+ });
5252
5351
  return {
5253
5352
  ...result,
5254
5353
  rows: rows
@@ -5260,12 +5359,20 @@
5260
5359
  };
5261
5360
  const { advancedVSeed } = context;
5262
5361
  const dimensions = advancedVSeed.dimensions;
5362
+ const measures = advancedVSeed.measures ?? [];
5263
5363
  if (!dimensions) return result;
5264
5364
  const columnDimensions = dimensions.filter((dim)=>'column' === dim.encoding);
5265
- const columns = columnDimensions.map((dim)=>({
5365
+ const columns = columnDimensions.map((dim)=>{
5366
+ const baseConfig = {
5266
5367
  dimensionKey: dim.id,
5267
- title: dim.alias || dim.id
5268
- }));
5368
+ title: dim.alias ?? dim.id
5369
+ };
5370
+ if (dim.id === FoldXMeasureId) baseConfig.headerFormat = (title)=>{
5371
+ const measure = measures.find((m)=>m.id === title);
5372
+ return measure ? measure.alias ?? measure.id : title;
5373
+ };
5374
+ return baseConfig;
5375
+ });
5269
5376
  return {
5270
5377
  ...result,
5271
5378
  columns: columns
@@ -5278,8 +5385,9 @@
5278
5385
  const { advancedVSeed } = context;
5279
5386
  const { config, chartType } = advancedVSeed;
5280
5387
  const themConfig = config?.[chartType]?.pivotGrid ?? {};
5281
- if (result.columns && result.columns.length > 0) result.title = {
5282
- text: spec.columns.map((entry)=>entry.title).join('/'),
5388
+ const columns = result.columns?.filter((c)=>c.dimensionKey !== FoldXMeasureId);
5389
+ if (columns && columns.length > 0) result.title = {
5390
+ text: columns.map((entry)=>entry.title).join('/'),
5283
5391
  align: 'center',
5284
5392
  orient: 'top',
5285
5393
  padding: [
@@ -5421,8 +5529,8 @@
5421
5529
  const baseConfig = advancedVSeed.config[chartType];
5422
5530
  if (!baseConfig || !baseConfig.legend) return result;
5423
5531
  const { datasetReshapeInfo } = advancedVSeed;
5424
- const max = Math.max(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMin));
5425
- const min = Math.min(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMax));
5532
+ const max = Math.max(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMax));
5533
+ const min = Math.min(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMin));
5426
5534
  const { legend, color } = baseConfig;
5427
5535
  const { colorScheme, linearColorScheme } = color;
5428
5536
  const { enable, position = 'bottom', labelFontColor, labelColor, labelFontSize = 12, labelFontWeight = 400 } = legend || {};
@@ -5552,6 +5660,7 @@
5552
5660
  progressive,
5553
5661
  xBand,
5554
5662
  yLinear,
5663
+ brush_brush,
5555
5664
  verticalCrosshairLine,
5556
5665
  colorAdapter(discreteLegend, colorLegend),
5557
5666
  colorPointStyleFill(pointStyle_pointStyle),
@@ -5578,6 +5687,7 @@
5578
5687
  progressive,
5579
5688
  xBand,
5580
5689
  pivotAxisStyle(yLinear),
5690
+ brush_brush,
5581
5691
  verticalCrosshairLine,
5582
5692
  colorPointStyleFill(pointStyle_pointStyle),
5583
5693
  pointStateDimensionHover,
@@ -5689,6 +5799,7 @@
5689
5799
  'stackCornerRadius',
5690
5800
  'barMaxWidth',
5691
5801
  'barGapInGroup',
5802
+ 'brush',
5692
5803
  'dimensionLinkage'
5693
5804
  ]);
5694
5805
  const config = replaceNullToUndefined(pickedConfig);
@@ -6538,6 +6649,7 @@
6538
6649
  xBand,
6539
6650
  yLinear,
6540
6651
  label_label,
6652
+ brush_brush,
6541
6653
  tooltip_tooltip,
6542
6654
  verticalCrosshairRect,
6543
6655
  colorAdapter(discreteLegend, colorLegend),
@@ -6564,6 +6676,7 @@
6564
6676
  progressive,
6565
6677
  xBand,
6566
6678
  pivotAxisStyle(yLinear),
6679
+ brush_brush,
6567
6680
  label_label,
6568
6681
  tooltip_tooltip,
6569
6682
  verticalCrosshairRect,
@@ -6598,7 +6711,8 @@
6598
6711
  'color',
6599
6712
  'label',
6600
6713
  'legend',
6601
- 'tooltip'
6714
+ 'tooltip',
6715
+ 'brush'
6602
6716
  ]);
6603
6717
  const config = replaceNullToUndefined(pickedConfig);
6604
6718
  result.config = {
@@ -6621,7 +6735,6 @@
6621
6735
  const roseParallelConfig = pieConfig;
6622
6736
  const radarConfig = pieConfig;
6623
6737
  const funnelConfig = pieConfig;
6624
- const heatmapConfig = pieConfig;
6625
6738
  const columnParallelAdvancedPipeline = [
6626
6739
  initAdvancedVSeed_initAdvancedVSeed,
6627
6740
  default_defaultMeasures_defaultMeasures,
@@ -6743,6 +6856,7 @@
6743
6856
  xBand,
6744
6857
  yLinear,
6745
6858
  label_label,
6859
+ brush_brush,
6746
6860
  tooltip_tooltip,
6747
6861
  colorAdapter(discreteLegend, colorLegend),
6748
6862
  verticalCrosshairRect,
@@ -6767,6 +6881,7 @@
6767
6881
  progressive,
6768
6882
  xBand,
6769
6883
  pivotAxisStyle(yLinear),
6884
+ brush_brush,
6770
6885
  label_label,
6771
6886
  tooltip_tooltip,
6772
6887
  verticalCrosshairRect,
@@ -6840,6 +6955,7 @@
6840
6955
  xBand,
6841
6956
  yLinear,
6842
6957
  label_label,
6958
+ brush_brush,
6843
6959
  tooltip_tooltip,
6844
6960
  colorAdapter(discreteLegend, colorLegend),
6845
6961
  verticalCrosshairRect,
@@ -6866,6 +6982,7 @@
6866
6982
  progressive,
6867
6983
  xBand,
6868
6984
  pivotAxisStyle(yLinear),
6985
+ brush_brush,
6869
6986
  label_label,
6870
6987
  tooltip_tooltip,
6871
6988
  verticalCrosshairRect,
@@ -7194,6 +7311,7 @@
7194
7311
  xLinear,
7195
7312
  yBand,
7196
7313
  label_label,
7314
+ brush_brush,
7197
7315
  tooltip_tooltip,
7198
7316
  colorAdapter(discreteLegend, colorLegend),
7199
7317
  horizontalCrosshairRect,
@@ -7219,6 +7337,7 @@
7219
7337
  xLinear,
7220
7338
  pivotAxisStyle(yBand),
7221
7339
  label_label,
7340
+ brush_brush,
7222
7341
  tooltip_tooltip,
7223
7342
  colorBarStyleFill(barStyle_barStyle),
7224
7343
  horizontalCrosshairRect,
@@ -7311,6 +7430,7 @@
7311
7430
  xLinear,
7312
7431
  yBand,
7313
7432
  label_label,
7433
+ brush_brush,
7314
7434
  tooltip_tooltip,
7315
7435
  colorAdapter(discreteLegend, colorLegend),
7316
7436
  horizontalCrosshairRect,
@@ -7334,6 +7454,7 @@
7334
7454
  datasetYX,
7335
7455
  xLinear,
7336
7456
  pivotAxisStyle(yBand),
7457
+ brush_brush,
7337
7458
  label_label,
7338
7459
  tooltip_tooltip,
7339
7460
  colorBarStyleFill(barStyle_barStyle),
@@ -7399,6 +7520,7 @@
7399
7520
  xLinear,
7400
7521
  yBand,
7401
7522
  label_label,
7523
+ brush_brush,
7402
7524
  tooltip_tooltip,
7403
7525
  colorAdapter(discreteLegend, colorLegend),
7404
7526
  horizontalCrosshairRect,
@@ -7423,6 +7545,7 @@
7423
7545
  datasetYX,
7424
7546
  xLinear,
7425
7547
  pivotAxisStyle(yBand),
7548
+ brush_brush,
7426
7549
  label_label,
7427
7550
  tooltip_tooltip,
7428
7551
  colorBarStyleFill(barStyle_barStyle),
@@ -7591,6 +7714,7 @@
7591
7714
  xBand,
7592
7715
  yLinear,
7593
7716
  label_label,
7717
+ brush_brush,
7594
7718
  tooltip_tooltip,
7595
7719
  colorAdapter(discreteLegend, colorLegend),
7596
7720
  verticalCrosshairLine,
@@ -7619,6 +7743,7 @@
7619
7743
  xBand,
7620
7744
  pivotAxisStyle(yLinear),
7621
7745
  label_label,
7746
+ brush_brush,
7622
7747
  tooltip_tooltip,
7623
7748
  verticalCrosshairLine,
7624
7749
  colorPointStyleFill(pointStyle_pointStyle),
@@ -7686,6 +7811,7 @@
7686
7811
  xBand,
7687
7812
  yLinear,
7688
7813
  label_label,
7814
+ brush_brush,
7689
7815
  tooltip_tooltip,
7690
7816
  colorAdapter(discreteLegend, colorLegend),
7691
7817
  verticalCrosshairLine,
@@ -7714,6 +7840,7 @@
7714
7840
  xBand,
7715
7841
  pivotAxisStyle(yLinear),
7716
7842
  label_label,
7843
+ brush_brush,
7717
7844
  tooltip_tooltip,
7718
7845
  verticalCrosshairLine,
7719
7846
  colorPointStyleFill(pointStyle_pointStyle),
@@ -7740,38 +7867,56 @@
7740
7867
  };
7741
7868
  const buildMeasuresForScatter = (advancedVSeed)=>{
7742
7869
  const { measures = [] } = advancedVSeed;
7743
- const measuresByView = {};
7744
- const parentIds = [];
7870
+ const encodedMeasures = [];
7745
7871
  for(let index = 0; index < measures.length; index++){
7746
7872
  const item = measures[index];
7747
7873
  const encoding = item.encoding;
7748
- const parentId = item.parentId || DEFAULT_PARENT_ID;
7749
7874
  const isYAxis = 'yAxis' === encoding;
7750
7875
  const isXAxis = 'xAxis' === encoding;
7751
7876
  const isOtherEncoding = item.encoding && isCommonMeasureEncoding(encoding);
7752
- ensureParentIdInitialized(parentId, measuresByView, parentIds);
7753
- if (isYAxis) measuresByView[parentId].push(item);
7754
- else if (isXAxis) measuresByView[parentId].push(item);
7877
+ if (isYAxis) encodedMeasures.push(item);
7878
+ else if (isXAxis) encodedMeasures.push(item);
7755
7879
  else if (!isOtherEncoding && 'size' !== encoding) {
7756
- const xCount = measuresByView[parentId].filter((m)=>'xAxis' === m.encoding).length;
7880
+ const xCount = encodedMeasures.filter((m)=>'xAxis' === m.encoding).length;
7757
7881
  item.encoding = 0 === xCount ? 'xAxis' : 'yAxis';
7758
- measuresByView[parentId].push(item);
7882
+ encodedMeasures.push(item);
7759
7883
  }
7760
7884
  }
7761
- advancedVSeed.reshapeMeasures = parentIds.map((pid)=>{
7762
- const basicMeasures = measuresByView[pid];
7763
- const xCount = basicMeasures.filter((m)=>'xAxis' === m.encoding).length;
7764
- const yCount = basicMeasures.filter((m)=>'yAxis' === m.encoding).length;
7765
- if (0 === yCount && xCount > 0) {
7766
- const cloneMeasure = chunk_BCBB46UE_d(basicMeasures[0]);
7767
- cloneMeasure.encoding = 'yAxis';
7768
- return [
7769
- ...basicMeasures,
7770
- cloneMeasure
7771
- ];
7885
+ const xCount = encodedMeasures.filter((m)=>'xAxis' === m.encoding).length;
7886
+ const yCount = encodedMeasures.filter((m)=>'yAxis' === m.encoding).length;
7887
+ if (0 === yCount && xCount > 0) {
7888
+ const cloneMeasure = chunk_BCBB46UE_d(encodedMeasures[0]);
7889
+ cloneMeasure.encoding = 'yAxis';
7890
+ encodedMeasures.push(cloneMeasure);
7891
+ }
7892
+ advancedVSeed.reshapeMeasures = encodedMeasures.length > 0 ? [
7893
+ encodedMeasures
7894
+ ] : [];
7895
+ return advancedVSeed;
7896
+ };
7897
+ const addPivotDimensionsForScatter = (advancedVSeed)=>{
7898
+ const { reshapeMeasures = [] } = advancedVSeed;
7899
+ if (reshapeMeasures[0]?.length >= 2) {
7900
+ const dimensions = advancedVSeed.dimensions ?? [];
7901
+ const xMeasures = reshapeMeasures[0].filter((m)=>'xAxis' === m.encoding);
7902
+ const yMeasures = reshapeMeasures[0].filter((m)=>'yAxis' === m.encoding);
7903
+ if (xMeasures.length > 1 || yMeasures.length > 1) {
7904
+ dimensions.push({
7905
+ id: FoldXMeasureId,
7906
+ alias: ' ',
7907
+ encoding: 'column'
7908
+ });
7909
+ dimensions.push({
7910
+ id: FoldYMeasureId,
7911
+ alias: ' ',
7912
+ encoding: 'row'
7913
+ });
7772
7914
  }
7773
- return basicMeasures;
7774
- }).filter((m)=>m.length > 0);
7915
+ return {
7916
+ ...advancedVSeed,
7917
+ dimensions
7918
+ };
7919
+ }
7775
7920
  return advancedVSeed;
7776
7921
  };
7777
7922
  const defaultEncodingForScatter = (advancedVSeed)=>{
@@ -7802,7 +7947,11 @@
7802
7947
  const dimensionsWithoutMeasureId = dimensions.filter((item)=>item.id !== MeasureId);
7803
7948
  const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureId.map((d)=>d.id));
7804
7949
  encoding.detail = encoding.color;
7805
- encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
7950
+ encoding.tooltip = uniqueDimIds.filter((d)=>![
7951
+ MeasureId,
7952
+ FoldYMeasureId,
7953
+ FoldXMeasureId
7954
+ ].includes(d));
7806
7955
  encoding.label = [];
7807
7956
  encoding.row = [];
7808
7957
  encoding.column = [];
@@ -7814,7 +7963,11 @@
7814
7963
  MeasureId
7815
7964
  ];
7816
7965
  encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
7817
- encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
7966
+ encoding.tooltip = encoding.tooltip.filter((d)=>![
7967
+ MeasureId,
7968
+ FoldYMeasureId,
7969
+ FoldXMeasureId
7970
+ ].includes(d));
7818
7971
  encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
7819
7972
  encoding.label = encoding.label.filter((d)=>d !== MeasureId);
7820
7973
  };
@@ -7838,7 +7991,8 @@
7838
7991
  ...encoding.tooltip || [],
7839
7992
  ...label,
7840
7993
  ...tooltip,
7841
- ...color
7994
+ ...color,
7995
+ ...encoding.size
7842
7996
  ]);
7843
7997
  };
7844
7998
  const scatterConfig = (advancedVSeed, context)=>{
@@ -7858,6 +8012,7 @@
7858
8012
  'sizeRange',
7859
8013
  'size',
7860
8014
  'crosshairLine',
8015
+ 'brush',
7861
8016
  'dimensionLinkage'
7862
8017
  ]);
7863
8018
  const config = replaceNullToUndefined(pickedConfig);
@@ -7880,6 +8035,7 @@
7880
8035
  const measures = reshapeMeasures?.[0] ?? [];
7881
8036
  const foldInfoList = [];
7882
8037
  const unfoldInfoList = [];
8038
+ const sizeEncodingIds = encoding?.size ?? [];
7883
8039
  const datasets = [];
7884
8040
  const xMeasures = measures.filter((m)=>'xAxis' === m.encoding);
7885
8041
  const yMeasures = measures.filter((m)=>'yAxis' === m.encoding);
@@ -7887,7 +8043,8 @@
7887
8043
  foldMeasureValue: FoldXMeasureValue,
7888
8044
  foldMeasureId: FoldXMeasureId,
7889
8045
  colorItemAsId: true,
7890
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
8046
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
8047
+ omitIds: xMeasures.map((m)=>m.id).filter((id)=>!sizeEncodingIds.includes(id))
7891
8048
  });
7892
8049
  datasets.push(xResult.dataset);
7893
8050
  foldInfoList.push(xResult.foldInfo);
@@ -7896,7 +8053,8 @@
7896
8053
  foldMeasureValue: FoldYMeasureValue,
7897
8054
  foldMeasureId: FoldYMeasureId,
7898
8055
  colorItemAsId: true,
7899
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
8056
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
8057
+ omitIds: yMeasures.map((m)=>m.id).filter((id)=>!sizeEncodingIds.includes(id))
7900
8058
  });
7901
8059
  datasets[0] = yResult.dataset;
7902
8060
  foldInfoList.push(yResult.foldInfo);
@@ -7932,7 +8090,8 @@
7932
8090
  const { encoding, chartType } = advancedVSeed;
7933
8091
  const reshapeMeasures = advancedVSeed.reshapeMeasures ?? [];
7934
8092
  const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
7935
- const allMeasuresIds = reshapeMeasures.flatMap((measureGroup)=>measureGroup.map((m)=>m.id));
8093
+ let allMeasuresIds = chunk_QJLMYOTX_i(reshapeMeasures.flatMap((measureGroup)=>measureGroup.map((m)=>m.id)));
8094
+ if (encoding?.size?.length) allMeasuresIds = allMeasuresIds.filter((mId)=>!encoding.size.includes(mId));
7936
8095
  const datasetList = [];
7937
8096
  const datasetReshapeInfo = [];
7938
8097
  reshapeMeasures.forEach((measures, index)=>{
@@ -7943,6 +8102,7 @@
7943
8102
  const yMeasures = measures.filter((m)=>'yAxis' === m.encoding);
7944
8103
  const xResult = dataReshapeByEncoding(dataset, dimensions, xMeasures, encoding, {
7945
8104
  foldMeasureValue: `${FoldXMeasureValue}${index}`,
8105
+ foldMeasureId: FoldXMeasureId,
7946
8106
  colorItemAsId: true,
7947
8107
  colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
7948
8108
  omitIds: allMeasuresIds
@@ -7952,6 +8112,7 @@
7952
8112
  unfoldInfoList.push(xResult.unfoldInfo);
7953
8113
  const yResult = dataReshapeByEncoding(dataset, dimensions, yMeasures, encoding, {
7954
8114
  foldMeasureValue: `${FoldYMeasureValue}${index}`,
8115
+ foldMeasureId: FoldYMeasureId,
7955
8116
  colorItemAsId: true,
7956
8117
  colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
7957
8118
  omitIds: allMeasuresIds
@@ -7975,10 +8136,10 @@
7975
8136
  unfoldInfo: unfoldInfo
7976
8137
  };
7977
8138
  datasetReshapeInfo.push(reshapeInfo);
7978
- datasetList.push(datasets[0].map((d, index)=>({
7979
- ...d,
7980
- ...datasets[1]?.[index] || {}
7981
- })));
8139
+ datasetList.push(datasets[0].flatMap((d)=>datasets[1].filter((yDatum)=>yDatum[ORIGINAL_DATA] === d[ORIGINAL_DATA]).map((yDatum)=>({
8140
+ ...d,
8141
+ ...yDatum
8142
+ }))));
7982
8143
  });
7983
8144
  return {
7984
8145
  ...result,
@@ -7993,9 +8154,11 @@
7993
8154
  defaultMeasureId_defaultMeasureId,
7994
8155
  encodingAdapter([
7995
8156
  buildMeasuresForScatter,
8157
+ addPivotDimensionsForScatter,
7996
8158
  defaultEncodingForScatter
7997
8159
  ], [
7998
8160
  buildMeasuresForScatter,
8161
+ addPivotDimensionsForScatter,
7999
8162
  encodingForScatter,
8000
8163
  pickDimensionsForReshape
8001
8164
  ]),
@@ -8097,7 +8260,8 @@
8097
8260
  title: {
8098
8261
  visible: false
8099
8262
  },
8100
- content: tooltipScatter_createMarkContent(encoding.tooltip || [], dimensions, vseed.measures, locale, foldInfoList)
8263
+ content: tooltipScatter_createMarkContent(encoding.tooltip || [], dimensions, vseed.measures, locale, foldInfoList),
8264
+ updateContent: (prev = [])=>T(prev, (entry)=>`${String(entry.key)}::${String(entry.value)}`)
8101
8265
  },
8102
8266
  dimension: {
8103
8267
  visible: false
@@ -8144,7 +8308,13 @@
8144
8308
  visible: true,
8145
8309
  hasShape: true,
8146
8310
  shapeType: 'rectRound',
8147
- key: Object.values(foldInfo.foldMap)[0],
8311
+ key: (v)=>{
8312
+ const { measureId, foldMap } = foldInfo;
8313
+ const datum = v;
8314
+ if (!datum) return '';
8315
+ const id = datum[measureId];
8316
+ return foldMap[id] ?? id;
8317
+ },
8148
8318
  value: (v)=>{
8149
8319
  const { measureId, measureValue } = foldInfo;
8150
8320
  const datum = v;
@@ -8662,6 +8832,7 @@
8662
8832
  progressive,
8663
8833
  xLinear,
8664
8834
  yLinear,
8835
+ brush_brush,
8665
8836
  scatterSize,
8666
8837
  labelScatter,
8667
8838
  tooltipScatter,
@@ -8692,6 +8863,7 @@
8692
8863
  progressive,
8693
8864
  xLinear,
8694
8865
  pivotAxisStyle(yLinear),
8866
+ brush_brush,
8695
8867
  scatterSize,
8696
8868
  labelScatter,
8697
8869
  tooltipScatter,
@@ -8826,6 +8998,7 @@
8826
8998
  const { encoding, chartType } = advancedVSeed;
8827
8999
  const measures = advancedVSeed.reshapeMeasures?.[0] ?? [];
8828
9000
  const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
9001
+ const allMeasuresIds = measures.map((m)=>m.id);
8829
9002
  const foldInfoList = [];
8830
9003
  const unfoldInfoList = [];
8831
9004
  const datasets = [];
@@ -8839,7 +9012,8 @@
8839
9012
  const primaryResult = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), T(primaryMeasures.filter((m)=>m.chartType === chartType), (item)=>item.id), encoding, {
8840
9013
  colorItemAsId: false,
8841
9014
  foldMeasureValue: FoldPrimaryMeasureValue,
8842
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
9015
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
9016
+ omitIds: allMeasuresIds
8843
9017
  });
8844
9018
  primaryResult.dataset.forEach((row)=>{
8845
9019
  row[DimAxisType] = 'primaryYAxis';
@@ -8852,7 +9026,8 @@
8852
9026
  const secondaryResult = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), T(secondaryMeasures.filter((m)=>m.chartType === chartType), (item)=>item.id), encoding, {
8853
9027
  colorItemAsId: false,
8854
9028
  foldMeasureValue: FoldSecondaryMeasureValue,
8855
- colorMeasureId: getColorMeasureId(advancedVSeed, vseed)
9029
+ colorMeasureId: getColorMeasureId(advancedVSeed, vseed),
9030
+ omitIds: allMeasuresIds
8856
9031
  });
8857
9032
  secondaryResult.dataset.forEach((row)=>{
8858
9033
  row[DimAxisType] = 'secondaryYAxis';
@@ -9231,7 +9406,7 @@
9231
9406
  title: {
9232
9407
  visible: true
9233
9408
  },
9234
- content: createDimensionContent(dimensions, measures, options.foldInfo, unfoldInfo, reshapeMeasures.length > 1)
9409
+ content: createDimensionContent(encoding.tooltip || [], measures, options.foldInfo, unfoldInfo, reshapeMeasures.length > 1)
9235
9410
  }
9236
9411
  };
9237
9412
  return result;
@@ -9403,21 +9578,21 @@
9403
9578
  };
9404
9579
  const isObjectLike = (value)=>"object" == typeof value && null !== value;
9405
9580
  const common_isObjectLike = isObjectLike;
9406
- const isPlainObject = function(value) {
9581
+ const isPlainObject_isPlainObject = function(value) {
9407
9582
  if (!common_isObjectLike(value) || !isType(value, "Object")) return !1;
9408
9583
  if (null === Object.getPrototypeOf(value)) return !0;
9409
9584
  let proto = value;
9410
9585
  for(; null !== Object.getPrototypeOf(proto);)proto = Object.getPrototypeOf(proto);
9411
9586
  return Object.getPrototypeOf(value) === proto;
9412
9587
  };
9413
- const common_isPlainObject = isPlainObject;
9588
+ const isPlainObject = isPlainObject_isPlainObject;
9414
9589
  const isString = (value, fuzzy = !1)=>{
9415
9590
  const type = typeof value;
9416
9591
  return fuzzy ? "string" === type : "string" === type || isType(value, "String");
9417
9592
  };
9418
9593
  const common_isString = isString;
9419
9594
  function pickWithout(obj, keys) {
9420
- if (!obj || !common_isPlainObject(obj)) return obj;
9595
+ if (!obj || !isPlainObject(obj)) return obj;
9421
9596
  const result = {};
9422
9597
  return Object.keys(obj).forEach((k)=>{
9423
9598
  const v = obj[k];
@@ -9715,6 +9890,7 @@
9715
9890
  background_backgroundColor,
9716
9891
  datasetXY,
9717
9892
  progressive,
9893
+ brush_brush,
9718
9894
  colorPieStyleFill(pieStyle),
9719
9895
  colorAdapter(discreteLegend, colorLegend),
9720
9896
  labelPie,
@@ -9736,6 +9912,7 @@
9736
9912
  background_backgroundColor,
9737
9913
  datasetXY,
9738
9914
  progressive,
9915
+ brush_brush,
9739
9916
  colorPieStyleFill(pieStyle),
9740
9917
  labelPie,
9741
9918
  tooltip_tooltip,
@@ -9812,6 +9989,7 @@
9812
9989
  background_backgroundColor,
9813
9990
  datasetXY,
9814
9991
  progressive,
9992
+ brush_brush,
9815
9993
  labelPie,
9816
9994
  colorPieStyleFill(pieStyle),
9817
9995
  colorAdapter(discreteLegend, colorLegend),
@@ -9834,6 +10012,7 @@
9834
10012
  background_backgroundColor,
9835
10013
  datasetXY,
9836
10014
  progressive,
10015
+ brush_brush,
9837
10016
  labelPie,
9838
10017
  colorPieStyleFill(pieStyle),
9839
10018
  tooltip_tooltip,
@@ -10610,11 +10789,12 @@
10610
10789
  const pivotFunnel = [
10611
10790
  initPivot,
10612
10791
  pivotGridStyle,
10613
- pivotIndicatorsAsRow,
10792
+ pivotIndicatorsAsCol,
10614
10793
  pivotHideIndicatorName,
10615
10794
  datasetPivot,
10616
10795
  pivotIndicators_pivotIndicators([
10617
10796
  initFunnel,
10797
+ addRegionPadding,
10618
10798
  background_backgroundColor,
10619
10799
  datasetXY,
10620
10800
  colorAdapter(color_color, linearColor),
@@ -10693,15 +10873,11 @@
10693
10873
  };
10694
10874
  const heatmap_generateDefaultMeasureEncoding = (measures, encoding)=>{
10695
10875
  const colorDims = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
10696
- if (colorDims.length > 0) encoding.color = [
10697
- colorDims[0]
10698
- ];
10876
+ if (colorDims.length > 0) encoding.color = colorDims;
10699
10877
  };
10700
10878
  const heatmap_generateMeasureEncoding = (measures, encoding)=>{
10701
10879
  const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
10702
- if (color.length > 0) encoding.color = [
10703
- color[0]
10704
- ];
10880
+ if (color.length > 0) encoding.color = color;
10705
10881
  const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
10706
10882
  encoding.label = chunk_QJLMYOTX_i([
10707
10883
  ...encoding.label || [],
@@ -10714,6 +10890,32 @@
10714
10890
  ...tooltip
10715
10891
  ]);
10716
10892
  };
10893
+ const heatmapConfig = (advancedVSeed, context)=>{
10894
+ const { vseed } = context;
10895
+ const { chartType } = vseed;
10896
+ const result = {
10897
+ ...advancedVSeed
10898
+ };
10899
+ const pickedConfig = chunk_2T7K3PFL_i(vseed, [
10900
+ 'backgroundColor',
10901
+ 'color',
10902
+ 'label',
10903
+ 'legend',
10904
+ 'tooltip',
10905
+ 'xAxis',
10906
+ 'yAxis',
10907
+ 'brush',
10908
+ 'dimensionLinkage'
10909
+ ]);
10910
+ const config = replaceNullToUndefined(pickedConfig);
10911
+ result.config = {
10912
+ ...result.config || {},
10913
+ [chartType]: {
10914
+ ...config
10915
+ }
10916
+ };
10917
+ return result;
10918
+ };
10717
10919
  const heatmapAdvancedPipeline = [
10718
10920
  initAdvancedVSeed_initAdvancedVSeed,
10719
10921
  default_defaultMeasures_defaultMeasures,
@@ -10778,37 +10980,32 @@
10778
10980
  };
10779
10981
  return result;
10780
10982
  };
10781
- const colorCellStyleFill = (stylePipe)=>(spec, context)=>{
10782
- const result = stylePipe(spec, context);
10783
- const { advancedVSeed, vseed } = context;
10784
- const { datasetReshapeInfo } = advancedVSeed;
10785
- const { unfoldInfo } = datasetReshapeInfo[0];
10786
- if (isLinearColor(advancedVSeed, vseed)) {
10787
- if (result?.cell?.style) result.cell.style.fill = {
10788
- field: unfoldInfo.encodingColor,
10789
- scale: 'color'
10790
- };
10791
- }
10792
- return result;
10793
- };
10794
10983
  const markStyle_cellStyle_cellStyle = (spec, context)=>{
10795
- const result = {
10796
- ...spec,
10797
- cell: {
10798
- style: {}
10799
- }
10800
- };
10801
10984
  const { advancedVSeed, vseed } = context;
10802
10985
  const { chartType } = vseed;
10803
10986
  const cell = advancedVSeed.config?.[chartType]?.cell;
10987
+ const { datasetReshapeInfo } = advancedVSeed;
10988
+ const { unfoldInfo } = datasetReshapeInfo[0];
10804
10989
  return {
10805
- ...result,
10990
+ ...spec,
10806
10991
  cell: {
10807
10992
  style: {
10808
10993
  visible: (datum)=>datum?.[DATUM_HIDE_KEY] !== true,
10809
10994
  shape: 'rect',
10810
10995
  stroke: cell?.stroke,
10811
- lineWidth: cell?.lineWidth ?? 1
10996
+ lineWidth: cell?.lineWidth ?? 1,
10997
+ fill: {
10998
+ field: isLinearColor(advancedVSeed, vseed) ? unfoldInfo.encodingColor : unfoldInfo.encodingColorId,
10999
+ scale: 'color'
11000
+ }
11001
+ },
11002
+ state: {
11003
+ hover: {
11004
+ shadowColor: cell?.hoverShadowColor,
11005
+ shadowBlur: 5,
11006
+ shadowOffsetX: 0,
11007
+ shadowOffsetY: 0
11008
+ }
10812
11009
  }
10813
11010
  }
10814
11011
  };
@@ -10904,6 +11101,21 @@
10904
11101
  ...meaContent
10905
11102
  ];
10906
11103
  };
11104
+ const heatmapColorDomain = (spec, context)=>{
11105
+ const { advancedVSeed } = context;
11106
+ const indicators = spec.indicators;
11107
+ if (!indicators || !indicators.length || indicators.every((ind)=>ind.chartSpec.color?.type !== 'linear')) return spec;
11108
+ const { datasetReshapeInfo } = advancedVSeed;
11109
+ const max = Math.max(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMax));
11110
+ const min = Math.min(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMin));
11111
+ indicators.forEach((ind)=>{
11112
+ if (ind.chartSpec.color?.type === 'linear') ind.chartSpec.color.domain = [
11113
+ min,
11114
+ max
11115
+ ];
11116
+ });
11117
+ return spec;
11118
+ };
10907
11119
  const initHeatmap = (spec, context)=>{
10908
11120
  const result = {
10909
11121
  ...spec
@@ -10933,8 +11145,9 @@
10933
11145
  colorAdapter(color_color, linearColor),
10934
11146
  label_label,
10935
11147
  heatmapBandAxis,
11148
+ brush_brush,
10936
11149
  colorAdapter(discreteLegend, heatmapColorLegend),
10937
- colorCellStyleFill(markStyle_cellStyle_cellStyle),
11150
+ markStyle_cellStyle_cellStyle,
10938
11151
  tooltipHeatmap,
10939
11152
  annotationPoint_annotationPoint,
10940
11153
  annotationVerticalLine_annotationVerticalLine,
@@ -10947,19 +11160,21 @@
10947
11160
  pivotIndicatorsAsRow,
10948
11161
  datasetPivot,
10949
11162
  pivotIndicators_pivotIndicators([
10950
- pivotAxisStyle(initHeatmap),
11163
+ initHeatmap,
10951
11164
  background_backgroundColor,
10952
11165
  datasetXY,
10953
11166
  colorAdapter(color_color, linearColor),
10954
11167
  label_label,
10955
- heatmapBandAxis,
11168
+ pivotAxisStyle(heatmapBandAxis),
11169
+ brush_brush,
10956
11170
  tooltipHeatmap,
10957
- colorCellStyleFill(markStyle_cellStyle_cellStyle),
11171
+ markStyle_cellStyle_cellStyle,
10958
11172
  annotationPoint_annotationPoint,
10959
11173
  annotationVerticalLine_annotationVerticalLine,
10960
11174
  annotationHorizontalLine_annotationHorizontalLine,
10961
11175
  annotationArea_annotationArea
10962
11176
  ]),
11177
+ heatmapColorDomain,
10963
11178
  pivotRowDimensions,
10964
11179
  pivotColumnDimensions,
10965
11180
  pivotTitle,
@@ -11790,7 +12005,7 @@
11790
12005
  const length = objValue.length;
11791
12006
  for(; ++index < length;)newValue[index] = objValue[index];
11792
12007
  }
11793
- } else common_isPlainObject(srcValue) ? (newValue = null != objValue ? objValue : {}, "function" != typeof objValue && "object" == typeof objValue || (newValue = {})) : isCommon = !1;
12008
+ } else isPlainObject(srcValue) ? (newValue = null != objValue ? objValue : {}, "function" != typeof objValue && "object" == typeof objValue || (newValue = {})) : isCommon = !1;
11794
12009
  isCommon && baseMerge(newValue, srcValue, shallowArray, skipTargetArray), assignMergeValue(target, key, newValue);
11795
12010
  }
11796
12011
  function assignMergeValue(target, key, value) {
@@ -11824,6 +12039,7 @@
11824
12039
  'binCount',
11825
12040
  'binStep',
11826
12041
  'binValueType',
12042
+ 'brush',
11827
12043
  'dimensionLinkage'
11828
12044
  ]);
11829
12045
  let config = replaceNullToUndefined(pickedConfig);
@@ -12160,7 +12376,8 @@
12160
12376
  } else if (encoding.x0?.length && encoding.x1?.length && encoding.y?.length) {
12161
12377
  const res = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), measures.filter((item)=>encoding.y?.includes(item.id)).slice(0, 1), encoding, {
12162
12378
  colorItemAsId: false,
12163
- colorMeasureId
12379
+ colorMeasureId,
12380
+ omitIds: []
12164
12381
  });
12165
12382
  res.dataset.forEach((datum)=>{
12166
12383
  datum[BinStartMeasureId] = datum[encoding.x0[0]];
@@ -12263,7 +12480,8 @@
12263
12480
  } else if (encoding.x0?.length && encoding.x1?.length && encoding.y?.length) {
12264
12481
  const res = dataReshapeByEncoding(dataset, T(dimensions, (item)=>item.id), subMeasures.filter((item)=>encoding.y?.includes(item.id)).slice(0, 1), encoding, {
12265
12482
  colorItemAsId: false,
12266
- colorMeasureId
12483
+ colorMeasureId,
12484
+ omitIds: []
12267
12485
  });
12268
12486
  res.dataset.forEach((datum)=>{
12269
12487
  datum[BinStartMeasureId] = datum[encoding.x0[0]];
@@ -12905,6 +13123,7 @@
12905
13123
  histogramXLinear,
12906
13124
  yLinear,
12907
13125
  label_label,
13126
+ brush_brush,
12908
13127
  tooltipHistogram,
12909
13128
  colorAdapter(discreteLegend, colorLegend),
12910
13129
  histogramVerticalCrosshairRect,
@@ -12928,6 +13147,7 @@
12928
13147
  progressive,
12929
13148
  histogramXLinear,
12930
13149
  pivotAxisStyle(yLinear),
13150
+ brush_brush,
12931
13151
  label_label,
12932
13152
  tooltipHistogram,
12933
13153
  colorBarStyleFill(barStyle_barStyle),
@@ -13040,6 +13260,14 @@
13040
13260
  ...getDefaultLabel(),
13041
13261
  labelStroke: '#fff'
13042
13262
  });
13263
+ const getFunnelDarkLabel = ()=>({
13264
+ ...getDefaultLabel(),
13265
+ labelColor: '#fff'
13266
+ });
13267
+ const getFunnelLightLabel = ()=>({
13268
+ ...getDefaultLabel(),
13269
+ labelColor: '#fff'
13270
+ });
13043
13271
  const getDefaultLegend = ()=>({
13044
13272
  enable: true,
13045
13273
  border: true,
@@ -13073,6 +13301,24 @@
13073
13301
  handlerBorderColor: '#fff',
13074
13302
  railBackgroundColor: '#f1f3f4'
13075
13303
  });
13304
+ const getLightBrushConfig = ()=>({
13305
+ enable: false,
13306
+ inBrushStyle: {
13307
+ opacity: 1
13308
+ },
13309
+ outOfBrushStyle: {
13310
+ opacity: 0.2
13311
+ }
13312
+ });
13313
+ const getDarkBrushConfig = ()=>({
13314
+ enable: false,
13315
+ inBrushStyle: {
13316
+ opacity: 1
13317
+ },
13318
+ outOfBrushStyle: {
13319
+ opacity: 0.25
13320
+ }
13321
+ });
13076
13322
  const getDefaultTableConfig = ()=>({
13077
13323
  bodyFontSize: 12,
13078
13324
  bodyBackgroundColor: 'transparent',
@@ -13423,10 +13669,12 @@
13423
13669
  textColor: '#888C93'
13424
13670
  });
13425
13671
  const getLightHeatmapCellTheme = ()=>({
13426
- stroke: '#fff'
13672
+ stroke: '#fff',
13673
+ hoverShadowColor: '#404349'
13427
13674
  });
13428
13675
  const getDarkHeatmapCellTheme = ()=>({
13429
- stroke: '#404349'
13676
+ stroke: '#404349',
13677
+ hoverShadowColor: '#404349'
13430
13678
  });
13431
13679
  const getDefaultRegressionLine = ()=>({
13432
13680
  lineWidth: 2,
@@ -13542,7 +13790,8 @@
13542
13790
  color: getLightColor(),
13543
13791
  label: getLightLabel(),
13544
13792
  legend: getLightLegend(),
13545
- tooltip: getLightTooltip()
13793
+ tooltip: getLightTooltip(),
13794
+ brush: getLightBrushConfig()
13546
13795
  };
13547
13796
  const tableConfig = getLightTableConfig();
13548
13797
  return {
@@ -13752,6 +14001,7 @@
13752
14001
  },
13753
14002
  funnel: {
13754
14003
  ...baseConfig,
14004
+ label: getFunnelLightLabel(),
13755
14005
  transform: getLightFunnelTransformTheme(),
13756
14006
  pivotGrid: getLightPivotChartGridConfig()
13757
14007
  },
@@ -13812,7 +14062,8 @@
13812
14062
  color: getDarkColor(),
13813
14063
  label: getDarkLabel(),
13814
14064
  legend: getDarkLegend(),
13815
- tooltip: getDarkTooltip()
14065
+ tooltip: getDarkTooltip(),
14066
+ brush: getDarkBrushConfig()
13816
14067
  };
13817
14068
  const tableConfig = getDarkTableConfig();
13818
14069
  return {
@@ -14016,6 +14267,7 @@
14016
14267
  },
14017
14268
  funnel: {
14018
14269
  ...baseConfig,
14270
+ label: getFunnelDarkLabel(),
14019
14271
  transform: getDarkFunnelTransformTheme(),
14020
14272
  pivotGrid: getDarkPivotChartGridConfig()
14021
14273
  },
@@ -18240,6 +18492,23 @@
18240
18492
  showTooltip: schemas_boolean().nullish(),
18241
18493
  showLabel: schemas_boolean().nullish()
18242
18494
  });
18495
+ const zBrushConfig = schemas_object({
18496
+ enable: schemas_boolean().optional().default(false),
18497
+ inBrushStyle: schemas_object({
18498
+ opacity: schemas_number().optional(),
18499
+ stroke: schemas_string().optional(),
18500
+ lineWidth: schemas_number().optional()
18501
+ }).optional(),
18502
+ outOfBrushStyle: schemas_object({
18503
+ opacity: schemas_number().optional(),
18504
+ stroke: schemas_string().optional(),
18505
+ lineWidth: schemas_number().optional()
18506
+ }).optional()
18507
+ });
18508
+ const zBrush = schemas_object({
18509
+ enable: schemas_boolean().optional().default(false),
18510
+ removeOnClick: schemas_boolean().optional().default(true)
18511
+ });
18243
18512
  const zLineConfig = schemas_object({
18244
18513
  backgroundColor: zBackgroundColor.nullish(),
18245
18514
  label: zLabel.nullish(),
@@ -18251,7 +18520,8 @@
18251
18520
  crosshairLine: zCrosshairLine.nullish(),
18252
18521
  pivotGrid: zPivotChartGridConfig.nullish(),
18253
18522
  annotation: zAnnotationConfig.nullish(),
18254
- dimensionLinkage: zDimensionLinkage.nullish()
18523
+ dimensionLinkage: zDimensionLinkage.nullish(),
18524
+ brush: zBrushConfig.nullish()
18255
18525
  });
18256
18526
  const zStackCornerRadius = schemas_number().or(schemas_array(schemas_number())).default([
18257
18527
  3,
@@ -18308,7 +18578,8 @@
18308
18578
  barGapInGroup: zBarGapInGroup.nullish(),
18309
18579
  pivotGrid: zPivotChartGridConfig.nullish(),
18310
18580
  annotation: zAnnotationConfig.nullish(),
18311
- dimensionLinkage: zDimensionLinkage.nullish()
18581
+ dimensionLinkage: zDimensionLinkage.nullish(),
18582
+ brush: zBrushConfig.nullish()
18312
18583
  });
18313
18584
  const zColumnConfig = zColumnParallelConfig.extend({
18314
18585
  regressionLine: zRegressionLine.nullish()
@@ -18326,7 +18597,8 @@
18326
18597
  stackCornerRadius: zStackCornerRadius.nullish(),
18327
18598
  pivotGrid: zPivotChartGridConfig.nullish(),
18328
18599
  annotation: zAnnotationConfig.nullish(),
18329
- dimensionLinkage: zDimensionLinkage.nullish()
18600
+ dimensionLinkage: zDimensionLinkage.nullish(),
18601
+ brush: zBrushConfig.nullish()
18330
18602
  });
18331
18603
  const zBarParallelConfig = zBarConfig;
18332
18604
  const zBarPercentConfig = zBarConfig;
@@ -18341,7 +18613,8 @@
18341
18613
  crosshairLine: zCrosshairLine.nullish(),
18342
18614
  pivotGrid: zPivotChartGridConfig.nullish(),
18343
18615
  annotation: zAnnotationConfig.nullish(),
18344
- dimensionLinkage: zDimensionLinkage.nullish()
18616
+ dimensionLinkage: zDimensionLinkage.nullish(),
18617
+ brush: zBrushConfig.nullish()
18345
18618
  });
18346
18619
  const zAreaPercentConfig = zAreaConfig;
18347
18620
  const zScatterConfig = schemas_object({
@@ -18358,7 +18631,8 @@
18358
18631
  pivotGrid: zPivotChartGridConfig.nullish(),
18359
18632
  annotation: zAnnotationConfig.nullish(),
18360
18633
  regressionLine: zRegressionLine.nullish(),
18361
- dimensionLinkage: zDimensionLinkage.nullish()
18634
+ dimensionLinkage: zDimensionLinkage.nullish(),
18635
+ brush: zBrushConfig.nullish()
18362
18636
  });
18363
18637
  const zDualAxisConfig = schemas_object({
18364
18638
  backgroundColor: zBackgroundColor.nullish(),
@@ -18389,7 +18663,8 @@
18389
18663
  tooltip: zTooltip.nullish(),
18390
18664
  legend: zLegend.nullish(),
18391
18665
  pivotGrid: zPivotChartGridConfig.nullish(),
18392
- cornerRadius: schemas_number().nullish()
18666
+ cornerRadius: schemas_number().nullish(),
18667
+ brush: zBrushConfig.nullish()
18393
18668
  });
18394
18669
  const zDonutConfig = zPieConfig;
18395
18670
  const zRadarConfig = zPieConfig;
@@ -18418,7 +18693,8 @@
18418
18693
  const zHeatmapCell = schemas_object({
18419
18694
  stroke: schemas_string().nullish(),
18420
18695
  lineWidth: schemas_number().nullish(),
18421
- cornerRadius: schemas_number().nullish()
18696
+ cornerRadius: schemas_number().nullish(),
18697
+ hoverShadowColor: schemas_string().nullish()
18422
18698
  });
18423
18699
  const zHeatmapConfig = schemas_object({
18424
18700
  backgroundColor: zBackgroundColor.nullish(),
@@ -18429,7 +18705,8 @@
18429
18705
  pivotGrid: zPivotChartGridConfig.nullish(),
18430
18706
  cell: zHeatmapCell.nullish(),
18431
18707
  xAxis: zXBandAxis.nullish(),
18432
- yAxis: zYBandAxis.nullish()
18708
+ yAxis: zYBandAxis.nullish(),
18709
+ brush: zBrushConfig.nullish()
18433
18710
  });
18434
18711
  const zPivotTableConfig = zTableConfig;
18435
18712
  const zWhiskersConfig = schemas_number().or(schemas_array(schemas_number())).default(1.5);
@@ -18502,7 +18779,8 @@
18502
18779
  binStep: schemas_number().positive().nullish(),
18503
18780
  binValueType: literal('count').or(literal('percentage')).nullish(),
18504
18781
  regressionLine: zRegressionLine.nullish(),
18505
- dimensionLinkage: zDimensionLinkage.nullish()
18782
+ dimensionLinkage: zDimensionLinkage.nullish(),
18783
+ brush: zBrushConfig.nullish()
18506
18784
  });
18507
18785
  const zConfig = schemas_object({
18508
18786
  table: zTableConfig.nullish(),
@@ -18750,6 +19028,7 @@
18750
19028
  label: zLabel.nullish(),
18751
19029
  legend: zLegend.nullish(),
18752
19030
  tooltip: zTooltip.nullish(),
19031
+ brush: zBrush.nullish(),
18753
19032
  xAxis: zXBandAxis.nullish(),
18754
19033
  yAxis: zYLinearAxis.nullish(),
18755
19034
  crosshairLine: zCrosshairLine.nullish(),
@@ -18776,6 +19055,7 @@
18776
19055
  label: zLabel.nullish(),
18777
19056
  legend: zLegend.nullish(),
18778
19057
  tooltip: zTooltip.nullish(),
19058
+ brush: zBrush.nullish(),
18779
19059
  xAxis: zXBandAxis.nullish(),
18780
19060
  yAxis: zYLinearAxis.nullish(),
18781
19061
  sort: zSort.nullish(),
@@ -18804,6 +19084,7 @@
18804
19084
  label: zLabel.nullish(),
18805
19085
  legend: zLegend.nullish(),
18806
19086
  tooltip: zTooltip.nullish(),
19087
+ brush: zBrush.nullish(),
18807
19088
  xAxis: zXBandAxis.nullish(),
18808
19089
  yAxis: zYLinearAxis.nullish(),
18809
19090
  crosshairRect: zCrosshairRect.nullish(),
@@ -18830,6 +19111,7 @@
18830
19111
  label: zLabel.nullish(),
18831
19112
  legend: zLegend.nullish(),
18832
19113
  tooltip: zTooltip.nullish(),
19114
+ brush: zBrush.nullish(),
18833
19115
  xAxis: zXBandAxis.nullish(),
18834
19116
  yAxis: zYLinearAxis.nullish(),
18835
19117
  crosshairRect: zCrosshairRect.nullish(),
@@ -18855,6 +19137,7 @@
18855
19137
  label: zLabel.nullish(),
18856
19138
  legend: zLegend.nullish(),
18857
19139
  tooltip: zTooltip.nullish(),
19140
+ brush: zBrush.nullish(),
18858
19141
  xAxis: zXLinearAxis.nullish(),
18859
19142
  yAxis: zYBandAxis.nullish(),
18860
19143
  crosshairRect: zCrosshairRect.nullish(),
@@ -18880,6 +19163,7 @@
18880
19163
  label: zLabel.nullish(),
18881
19164
  legend: zLegend.nullish(),
18882
19165
  tooltip: zTooltip.nullish(),
19166
+ brush: zBrush.nullish(),
18883
19167
  xAxis: zXLinearAxis.nullish(),
18884
19168
  yAxis: zYBandAxis.nullish(),
18885
19169
  crosshairRect: zCrosshairRect.nullish(),
@@ -18906,6 +19190,7 @@
18906
19190
  label: zLabel.nullish(),
18907
19191
  legend: zLegend.nullish(),
18908
19192
  tooltip: zTooltip.nullish(),
19193
+ brush: zBrush.nullish(),
18909
19194
  xAxis: zXLinearAxis.nullish(),
18910
19195
  yAxis: zYBandAxis.nullish(),
18911
19196
  crosshairRect: zCrosshairRect.nullish(),
@@ -18931,6 +19216,7 @@
18931
19216
  label: zLabel.nullish(),
18932
19217
  legend: zLegend.nullish(),
18933
19218
  tooltip: zTooltip.nullish(),
19219
+ brush: zBrush.nullish(),
18934
19220
  xAxis: zXBandAxis.nullish(),
18935
19221
  yAxis: zYLinearAxis.nullish(),
18936
19222
  crosshairLine: zCrosshairLine.nullish(),
@@ -18956,6 +19242,7 @@
18956
19242
  label: zLabel.nullish(),
18957
19243
  legend: zLegend.nullish(),
18958
19244
  tooltip: zTooltip.nullish(),
19245
+ brush: zBrush.nullish(),
18959
19246
  xAxis: zXBandAxis.nullish(),
18960
19247
  yAxis: zYLinearAxis.nullish(),
18961
19248
  crosshairLine: zCrosshairLine.nullish(),
@@ -18983,6 +19270,7 @@
18983
19270
  label: zLabel.nullish(),
18984
19271
  legend: zLegend.nullish(),
18985
19272
  tooltip: zTooltip.nullish(),
19273
+ brush: zBrush.nullish(),
18986
19274
  xAxis: zXLinearAxis.nullish(),
18987
19275
  yAxis: zYLinearAxis.nullish(),
18988
19276
  crosshairLine: zCrosshairLine.nullish(),
@@ -19013,6 +19301,7 @@
19013
19301
  label: zLabel.nullish(),
19014
19302
  legend: zLegend.nullish(),
19015
19303
  tooltip: zTooltip.nullish(),
19304
+ brush: zBrush.nullish(),
19016
19305
  crosshairRect: zCrosshairRect.nullish(),
19017
19306
  sort: zSort.nullish(),
19018
19307
  sortLegend: zSortLegend.nullish(),
@@ -19041,6 +19330,7 @@
19041
19330
  label: zLabel.nullish(),
19042
19331
  legend: zLegend.nullish(),
19043
19332
  tooltip: zTooltip.nullish(),
19333
+ brush: zBrush.nullish(),
19044
19334
  xAxis: zXLinearAxis.nullish(),
19045
19335
  yAxis: zYLinearAxis.nullish(),
19046
19336
  crosshairRect: zCrosshairRect.nullish(),
@@ -19069,6 +19359,7 @@
19069
19359
  label: zLabel.nullish(),
19070
19360
  legend: zLegend.nullish(),
19071
19361
  tooltip: zTooltip.nullish(),
19362
+ brush: zBrush.nullish(),
19072
19363
  theme: zTheme.nullish(),
19073
19364
  locale: zLocale.nullish()
19074
19365
  });
@@ -19083,6 +19374,7 @@
19083
19374
  label: zLabel.nullish(),
19084
19375
  legend: zLegend.nullish(),
19085
19376
  tooltip: zTooltip.nullish(),
19377
+ brush: zBrush.nullish(),
19086
19378
  theme: zTheme.nullish(),
19087
19379
  locale: zLocale.nullish()
19088
19380
  });
@@ -19097,6 +19389,7 @@
19097
19389
  label: zPieLabel.nullish(),
19098
19390
  legend: zLegend.nullish(),
19099
19391
  tooltip: zTooltip.nullish(),
19392
+ brush: zBrush.nullish(),
19100
19393
  theme: zTheme.nullish(),
19101
19394
  locale: zLocale.nullish()
19102
19395
  });
@@ -19111,6 +19404,7 @@
19111
19404
  label: zPieLabel.nullish(),
19112
19405
  legend: zLegend.nullish(),
19113
19406
  tooltip: zTooltip.nullish(),
19407
+ brush: zBrush.nullish(),
19114
19408
  theme: zTheme.nullish(),
19115
19409
  locale: zLocale.nullish()
19116
19410
  });
@@ -19125,6 +19419,7 @@
19125
19419
  label: zLabel.nullish(),
19126
19420
  legend: zLegend.nullish(),
19127
19421
  tooltip: zTooltip.nullish(),
19422
+ brush: zBrush.nullish(),
19128
19423
  theme: zTheme.nullish(),
19129
19424
  locale: zLocale.nullish()
19130
19425
  });
@@ -19139,6 +19434,7 @@
19139
19434
  label: zLabel.nullish(),
19140
19435
  legend: zColorLegend.nullish(),
19141
19436
  tooltip: zTooltip.nullish(),
19437
+ brush: zBrush.nullish(),
19142
19438
  theme: zTheme.nullish(),
19143
19439
  locale: zLocale.nullish()
19144
19440
  });
@@ -19152,6 +19448,7 @@
19152
19448
  label: zLabel.nullish(),
19153
19449
  legend: zColorLegend.nullish(),
19154
19450
  tooltip: zTooltip.nullish(),
19451
+ brush: zBrush.nullish(),
19155
19452
  theme: zTheme.nullish(),
19156
19453
  locale: zLocale.nullish()
19157
19454
  });
@@ -19166,6 +19463,7 @@
19166
19463
  label: zLabel.nullish(),
19167
19464
  legend: zLegend.nullish(),
19168
19465
  tooltip: zTooltip.nullish(),
19466
+ brush: zBrush.nullish(),
19169
19467
  xAxis: zXBandAxis.nullish(),
19170
19468
  yAxis: zYLinearAxis.nullish(),
19171
19469
  sort: zSort.nullish(),