@visactor/vchart 1.11.7-alpha.3 → 1.11.7-alpha.9

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 (285) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +7103 -6700
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/base/base-chart.d.ts +1 -0
  6. package/cjs/chart/base/base-chart.js +4 -2
  7. package/cjs/chart/base/base-chart.js.map +1 -1
  8. package/cjs/chart/cartesian/cartesian-transformer.d.ts +4 -0
  9. package/cjs/chart/cartesian/cartesian-transformer.js +25 -10
  10. package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
  11. package/cjs/chart/index.d.ts +5 -3
  12. package/cjs/chart/index.js +16 -2
  13. package/cjs/chart/index.js.map +1 -1
  14. package/cjs/chart/interface/type.d.ts +2 -1
  15. package/cjs/chart/interface/type.js +2 -1
  16. package/cjs/chart/interface/type.js.map +1 -1
  17. package/cjs/chart/mosaic/index.d.ts +3 -0
  18. package/cjs/chart/mosaic/index.js +22 -0
  19. package/cjs/chart/mosaic/index.js.map +1 -0
  20. package/cjs/chart/mosaic/interface.d.ts +7 -0
  21. package/cjs/chart/mosaic/interface.js +6 -0
  22. package/cjs/chart/mosaic/interface.js.map +1 -0
  23. package/cjs/chart/mosaic/mosaic-transformer.d.ts +9 -0
  24. package/cjs/chart/mosaic/mosaic-transformer.js +43 -0
  25. package/cjs/chart/mosaic/mosaic-transformer.js.map +1 -0
  26. package/cjs/chart/mosaic/mosaic.d.ts +20 -0
  27. package/cjs/chart/mosaic/mosaic.js +39 -0
  28. package/cjs/chart/mosaic/mosaic.js.map +1 -0
  29. package/cjs/chart/stack.d.ts +11 -1
  30. package/cjs/chart/stack.js +6 -6
  31. package/cjs/chart/stack.js.map +1 -1
  32. package/cjs/compile/grammar-item.js +2 -1
  33. package/cjs/component/axis/cartesian/axis.js.map +1 -1
  34. package/cjs/component/crosshair/cartesian.js +8 -3
  35. package/cjs/component/crosshair/cartesian.js.map +1 -1
  36. package/cjs/component/indicator/indicator.d.ts +1 -1
  37. package/cjs/component/indicator/indicator.js +4 -2
  38. package/cjs/component/indicator/indicator.js.map +1 -1
  39. package/cjs/component/indicator/interface.d.ts +3 -1
  40. package/cjs/component/indicator/interface.js.map +1 -1
  41. package/cjs/component/label/interface.d.ts +2 -1
  42. package/cjs/component/label/interface.js.map +1 -1
  43. package/cjs/component/label/label.js +8 -5
  44. package/cjs/component/label/label.js.map +1 -1
  45. package/cjs/component/label/util.d.ts +9 -0
  46. package/cjs/component/label/util.js +35 -8
  47. package/cjs/component/label/util.js.map +1 -1
  48. package/cjs/component/marker/base-marker.d.ts +4 -3
  49. package/cjs/component/marker/base-marker.js +6 -45
  50. package/cjs/component/marker/base-marker.js.map +1 -1
  51. package/cjs/component/marker/interface.d.ts +3 -3
  52. package/cjs/component/marker/interface.js.map +1 -1
  53. package/cjs/component/marker/mark-area/cartesian-mark-area.d.ts +2 -2
  54. package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  55. package/cjs/component/marker/mark-area/interface/spec.d.ts +3 -2
  56. package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
  57. package/cjs/component/marker/mark-area/polar-mark-area.d.ts +2 -2
  58. package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
  59. package/cjs/component/marker/mark-line/cartesian-mark-line.d.ts +2 -2
  60. package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  61. package/cjs/component/marker/mark-line/interface/spec.d.ts +5 -5
  62. package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
  63. package/cjs/component/marker/mark-line/polar-mark-line.d.ts +2 -2
  64. package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
  65. package/cjs/component/marker/mark-point/cartesian-mark-point.d.ts +2 -2
  66. package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  67. package/cjs/component/marker/mark-point/geo-mark-point.d.ts +2 -1
  68. package/cjs/component/marker/mark-point/geo-mark-point.js.map +1 -1
  69. package/cjs/component/marker/mark-point/interface/spec.d.ts +3 -2
  70. package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
  71. package/cjs/component/marker/mark-point/polar-mark-point.d.ts +2 -1
  72. package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
  73. package/cjs/component/marker/utils.js +11 -0
  74. package/cjs/component/marker/utils.js.map +1 -1
  75. package/cjs/component/tooltip/interface/spec.d.ts +1 -0
  76. package/cjs/component/tooltip/interface/spec.js.map +1 -1
  77. package/cjs/component/tooltip/tooltip.d.ts +2 -1
  78. package/cjs/component/tooltip/tooltip.js +5 -3
  79. package/cjs/component/tooltip/tooltip.js.map +1 -1
  80. package/cjs/constant/hierarchy.js +1 -2
  81. package/cjs/constant/index.d.ts +5 -0
  82. package/cjs/constant/index.js +6 -2
  83. package/cjs/constant/index.js.map +1 -1
  84. package/cjs/constant/scroll-bar.js +2 -1
  85. package/cjs/core/index.d.ts +1 -2
  86. package/cjs/core/index.js +2 -2
  87. package/cjs/core/index.js.map +1 -1
  88. package/cjs/core/vchart.d.ts +2 -0
  89. package/cjs/core/vchart.js +10 -0
  90. package/cjs/core/vchart.js.map +1 -1
  91. package/cjs/data/transforms/aggregation.d.ts +8 -3
  92. package/cjs/data/transforms/aggregation.js +62 -2
  93. package/cjs/data/transforms/aggregation.js.map +1 -1
  94. package/cjs/data/transforms/stack-split.js +2 -2
  95. package/cjs/data/transforms/stack-split.js.map +1 -1
  96. package/cjs/index-wx.d.ts +1 -0
  97. package/cjs/index-wx.js +1 -1
  98. package/cjs/index-wx.js.map +1 -1
  99. package/cjs/series/bar/bar.js +7 -7
  100. package/cjs/series/bar/bar.js.map +1 -1
  101. package/cjs/series/interface/common.d.ts +2 -0
  102. package/cjs/series/interface/common.js.map +1 -1
  103. package/cjs/series/interface/series.d.ts +3 -1
  104. package/cjs/series/interface/series.js.map +1 -1
  105. package/cjs/series/interface/theme.d.ts +2 -0
  106. package/cjs/series/interface/theme.js +2 -1
  107. package/cjs/series/interface/theme.js.map +1 -1
  108. package/cjs/series/interface/type.d.ts +2 -1
  109. package/cjs/series/interface/type.js +1 -1
  110. package/cjs/series/interface/type.js.map +1 -1
  111. package/cjs/series/mosaic/interface.d.ts +16 -0
  112. package/cjs/series/mosaic/interface.js +6 -0
  113. package/cjs/series/mosaic/interface.js.map +1 -0
  114. package/cjs/series/mosaic/mosaic.d.ts +16 -0
  115. package/cjs/series/mosaic/mosaic.js +69 -0
  116. package/cjs/series/mosaic/mosaic.js.map +1 -0
  117. package/cjs/series/progress/linear/linear.d.ts +1 -3
  118. package/cjs/series/progress/linear/linear.js +46 -61
  119. package/cjs/series/progress/linear/linear.js.map +1 -1
  120. package/cjs/series/sankey/interface.d.ts +5 -4
  121. package/cjs/series/sankey/interface.js.map +1 -1
  122. package/cjs/series/sankey/sankey-transformer.d.ts +5 -0
  123. package/cjs/series/sankey/sankey-transformer.js +16 -0
  124. package/cjs/series/sankey/sankey-transformer.js.map +1 -0
  125. package/cjs/series/sankey/sankey.d.ts +7 -2
  126. package/cjs/series/sankey/sankey.js +47 -151
  127. package/cjs/series/sankey/sankey.js.map +1 -1
  128. package/cjs/series/word-cloud/interface.d.ts +1 -1
  129. package/cjs/series/word-cloud/interface.js.map +1 -1
  130. package/cjs/theme/builtin/common/series/index.js +3 -2
  131. package/cjs/theme/builtin/common/series/index.js.map +1 -1
  132. package/cjs/theme/builtin/common/series/mosaic.d.ts +2 -0
  133. package/cjs/theme/builtin/common/series/mosaic.js +27 -0
  134. package/cjs/theme/builtin/common/series/mosaic.js.map +1 -0
  135. package/cjs/theme/builtin/common/series/pie.js +1 -0
  136. package/cjs/theme/builtin/common/series/pie.js.map +1 -1
  137. package/cjs/theme/builtin/common/series/pie3d.js +1 -0
  138. package/cjs/theme/builtin/common/series/pie3d.js.map +1 -1
  139. package/cjs/util/data.d.ts +24 -1
  140. package/cjs/util/data.js +88 -17
  141. package/cjs/util/data.js.map +1 -1
  142. package/cjs/util/style.d.ts +1 -0
  143. package/cjs/util/style.js +11 -2
  144. package/cjs/util/style.js.map +1 -1
  145. package/esm/chart/base/base-chart.d.ts +1 -0
  146. package/esm/chart/base/base-chart.js +4 -2
  147. package/esm/chart/base/base-chart.js.map +1 -1
  148. package/esm/chart/cartesian/cartesian-transformer.d.ts +4 -0
  149. package/esm/chart/cartesian/cartesian-transformer.js +25 -10
  150. package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
  151. package/esm/chart/index.d.ts +5 -3
  152. package/esm/chart/index.js +4 -2
  153. package/esm/chart/index.js.map +1 -1
  154. package/esm/chart/interface/type.d.ts +2 -1
  155. package/esm/chart/interface/type.js +2 -1
  156. package/esm/chart/interface/type.js.map +1 -1
  157. package/esm/chart/mosaic/index.d.ts +3 -0
  158. package/esm/chart/mosaic/index.js +6 -0
  159. package/esm/chart/mosaic/index.js.map +1 -0
  160. package/esm/chart/mosaic/interface.d.ts +7 -0
  161. package/esm/chart/mosaic/interface.js +2 -0
  162. package/esm/chart/mosaic/interface.js.map +1 -0
  163. package/esm/chart/mosaic/mosaic-transformer.d.ts +9 -0
  164. package/esm/chart/mosaic/mosaic-transformer.js +37 -0
  165. package/esm/chart/mosaic/mosaic-transformer.js.map +1 -0
  166. package/esm/chart/mosaic/mosaic.d.ts +20 -0
  167. package/esm/chart/mosaic/mosaic.js +41 -0
  168. package/esm/chart/mosaic/mosaic.js.map +1 -0
  169. package/esm/chart/stack.d.ts +11 -1
  170. package/esm/chart/stack.js +6 -6
  171. package/esm/chart/stack.js.map +1 -1
  172. package/esm/compile/grammar-item.js +2 -1
  173. package/esm/component/axis/cartesian/axis.js.map +1 -1
  174. package/esm/component/crosshair/cartesian.js +8 -3
  175. package/esm/component/crosshair/cartesian.js.map +1 -1
  176. package/esm/component/indicator/indicator.d.ts +1 -1
  177. package/esm/component/indicator/indicator.js +4 -4
  178. package/esm/component/indicator/indicator.js.map +1 -1
  179. package/esm/component/indicator/interface.d.ts +3 -1
  180. package/esm/component/indicator/interface.js.map +1 -1
  181. package/esm/component/label/interface.d.ts +2 -1
  182. package/esm/component/label/interface.js.map +1 -1
  183. package/esm/component/label/label.js +9 -5
  184. package/esm/component/label/label.js.map +1 -1
  185. package/esm/component/label/util.d.ts +9 -0
  186. package/esm/component/label/util.js +34 -5
  187. package/esm/component/label/util.js.map +1 -1
  188. package/esm/component/marker/base-marker.d.ts +4 -3
  189. package/esm/component/marker/base-marker.js +6 -39
  190. package/esm/component/marker/base-marker.js.map +1 -1
  191. package/esm/component/marker/interface.d.ts +3 -3
  192. package/esm/component/marker/interface.js.map +1 -1
  193. package/esm/component/marker/mark-area/cartesian-mark-area.d.ts +2 -2
  194. package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
  195. package/esm/component/marker/mark-area/interface/spec.d.ts +3 -2
  196. package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
  197. package/esm/component/marker/mark-area/polar-mark-area.d.ts +2 -2
  198. package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
  199. package/esm/component/marker/mark-line/cartesian-mark-line.d.ts +2 -2
  200. package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
  201. package/esm/component/marker/mark-line/interface/spec.d.ts +5 -5
  202. package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
  203. package/esm/component/marker/mark-line/polar-mark-line.d.ts +2 -2
  204. package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
  205. package/esm/component/marker/mark-point/cartesian-mark-point.d.ts +2 -2
  206. package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
  207. package/esm/component/marker/mark-point/geo-mark-point.d.ts +2 -1
  208. package/esm/component/marker/mark-point/geo-mark-point.js.map +1 -1
  209. package/esm/component/marker/mark-point/interface/spec.d.ts +3 -2
  210. package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
  211. package/esm/component/marker/mark-point/polar-mark-point.d.ts +2 -1
  212. package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
  213. package/esm/component/marker/utils.js +11 -0
  214. package/esm/component/marker/utils.js.map +1 -1
  215. package/esm/component/tooltip/interface/spec.d.ts +1 -0
  216. package/esm/component/tooltip/interface/spec.js.map +1 -1
  217. package/esm/component/tooltip/tooltip.d.ts +2 -1
  218. package/esm/component/tooltip/tooltip.js +5 -3
  219. package/esm/component/tooltip/tooltip.js.map +1 -1
  220. package/esm/constant/hierarchy.js +1 -2
  221. package/esm/constant/index.d.ts +5 -0
  222. package/esm/constant/index.js +10 -0
  223. package/esm/constant/index.js.map +1 -1
  224. package/esm/constant/scroll-bar.js +2 -1
  225. package/esm/core/index.d.ts +1 -2
  226. package/esm/core/index.js +1 -3
  227. package/esm/core/index.js.map +1 -1
  228. package/esm/core/vchart.d.ts +2 -0
  229. package/esm/core/vchart.js +10 -0
  230. package/esm/core/vchart.js.map +1 -1
  231. package/esm/data/transforms/aggregation.d.ts +8 -3
  232. package/esm/data/transforms/aggregation.js +60 -2
  233. package/esm/data/transforms/aggregation.js.map +1 -1
  234. package/esm/data/transforms/stack-split.js +2 -2
  235. package/esm/data/transforms/stack-split.js.map +1 -1
  236. package/esm/index-wx.d.ts +1 -0
  237. package/esm/index-wx.js +2 -0
  238. package/esm/index-wx.js.map +1 -1
  239. package/esm/series/bar/bar.js +8 -8
  240. package/esm/series/bar/bar.js.map +1 -1
  241. package/esm/series/interface/common.d.ts +2 -0
  242. package/esm/series/interface/common.js.map +1 -1
  243. package/esm/series/interface/series.d.ts +3 -1
  244. package/esm/series/interface/series.js.map +1 -1
  245. package/esm/series/interface/theme.d.ts +2 -0
  246. package/esm/series/interface/theme.js +2 -1
  247. package/esm/series/interface/theme.js.map +1 -1
  248. package/esm/series/interface/type.d.ts +2 -1
  249. package/esm/series/interface/type.js +1 -1
  250. package/esm/series/interface/type.js.map +1 -1
  251. package/esm/series/mosaic/interface.d.ts +16 -0
  252. package/esm/series/mosaic/interface.js +2 -0
  253. package/esm/series/mosaic/interface.js.map +1 -0
  254. package/esm/series/mosaic/mosaic.d.ts +16 -0
  255. package/esm/series/mosaic/mosaic.js +78 -0
  256. package/esm/series/mosaic/mosaic.js.map +1 -0
  257. package/esm/series/progress/linear/linear.d.ts +1 -3
  258. package/esm/series/progress/linear/linear.js +46 -62
  259. package/esm/series/progress/linear/linear.js.map +1 -1
  260. package/esm/series/sankey/interface.d.ts +5 -4
  261. package/esm/series/sankey/interface.js.map +1 -1
  262. package/esm/series/sankey/sankey-transformer.d.ts +5 -0
  263. package/esm/series/sankey/sankey-transformer.js +8 -0
  264. package/esm/series/sankey/sankey-transformer.js.map +1 -0
  265. package/esm/series/sankey/sankey.d.ts +7 -2
  266. package/esm/series/sankey/sankey.js +49 -147
  267. package/esm/series/sankey/sankey.js.map +1 -1
  268. package/esm/series/word-cloud/interface.d.ts +1 -1
  269. package/esm/series/word-cloud/interface.js.map +1 -1
  270. package/esm/theme/builtin/common/series/index.js +4 -1
  271. package/esm/theme/builtin/common/series/index.js.map +1 -1
  272. package/esm/theme/builtin/common/series/mosaic.d.ts +2 -0
  273. package/esm/theme/builtin/common/series/mosaic.js +23 -0
  274. package/esm/theme/builtin/common/series/mosaic.js.map +1 -0
  275. package/esm/theme/builtin/common/series/pie.js +1 -0
  276. package/esm/theme/builtin/common/series/pie.js.map +1 -1
  277. package/esm/theme/builtin/common/series/pie3d.js +1 -0
  278. package/esm/theme/builtin/common/series/pie3d.js.map +1 -1
  279. package/esm/util/data.d.ts +24 -1
  280. package/esm/util/data.js +86 -17
  281. package/esm/util/data.js.map +1 -1
  282. package/esm/util/style.d.ts +1 -0
  283. package/esm/util/style.js +8 -0
  284. package/esm/util/style.js.map +1 -1
  285. package/package.json +16 -16
@@ -17,6 +17,7 @@ import type { IGroupMark } from '../../mark/group';
17
17
  import type { IGeoCoordinateHelper } from '../../component/geo/interface';
18
18
  import type { ILabelMark } from '../../mark/label';
19
19
  import type { BaseLegend } from '../../component/legend/base-legend';
20
+ import type { ILabelSpec } from '../../component/label/interface';
20
21
  export interface ISeries extends IModel {
21
22
  readonly type: string;
22
23
  readonly name?: string;
@@ -94,7 +95,7 @@ export interface ISeries extends IModel {
94
95
  getDefaultColorDomain: () => any[];
95
96
  getInvalidType: () => IInvalidType;
96
97
  getDefaultShapeType: () => string;
97
- initLabelMarkStyle?: (labelMark: ILabelMark) => void;
98
+ initLabelMarkStyle?: (labelMark: ILabelMark, labelSpec: ILabelSpec) => void;
98
99
  initTotalLabelMarkStyle?: (labelMark: ILabelMark) => void;
99
100
  getTotalLabelComponentStyle?: (info: Pick<ILabelInfo, 'baseMark' | 'labelMark'>) => any;
100
101
  getGroupFields: () => string[];
@@ -102,6 +103,7 @@ export interface ISeries extends IModel {
102
103
  getMarkAttributeContext: () => ISeriesMarkAttributeContext;
103
104
  getSeriesFieldValue: (datum: Datum, seriesField?: string) => any;
104
105
  legendSelectedFilter?: (component: BaseLegend<any>, selectedKeys: StringOrNumber[]) => StringOrNumber[];
106
+ parseLabelStyle?: (labelStyle: any, labelSpec: any, labelMark?: ILabelMark) => any;
105
107
  }
106
108
  export interface ICartesianSeries extends ISeries {
107
109
  readonly coordinate: 'cartesian';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { ILabelInfo } from './../../component/label/label';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesSpecInfo, ISeriesStackData } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType, IGroup, StringOrNumber } from '../../typings';\nimport type { ISeriesMarkAttributeContext, StateValueType } from '../../compile/mark';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\nimport type { ILabelMark } from '../../mark/label';\nimport type { BaseLegend } from '../../component/legend/base-legend';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel {\n readonly type: string;\n readonly name?: string;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // layout\n onLayoutEnd: (ctx: any) => void;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatisticsByField: (field: string, isNumeric?: boolean) => { values?: any[]; min?: number; max?: number };\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n isHierarchyData?: () => boolean;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n getActiveMarks: () => IMark[];\n getSeriesMark: () => IMark;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n getStackValue: () => StringOrNumber | undefined;\n getPercent: () => boolean;\n getStackOffsetSilhouette: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoInField: (field: string) => ISeriesSeriesInfo[];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => IGroup | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: Datum, checkInViewData?: boolean) => IPoint | null;\n dataToPositionX: (datum: Datum) => number | null;\n dataToPositionY: (datum: Datum) => number | null;\n dataToPositionZ?: (datum: Datum) => number | null;\n valueToPosition: (value1: any, value2?: any) => IPoint;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n getDefaultColorDomain: () => any[];\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (labelMark: ILabelMark) => void;\n /** 设置总计标签配置 */\n initTotalLabelMarkStyle?: (labelMark: ILabelMark) => void;\n getTotalLabelComponentStyle?: (info: Pick<ILabelInfo, 'baseMark' | 'labelMark'>) => any;\n\n getGroupFields: () => string[];\n\n getSpecInfo: () => ISeriesSpecInfo;\n getMarkAttributeContext: () => ISeriesMarkAttributeContext;\n\n getSeriesFieldValue: (datum: Datum, seriesField?: string) => any;\n\n legendSelectedFilter?: (component: BaseLegend<any>, selectedKeys: StringOrNumber[]) => StringOrNumber[];\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldX2: string;\n setFieldX2: (field: string) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldY2: string;\n setFieldY2: (field: string) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n\n dataToPositionX1: (datum: Datum) => number | null;\n dataToPositionY1: (datum: Datum) => number | null;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n valueToPositionX: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n valueToPositionY: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n getNameProperty: () => string;\n\n dataToPosition: (datum: any, checkInViewData?: boolean) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n nameValueToPosition: (name: string) => IPoint | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n getDatumCenter: (datum: any) => [number, number];\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n getCenter: () => IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries extends ISeries {\n getPoints: (datum: any) => IPoint[];\n getCategoryField: () => string;\n\n valueToPosition: (value: any) => IPoint;\n}\n"]}
1
+ {"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { ILabelInfo } from './../../component/label/label';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesSpecInfo, ISeriesStackData } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType, IGroup, StringOrNumber } from '../../typings';\nimport type { ISeriesMarkAttributeContext, StateValueType } from '../../compile/mark';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\nimport type { ILabelMark } from '../../mark/label';\nimport type { BaseLegend } from '../../component/legend/base-legend';\nimport type { ILabelSpec } from '../../component/label/interface';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel {\n readonly type: string;\n readonly name?: string;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // layout\n onLayoutEnd: (ctx: any) => void;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatisticsByField: (field: string, isNumeric?: boolean) => { values?: any[]; min?: number; max?: number };\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n isHierarchyData?: () => boolean;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n getActiveMarks: () => IMark[];\n getSeriesMark: () => IMark;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n getStackValue: () => StringOrNumber | undefined;\n getPercent: () => boolean;\n getStackOffsetSilhouette: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoInField: (field: string) => ISeriesSeriesInfo[];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => IGroup | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: Datum, checkInViewData?: boolean) => IPoint | null;\n dataToPositionX: (datum: Datum) => number | null;\n dataToPositionY: (datum: Datum) => number | null;\n dataToPositionZ?: (datum: Datum) => number | null;\n valueToPosition: (value1: any, value2?: any) => IPoint;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n getDefaultColorDomain: () => any[];\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (labelMark: ILabelMark, labelSpec: ILabelSpec) => void;\n /** 设置总计标签配置 */\n initTotalLabelMarkStyle?: (labelMark: ILabelMark) => void;\n getTotalLabelComponentStyle?: (info: Pick<ILabelInfo, 'baseMark' | 'labelMark'>) => any;\n\n getGroupFields: () => string[];\n\n getSpecInfo: () => ISeriesSpecInfo;\n getMarkAttributeContext: () => ISeriesMarkAttributeContext;\n\n getSeriesFieldValue: (datum: Datum, seriesField?: string) => any;\n\n legendSelectedFilter?: (component: BaseLegend<any>, selectedKeys: StringOrNumber[]) => StringOrNumber[];\n parseLabelStyle?: (labelStyle: any, labelSpec: any, labelMark?: ILabelMark) => any;\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldX2: string;\n setFieldX2: (field: string) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldY2: string;\n setFieldY2: (field: string) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n\n dataToPositionX1: (datum: Datum) => number | null;\n dataToPositionY1: (datum: Datum) => number | null;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n valueToPositionX: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n valueToPositionY: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n getNameProperty: () => string;\n\n dataToPosition: (datum: any, checkInViewData?: boolean) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n nameValueToPosition: (name: string) => IPoint | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n getDatumCenter: (datum: any) => [number, number];\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n getCenter: () => IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries extends ISeries {\n getPoints: (datum: any) => IPoint[];\n getCategoryField: () => string;\n\n valueToPosition: (value: any) => IPoint;\n}\n"]}
@@ -27,6 +27,7 @@ import type { SeriesMarkMap } from './common';
27
27
  import type { IRangeAreaSeriesTheme } from '../range-area/interface';
28
28
  import type { ILiquidSeriesTheme } from '../liquid/interface';
29
29
  import type { IVennSeriesTheme } from '../venn/interface';
30
+ import type { IMosaicSeriesTheme } from '../mosaic/interface';
30
31
  export interface ISeriesTheme {
31
32
  [SeriesTypeEnum.bar]?: IBarSeriesTheme;
32
33
  [SeriesTypeForThemeEnum.bar_vertical]?: IBarSeriesTheme;
@@ -88,6 +89,7 @@ export interface ISeriesTheme {
88
89
  [SeriesTypeEnum.correlation]?: ICorrelationSeriesTheme;
89
90
  [SeriesTypeEnum.liquid]?: ILiquidSeriesTheme;
90
91
  [SeriesTypeEnum.venn]?: IVennSeriesTheme;
92
+ [SeriesTypeEnum.mosaic]?: IMosaicSeriesTheme;
91
93
  }
92
94
  export declare enum SeriesTypeForThemeEnum {
93
95
  area_horizontal = "area_horizontal",
@@ -111,6 +111,7 @@ export const seriesMarkInfoMap = {
111
111
  [SeriesTypeEnum.correlation]: correlationSeriesMark,
112
112
  [SeriesTypeEnum.rangeArea]: rangeAreaSeriesMark,
113
113
  [SeriesTypeEnum.liquid]: LiquidSeriesMark,
114
- [SeriesTypeEnum.venn]: vennSeriesMark
114
+ [SeriesTypeEnum.venn]: vennSeriesMark,
115
+ [SeriesTypeEnum.mosaic]: barSeriesMark
115
116
  };
116
117
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/interface/theme.ts"],"names":[],"mappings":"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","file":"theme.js","sourcesContent":["import type { IWaterfallSeriesTheme } from '../waterfall/interface';\nimport type { IBoxPlotSeriesTheme } from '../box-plot/interface';\nimport type { IBar3dSeriesTheme, IBarSeriesTheme } from '../bar/interface';\nimport type { ILineSeriesTheme } from '../line/interface';\nimport type { IScatterSeriesTheme } from '../scatter/interface';\nimport type { IAreaSeriesTheme } from '../area/interface';\nimport type { IRadarSeriesTheme } from '../radar/interface';\nimport type { IPie3dSeriesTheme, IPieSeriesTheme } from '../pie/interface';\nimport type { IRoseSeriesTheme } from '../rose/interface';\nimport type { IMapSeriesTheme } from '../map/interface';\nimport type { ICircularProgressSeriesTheme } from '../progress/circular/interface';\nimport type { ILinkSeriesTheme } from '../link/interface';\nimport type { IDotSeriesTheme } from '../dot/interface';\nimport type { IWordCloud3dSeriesTheme, IWordCloudSeriesTheme } from '../word-cloud/interface';\nimport type { IFunnel3dSeriesTheme, IFunnelSeriesTheme } from '../funnel/interface';\nimport type { ILinearProgressSeriesTheme } from '../progress/linear/interface';\nimport type { IGaugePointerSeriesTheme, IGaugeSeriesTheme } from '../gauge';\nimport type { ISankeySeriesTheme } from '../sankey/interface';\nimport type { ITreemapSeriesTheme } from '../treemap/interface';\nimport type { ISunburstSeriesTheme } from '../sunburst/interface';\nimport type { IRangeColumnSeriesTheme } from '../range-column/interface';\nimport type { ICirclePackingSeriesTheme } from '../circle-packing/interface';\nimport type { IHeatmapSeriesTheme } from '../heatmap/interface';\nimport type { ICorrelationSeriesTheme } from '../correlation/interface';\nimport { SeriesTypeEnum } from './type';\nimport type { SeriesMarkMap } from './common';\nimport { bar3dSeriesMark, barSeriesMark } from '../bar/constant';\nimport { lineSeriesMark } from '../line/constant';\nimport { scatterSeriesMark } from '../scatter/constant';\nimport { areaSeriesMark } from '../area/constant';\nimport { radarSeriesMark } from '../radar/constant';\nimport { pie3dSeriesMark, pieSeriesMark } from '../pie/constant';\nimport { roseSeriesMark } from '../rose/constant';\nimport { mapSeriesMark } from '../map/constant';\nimport { circularProgressSeriesMark } from '../progress/circular/constant';\nimport { linkSeriesMark } from '../link/constant';\nimport { dotSeriesMark } from '../dot/constant';\nimport { wordCloudSeriesMark } from '../word-cloud/constant';\nimport { funnel3dSeriesMark, funnelSeriesMark } from '../funnel/constant';\nimport { linearProgressSeriesMark } from '../progress/linear/constant';\nimport { waterfallSeriesMark } from '../waterfall/constant';\nimport { boxPlotSeriesMark } from '../box-plot/constant';\nimport { treemapSeriesMark } from '../treemap/constant';\nimport { sankeySeriesMark } from '../sankey/constant';\nimport { gaugePointerSeriesMark, gaugeSeriesMark } from '../gauge/constant';\nimport { sunburstSeriesMark } from '../sunburst/constant';\nimport { rangeColumn3dSeriesMark, rangeColumnSeriesMark } from '../range-column/constant';\nimport { circlePackingSeriesMark } from '../circle-packing/constant';\nimport { heatmapSeriesMark } from '../heatmap/constant';\nimport { correlationSeriesMark } from '../correlation/constant';\nimport { rangeAreaSeriesMark } from '../range-area/constant';\nimport type { IRangeAreaSeriesTheme } from '../range-area/interface';\nimport { baseSeriesMark } from '../base/constant';\nimport type { ILiquidSeriesTheme } from '../liquid/interface';\nimport { LiquidSeriesMark } from '../liquid/constant';\nimport type { IVennSeriesTheme } from '../venn/interface';\nimport { vennSeriesMark } from '../venn/constant';\n\nexport interface ISeriesTheme {\n [SeriesTypeEnum.bar]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_vertical]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_horizontal]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_stack]?: IBarSeriesTheme;\n\n [SeriesTypeEnum.bar3d]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_vertical]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_horizontal]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_stack]?: IBar3dSeriesTheme;\n\n [SeriesTypeEnum.line]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_vertical]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_horizontal]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_stack]?: ILineSeriesTheme;\n\n [SeriesTypeEnum.area]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_vertical]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_horizontal]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_stack]?: IAreaSeriesTheme;\n\n [SeriesTypeEnum.rangeColumn]?: IRangeColumnSeriesTheme;\n [SeriesTypeForThemeEnum.rangeColumn_vertical]?: IRangeColumnSeriesTheme;\n [SeriesTypeForThemeEnum.rangeColumn_horizontal]?: IRangeColumnSeriesTheme;\n\n [SeriesTypeEnum.rangeArea]?: IRangeAreaSeriesTheme;\n [SeriesTypeForThemeEnum.rangeArea_vertical]?: IRangeAreaSeriesTheme;\n [SeriesTypeForThemeEnum.rangeArea_horizontal]?: IRangeAreaSeriesTheme;\n\n [SeriesTypeEnum.linearProgress]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_vertical]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_horizontal]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_stack]?: ILinearProgressSeriesTheme;\n\n [SeriesTypeEnum.boxPlot]?: IBoxPlotSeriesTheme;\n [SeriesTypeForThemeEnum.boxPlot_vertical]?: IBoxPlotSeriesTheme;\n [SeriesTypeForThemeEnum.boxPlot_horizontal]?: IBoxPlotSeriesTheme;\n\n [SeriesTypeEnum.sankey]?: ISankeySeriesTheme;\n [SeriesTypeForThemeEnum.sankey_vertical]?: ISankeySeriesTheme;\n [SeriesTypeForThemeEnum.sankey_horizontal]?: ISankeySeriesTheme;\n\n [SeriesTypeEnum.waterfall]?: IWaterfallSeriesTheme;\n [SeriesTypeForThemeEnum.waterfall_vertical]?: IWaterfallSeriesTheme;\n [SeriesTypeForThemeEnum.waterfall_horizontal]?: IWaterfallSeriesTheme;\n\n [SeriesTypeEnum.scatter]?: IScatterSeriesTheme;\n\n [SeriesTypeEnum.radar]?: IRadarSeriesTheme;\n [SeriesTypeForThemeEnum.radar_stack]?: IRadarSeriesTheme;\n\n [SeriesTypeEnum.pie]?: IPieSeriesTheme;\n [SeriesTypeEnum.pie3d]?: IPie3dSeriesTheme;\n\n [SeriesTypeEnum.rose]?: IRoseSeriesTheme;\n [SeriesTypeForThemeEnum.rose_stack]?: IRoseSeriesTheme;\n\n [SeriesTypeEnum.map]?: IMapSeriesTheme;\n\n [SeriesTypeEnum.circularProgress]?: ICircularProgressSeriesTheme;\n [SeriesTypeForThemeEnum.circularProgress_stack]?: ICircularProgressSeriesTheme;\n\n [SeriesTypeEnum.link]?: ILinkSeriesTheme;\n [SeriesTypeEnum.dot]?: IDotSeriesTheme;\n [SeriesTypeEnum.wordCloud]?: IWordCloudSeriesTheme;\n [SeriesTypeEnum.wordCloud3d]?: IWordCloud3dSeriesTheme;\n [SeriesTypeEnum.funnel]?: IFunnelSeriesTheme;\n [SeriesTypeEnum.funnel3d]?: IFunnel3dSeriesTheme;\n [SeriesTypeEnum.treemap]?: ITreemapSeriesTheme;\n [SeriesTypeEnum.gauge]?: IGaugeSeriesTheme;\n [SeriesTypeEnum.gaugePointer]?: IGaugePointerSeriesTheme;\n [SeriesTypeEnum.sunburst]?: ISunburstSeriesTheme;\n [SeriesTypeEnum.circlePacking]?: ICirclePackingSeriesTheme;\n [SeriesTypeEnum.heatmap]?: IHeatmapSeriesTheme;\n [SeriesTypeEnum.correlation]?: ICorrelationSeriesTheme;\n [SeriesTypeEnum.liquid]?: ILiquidSeriesTheme;\n [SeriesTypeEnum.venn]?: IVennSeriesTheme;\n}\n\n/** 带有方向信息的系列类型,作为主题相关的补充类型 */\nexport enum SeriesTypeForThemeEnum {\n area_horizontal = 'area_horizontal',\n area_vertical = 'area_vertical',\n area_stack = 'area_stack',\n\n line_horizontal = 'line_horizontal',\n line_vertical = 'line_vertical',\n line_stack = 'line_stack',\n\n bar_horizontal = 'bar_horizontal',\n bar_vertical = 'bar_vertical',\n bar_stack = 'bar_stack',\n\n bar3d_horizontal = 'bar3d_horizontal',\n bar3d_vertical = 'bar3d_vertical',\n bar3d_stack = 'bar3d_stack',\n\n rangeColumn_horizontal = 'rangeColumn_horizontal',\n rangeColumn_vertical = 'rangeColumn_vertical',\n\n rangeColumn3d_horizontal = 'rangeColumn3d_horizontal',\n rangeColumn3d_vertical = 'rangeColumn3d_vertical',\n\n rangeArea_horizontal = 'rangeArea_horizontal',\n rangeArea_vertical = 'rangeArea_vertical',\n\n linearProgress_horizontal = 'linearProgress_horizontal',\n linearProgress_vertical = 'linearProgress_vertical',\n linearProgress_stack = 'linearProgress_stack',\n\n boxPlot_horizontal = 'boxPlot_horizontal',\n boxPlot_vertical = 'boxPlot_vertical',\n\n sankey_horizontal = 'sankey_horizontal',\n sankey_vertical = 'sankey_vertical',\n\n waterfall_horizontal = 'waterfall_horizontal',\n waterfall_vertical = 'waterfall_vertical',\n\n circularProgress_stack = 'circularProgress_stack',\n\n radar_stack = 'radar_stack',\n rose_stack = 'rose_stack'\n}\n\nexport const seriesMarkInfoMap: Record<SeriesTypeEnum, SeriesMarkMap> = {\n [SeriesTypeEnum.bar]: barSeriesMark,\n [SeriesTypeEnum.bar3d]: bar3dSeriesMark,\n [SeriesTypeEnum.line]: lineSeriesMark,\n [SeriesTypeEnum.scatter]: scatterSeriesMark,\n [SeriesTypeEnum.area]: areaSeriesMark,\n [SeriesTypeEnum.radar]: radarSeriesMark,\n [SeriesTypeEnum.pie]: pieSeriesMark,\n [SeriesTypeEnum.pie3d]: pie3dSeriesMark,\n [SeriesTypeEnum.rose]: roseSeriesMark,\n [SeriesTypeEnum.geo]: baseSeriesMark,\n [SeriesTypeEnum.map]: mapSeriesMark,\n [SeriesTypeEnum.circularProgress]: circularProgressSeriesMark,\n [SeriesTypeEnum.link]: linkSeriesMark,\n [SeriesTypeEnum.dot]: dotSeriesMark,\n [SeriesTypeEnum.wordCloud]: wordCloudSeriesMark,\n [SeriesTypeEnum.wordCloud3d]: wordCloudSeriesMark,\n [SeriesTypeEnum.funnel]: funnelSeriesMark,\n [SeriesTypeEnum.funnel3d]: funnel3dSeriesMark,\n [SeriesTypeEnum.linearProgress]: linearProgressSeriesMark,\n [SeriesTypeEnum.waterfall]: waterfallSeriesMark,\n [SeriesTypeEnum.boxPlot]: boxPlotSeriesMark,\n [SeriesTypeEnum.treemap]: treemapSeriesMark,\n [SeriesTypeEnum.sankey]: sankeySeriesMark,\n [SeriesTypeEnum.gauge]: gaugeSeriesMark,\n [SeriesTypeEnum.gaugePointer]: gaugePointerSeriesMark,\n [SeriesTypeEnum.sunburst]: sunburstSeriesMark,\n [SeriesTypeEnum.rangeColumn]: rangeColumnSeriesMark,\n [SeriesTypeEnum.rangeColumn3d]: rangeColumn3dSeriesMark,\n [SeriesTypeEnum.circlePacking]: circlePackingSeriesMark,\n [SeriesTypeEnum.heatmap]: heatmapSeriesMark,\n [SeriesTypeEnum.correlation]: correlationSeriesMark,\n [SeriesTypeEnum.rangeArea]: rangeAreaSeriesMark,\n [SeriesTypeEnum.liquid]: LiquidSeriesMark,\n [SeriesTypeEnum.venn]: vennSeriesMark\n};\n"]}
1
+ {"version":3,"sources":["../src/series/interface/theme.ts"],"names":[],"mappings":"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","file":"theme.js","sourcesContent":["import type { IWaterfallSeriesTheme } from '../waterfall/interface';\nimport type { IBoxPlotSeriesTheme } from '../box-plot/interface';\nimport type { IBar3dSeriesTheme, IBarSeriesTheme } from '../bar/interface';\nimport type { ILineSeriesTheme } from '../line/interface';\nimport type { IScatterSeriesTheme } from '../scatter/interface';\nimport type { IAreaSeriesTheme } from '../area/interface';\nimport type { IRadarSeriesTheme } from '../radar/interface';\nimport type { IPie3dSeriesTheme, IPieSeriesTheme } from '../pie/interface';\nimport type { IRoseSeriesTheme } from '../rose/interface';\nimport type { IMapSeriesTheme } from '../map/interface';\nimport type { ICircularProgressSeriesTheme } from '../progress/circular/interface';\nimport type { ILinkSeriesTheme } from '../link/interface';\nimport type { IDotSeriesTheme } from '../dot/interface';\nimport type { IWordCloud3dSeriesTheme, IWordCloudSeriesTheme } from '../word-cloud/interface';\nimport type { IFunnel3dSeriesTheme, IFunnelSeriesTheme } from '../funnel/interface';\nimport type { ILinearProgressSeriesTheme } from '../progress/linear/interface';\nimport type { IGaugePointerSeriesTheme, IGaugeSeriesTheme } from '../gauge';\nimport type { ISankeySeriesTheme } from '../sankey/interface';\nimport type { ITreemapSeriesTheme } from '../treemap/interface';\nimport type { ISunburstSeriesTheme } from '../sunburst/interface';\nimport type { IRangeColumnSeriesTheme } from '../range-column/interface';\nimport type { ICirclePackingSeriesTheme } from '../circle-packing/interface';\nimport type { IHeatmapSeriesTheme } from '../heatmap/interface';\nimport type { ICorrelationSeriesTheme } from '../correlation/interface';\nimport { SeriesTypeEnum } from './type';\nimport type { SeriesMarkMap } from './common';\nimport { bar3dSeriesMark, barSeriesMark } from '../bar/constant';\nimport { lineSeriesMark } from '../line/constant';\nimport { scatterSeriesMark } from '../scatter/constant';\nimport { areaSeriesMark } from '../area/constant';\nimport { radarSeriesMark } from '../radar/constant';\nimport { pie3dSeriesMark, pieSeriesMark } from '../pie/constant';\nimport { roseSeriesMark } from '../rose/constant';\nimport { mapSeriesMark } from '../map/constant';\nimport { circularProgressSeriesMark } from '../progress/circular/constant';\nimport { linkSeriesMark } from '../link/constant';\nimport { dotSeriesMark } from '../dot/constant';\nimport { wordCloudSeriesMark } from '../word-cloud/constant';\nimport { funnel3dSeriesMark, funnelSeriesMark } from '../funnel/constant';\nimport { linearProgressSeriesMark } from '../progress/linear/constant';\nimport { waterfallSeriesMark } from '../waterfall/constant';\nimport { boxPlotSeriesMark } from '../box-plot/constant';\nimport { treemapSeriesMark } from '../treemap/constant';\nimport { sankeySeriesMark } from '../sankey/constant';\nimport { gaugePointerSeriesMark, gaugeSeriesMark } from '../gauge/constant';\nimport { sunburstSeriesMark } from '../sunburst/constant';\nimport { rangeColumn3dSeriesMark, rangeColumnSeriesMark } from '../range-column/constant';\nimport { circlePackingSeriesMark } from '../circle-packing/constant';\nimport { heatmapSeriesMark } from '../heatmap/constant';\nimport { correlationSeriesMark } from '../correlation/constant';\nimport { rangeAreaSeriesMark } from '../range-area/constant';\nimport type { IRangeAreaSeriesTheme } from '../range-area/interface';\nimport { baseSeriesMark } from '../base/constant';\nimport type { ILiquidSeriesTheme } from '../liquid/interface';\nimport { LiquidSeriesMark } from '../liquid/constant';\nimport type { IVennSeriesTheme } from '../venn/interface';\nimport { vennSeriesMark } from '../venn/constant';\nimport type { IMosaicSeriesTheme } from '../mosaic/interface';\n\nexport interface ISeriesTheme {\n [SeriesTypeEnum.bar]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_vertical]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_horizontal]?: IBarSeriesTheme;\n [SeriesTypeForThemeEnum.bar_stack]?: IBarSeriesTheme;\n\n [SeriesTypeEnum.bar3d]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_vertical]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_horizontal]?: IBar3dSeriesTheme;\n [SeriesTypeForThemeEnum.bar3d_stack]?: IBar3dSeriesTheme;\n\n [SeriesTypeEnum.line]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_vertical]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_horizontal]?: ILineSeriesTheme;\n [SeriesTypeForThemeEnum.line_stack]?: ILineSeriesTheme;\n\n [SeriesTypeEnum.area]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_vertical]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_horizontal]?: IAreaSeriesTheme;\n [SeriesTypeForThemeEnum.area_stack]?: IAreaSeriesTheme;\n\n [SeriesTypeEnum.rangeColumn]?: IRangeColumnSeriesTheme;\n [SeriesTypeForThemeEnum.rangeColumn_vertical]?: IRangeColumnSeriesTheme;\n [SeriesTypeForThemeEnum.rangeColumn_horizontal]?: IRangeColumnSeriesTheme;\n\n [SeriesTypeEnum.rangeArea]?: IRangeAreaSeriesTheme;\n [SeriesTypeForThemeEnum.rangeArea_vertical]?: IRangeAreaSeriesTheme;\n [SeriesTypeForThemeEnum.rangeArea_horizontal]?: IRangeAreaSeriesTheme;\n\n [SeriesTypeEnum.linearProgress]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_vertical]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_horizontal]?: ILinearProgressSeriesTheme;\n [SeriesTypeForThemeEnum.linearProgress_stack]?: ILinearProgressSeriesTheme;\n\n [SeriesTypeEnum.boxPlot]?: IBoxPlotSeriesTheme;\n [SeriesTypeForThemeEnum.boxPlot_vertical]?: IBoxPlotSeriesTheme;\n [SeriesTypeForThemeEnum.boxPlot_horizontal]?: IBoxPlotSeriesTheme;\n\n [SeriesTypeEnum.sankey]?: ISankeySeriesTheme;\n [SeriesTypeForThemeEnum.sankey_vertical]?: ISankeySeriesTheme;\n [SeriesTypeForThemeEnum.sankey_horizontal]?: ISankeySeriesTheme;\n\n [SeriesTypeEnum.waterfall]?: IWaterfallSeriesTheme;\n [SeriesTypeForThemeEnum.waterfall_vertical]?: IWaterfallSeriesTheme;\n [SeriesTypeForThemeEnum.waterfall_horizontal]?: IWaterfallSeriesTheme;\n\n [SeriesTypeEnum.scatter]?: IScatterSeriesTheme;\n\n [SeriesTypeEnum.radar]?: IRadarSeriesTheme;\n [SeriesTypeForThemeEnum.radar_stack]?: IRadarSeriesTheme;\n\n [SeriesTypeEnum.pie]?: IPieSeriesTheme;\n [SeriesTypeEnum.pie3d]?: IPie3dSeriesTheme;\n\n [SeriesTypeEnum.rose]?: IRoseSeriesTheme;\n [SeriesTypeForThemeEnum.rose_stack]?: IRoseSeriesTheme;\n\n [SeriesTypeEnum.map]?: IMapSeriesTheme;\n\n [SeriesTypeEnum.circularProgress]?: ICircularProgressSeriesTheme;\n [SeriesTypeForThemeEnum.circularProgress_stack]?: ICircularProgressSeriesTheme;\n\n [SeriesTypeEnum.link]?: ILinkSeriesTheme;\n [SeriesTypeEnum.dot]?: IDotSeriesTheme;\n [SeriesTypeEnum.wordCloud]?: IWordCloudSeriesTheme;\n [SeriesTypeEnum.wordCloud3d]?: IWordCloud3dSeriesTheme;\n [SeriesTypeEnum.funnel]?: IFunnelSeriesTheme;\n [SeriesTypeEnum.funnel3d]?: IFunnel3dSeriesTheme;\n [SeriesTypeEnum.treemap]?: ITreemapSeriesTheme;\n [SeriesTypeEnum.gauge]?: IGaugeSeriesTheme;\n [SeriesTypeEnum.gaugePointer]?: IGaugePointerSeriesTheme;\n [SeriesTypeEnum.sunburst]?: ISunburstSeriesTheme;\n [SeriesTypeEnum.circlePacking]?: ICirclePackingSeriesTheme;\n [SeriesTypeEnum.heatmap]?: IHeatmapSeriesTheme;\n [SeriesTypeEnum.correlation]?: ICorrelationSeriesTheme;\n [SeriesTypeEnum.liquid]?: ILiquidSeriesTheme;\n [SeriesTypeEnum.venn]?: IVennSeriesTheme;\n [SeriesTypeEnum.mosaic]?: IMosaicSeriesTheme;\n}\n\n/** 带有方向信息的系列类型,作为主题相关的补充类型 */\nexport enum SeriesTypeForThemeEnum {\n area_horizontal = 'area_horizontal',\n area_vertical = 'area_vertical',\n area_stack = 'area_stack',\n\n line_horizontal = 'line_horizontal',\n line_vertical = 'line_vertical',\n line_stack = 'line_stack',\n\n bar_horizontal = 'bar_horizontal',\n bar_vertical = 'bar_vertical',\n bar_stack = 'bar_stack',\n\n bar3d_horizontal = 'bar3d_horizontal',\n bar3d_vertical = 'bar3d_vertical',\n bar3d_stack = 'bar3d_stack',\n\n rangeColumn_horizontal = 'rangeColumn_horizontal',\n rangeColumn_vertical = 'rangeColumn_vertical',\n\n rangeColumn3d_horizontal = 'rangeColumn3d_horizontal',\n rangeColumn3d_vertical = 'rangeColumn3d_vertical',\n\n rangeArea_horizontal = 'rangeArea_horizontal',\n rangeArea_vertical = 'rangeArea_vertical',\n\n linearProgress_horizontal = 'linearProgress_horizontal',\n linearProgress_vertical = 'linearProgress_vertical',\n linearProgress_stack = 'linearProgress_stack',\n\n boxPlot_horizontal = 'boxPlot_horizontal',\n boxPlot_vertical = 'boxPlot_vertical',\n\n sankey_horizontal = 'sankey_horizontal',\n sankey_vertical = 'sankey_vertical',\n\n waterfall_horizontal = 'waterfall_horizontal',\n waterfall_vertical = 'waterfall_vertical',\n\n circularProgress_stack = 'circularProgress_stack',\n\n radar_stack = 'radar_stack',\n rose_stack = 'rose_stack'\n}\n\nexport const seriesMarkInfoMap: Record<SeriesTypeEnum, SeriesMarkMap> = {\n [SeriesTypeEnum.bar]: barSeriesMark,\n [SeriesTypeEnum.bar3d]: bar3dSeriesMark,\n [SeriesTypeEnum.line]: lineSeriesMark,\n [SeriesTypeEnum.scatter]: scatterSeriesMark,\n [SeriesTypeEnum.area]: areaSeriesMark,\n [SeriesTypeEnum.radar]: radarSeriesMark,\n [SeriesTypeEnum.pie]: pieSeriesMark,\n [SeriesTypeEnum.pie3d]: pie3dSeriesMark,\n [SeriesTypeEnum.rose]: roseSeriesMark,\n [SeriesTypeEnum.geo]: baseSeriesMark,\n [SeriesTypeEnum.map]: mapSeriesMark,\n [SeriesTypeEnum.circularProgress]: circularProgressSeriesMark,\n [SeriesTypeEnum.link]: linkSeriesMark,\n [SeriesTypeEnum.dot]: dotSeriesMark,\n [SeriesTypeEnum.wordCloud]: wordCloudSeriesMark,\n [SeriesTypeEnum.wordCloud3d]: wordCloudSeriesMark,\n [SeriesTypeEnum.funnel]: funnelSeriesMark,\n [SeriesTypeEnum.funnel3d]: funnel3dSeriesMark,\n [SeriesTypeEnum.linearProgress]: linearProgressSeriesMark,\n [SeriesTypeEnum.waterfall]: waterfallSeriesMark,\n [SeriesTypeEnum.boxPlot]: boxPlotSeriesMark,\n [SeriesTypeEnum.treemap]: treemapSeriesMark,\n [SeriesTypeEnum.sankey]: sankeySeriesMark,\n [SeriesTypeEnum.gauge]: gaugeSeriesMark,\n [SeriesTypeEnum.gaugePointer]: gaugePointerSeriesMark,\n [SeriesTypeEnum.sunburst]: sunburstSeriesMark,\n [SeriesTypeEnum.rangeColumn]: rangeColumnSeriesMark,\n [SeriesTypeEnum.rangeColumn3d]: rangeColumn3dSeriesMark,\n [SeriesTypeEnum.circlePacking]: circlePackingSeriesMark,\n [SeriesTypeEnum.heatmap]: heatmapSeriesMark,\n [SeriesTypeEnum.correlation]: correlationSeriesMark,\n [SeriesTypeEnum.rangeArea]: rangeAreaSeriesMark,\n [SeriesTypeEnum.liquid]: LiquidSeriesMark,\n [SeriesTypeEnum.venn]: vennSeriesMark,\n [SeriesTypeEnum.mosaic]: barSeriesMark\n};\n"]}
@@ -33,7 +33,8 @@ export declare enum SeriesTypeEnum {
33
33
  heatmap = "heatmap",
34
34
  correlation = "correlation",
35
35
  liquid = "liquid",
36
- venn = "venn"
36
+ venn = "venn",
37
+ mosaic = "mosaic"
37
38
  }
38
39
  export declare const enum SeriesMarkNameEnum {
39
40
  label = "label",
@@ -13,7 +13,7 @@ export var SeriesTypeEnum;
13
13
  SeriesTypeEnum.gauge = "gauge", SeriesTypeEnum.treemap = "treemap", SeriesTypeEnum.sunburst = "sunburst",
14
14
  SeriesTypeEnum.circlePacking = "circlePacking", SeriesTypeEnum.waterfall = "waterfall",
15
15
  SeriesTypeEnum.heatmap = "heatmap", SeriesTypeEnum.correlation = "correlation",
16
- SeriesTypeEnum.liquid = "liquid", SeriesTypeEnum.venn = "venn";
16
+ SeriesTypeEnum.liquid = "liquid", SeriesTypeEnum.venn = "venn", SeriesTypeEnum.mosaic = "mosaic";
17
17
  }(SeriesTypeEnum || (SeriesTypeEnum = {}));
18
18
 
19
19
  export var SeriesMarkNameEnum;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/series/interface/type.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,cAmCX;AAnCD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,6CAA2B,CAAA;IAC3B,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,qCAAmB,CAAA;IACnB,uDAAqC,CAAA;IACrC,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;IACrB,mDAAiC,CAAA;IACjC,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,+CAA6B,CAAA;IAC7B,iCAAe,CAAA;IACf,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACf,CAAC,EAnCW,cAAc,KAAd,cAAc,QAmCzB;AAED,MAAM,CAAN,IAAkB,kBA8DjB;AA9DD,WAAkB,kBAAkB;IAClC,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qDAA+B,CAAA;IAC/B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,uDAAiC,CAAA;IACjC,+CAAyB,CAAA;IACzB,uDAAiC,CAAA;IACjC,iCAAW,CAAA;IACX,qDAA+B,CAAA;IAC/B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,mDAA6B,CAAA;IAC7B,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;IACzB,mCAAa,CAAA;IACb,iDAA2B,CAAA;IAC3B,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;IAC3B,qDAA+B,CAAA;IAC/B,6CAAuB,CAAA;IACvB,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;IACjB,2DAAqC,CAAA;IACrC,qDAA+B,CAAA;IAC/B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,mDAA6B,CAAA;AAC/B,CAAC,EA9DiB,kBAAkB,KAAlB,kBAAkB,QA8DnC","file":"type.js","sourcesContent":["export type SeriesType = keyof typeof SeriesTypeEnum | string;\n\nexport enum SeriesTypeEnum {\n area = 'area',\n line = 'line',\n bar = 'bar',\n bar3d = 'bar3d',\n rangeColumn = 'rangeColumn',\n rangeColumn3d = 'rangeColumn3d',\n rangeArea = 'rangeArea',\n dot = 'dot',\n geo = 'geo',\n link = 'link',\n map = 'map',\n pie = 'pie',\n pie3d = 'pie3d',\n radar = 'radar',\n rose = 'rose',\n scatter = 'scatter',\n circularProgress = 'circularProgress',\n wordCloud = 'wordCloud',\n wordCloud3d = 'wordCloud3d',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n linearProgress = 'linearProgress',\n boxPlot = 'boxPlot',\n sankey = 'sankey',\n gaugePointer = 'gaugePointer',\n gauge = 'gauge',\n treemap = 'treemap',\n sunburst = 'sunburst',\n circlePacking = 'circlePacking',\n waterfall = 'waterfall',\n heatmap = 'heatmap',\n correlation = 'correlation',\n liquid = 'liquid',\n venn = 'venn'\n}\n\nexport const enum SeriesMarkNameEnum {\n label = 'label',\n point = 'point',\n line = 'line',\n area = 'area',\n bar = 'bar',\n bar3d = 'bar3d',\n boxPlot = 'boxPlot',\n outlier = 'outlier',\n circlePacking = 'circlePacking',\n group = 'group',\n gridBackground = 'gridBackground',\n grid = 'grid',\n dot = 'dot',\n title = 'title',\n subTitle = 'subTitle',\n symbol = 'symbol',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n transform = 'transform',\n transform3d = 'transform3d',\n transformLabel = 'transformLabel',\n outerLabel = 'outerLabel',\n outerLabelLine = 'outerLabelLine',\n pin = 'pin',\n pinBackground = 'pinBackground',\n pointer = 'pointer',\n segment = 'segment',\n track = 'track',\n cell = 'cell',\n cellBackground = 'cellBackground',\n link = 'link',\n arrow = 'arrow',\n pie = 'pie',\n pie3d = 'pie3d',\n labelLine = 'labelLine',\n progress = 'progress',\n minLabel = 'minLabel',\n maxLabel = 'maxLabel',\n rose = 'rose',\n node = 'node',\n sunburst = 'sunburst',\n nonLeaf = 'nonLeaf',\n leaf = 'leaf',\n nonLeafLabel = 'nonLeafLabel',\n leaderLine = 'leaderLine',\n stackLabel = 'stackLabel',\n word = 'word',\n fillingWord = 'fillingWord',\n nodePoint = 'nodePoint',\n ripplePoint = 'ripplePoint',\n centerPoint = 'centerPoint',\n centerLabel = 'centerLabel',\n barBackground = 'barBackground',\n lineLabel = 'lineLabel',\n areaLabel = 'areaLabel',\n liquid = 'liquid',\n liquidBackground = 'liquidBackground',\n liquidOutline = 'liquidOutline',\n circle = 'circle',\n overlap = 'overlap',\n overlapLabel = 'overlapLabel'\n}\n"]}
1
+ {"version":3,"sources":["../src/series/interface/type.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,cAoCX;AApCD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,6CAA2B,CAAA;IAC3B,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,6BAAW,CAAA;IACX,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,qCAAmB,CAAA;IACnB,uDAAqC,CAAA;IACrC,yCAAuB,CAAA;IACvB,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;IACrB,mDAAiC,CAAA;IACjC,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,+CAA6B,CAAA;IAC7B,iCAAe,CAAA;IACf,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,iDAA+B,CAAA;IAC/B,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,6CAA2B,CAAA;IAC3B,mCAAiB,CAAA;IACjB,+BAAa,CAAA;IACb,mCAAiB,CAAA;AACnB,CAAC,EApCW,cAAc,KAAd,cAAc,QAoCzB;AAED,MAAM,CAAN,IAAkB,kBA8DjB;AA9DD,WAAkB,kBAAkB;IAClC,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qDAA+B,CAAA;IAC/B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,uDAAiC,CAAA;IACjC,+CAAyB,CAAA;IACzB,uDAAiC,CAAA;IACjC,iCAAW,CAAA;IACX,qDAA+B,CAAA;IAC/B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,mDAA6B,CAAA;IAC7B,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;IACzB,mCAAa,CAAA;IACb,iDAA2B,CAAA;IAC3B,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;IAC3B,iDAA2B,CAAA;IAC3B,qDAA+B,CAAA;IAC/B,6CAAuB,CAAA;IACvB,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;IACjB,2DAAqC,CAAA;IACrC,qDAA+B,CAAA;IAC/B,uCAAiB,CAAA;IACjB,yCAAmB,CAAA;IACnB,mDAA6B,CAAA;AAC/B,CAAC,EA9DiB,kBAAkB,KAAlB,kBAAkB,QA8DnC","file":"type.js","sourcesContent":["export type SeriesType = keyof typeof SeriesTypeEnum | string;\n\nexport enum SeriesTypeEnum {\n area = 'area',\n line = 'line',\n bar = 'bar',\n bar3d = 'bar3d',\n rangeColumn = 'rangeColumn',\n rangeColumn3d = 'rangeColumn3d',\n rangeArea = 'rangeArea',\n dot = 'dot',\n geo = 'geo',\n link = 'link',\n map = 'map',\n pie = 'pie',\n pie3d = 'pie3d',\n radar = 'radar',\n rose = 'rose',\n scatter = 'scatter',\n circularProgress = 'circularProgress',\n wordCloud = 'wordCloud',\n wordCloud3d = 'wordCloud3d',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n linearProgress = 'linearProgress',\n boxPlot = 'boxPlot',\n sankey = 'sankey',\n gaugePointer = 'gaugePointer',\n gauge = 'gauge',\n treemap = 'treemap',\n sunburst = 'sunburst',\n circlePacking = 'circlePacking',\n waterfall = 'waterfall',\n heatmap = 'heatmap',\n correlation = 'correlation',\n liquid = 'liquid',\n venn = 'venn',\n mosaic = 'mosaic'\n}\n\nexport const enum SeriesMarkNameEnum {\n label = 'label',\n point = 'point',\n line = 'line',\n area = 'area',\n bar = 'bar',\n bar3d = 'bar3d',\n boxPlot = 'boxPlot',\n outlier = 'outlier',\n circlePacking = 'circlePacking',\n group = 'group',\n gridBackground = 'gridBackground',\n grid = 'grid',\n dot = 'dot',\n title = 'title',\n subTitle = 'subTitle',\n symbol = 'symbol',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n transform = 'transform',\n transform3d = 'transform3d',\n transformLabel = 'transformLabel',\n outerLabel = 'outerLabel',\n outerLabelLine = 'outerLabelLine',\n pin = 'pin',\n pinBackground = 'pinBackground',\n pointer = 'pointer',\n segment = 'segment',\n track = 'track',\n cell = 'cell',\n cellBackground = 'cellBackground',\n link = 'link',\n arrow = 'arrow',\n pie = 'pie',\n pie3d = 'pie3d',\n labelLine = 'labelLine',\n progress = 'progress',\n minLabel = 'minLabel',\n maxLabel = 'maxLabel',\n rose = 'rose',\n node = 'node',\n sunburst = 'sunburst',\n nonLeaf = 'nonLeaf',\n leaf = 'leaf',\n nonLeafLabel = 'nonLeafLabel',\n leaderLine = 'leaderLine',\n stackLabel = 'stackLabel',\n word = 'word',\n fillingWord = 'fillingWord',\n nodePoint = 'nodePoint',\n ripplePoint = 'ripplePoint',\n centerPoint = 'centerPoint',\n centerLabel = 'centerLabel',\n barBackground = 'barBackground',\n lineLabel = 'lineLabel',\n areaLabel = 'areaLabel',\n liquid = 'liquid',\n liquidBackground = 'liquidBackground',\n liquidOutline = 'liquidOutline',\n circle = 'circle',\n overlap = 'overlap',\n overlapLabel = 'overlapLabel'\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import type { Functional } from '@visactor/vrender-components';
2
+ import type { ILabelSpec, IMultiLabelSpec } from '../../component/label/interface';
3
+ import type { IBarSeriesSpec, IBarSeriesTheme } from '../bar/interface';
4
+ import type { SeriesMarkNameEnum } from '../interface/type';
5
+ export interface IMosaicSeriesSpec extends Omit<IBarSeriesSpec, 'type' | 'label'> {
6
+ type: 'mosaic';
7
+ [SeriesMarkNameEnum.label]?: IMultiLabelSpec<Omit<ILabelSpec, 'position'> & {
8
+ filterByGroup?: {
9
+ field: string;
10
+ type?: 'min' | 'max';
11
+ filter?: (d: any) => boolean;
12
+ };
13
+ position?: Functional<'outside' | 'top' | 'bottom' | 'left' | 'right' | 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left' | 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'>;
14
+ }>;
15
+ }
16
+ export type IMosaicSeriesTheme = IBarSeriesTheme;
@@ -0,0 +1,2 @@
1
+ export { };
2
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/series/mosaic/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { Functional } from '@visactor/vrender-components';\nimport type { ILabelSpec, IMultiLabelSpec } from '../../component/label/interface';\nimport type { IBarSeriesSpec, IBarSeriesTheme } from '../bar/interface';\nimport type { SeriesMarkNameEnum } from '../interface/type';\n\nexport interface IMosaicSeriesSpec extends Omit<IBarSeriesSpec, 'type' | 'label'> {\n /** 系列类型 */\n type: 'mosaic';\n [SeriesMarkNameEnum.label]?: IMultiLabelSpec<\n Omit<ILabelSpec, 'position'> & {\n filterByGroup?: {\n field: string;\n type?: 'min' | 'max';\n filter?: (d: any) => boolean;\n };\n\n /**\n * 标签位置\n * @since 1.6.0\n * 支持'top-right' | 'top-left'| 'bottom-right' | 'bottom-left',以及函数形式配置\n * */\n position?: Functional<\n | 'outside'\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'inside'\n | 'inside-top'\n | 'inside-bottom'\n | 'inside-right'\n | 'inside-left'\n | 'top-right'\n | 'top-left'\n | 'bottom-right'\n | 'bottom-left'\n >;\n }\n >;\n}\n\nexport type IMosaicSeriesTheme = IBarSeriesTheme;\n"]}
@@ -0,0 +1,16 @@
1
+ import { BarSeries } from '../bar/bar';
2
+ import { SeriesTypeEnum } from '../interface/type';
3
+ import type { IMosaicSeriesSpec } from './interface';
4
+ export declare class MosaicSeries<T extends IMosaicSeriesSpec = IMosaicSeriesSpec> extends BarSeries<any> {
5
+ static readonly type: string;
6
+ type: SeriesTypeEnum;
7
+ protected _spec: T;
8
+ static readonly transformerConstructor: any;
9
+ readonly transformerConstructor: any;
10
+ getStack(): boolean;
11
+ getPercent(): boolean;
12
+ getGroupFields(): string[];
13
+ setAttrFromSpec(): void;
14
+ parseLabelStyle(labelStyle: any, labelSpec: any): any;
15
+ }
16
+ export declare const registerMosaicSeries: () => void;
@@ -0,0 +1,78 @@
1
+ import { BarSeries } from "../bar/bar";
2
+
3
+ import { SeriesTypeEnum } from "../interface/type";
4
+
5
+ import { registerRectMark } from "../../mark/rect";
6
+
7
+ import { registerTextMark } from "../../mark/text";
8
+
9
+ import { registerFadeInOutAnimation } from "../../animation/config";
10
+
11
+ import { Factory } from "../../core/factory";
12
+
13
+ import { BarSeriesSpecTransformer } from "../bar/bar-transformer";
14
+
15
+ import { registerCartesianLinearAxis } from "../../component/axis/cartesian";
16
+
17
+ import { MOSAIC_CAT_END_PERCENT, MOSAIC_CAT_START_PERCENT, MOSAIC_VALUE_END_PERCENT, MOSAIC_VALUE_START_PERCENT } from "../../constant";
18
+
19
+ import { isNil } from "@visactor/vutils";
20
+
21
+ export class MosaicSeries extends BarSeries {
22
+ constructor() {
23
+ super(...arguments), this.type = SeriesTypeEnum.mosaic, this.transformerConstructor = BarSeriesSpecTransformer;
24
+ }
25
+ getStack() {
26
+ return !0;
27
+ }
28
+ getPercent() {
29
+ return !!this.getSeriesField();
30
+ }
31
+ getGroupFields() {
32
+ return "vertical" === this.direction ? this._specXField : this._specYField;
33
+ }
34
+ setAttrFromSpec() {
35
+ super.setAttrFromSpec();
36
+ const isPercent = this.getPercent();
37
+ "horizontal" === this.direction ? (isPercent && (this.setFieldX(MOSAIC_VALUE_END_PERCENT),
38
+ this.setFieldX2(MOSAIC_VALUE_START_PERCENT)), this.setFieldY(MOSAIC_CAT_END_PERCENT),
39
+ this.setFieldY2(MOSAIC_CAT_START_PERCENT)) : (isPercent && (this.setFieldY(MOSAIC_VALUE_END_PERCENT),
40
+ this.setFieldY2(MOSAIC_VALUE_START_PERCENT)), this.setFieldX(MOSAIC_CAT_END_PERCENT),
41
+ this.setFieldX2(MOSAIC_CAT_START_PERCENT));
42
+ }
43
+ parseLabelStyle(labelStyle, labelSpec) {
44
+ if ((null == labelSpec ? void 0 : labelSpec.filterByGroup) && isNil(labelStyle.dataFilter)) {
45
+ const allGroupFields = this.getGroupFields(), {field: field, type: filterType = "max", filter: filter} = labelSpec.filterByGroup;
46
+ delete labelStyle.filterField;
47
+ const fieldIndex = allGroupFields.indexOf(field);
48
+ if (fieldIndex < 0) return;
49
+ const valueField = !!(fieldIndex % 2) ? "min" === filterType ? "horizontal" === this.direction ? this._fieldY2 : this._fieldX2 : "horizontal" === this.direction ? this._fieldY : this._fieldX : "min" === filterType ? "horizontal" === this.direction ? this._fieldX2 : this._fieldY2 : "horizontal" === this.direction ? this._fieldX : this._fieldY, filterFunc = "min" === filterType ? (a, b) => {
50
+ var _a, _b;
51
+ return (null === (_a = a.data) || void 0 === _a ? void 0 : _a[valueField]) < (null === (_b = b.data) || void 0 === _b ? void 0 : _b[valueField]);
52
+ } : (a, b) => {
53
+ var _a, _b;
54
+ return (null === (_a = a.data) || void 0 === _a ? void 0 : _a[valueField]) > (null === (_b = b.data) || void 0 === _b ? void 0 : _b[valueField]);
55
+ };
56
+ labelStyle.dataFilter = data => {
57
+ const filteredData = {};
58
+ return data.forEach((d => {
59
+ const datum = d.data, fieldValue = null == datum ? void 0 : datum[field];
60
+ isNil(fieldValue) || filter && !filter(d) || filteredData[fieldValue] && !filterFunc(d, filteredData[fieldValue]) || (filteredData[fieldValue] = d);
61
+ })), data.filter((d => {
62
+ var _a;
63
+ const fieldValue = null === (_a = d.data) || void 0 === _a ? void 0 : _a[field];
64
+ return filteredData[fieldValue] && filteredData[fieldValue] === d;
65
+ }));
66
+ };
67
+ }
68
+ return labelStyle;
69
+ }
70
+ }
71
+
72
+ MosaicSeries.type = SeriesTypeEnum.mosaic, MosaicSeries.transformerConstructor = BarSeriesSpecTransformer;
73
+
74
+ export const registerMosaicSeries = () => {
75
+ registerRectMark(), registerTextMark(), registerFadeInOutAnimation(), registerCartesianLinearAxis(),
76
+ Factory.registerSeries(MosaicSeries.type, MosaicSeries);
77
+ };
78
+ //# sourceMappingURL=mosaic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/series/mosaic/mosaic.ts"],"names":[],"mappings":"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","file":"mosaic.js","sourcesContent":["import { BarSeries } from '../bar/bar';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerRectMark } from '../../mark/rect';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerTextMark } from '../../mark/text';\nimport { registerFadeInOutAnimation } from '../../animation/config';\nimport type { IMosaicSeriesSpec } from './interface';\nimport { Factory } from '../../core/factory';\nimport { BarSeriesSpecTransformer } from '../bar/bar-transformer';\nimport { registerCartesianLinearAxis } from '../../component/axis/cartesian';\nimport { Direction } from '../../typings/space';\nimport {\n MOSAIC_CAT_END_PERCENT,\n MOSAIC_CAT_START_PERCENT,\n MOSAIC_VALUE_END_PERCENT,\n MOSAIC_VALUE_START_PERCENT\n} from '../../constant';\nimport { isNil } from '@visactor/vutils';\n\nexport class MosaicSeries<T extends IMosaicSeriesSpec = IMosaicSeriesSpec> extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.mosaic;\n type = SeriesTypeEnum.mosaic;\n\n protected declare _spec: T;\n\n static readonly transformerConstructor = BarSeriesSpecTransformer as any;\n readonly transformerConstructor = BarSeriesSpecTransformer as any;\n\n getStack() {\n return true;\n }\n\n getPercent() {\n return !!this.getSeriesField();\n }\n getGroupFields() {\n return this.direction === 'vertical' ? this._specXField : this._specYField;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const isPercent = this.getPercent();\n\n if (this.direction === Direction.horizontal) {\n if (isPercent) {\n this.setFieldX(MOSAIC_VALUE_END_PERCENT);\n this.setFieldX2(MOSAIC_VALUE_START_PERCENT);\n }\n\n this.setFieldY(MOSAIC_CAT_END_PERCENT);\n this.setFieldY2(MOSAIC_CAT_START_PERCENT);\n } else {\n if (isPercent) {\n this.setFieldY(MOSAIC_VALUE_END_PERCENT);\n this.setFieldY2(MOSAIC_VALUE_START_PERCENT);\n }\n\n this.setFieldX(MOSAIC_CAT_END_PERCENT);\n this.setFieldX2(MOSAIC_CAT_START_PERCENT);\n }\n }\n\n parseLabelStyle(labelStyle: any, labelSpec: any) {\n if (labelSpec?.filterByGroup && isNil(labelStyle.dataFilter)) {\n const allGroupFields = this.getGroupFields();\n const { field, type: filterType = 'max', filter } = labelSpec.filterByGroup;\n delete labelStyle.filterField;\n const fieldIndex = allGroupFields.indexOf(field);\n\n if (fieldIndex < 0) {\n return;\n }\n const isCatField = !!(fieldIndex % 2);\n const valueField = isCatField\n ? filterType === 'min'\n ? this.direction === Direction.horizontal\n ? this._fieldY2\n : this._fieldX2\n : this.direction === Direction.horizontal\n ? this._fieldY\n : this._fieldX\n : filterType === 'min'\n ? this.direction === Direction.horizontal\n ? this._fieldX2\n : this._fieldY2\n : this.direction === Direction.horizontal\n ? this._fieldX\n : this._fieldY;\n const filterFunc =\n filterType === 'min'\n ? (a: any, b: any) => {\n return a.data?.[valueField as string] < b.data?.[valueField as string];\n }\n : (a: any, b: any) => {\n return a.data?.[valueField as string] > b.data?.[valueField as string];\n };\n\n labelStyle.dataFilter = (data: any) => {\n const filteredData = {};\n\n data.forEach((d: any) => {\n const datum = d.data;\n const fieldValue = datum?.[field];\n\n if (isNil(fieldValue) || (filter && !filter(d))) {\n return;\n }\n\n if (!filteredData[fieldValue] || filterFunc(d, filteredData[fieldValue])) {\n filteredData[fieldValue] = d;\n }\n });\n return data.filter((d: any) => {\n const fieldValue = d.data?.[field];\n return filteredData[fieldValue] && filteredData[fieldValue] === d;\n });\n };\n }\n\n return labelStyle;\n }\n}\n\nexport const registerMosaicSeries = () => {\n registerRectMark();\n registerTextMark();\n registerFadeInOutAnimation();\n registerCartesianLinearAxis();\n Factory.registerSeries(MosaicSeries.type, MosaicSeries);\n};\n"]}
@@ -9,15 +9,13 @@ export declare class LinearProgressSeries<T extends ILinearProgressSeriesSpec =
9
9
  static readonly mark: SeriesMarkMap;
10
10
  private _progressMark;
11
11
  private _trackMark;
12
- private _progressGroupMark;
13
12
  initMark(): void;
14
13
  initMarkStyle(): void;
15
14
  private _initProgressMark;
16
15
  private _initProgressMarkStyle;
16
+ private _defaultProgressCustomShape;
17
17
  private _initTrackMark;
18
18
  private _initTrackMarkStyle;
19
- private _initProgressGroupMark;
20
- private _initProgressGroupMarkStyle;
21
19
  initInteraction(): void;
22
20
  initAnimation(): void;
23
21
  protected initTooltip(): void;
@@ -14,49 +14,77 @@ import { LinearProgressSeriesTooltipHelper } from "./tooltip-helper";
14
14
 
15
15
  import { registerRectMark } from "../../../mark/rect";
16
16
 
17
- import { createRect } from "@visactor/vrender-core";
18
-
19
17
  import { linearProgressSeriesMark } from "./constant";
20
18
 
21
19
  import { Factory } from "../../../core/factory";
22
20
 
23
21
  import { registerFadeInOutAnimation } from "../../../animation/config";
24
22
 
23
+ import { isValid } from "@visactor/vutils";
24
+
25
25
  export class LinearProgressSeries extends CartesianSeries {
26
26
  constructor() {
27
27
  super(...arguments), this.type = SeriesTypeEnum.linearProgress, this._progressMark = null,
28
- this._trackMark = null, this._progressGroupMark = null;
28
+ this._trackMark = null, this._defaultProgressCustomShape = (datum, attrs, path) => {
29
+ const cornerRadius = this._spec.cornerRadius, width = isValid(attrs.width) ? attrs.width : attrs.x1 - attrs.x, height = isValid(attrs.height) ? attrs.height : attrs.y1 - attrs.y, x0 = Math.min(0, width), x1 = Math.max(0, width), y0 = Math.min(0, height), y1 = Math.max(0, height);
30
+ if (cornerRadius > 0) {
31
+ let realCornerRadius = cornerRadius;
32
+ if ("vertical" === this._spec.direction) {
33
+ if (realCornerRadius = Math.min(Math.abs(width / 2), cornerRadius), 2 * realCornerRadius > Math.abs(height)) {
34
+ const angle = Math.acos((realCornerRadius - Math.abs(height) / 2) / realCornerRadius);
35
+ return path.moveTo(x0 + realCornerRadius, y0), path.arc(x0 + realCornerRadius, y0 + realCornerRadius, realCornerRadius, 1.5 * Math.PI, 1.5 * Math.PI - angle, !0),
36
+ path.arc(x0 + realCornerRadius, y1 - realCornerRadius, realCornerRadius, angle + Math.PI / 2, Math.PI / 2, !0),
37
+ path.lineTo(x1 - cornerRadius, y1), path.arc(x1 - realCornerRadius, y1 - realCornerRadius, realCornerRadius, Math.PI / 2, Math.PI / 2 - angle, !0),
38
+ path.arc(x1 - realCornerRadius, y0 + realCornerRadius, realCornerRadius, -Math.PI / 2 + angle, -Math.PI / 2, !0),
39
+ path.lineTo(x0 + realCornerRadius, y0), path.closePath(), path;
40
+ }
41
+ } else if (realCornerRadius = Math.min(Math.abs(height / 2), cornerRadius), 2 * realCornerRadius > Math.abs(width)) {
42
+ const angle = Math.acos((realCornerRadius - Math.abs(width) / 2) / realCornerRadius);
43
+ return path.moveTo(x0, y0 + realCornerRadius), path.arc(x0 + realCornerRadius, y0 + realCornerRadius, realCornerRadius, Math.PI, Math.PI + angle),
44
+ path.arc(x1 - realCornerRadius, y0 + realCornerRadius, realCornerRadius, -angle, 0),
45
+ path.lineTo(x1, y1 - realCornerRadius), path.arc(x1 - realCornerRadius, y1 - realCornerRadius, realCornerRadius, 0, angle),
46
+ path.arc(x0 + realCornerRadius, y1 - realCornerRadius, realCornerRadius, Math.PI - angle, Math.PI),
47
+ path.closePath(), path;
48
+ }
49
+ path.moveTo(x0, y0 + realCornerRadius), path.arc(x0 + realCornerRadius, y0 + realCornerRadius, realCornerRadius, Math.PI, 1.5 * Math.PI),
50
+ path.lineTo(x1 - realCornerRadius, y0), path.arc(x1 - realCornerRadius, y0 + realCornerRadius, realCornerRadius, -Math.PI / 2, 0),
51
+ path.lineTo(x1, y1 - realCornerRadius), path.arc(x1 - realCornerRadius, y1 - realCornerRadius, realCornerRadius, 0, Math.PI / 2),
52
+ path.lineTo(x0 + realCornerRadius, y1), path.arc(x0 + realCornerRadius, y1 - realCornerRadius, realCornerRadius, Math.PI / 2, Math.PI),
53
+ path.closePath();
54
+ } else path.moveTo(x0, y0), path.lineTo(x1, y0), path.lineTo(x1, y1), path.lineTo(x0, y1),
55
+ path.closePath();
56
+ return path;
57
+ };
29
58
  }
30
59
  initMark() {
31
- this._initProgressGroupMark(), this._initTrackMark(), this._initProgressMark();
60
+ this._initTrackMark(), this._initProgressMark();
32
61
  }
33
62
  initMarkStyle() {
34
- this._initProgressGroupMarkStyle(), this._initTrackMarkStyle(), this._initProgressMarkStyle();
63
+ this._initTrackMarkStyle(), this._initProgressMarkStyle();
35
64
  }
36
65
  _initProgressMark() {
37
- var _a, _b;
66
+ var _a, _b, _c;
38
67
  return this._progressMark = this._createMark(LinearProgressSeries.mark.progress, {
39
68
  isSeriesMark: !0,
40
- parent: this._progressGroupMark,
41
- customShape: null === (_a = this._spec.progress) || void 0 === _a ? void 0 : _a.customShape,
42
- stateSort: null === (_b = this._spec.progress) || void 0 === _b ? void 0 : _b.stateSort
69
+ customShape: null !== (_b = null === (_a = this._spec.progress) || void 0 === _a ? void 0 : _a.customShape) && void 0 !== _b ? _b : this._defaultProgressCustomShape,
70
+ stateSort: null === (_c = this._spec.progress) || void 0 === _c ? void 0 : _c.stateSort
43
71
  }), this._progressMark;
44
72
  }
45
73
  _initProgressMarkStyle() {
46
- var _a, _b, _c, _d, _e, _f, _g, _h;
74
+ var _a, _b, _c, _d;
47
75
  const progressMark = this._progressMark;
48
76
  if (progressMark) if ("vertical" === this._spec.direction) {
49
- const leftPadding = null !== (_b = null === (_a = this._spec.progress) || void 0 === _a ? void 0 : _a.leftPadding) && void 0 !== _b ? _b : 0, rightPadding = null !== (_d = null === (_c = this._spec.progress) || void 0 === _c ? void 0 : _c.rightPadding) && void 0 !== _d ? _d : 0;
77
+ const progress = this._spec.progress || {}, leftPadding = null !== (_a = progress.leftPadding) && void 0 !== _a ? _a : 0, rightPadding = null !== (_b = progress.rightPadding) && void 0 !== _b ? _b : 0;
50
78
  this.setMarkStyle(progressMark, {
51
79
  x: datum => {
52
80
  var _a, _b;
53
81
  return valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2 + leftPadding;
54
82
  },
55
- y: datum => {
83
+ y1: datum => {
56
84
  var _a, _b;
57
85
  return valueInScaleRange(this.dataToPositionY(datum), null === (_b = null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0));
58
86
  },
59
- height: () => {
87
+ y: () => {
60
88
  var _a;
61
89
  return null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.dataToPosition([ 0 ], {
62
90
  bandPosition: this._bandPosition
@@ -67,22 +95,20 @@ export class LinearProgressSeries extends CartesianSeries {
67
95
  fill: this.getColorAttribute()
68
96
  }, "normal", AttributeLevel.Series);
69
97
  } else {
70
- const topPadding = null !== (_f = null === (_e = this._spec.progress) || void 0 === _e ? void 0 : _e.topPadding) && void 0 !== _f ? _f : 0, bottomPadding = null !== (_h = null === (_g = this._spec.progress) || void 0 === _g ? void 0 : _g.bottomPadding) && void 0 !== _h ? _h : 0;
98
+ const progress = this._spec.progress || {}, topPadding = null !== (_c = progress.topPadding) && void 0 !== _c ? _c : 0, bottomPadding = null !== (_d = progress.bottomPadding) && void 0 !== _d ? _d : 0;
71
99
  this.setMarkStyle(progressMark, {
72
- x: datum => {
100
+ x1: datum => {
73
101
  var _a, _b;
74
- return valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._xAxisHelper.dataToPosition([ 1 ], {
75
- bandPosition: this._bandPosition
76
- });
102
+ return valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0));
77
103
  },
78
104
  y: datum => {
79
105
  var _a, _b;
80
106
  return valueInScaleRange(this.dataToPositionY(datum), null === (_b = null === (_a = this._yAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2 + topPadding;
81
107
  },
82
108
  height: this._spec.bandWidth - topPadding - bottomPadding,
83
- width: () => {
109
+ x: () => {
84
110
  var _a;
85
- return null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.dataToPosition([ 1 ], {
111
+ return null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.dataToPosition([ 0 ], {
86
112
  bandPosition: this._bandPosition
87
113
  });
88
114
  },
@@ -94,7 +120,6 @@ export class LinearProgressSeries extends CartesianSeries {
94
120
  _initTrackMark() {
95
121
  var _a, _b;
96
122
  return this._trackMark = this._createMark(LinearProgressSeries.mark.track, {
97
- parent: this._progressGroupMark,
98
123
  customShape: null === (_a = this._spec.track) || void 0 === _a ? void 0 : _a.customShape,
99
124
  stateSort: null === (_b = this._spec.track) || void 0 === _b ? void 0 : _b.stateSort
100
125
  }), this._trackMark;
@@ -121,47 +146,6 @@ export class LinearProgressSeries extends CartesianSeries {
121
146
  cornerRadius: this._spec.cornerRadius
122
147
  }, "normal", AttributeLevel.Series));
123
148
  }
124
- _initProgressGroupMark() {
125
- return this._progressGroupMark = this._createMark(LinearProgressSeries.mark.group, {
126
- skipBeforeLayouted: !1
127
- }), this._progressGroupMark;
128
- }
129
- _initProgressGroupMarkStyle() {
130
- const groupMark = this._progressGroupMark;
131
- groupMark.setZIndex(this.layoutZIndex), groupMark.created(), this.setMarkStyle(groupMark, {
132
- clip: !0,
133
- x: 0,
134
- y: 0,
135
- path: () => {
136
- var _a;
137
- const rectPaths = [];
138
- return null === (_a = this._rawData) || void 0 === _a || _a.rawData.forEach(((datum, index) => {
139
- var _a, _b, _c, _d;
140
- if ("vertical" === this._spec.direction) {
141
- const x = valueInScaleRange(this.dataToPositionX(datum), null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0)) - this._spec.bandWidth / 2, height = this._scaleY.range()[0];
142
- rectPaths.push(createRect({
143
- x: x,
144
- y: 0,
145
- height: height,
146
- width: this._spec.bandWidth,
147
- cornerRadius: this._spec.cornerRadius,
148
- fill: !0
149
- }));
150
- } else {
151
- const y = valueInScaleRange(this.dataToPositionY(datum), null === (_d = null === (_c = this._yAxisHelper) || void 0 === _c ? void 0 : _c.getScale) || void 0 === _d ? void 0 : _d.call(_c, 0)) - this._spec.bandWidth / 2, width = this._scaleX.range()[1];
152
- rectPaths.push(createRect({
153
- x: 0,
154
- y: y,
155
- height: this._spec.bandWidth,
156
- width: width,
157
- cornerRadius: this._spec.cornerRadius,
158
- fill: !0
159
- }));
160
- }
161
- })), rectPaths;
162
- }
163
- }, "normal", AttributeLevel.Series), this._progressGroupMark.setInteractive(!1);
164
- }
165
149
  initInteraction() {
166
150
  const marks = [];
167
151
  this._trackMark && marks.push(this._trackMark), this._progressMark && marks.push(this._progressMark),